You are on page 1of 6

Modul5

5.FloatingPointArithmetic
5.1.BentukBilanganFloatingPoint
Bilangan Floating Point memiliki bentuk umum : + m*be , dimana m
(disebutjugadenganmantissa),mewakilibilanganpecahandanumumnyadikonversi
kebilanganbinernya,emewakilibilanganexponentnya,sedangkan bmewakili radix
(basis)dariexponent.

Gambar5.1.

Contoh:
Padagambardiatas,menunjukkantentangpanjangbitpadabilanganfloatingpointm
=23bit,e=8bit,danS(bitsign)=1.JikanilaiyangtersimpandiSadalah0,maka
bilangantersebutadalahpositifdanjikanilai yangtersimpanpadaSadalah1,maka
bilangantersebutadalahnegatif.
Bilanganexponentpadacontohdiatas,hanyadapatdigunakanpadabilanganpositif0
hingga 255. Untuk dapat menggunakan bilangan exponent negatif dan positif, nilai
bulat yang disebut denganbias, dikurangkan dengan bilangan pada kolom exponent
dan menghasilkan bilangan exponent akhir. Misalkan pada contoh diatas
menggunakanbias=128, maka bilanganexponentakhirnya memilikirangeantara
128 (disimpan sebagai 0 pada kolom exponent) hingga +127 (disimpan sebagai 255
pada kolom exponent). Berdasarkan bentuk seperti ini, bilangan exponent +4 dapat
digunakan dengan menyimpan 132 pada kolom exponent, sedangkan bilangan
exponent12dapatdigunakandenganmenyimpan116padakolomexponent.
Anggap b = 2, maka bilangan floating point seperti 1,75 dapat menggunakan salah
satudaribentukumumsepertipadagambarberikut:

1
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional
Modul5

Gambar5.2.

5.2. Macammacambentukbilanganfloatingpoint
Untukmempermudahoperasibilanganfloatingpointdanmenambahtingkat
presisinya, maka bilangan tersebut dibuat dalam bentuk ternormalisasi (normalized
forms). Suatu bilangan floating point telah ternormalisasi jika most significant bit
(MSB) dari mantissanya adalah 1. Karena itu, diantara ketiga bentuk diatas dari
bilangan1,75,makabentukyangtelahternormalisasiadalahbentukyangpalingatas,
dandisarankanuntukdigunakan.
Karena nilai MSB dari bilangan Floating Point yang telah ternormalisasi
selalu1,maka bit initidakdisimpan,sehingganilai mantissa yangtersimpanadalah
1.m.Sehinggauntukbilanganfloatingpointbukan nol yangternormalisasi memiliki
bentuk(1)S * (1.m)*2e128

5.3. AritmetikaFloatingPointPenjumlahan/Pengurangan
Halyangsulitdaripenjumlahanduabilanganexponentadalahjikabilangan
bilangantersebutmemilikibentukexponensialyangberbeda.Unutkmemecahkannya,
maka sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih
dahulu, atau bilangan dengan nilaiexponent lebih kecil disamakan dulu ke bilangan
exponentyangsamadenganbilanganlain.
Langkahlangkah yang dilakukan untuk menambah/mengurangkan dua
bilangan floatingpoint
1. Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan
dengannilaiexponensiallebihkecil
2. Lakukanoperasipenjumlahan/pengurangan

2
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional
Modul5

3. Lakukan normalisasi dengan menggeser nilai mantissa dan mengatur nilai


exponensialnya
Contoh:Jumlahkanduabilangan floatingpoint1,1100*24 dan1,1000*22
1. Sesuaikan:1,1000*22 diubahmenjadi0,0110*24
2. Jumlahkan:hasilpenjumlahan10,0010*24
3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 26 ( dianggap bit
yangdiijinkansetelahkomaadalah4)

Operasipenjumlahan/penguranganduabilanganfloatingpointdiilustrasikan
denganskemasepertipadagambarberikut:

