Anda di halaman 1dari 6

Modul5

5.FloatingPointArithmetic
5.1.BentukBilanganFloatingPoint
* e Bilangan Floating Point memiliki bentuk umum : + m b , 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
e128 S bentuk(1) * (1.m)*2

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
4 2 Contoh:Jumlahkanduabilangan floatingpoint1,1100*2 dan1,1000*2 2 4 1. Sesuaikan:1,1000*2 diubahmenjadi0,0110*2 4 2. Jumlahkan:hasilpenjumlahan10,0010*2 6 3. Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 ( dianggap bit

yangdiijinkansetelahkomaadalah4)

Operasipenjumlahan/penguranganduabilanganfloatingpointdiilustrasikan denganskemasepertipadagambarberikut:

Gambar5.3.Skemapenjumlahan/penguranganbilangan floatingpoint

5.4. Perkalian
a PerkaliandariduabilanganfloatingpointdenganbentukX=mx *2 danY b a+b =mx *2 setaradenganX*Y=(mx *my)*2

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

3
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul5

2 Contoh:PerkalianantaraduabilanganfloatingpointX=1,000*2 danY=1,010* 1 2

1. Tambahkanbilanganexponennya:2+(1)= 3 2. Kalikan mantissa:1,0000* 1,010= 1,010000


3 Hasilperkaliannyaadalah 1,0100*2

Perkaliandaridua bilanganfloatingpointdiilustrasikan menggunakanskema seperti tampakpadagambarberikut:

Gambar5.4.Skemaperkalianbilangan floatingpoint 5.5. Pembagian


a PembagiandariduabilanganfloatingpointdenganbentukX=mx *2 dan b ab Y=mx *2 setaradenganX/Y=(mx /my)*2

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
2 Contoh:Pembagianantaraduabilangan floatingpointX =1,0000*2 dan 1 Y =1,0100*2

1. Kurangkanbilanganexponennya:2 (1)= 1 2. Bagi mantissa:1,0000/ 1,0100= 0,1101 4


D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional

Modul5
1 Hasil pembagiannyaadalah 0,1101*2

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 e=0 e=255 0 + Tabel5.1. m 0 Terdenormalisasi TidakTerdefinisi

IEEEDoublePrecisionFormat Bentukinimemilikikolomexponent11bitdankolomnilai mantissasebesar 52bit.Bentuknyasepertitampakpadagambar.

Gambar5.7.IEEEdoubleprecisionformat

Karakteristik Panjangdalambits Bagianpecahandalambits Bittersembunyi PanjangExponentdlmbits Bias Range Nilaiternormalisasiterkecil

SinglePrecision 32 23 1 8 127
128 38 2 3,8x10 126 38 2 10

DoublePrecision 64 52 1 11 1023
1024 307 2 9,0x10 1022 308 2 10

Tabel5.2.KarakteristikdariIEEE singledan doublefloatingpointformat

6
D3TKJ(TeknikKomputerdanJaringan) DepartemenPendidikanNasional