Bilangan yang memiliki nilai pecahan dapat direpresentasikan dengan dua format bilangan yakni fixed-point dan floating point. Bilangan pecahan fixed-point mempunyai jangkauan yang dibatasi oleh jumlah digit signifikan yang digunakan untuk merepresentasikan bilangan itu.

Maka dengan hal tersebut akan memungkinkan terdapat bilangan yang sangat besar dan sangat kecil, dengan begitu harus direpresentasikan dengan tepat, yakni menggunakan floating point.


Apa itu FLoating Point?


Floating point (bilangan pecahan) adalah sebuah format bilangan yang dapat digunakan untuk merepresentasikan sebuah nilai yang besar dan kecil.

Dalam penulisan bilangan ini dilakukan dengan menuliskan dalam bentuk eksponensial, sehingga bilangan tersebut memiliki bilangan dasar, bilangan pemangkat dan basis bilangan tersebut.

Berikut penulisan notasi ilmiah pada floating point. contoh pada bilangan desimal

  • 261.000.000.000 ditulis 2,61 x 1011

  • 0,000000000261 ditulis 2,61 x 10-10

Representasi floating point sendiri memiliki dua bagian, yakni bagian mantisa dan bagian eksponen. Bagian mantisa menentukan digit, sementara eksponen menentukan nilai berapa besar pangkat pada mantisa, seperti berikut :

±S * B±E

S = Signifikan disebut juga mantisa

E = Eksponen

B = Base


Penulisan floating point dengan cara eksponensial dapat menyebabkan adanya kemungkinan sebuah bilangan ditulis dengan cara yang bermacam-macam. Contohnya :


900 = 0,9103 = 9102 = 90*101 = …dst.


Maka dari itu dibutuhkannya normalisasi, yakni seperti berikut :


± 1,bbb..b * 2±E


Bit pertama Signifikan selalu 1 sehingga tidak perlu disimpan didalam signifikan dan b adalah bilangan biner (1 atau 0).

Eksponen didapat dari pemetaan true eksponen yang didapatkan dari rumus :

e = 2b-1 - 1

e = Eksponen bias, adalah true exponent

b = Panjang bit eksponen

32 bit, bias = 127, e = 1 – 254, E = -126 – 127

64 bit, bias = 1023, e = 1 – 2046, E = -1022 – 1023

Untuk keperluan yang luas, maka dibentuklah standar bagi representasi bilangan floating point ini, yakni standar IEEE 754-2008 (ISO/IEC/IEEE 60559:2011), yakni meliputi format 16 bit, 32 bit, 64 bit, 80 bit dan 128 bit.


Floating Point 32Bit (Single Precision)


  • 1 bit (Signifikan)

  • 8 bit (Eksponen)

  • 23 bit (Mantisa)

Floating point 32 bit IEEE 754
Floating point 32 bit IEEE 754

Bit Signifikan menyatakan bilangan positif jika S = 0 dan negatif jika S = 1. Contoh representasi floating point dalam IEEE standart 32 bit, bilangan 261.25 :


Ambil Signifikannya :

26110 = 1000001012

Untuk sisa 0.25 didapat :

0.25 x 2 = 0.5 –> 0

0.5 x 2 = 1.0 –> 1


Jadi 261.2510 = 100000101.012

Dinormalisasi menjadi : 100000101.01 x 20 = 1.0000010101 x 28

Mantissa untuk single precission ini terdiri atas 23 bit maka akan menjadi 10000010101000000000000

Bilangan pemangkat adalah 8 maka bias diubah dengan cara : 8+127 = 135  1000011110 Karena negative maka Sign = 1

Floating Point 64 bit (Double Precision)


1 bit (Signifikan) 11 bit (Eksponen) 52 bit (Mantisa)

bit paling kiri digunakan untuk representasi tanda 0 jika positif dan 1 jika negatif, sedangkan 8 bit berikutnya adalah pangkat (exponen) yang direpresentasikan dalam bentuk bias. Contoh representasi Floating point dalam IEEE standart 64 bit. Bilangan = 178.45 17810 = 101100102

0.45 :

0.45 x 2 = 0.9 –> 0

0.9 x 2 = 1.8 –> 1

0.8 x 2 = 1.6 –> 1

0.6 x 2 = 1.2 –> 1

0.2 x 2 = 0.4 –> 0

0.4 x 2 = 0.8 –> 0

0.8 x 2 = 1.6 –> 1

0.6 x 2 = 1.2 –> 1

0.2 x 2 = 0.4 –> 0

0.4 x 2 = 0.8 –> 0

0.8 x 2 = 1.6 –> 1

0.6 x 2 = 1.2 –> 1

0.2 x 2 = 0.4 –> 0

0.4 x 2 = 0.8 –> 0

0.8 x 2 = 1.6 –> 1

0.6 x 2 = 1.2 –> 1

0.2 x 2 = 0.4 –> 0

0.4 x 2 = 0.8 –> 0

Dari perhitungan itu terdapat perulangan didalamnya, dengan begitu bisa didapatkan nilai biner dibelakang koma akan berhenti perhitungannya disaat perulangan terjadi.

Jadi 178.4510 = 10110010.0111001102 Dinormalisasi jadi : 10110010.01110011 x 20 = 1.0110010011100110 x 27 Mantissa pada 64bit terdiri atas 52bit maka : 0110010011100110011001100110011001100110011001100110 Bilangan pemangkat 7 diubah ke bias ; 7 +1023 = 1030 = 100000001102

Nah mungkin itu dia beberapa informasi yang dapat saya sampaikan untuk saat ini. Mohon maaf atas segala kesalahan dan kerandoman materi saya, jika ada sanggahan mangga untuk komen di bawah yah. Terima kasih :)