Gambar5.3.Skemapenjumlahan/penguranganbilangan floatingpoint

5.4. Perkalian

PerkaliandariduabilanganfloatingpointdenganbentukX=mx *2a danY


=mx *2b setaradenganX*Y=(mx *my)*2a+b

Algoritmaumumuntukperkaliandaribilanganfloatingpointterdiridaritigalangkah
:
1. Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua
bilangan
2. Kalikankeduabilangan mantissa
3. Normalisasihasilakhir

3
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional
Modul5

Contoh:PerkalianantaraduabilanganfloatingpointX=1,000*22 danY=1,010*
21
1. Tambahkanbilanganexponennya:2+(1)= 3
2. Kalikan mantissa:1,0000* 1,010= 1,010000

Hasilperkaliannyaadalah 1,0100*23
Perkaliandaridua bilanganfloatingpointdiilustrasikan menggunakanskema seperti
tampakpadagambarberikut:

Gambar5.4.Skemaperkalianbilangan floatingpoint

5.5. Pembagian

PembagiandariduabilanganfloatingpointdenganbentukX=mx *2a dan


Y=mx *2b setaradenganX/Y=(mx /my)*2ab
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga
langkah:
1. Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua
bilangan
2. Bagikeduabilangan mantissa
3. Normalisasihasilakhir

Contoh:Pembagianantaraduabilangan floatingpointX =1,0000*22 dan


Y =1,0100*21
1. Kurangkanbilanganexponennya:2 (1)= 1
2. Bagi mantissa:1,0000/ 1,0100= 0,1101
4
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional
Modul5

Hasil pembagiannyaadalah 0,1101*21

Pembagiandariduabilangan floatingpointdiilustrasikanmenggunakanskemaseperti
tampakpadagambarberikut:

Gambar5.5.Skemapembagianbilangan floatingpoint

5.6. FloatingPointstandardIEEE
IEEE membuat dua bentuk bilangan floating point standard. Bentuk basic
dan bentukextended.Padatiap bentuktersebut,IEEEmenentukandua format,yaitu
singleprecision dan double precision format. Single precision format adalah model
32bit sedangkan double precision format adalah 64bit. Pada single extended format
setidaknya menggunakan44 bit,sedangkanpada doubleextendedformatsetidaknya
menggunakan80bit.
Pada single precision format, mengijinkan penggunaan bit tersembunyi,
kolom exponentnya adalah 8bit. Bentuk single precision ditunjukkan pada gambar
berikut.

Gambar5.6.

IEEEsingleprecisionFormat
Jika jumlah bit bilangan exponent adalah 8, maka nilainya memiliki 256
kombinasi, diantara angkaangka tersebut, dua kombinasi digunakan sebagai nilai
khusus:
1.e=0bernilai nol(jikam=0)dannilaiterdenormalisasi(jikam0)

5
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional
Modul5

2.e=255bernilai +(jikam=0)dannilaitakterdefinisi(jikam0)
m=0 m 0
e=0 0 Terdenormalisasi
e=255 + TidakTerdefinisi
Tabel5.1.

IEEEDoublePrecisionFormat
Bentukinimemilikikolomexponent11bitdankolomnilai mantissasebesar
52bit.Bentuknyasepertitampakpadagambar.

Gambar5.7.IEEEdoubleprecisionformat

Karakteristik SinglePrecision DoublePrecision


Panjangdalambits 32 64
Bagianpecahandalambits 23 52
Bittersembunyi 1 1
PanjangExponentdlmbits 8 11
Bias 127 1023
Range 2128 3,8x1038 21024 9,0x10307
Nilaiternormalisasiterkecil 2126 1038 21022 10308
Tabel5.2.KarakteristikdariIEEE singledan doublefloatingpointformat

6
D3TKJ(TeknikKomputerdanJaringan)
DepartemenPendidikanNasional