aritmatika-komputer
Post on 10-Aug-2015
236 Views
Preview:
TRANSCRIPT
Tugas Arsitektur Komputer
Aritmatika Komputer
Disusun oleh :
10107237 Lazuardi Qayuma Indradarma
10107261 Febri Ariansyah
10107271 Novrizal Faris M
Kelas IF.6
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS KOMPUTER INDONESIA
2009
Kata Pengantar
Dengan mengucapkan syukur kehadirat Allah SWT akhirnya makalah tugas Pemodelan
dan Simulasi dengan tema Peramalan dengan Model Exponensial Smooting ini dapat
diselesaikan tepat waktu sesuai jadwal yang ditentukan. Shalawat dan salam semoga terlimpah
kepada junjunan kita Nabi Muhammad SAW.
Terima kasih dan penghargaan yang sebesar-besarnya kami sampaikan kepada semua
pihak yang telah membantu dalam penyusunan makalah ini baik secara langsung atau pun
tidak.Harapan yang besar adalah agar makalah ini dapat bermanfaat khususnya bagi kami dan
umumnya kepada masyarakat.
Kami menyadari banyak kekurangan dan kelemahan dalam makalah ini.Oleh karena itu
kami mengharapkan kritik dan masukan dari semua pihak untuk penyempurnaan makalah
selanjutnya.Semoga makalah ini bermanfaat bagi kita semua.
Bandung, 8 Januari 2010
Penyusun
i
Daftar isi
Kata Pengantar............................................................................................................................................................ iDaftar isi..................................................................................................................................................................... ii
BAB 1 ARITMATIKA KOMPUTER.............................................................................................................. 1
1.1 ARITMATHIC AND LOGIC UNIT (ALU)...................................................................................................11.2 ADDER..................................................................................................................................................11.3 HALF ADDER.........................................................................................................................................11.4 FULL ADDER.........................................................................................................................................21.5 PARALEL ADDER...................................................................................................................................41.6 PENJUMLAHAN....................................................................................................................................4
1.6.1 Penjumlahan Biner...........................................................................................................................51.6.2 Penjumlahan 8421BCD....................................................................................................................6
1.7 PENGURANGAN...................................................................................................................................71.7.1 Pengurangan Bilangan Desimal.......................................................................................................71.7.2 Pengurangan Bilangan Biner...........................................................................................................9
1.8 PERKALIAN............................................................................................................................................111.9 PEMBAGIAN...........................................................................................................................................13
BAB 2 FLOATING POINT ARITHMETIC....................................................................................................14
2.1 BENTUK BILANGAN FLOATING POINT..........................................................................................................142.2 MACAM MACAM BENTUK BILANGAN FLOATING POINT....................................................................................152.3 ARITMETIKA FLOATING POINT PENJUMLAHAN / PENGURANGAN......................................................................162.4 PERKALIAN............................................................................................................................................172.5 PEMBAGIAN...........................................................................................................................................182.6 FLOATING POINT STANDARD IEEE..............................................................................................................192.7 IEEE SINGLE PRECISION FORMAT...............................................................................................................202.8 IEEE DOUBLE PRECISION FORMAT.............................................................................................................21
BAB 3 ARITMATIKA FIXED-POINT..........................................................................................................22
3.1 DEFINISI................................................................................................................................................223.2 NOTASI.................................................................................................................................................233.3 REPRESENTASI BILANGAN FIXED-POINT.............................................................................................243.4 MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT...................................................................243.5 ARITMATIKA FIXED-POINT..................................................................................................................253.6 OVERFLOW DAN UNDERFLOW...........................................................................................................25
3.6.1 MENDETEKSI OVERFLOW...............................................................................................................253.7 PRESISI GANDA...................................................................................................................................263.8 ARITMATIKA PRESISI GANDA..............................................................................................................26
BAB 4 KESIMPULAN.............................................................................................................................. 27
ii
Daftar Tabel
Tabel 1.1................................................................................................................................................2Tabel 1.2................................................................................................................................................3
iii
Daftar Gambar
iv
BAB 1
ARITMATIKA KOMPUTER
1.1 ARITMATHIC AND LOGIC UNIT (ALU)
Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah
komputer. Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam
operasidiantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian.
Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder,
dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk
melakukan perhitungan ALU adalah Adder.
1.2 ADDER
Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan
bilangan dinamakan dengan Adder. Karena Adder digunakan untuk memproses
operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional
aritmetika. ALU akan dijelaskan lebih detail pada bab 3. Ada 2 jenis Adder :
1. Rangkaian Adder yang hanya menjumlahkan dua bit disebut Half Adder.
2. Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder.
3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder.
1.3 HALF ADDER
Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masingmasing
hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.
1
1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0.
2. Jika A=0 dan B=1 dijumlahkan, hasilnya S (Sum) = 1.
3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan
Cy(Carry Out) = 1.
Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S danCy).
A B S Cy
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Tabel 1.1
Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari
gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika
AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar
berikut:
1.4 FULL ADDER
Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas),
oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran
dari Full adder berikut :
2
Gambar 1-1
A B C S Cy
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tabel 1.2
Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut :
S = A B C + A B C + A B C + A B C
S = A Å B Å C
Cy = A B C + A B C + A B C + A B C
Dengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi :
Cy = AB + AC + BC
Gambar 1-2
3
1.5 PARALEL ADDER
Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan
berfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full
Adder yang diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiri
dari 4 buah Full Adder yang tersusun parallel sehingga membentuk sebuah penjumlahbit.
1.6 PENJUMLAHAN
Komputer hanya dapat melakukan proses aritmetika menggunakan bilangan biner.
Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses.
Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan
desimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelum
dijumlahkan. Sebelum mempelajari tentang penjumlahan pada 8421BCD, ada baiknya
mengetahui cara menjumlahkan bilangan biner.
1.6.1 Penjumlahan Biner
Ada 4 kondisi yang terjadi pada penjumlahan biner yaitu apabila 0 + 0, 0 + 1, 1 + 0,
dan 1 + 1. Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah
dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam
kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh
pada bilangan desimal 2 + 5 = 7 dengan carry out = 0, 9 + 9 = 8 dengan carry out =
Contoh :
1. 102+ 102
4
1 Carry out
10
10 +
100
2. 01002 + 01112
1 Carry
0100
0111 +
1011
3. 111112 + 11112 + 111012 + 101112
3 3 3 2 2 Carry out
1 1 1 1 1
0 1 1 1 1
1 1 1 0 1
1 0 1 1 1 +
1 1 0 0 0 1 0 2
1.6.2 Penjumlahan 8421BCD
Sandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yang
disandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikan
adalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry dari
bilangan keempat LSB) maupun carry dari MSB.
Berikut adalah aturan penjumlahan sandi 8421BCD:
Jika
jumlah biner dan jumlah BCD sama, yaitu AC (Auxillary Carry) = 0 dan Carry
= 0 maka tidak diperlukan aturan tambahan.
5
Contoh :
Bilangan 1 = 0 1 1 0 0 0 1 0 (BCD) = 6 2 (desimal)
Bilangan 2 = 0 0 1 0 0 1 0 1 (BCD) = 2 5 (desimal) +
Biner = 1 0 0 0 0 1 1 1 (Cy=0; AC = 0)
BCD = 1 0 0 0 0 1 1 1 = 8 7 (desimal)
Jika
jumlah biner tidak sama dengan jumlah desimal maka memerlukan pengaturan
tambahan :
Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil
penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible
rendah tersebut, dan tambahkan 1 pada nible yang lebih tinggi.
Contoh :
1 1 1
Bilangan 1 = 0 0 1 1 0 1 1 1 (BCD) = 3 7 (desimal)
Bilangan 2 = 0 0 1 0 0 1 1 0 (BCD) = 2 6 (desimal) +
Biner = 0 1 0 1 1 1 0 1
+ 1 & + 6 = 0 0 0 1 0 1 1 0 (Cy=0; AC = 0)
BCD = 0 1 1 0 0 0 1 1 = 6 3 (desimal)
1.7 PENGURANGAN
Pengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan dengan
bilangan negatif.
500 – 255 = 245 (Pengurangan)
500 + (-)255 = 245 (Penjumlahan)
6
Komputer hanya bekerja pada bilangan “0” dan “1” dan tidak mengenal bilangan
negatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus
(Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah
“0” untuk bilangan positif dan “9” untuk bilangan negatif. Untuk bilangan negatif,
pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan pada
bilangan desimal adalah komplemen-10
dan komplemen-9.
1.7.1 Pengurangan Bilangan Desimal
Komplemen10
Pada komplemen10,
bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada
bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan.
Tanda modulus ikut dijumlahkan.
Contoh :
Komplemen -10dari -255.
-25 510 = (9) 7 4 510 (angka 9 menunjukkan tanda modulusnya).
5 0 0 (0) 5 0 0
2 5 5 - (9) 7 4 5 +
2 4 5 1 (0) 2 4 5
Cy Dihilangkan
Komplemen-9
Pada komplemen-9,
bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut
7
dijumlahkan pada hasil akhir.
Contoh :
Komplemen-9 dari-255.
-25 510 = (9) 7 4 410 (angka 9 menunjukkan tanda modulusnya).
5 0 0 (0) 5 0 0
2 5 5 - (9) 7 4 4 +
2 4 5 1 (0) 2 4 4
1+(Cy)
(0) 2 4 5 Cy Ditambahkan
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlakuuntuk
komplemen-10dan komplemen-9).Jika komplemen10,maka hasil akhir
setelah dikomplemen harus ditambah 1. Jika komplemen10,hasil akhirnya
merupakan hasil sebenarnya (tidak perlu ditambah 1).
Contoh :
Komplemen-10dari -500.
50 010 = (9) 5 0 010 (angka 9 menunjukkan tanda modulusnya).
2 5 5 (0) 2 5 5
5 0 0 - (9) 5 0 0 +
-24 5 (9)7 5 5 (9 menunjukkan negatif)
2 4 4 + 1
(9) 2 4 5
8
Komplemen-9 dari-500.
-50 010 = (9) 4 9 910 (angka 9 menunjukkan tanda modulusnya).
2 5 5 (0) 2 5 5
5 0 0 - (9) 4 9 9 +
24 5 (9) 7 5 4 (9 menunjukkan negatif)
2 4 5
(9) 2 4 5
1.7.2 Pengurangan Bilangan Biner
Pada penjumlahan biner, komplemen yang digunakan adalah komplemen2
Dankomplemen1.Untuk mendapatkan komplemen bilangan biner, cukup dengan
membalik angkanya saja. Jika “0” dibalik menjadi “1”, dan jika “1” dibalik menjadi
“0”. Komplemen2mirip dengan komplemen10pada bilangan desimal (Carry
dihilangkan), sedangkan komplemen1mirip dengan komplemen9(Carry ditambahkan pada
hasil akhir).
· Komplemen -2Contoh :
Pengurangan antara 910 (10012) dengan 510 (01012)
Komplemen-2dari –5 (0101).
0 1 0 1 = (1) 1 0 1 1 (angka 1 menunjukkan tanda modulusnya).
9 (0) 1 0 0 1
5 - (1) 1 0 1 1 +
9
4 1 (0) 0 1 0 0
Cy Dihilangkan
·Komplemen1
Contoh :
Komplemen-1dari –5 (0101).
0 1 0 1 = (1) 1 0 1 0 (angka 1 menunjukkan tanda modulusnya).
9 (0) 1 0 0 1
5 - (1) 1 0 1 0 +
4 1 (0) 0 0 1 1
1
(0) 0 1 0 0
Cy Ditambahkan
Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi
(Berlakuuntukkomplemen-2dan komplemen-1).Jika komplemen-2,maka hasil akhir setelah
dikomplemen harus ditambah 1. Jika komplemen1,hasil akhirnya merupakan hasil
sebenarnya (tidak perlu ditambah 1).
Contoh :
Pengurangan antara 510 dengan 910
Komplemen-2dari –9.
1 0 0 1 = (1) 0 1 1 1 (angka 1 menunjukkan tanda modulusnya).
5 (0) 0 1 0 1
9 - (1) 0 1 1 1 +
10
4 (1) 1 1 0 0 (1 menunjukkan negatif)
0 0 1 1 + 1
(1) 0 1 0 0
Komplemen-1dari –9.
1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya).
5 (0) 0 1 0 1
9 - (1) 0 1 1 0 +
-4 (1) 1 0 1 1 (1 menunjukkan negatif)
0 1 0 0
(1) 0 1 0 0
1.8 Perkalian
Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem
bilangan lainnya.
9 1 0 0 1
10 x 1 0 1 0 x
90 0 0 0 0
1 0 0 1
0 0 0 0
1 0 0 1 +
1 0 1 1 0 1 0
64 0 16 8 02 0 = 90
Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan (Shift
Right Register). Perhatikan contoh berikut :
Register A untuk menyimpan data yang akan dikalikan (Multiplicand).
11
Register B untuk menyimpan data pengali (Multiplier).
Register P untuk menyimpan hasil perkalian
9 X 10
Register A Register B Register P
1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0
M M=0, Reg. P tidak
diubah
Geser Reg B & P 1 bit
kekanan
1 0 0 1 1 0 1 0 0 0 0 0 0 0 0
M M=1,Reg A ditambahkan pada
P diMSBnya.
1 0 0 1 0 0 0 0
Geser Reg B & P 1 bit kekanan
1 0 0 1 1 0 0 1 0 0 1 0 0 0
M M = 0, Reg. P tidak diubah
Geser Reg B & P 1 bit kekanan
1 0 0 1 1 0 0 1 0 0 1 0 0
M M = 1, Reg A ditambahkan
pada P diMSBnya
1 0 1 1 0 1 0 0
Reg. P geser lagi
0 1 0 1 1 0 1 0
0 64 0 16 8 0 2 0 =90
12
1.9 Pembagian
Kebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari pengurangan
yang dilakukan berulangulang.
Dan proses ini juga dapat dilakukan pada rangkaian
logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shiftleft
register). Berikut adalah aturan dari pembagian:
Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi
(Dividend), lihat hasil pengurangan.
Bila hasilnya 1 atau positif :
Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser
kekiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor).
Bila hasilnya 0 atau negatif :
Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiriharus
ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satubit, dimulailagi
proses pengurangan oleh bilangan pembagi. Pengurangan olehbilangan pembagi dilakukan
dengan penjumlahan komplemen2.Biladalampenjumlahan tersebut terdapat pindahan (Carry),
maka carry tersebut diabaikan.
Perhatikan contoh berikut :
1010 : 410 = 10102 : 1004
Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkan
setelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.
13
BAB 2
Floating Point Arithmetic
2.1 Bentuk Bilangan Floating Point
Bilangan Floating Point memiliki bentuk umum : + m *b, dimana m (disebut juga
dengan mantissa), mewakili bilangan pecahan dan umumnya dikonversi ke bilangan
binernya, e mewakili bilangan exponentnya sedangkan b mewakili radix (basis) dari
exponent.
Contoh: Pada gambar diatas, menunjukkan tentang panjang bit pada bilangan floating point
m = 23 bit, e =8 bit, dan S (bit sign) = 1. Jika nilai yang tersimpan di S adalah 0, maka
bilangan tersebut adalah positif dan jika nilai yang tersimpan pada S adalah 1, maka bilangan
tersebut adalah negatif. Bilangan exponent pada contoh diatas, hanya dapat digunakan pada
bilangan positif 0 hingga 255. Untuk dapat menggunakan bilangan exponent negatif dan
positif, nilai bulat yang disebut dengan bias, dikurangkan dengan bilangan pada kolom
exponent dan menghasilkan bilangan exponent akhir. Misalkan pada contoh diatas
menggunakan bias = 128, maka bilangan exponent akhirnya memiliki range antara 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 exponent 12 dapat digunakan
denganmenyimpan 116 pada kolom exponent. Anggap b = 2, maka bilangan floating point
seperti 1,75 dapat menggunakan salah satu dari bentuk umum seperti pada gambar berikut:
14
Gambar 2-3
2.2 Macam macam bentuk bilangan floating point
Untuk mempermudah operasi bilangan floating point dan menambah tingkat
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 bilangan 1,75, maka
bentuk yang telah ternormalisasi\ adalah bentuk yang paling atas, dan disarankan untuk
digunakan.
Karena nilai MSB dari bilangan Floating Point yang telah ternormalisasi selalu 1,
maka bit ini tidak disimpan, sehingga nilai mantissa yang tersimpan adalah 1.m. Sehingga
untuk bilangan floating point bukan nol yang ternormalisasi memiliki bentuk (1)S
*(1.m)* 2e128-²¹
2.3 Aritmetika Floating Point Penjumlahan / Pengurangan
Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilangan-
bilangan tersebut memiliki bentuk exponensial yang berbeda. Unutk memecahkannya, maka
sebelum ditambahkan bilangan exponensialnya harus disetarakan terlebih dahulu, atau
bilangan dengan nilai exponent lebih kecil disamakan dulu ke bilangan exponent yang sama
15
Gambar 2-4
dengan bilangan lain.
Langkah -langkah yang dilakukan untuk menambah/mengurangkan dua bilangan
floating point
1 Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan
nilai exponensial lebih kecil
2 Lakukan operasi penjumlahan/ pengurangan
3 Lakukan normalisasi dengan ’menggeser’ nilai mantissa dan mengatur nilai
exponensialnya
Contoh: Jumlahkandua bilangan floating point 1,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 * 2 6 ( dianggap bit
yang diijinkansetelahkoma adalah4)
Operasi penjumlahan/pengurangan dua bilangan floating point diilustrasikan dengan
skema seperti pada gambar berikut :
16
Gambar 2-5
2.4 Perkalian
Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y = mx *
2 b setara dengan X * Y = (mx * my)* 2a+b
Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah :
1 Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan
2 Kalikan kedua bilangan mantissa
3 Normalisasi hasil akhir
Contoh: Perkalian antara dua bilangan floating point X = 1,000 * 2ˉ² dan Y = ¬1,010 * 2ˉ¹
1 Tambahkan bilangan exponennya ¬2 + (¬1) =¬3
2 Kalikan mantissa : 1,0000 * ¬1,010 = ¬1,010000
Hasil perkaliannya adalah 1,0100 * 23
Perkalian dari dua bilangan floating point diilustrasikan menggunakan
skema seperti tampak pada gambar berikut :
17
Gambar 2-6
2.5 Pembagian
Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y = mx * 2 b
setara dengan X / Y = (mx / my)* 2a-b
Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :
1 Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan
2 Bagi kedua bilangan mantissa
3 Normalisasi hasil akhir
Contoh : Pembagian antara dua bilangan floating point X = 1,0000 *2ˉ²dan Y = -
1,0100 *2ˉ¹
1 Kurangkan bilangan exponennya : -2 –(-1) = -1
2 Bagi mantissa: 1,0000 / -1,0100 = -0,1101
Hasil pembagiannya adalah ¬0,1101 * 2ˉ¹
Pembagian dari dua bilangan floating point diilustrasikan menggunakan skema seperti
tampak pada gambar berikut :
18
2.6 Floating Point standard IEEE
IEEE membuat dua bentuk bilangan floating point standard. Bentuk basic dan
bentuk extended. Pada tiap bentuk tersebut, IEEE menentukan dua format, yaitu single -
precision dan double precision format. Single precision format adalah model 32bit sedangkan
double precision format adalah 64bit. Pada single extended format setidaknya menggunakan
44 bit, sedangkan pada double extended format setidaknya menggunakan 80 bit.
Pada single precision format, mengijinkan penggunaan bit tersembunyi, kolom
exponentnya adalah 8bit. Bentuk single precision ditunjukkan pada gambar berikut.
2.7 IEEE single precision Format
Jika jumlah bit bilangan exponent adalah 8, maka nilainya memiliki 256 kombinasi,
diantara angkaangka tersebut, dua kombinasi digunakan sebagai nilai khusus:
1. e = 0 bernilai nol (jika m = 0) dan nilai terdenormalisasi (jika m ≠ 0)
2. e =255 bernilai ± ∞ (jika m = 0) dan nilai tak terdefinisi (jika m ≠ 0)
m= 0 m≠0
e = 0 0 Terdenormalisasi
e = 255 ±∞ Tidak Terdefinsi
Tabel5.1.
19
2.8 IEEE Double Precision Format
Bentuk ini memiliki kolom exponent 11 bit dan kolom nilai mantissa sebesar 52 bit.
Bentuknya sepert itampak pada gambar.
Tabel5.2. Karakteristik dariIEEE single dan double floating point format
20
Karakteristik SinglePrecision Double PrecisionPanjang dalam bits 32 64
Bagian pecahan dalam bits
23 52
Bit tersembunyi 1 1Panjang Exponent dlm
bits8 11
Bias 127 1023Range 2128 ≈ 3,8 x 10 38 21024 ≈ 9,0 x
BAB 3 ARITMATIKA FIXED-POINT
3.1 Definisi
Komputer menetapkan titik desimal pada titik tertentu. Umumnya ditetapkan pada titik kiri
terjauh dari word sehingga komputer akan memperlakukan semua angka sebagai pecahan.
Sistem ini akan mempermudah rutin aritmatika. Programmer harus membuat koreksi pada
masukan dan keluaran program jika ingin mengubah letak titik desimal.
Fixed-point pada intinya adalah integer yang berskala oleh faktor tertentu. Sebagai contoh,
bilangan real 1,23 dapat dilihat sebagai 123/100; di sini, faktor skalanya adalah 100. Penting
untuk dicatat bahwa faktor penskalaan ditentukan oleh jenis, berlaku untuk semua nilai dari
suatu tipe fixed-point. Di sisi lain, floating-point menyimpan faktor skala sebagai bagian dari
nilai, yang memungkinkan floating-point memiliki nilai yang lebih luas.
Untuk menambah atau mengurangi fixed-point dua komplemen, hanya dengan menambah
atau mengurangi bilangan bulat yang mendasarinya. Hal yang sama dilakukan untuk
perkalian atau pembagian, hasil perlu diskala ulang-untuk hasil perkalian harus dibagi dengan
faktor skala, untuk pembagian perlu dikalikan dengan faktor skala. Untuk membuktikannya,
misalkan kita ingin mengalikan dua bilangan real a dan b, disimpan sebagai fixed-point
dengan faktor penskalaan S. Jika kita mengalikan bilangan bulat yang mendasarinya, kita
memperoleh aS · bS = abS2. Namun, nilai yang kita inginkan adalah abS, jadi kita perlu untuk
membagi dengan S.
21
3.2 Notasi
Ada berbagai notasi yang dapat digunakan untuk mewakili panjang word dan radix point
dalam binary fixed-point. Di bawah ini, f merepresentasikan jumlah bit fraksional, m jumlah
besaran atau integer bit, s jumlah sign bit, dan b jumlah total bit.
Qf : Prefix “Q”. Sebagai contoh, Q15 mewakili sejumlah pecahan dengan 15 bit. This
notation is ambiguous since it does not specify the word length, however it is usually
assumed that the word length is either 16 or 32 bits depending on the target processor
in use. Notasi ini ambigu karena tidak menentukan panjang word, namun biasanya
diasumsikan bahwa panjang word adalah 16 atau 32 bit, tergantung pada target
prosesor yang digunakan.
Q m .f : Bentuk notasi “Q” yang tidak ambigu. Karena merupakan bilangan
berkomplemen 2, maka terdapat sign bit. Sebagai contoh, Q1.30 menggambarkan 1
bilangan bit dan 30 bit disimpan sebagai pecahan 32-bit bilangan berkomplemen 2.
fx m .b : Perfix “fx” mirip dengan di atas, tetapi menggunakan panjang word sebagai
item kedua dalam pasangan titik. Contoh, fx1.16 menggambarkan angka dengan 1
besaran bit dan 15 bit dalam pecahan 16 bit word.
s :m : f : Merupakan notasi lain termasuk sign bit, seperti ini digunakan dalam PS2
GS User’s Guide. Hal ini juga berbeda dari penggunaan konvensional dengan
menggunakan titik dua periode bukan sebagai pemisah. Sebagai contoh, dalam notasi
ini, 0:8:0 mewakili 8-bit unsigned integer.
22
0 1 3 7 5
3.3 REPRESENTASI BILANGAN FIXED-POINT
Untuk representasi bilangan fixed-point diperlukan :
a. lokasi atau register penyimpanan komputer yang ukurannya memadai untuk
menyimpan seluruh digit bilangan
b. kemungkinan untuk menjaga track tempat beradanya point tersebut
contoh :
Contoh desimal utk representasi 5 digit. Jika diasumsikan posisi point adalah :
Maka :
Merepresentasikan 13.75
3 klasifikasi dasar representasi fixed-point :
a. representasi mid-point
di mana terdapat digit baik sebelum dan sesudah point tersebut
b. representasi integer
di mana tidak terdapat digit setelah point desimal
c. representasi pecahan
di mana tidak ada digit sebelum point desimal
3.4 MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT
1. komputer dapat menjalankan aritmatika fixed-point lebih cepat daripada aritmatika
floating-point
2. representasi fixed-point membatasi jangkauan dan skala bilangan yang sedang
direpresentasikan
3. representasi floating-point memberikan fleksibilitas yang lebih besar dalam jangkauan
dan skalanya, ini biasanya mengurangi kecepatan.
23
3.5 ARITMATIKA FIXED-POINT
Register 8 bit menyangga bilangan dalam bentuk komplemen dua dengan bit paling kiri
sebagai bit sign. Bilangan positif dan negatif maksimum dan minimum direpresentasikan.
Disini bisa diperoleh keakuratan 7 bit.
Contoh : Representasi integer
Sign bit Representasi Value Keterangan
0 1 1 1 1 1 1 1 27 – 1 = 127 Maksimum positif
1 0 0 0 0 0 0 1 (-2)7 = -128 Most negatif
3.6 OVERFLOW DAN UNDERFLOW
OVERFLOW
Hasil operasi aritmatika terlalu besar utk disimpan dalam lokasi yg dialokasikan
untuknya.
UNDERFLOW
Hasil tersebut terlalu kecil utk disimpan dalam lokasi yg dialokasikan untuknya.
3.6.1 MENDETEKSI OVERFLOW
a. Menggunakan bit ekstra yang ditambahkan ke bagian kiri dari bit sign.
i. Bit ekstra diset ke nilai yang sama seperti bit sign sebelum penambahan atau
pengurangan
ii. Bilangan yang telah dimodifikasi ditambahkan atau dikurangi
iii. Jika bit ekstra dan bit sign berbeda setelah operasi, maka telah terjadi overflow
b. Metode lain, dimana tidak menggunakan bit ekstra
i. Menggunakan ADD jika sign berbeda, dan SUBSTRACT jika signnya sama,
maka overflow tidak terjadi
24
ii. Untuk A + B jika sign(A) = sign(B) maka hasilnya berupa sign(A)
Untuk A - B jika sign(A) ≠ sign(B) maka hasilnya sign(A)
Sign yg salah menunjukkan overflow
Contoh :
a Ekstra bit Sign bit Binary SUM Nilai desimal
0 0 1 1 0 0 12
0 0 0 0 1 1 3
0 0 1 1 1 1 15
0 0 Bit sama → tidak overflow
b Ekstra bit Sign bit Binary SUM Nilai desimal
0 0 1 1 0 0 12
0 0 0 1 1 0 6
0 1 0 0 1 0 18
0 ≠ 1 Bit berbeda → overflow
3.7 PRESISI GANDA
Salah satu cara mengurangi overflow dengan meningkatkan panjang penyimpanan yang
dialokasikan untuk setiap representasi bilangan. Jika 1 lokasi dalam memori panjangnya tidak
cukup maka 2 lokasi yang bersebelahan dapat digunakan. Bilangan yang disimpan dengan
cara ini disebut double precision number atau double length number.
3.8 ARITMATIKA PRESISI GANDA
Aritmatika yang menggunakan bilangan presisi ganda. Lebih lamban namun sering
digunakan karena mesin dengan word yang lebih panjang lebih mahal.
25
BAB 4 Kesimpulan
4.1 Aritmathic and Logic Unit
Dari uraian di atas kami dapat menyimpulkan bahwa, ALU atau aritmathic and logic unit dapat melakukan kalkulasi biner. Pada Hakikatnya semua komponen lain dalamkomputer ada untuk melayani ALU. ALU hanya bisa menangani bilangan bulat (integer), tetapi pada kenyataanya ALU juga bisa menangani bilangan pecahan atau real.Bilangan Pecahan yang dapat ditangani oleh ALU bentuknya FPU atauFloating Point Unit terpisah dari maths co-processor, co-processor dalam chip terpisah (46DX +).
4.2 Aritmatika Fixed Point
4.2.1 Bilangan Positif
Meskipun secara matematis, dalam sistembilangan biner bisa digunakan tanda minusdanradix point, di dalam komputer hanyaada bilangan 0 & 1 untuk merepresentasikansemua angka.
Contoh bilangan biner matematis:-1101.0101 = -13.3125
Bentuk seperti ini tidak membawa manfaatbagi komputer, malah menyulitkan.Oleh karena itu tidak dipakai.Seandainya semua integer positif, konversike biner biasa, tinggal disesuaikan denganpanjang bit register yang tersedia.Misal data akan disimpan dalam reg. 8-bit:
00000000 = 000000001 = 100101001 = 4110000000 = 12811111111 = 255
Tidak ada masalah dari contoh di atas.
4.2.2 Bilangan Negatif
Mulai timbul masalah saat akan menyimpanbilangan negatif.Komputer tidak mengenal tanda minus.Sign-Magnitude RepresentationBit paling kiri menunjukkan magnitudeinteger (positif atau negatif) sign bit
+18 = 00010010- 18 = 10010010
Kekurangannya : ada 2 buah angka nol: nolpositif (00000000) dan negatif (10000000).
26
Untuk menanggulangi masalah yang ditimbulkan apabila ada 2 buah angka nol, komputer pada saat ini menggunakan dua komplemen representasi. Satu bit paling kiri dijadikan bernilai negatif,kemudian dijumlahkan dengan bit sisanya. Nalar manusia paling gampang, gunakanValue Box:Misal 8-bit:
-128 64 32 16 8 4 2 1Mengapa 1 bit paling kiri? Karena Porsi sama besar:Negatif = -128positif= (64 + 32 + 16 + 8 + 4 + 2 + 1) = 127. Keuntungan dari 2 komplemen ayitu hanya ada satu nol, apabila nol dinegasikan. Tetapi Terjadi ketimpangan representasi nilainegatif dan positif untuk jumlah bit tertentumisal untuk 8-bit, range bilangan bulat yangterwakili adalah:
-128 … 127 (bukan 128 tapi 128 - 1). Inilah yang terjadi pada komputer kita, apabila dilihat dari tipe data bahasa peograman apapun.
Keuntungan 2 komplemen :
1. Tidak perlu ada sirkuit pengurangan, hanya ada komplemen dan penjumlahan2. Perlakuan sama untuk penjumlahan maupun pengurangan : LANGUNG
DIJUMLAHKAN.3. Panjang bit bilangan-bilangan yang dijumahkan maupun hasilnya, harus sama.
4.2.3 Overflow
Kadang penjumlahan tidak menghasilkanpanjang digit yang sama, bisa lebih,kelebihan itu dihilangkan saja (dipotong).Overflow terjadi jika register ybs tidakmampu menampung bilangan yangdihasilkan. Misal 4-bit rangenya -8 … 7, tidakbisa menampung bilangan 11. Overflow jika dan hanya jika: penjumlahandilakukan terhadap dua bilangan bertandasama, dan hasilnya bertanda berbeda.
4.2.4 Perkalian
Untuk bilangan unsigned (positif semua),secara manusia perkalian dapat dilakukansecara manual (contoh di papan tulis). Tapi komputer tidak mempunyai tempatcukup untuk menyimpan partial products(hasil sementara) karena akanmenghabiskan banyak tempat. Oleh karenaitu digunakan metode geser (shift).
4.3 Aritmatika Floating Point
27
top related