Anda di halaman 1dari 33

Tugas Arsitektur Komputer Aritmatika Komputer

Disusun oleh : 10107237 10107261 10107271 Lazuardi Qayuma Indradarma Febri Ariansyah 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

Daftar isi
Kata Pengantar ............................................................................................................................................................. i Daftar isi ...................................................................................................................................................................... ii

BAB 1

ARITMATIKA KOMPUTER ................................................................................................................ 1

1.1 ARITMATHIC AND LOGIC UNIT (ALU) ..................................................................................................... 1 1.2 ADDER ................................................................................................................................................... 1 1.3 HALF ADDER .......................................................................................................................................... 1 1.4 FULL ADDER ........................................................................................................................................... 2 1.5 PARALEL ADDER .................................................................................................................................... 4 1.6 PENJUMLAHAN ..................................................................................................................................... 4 1.6.1 Penjumlahan Biner ............................................................................................................................ 5 1.6.2 Penjumlahan 8421BCD ..................................................................................................................... 6 1.7 PENGURANGAN..................................................................................................................................... 7 1.7.1 Pengurangan Bilangan Desimal ........................................................................................................ 7 1.7.2 Pengurangan Bilangan Biner ............................................................................................................ 9 1.8 PERKALIAN.............................................................................................................................................. 11 1.9 PEMBAGIAN ............................................................................................................................................ 13 BAB 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 BAB 3 FLOATING POINT ARITHMETIC ...................................................................................................... 14 BENTUK BILANGAN FLOATING POINT ........................................................................................................... 14 MACAM MACAM BENTUK BILANGAN FLOATING POINT ..................................................................................... 15 ARITMETIKA FLOATING POINT PENJUMLAHAN / PENGURANGAN ....................................................................... 16 PERKALIAN.............................................................................................................................................. 17 PEMBAGIAN ............................................................................................................................................ 18 FLOATING POINT STANDARD IEEE ............................................................................................................... 19 IEEE SINGLE PRECISION FORMAT................................................................................................................. 20 IEEE DOUBLE PRECISION FORMAT .............................................................................................................. 21 ARITMATIKA FIXED-POINT ............................................................................................................ 22

3.1 DEFINISI ................................................................................................................................................. 22 3.2 NOTASI .................................................................................................................................................. 23 3.3 REPRESENTASI BILANGAN FIXED-POINT .............................................................................................. 24 3.4 MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT ................................................................... 24 3.5 ARITMATIKA FIXED-POINT ................................................................................................................... 25 3.6 OVERFLOW DAN UNDERFLOW ............................................................................................................ 25 3.6.1 MENDETEKSI OVERFLOW ................................................................................................................ 25 3.7 PRESISI GANDA .................................................................................................................................... 26 3.8 ARITMATIKA PRESISI GANDA ............................................................................................................... 26 BAB 4 KESIMPULAN ................................................................................................................................. 27

ii

Daftar Tabel
Tabel 1.1 ................................................................................................................................................. 2 Tabel 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 0 0 1 1 B 0 1 0 1
Tabel 1.1

S 0 1 1 0

Cy 0 0 0 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:

Gambar 1-1

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

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1
Tabel 1.2

S 0 1 1 0 1 0 0 1

Cy 0 0 0 1 0 1 1 1

Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut : S=ABC+ABC+ABC+ABC S=ABC 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

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 1 10 10 100 2. 01002 + 01112 1 0100 0111 1011 3. 111112 + 11112 + 111012 + 101112 33322 11111 01111 11101 10111+ 11000102 Carry out + Carry + Carry out

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. 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 BCD = 1 0 0 0 0 1 1 1 Jika (Cy=0; AC = 0) = 8 7 (desimal)

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 Bilangan 1 Bilangan 2 Biner =0011 =0010 =0101 11 0 1 1 1 (BCD) = 3 0 1 1 0 (BCD) = 2 1101
6

7 (desimal) 6 (desimal) +

+1&+6 BCD 1.7

=0001 =0110

0110 0011

(Cy=0; AC = 0) =6 3 (desimal)

PENGURANGAN

Pengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan dengan bilangan negatif. 500 255 = 245 (Pengurangan)

500 + (-)255 = 245 (Penjumlahan)

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). 500 255 245 (0) 5 0 0 (9) 7 4 5 + 1 (0) 2 4 5 Cy Dihilangkan Komplemen-9

Pada komplemen-9, bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut dijumlahkan pada hasil akhir. Contoh : Komplemen-9 dari-255. -25 510 = (9) 7 4 410 (angka 9 menunjukkan tanda modulusnya). 500 255 2 451 (0) 5 0 0 (9) 7 4 4 + (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). 255 500 -24 5 (0) 2 5 5 (9) 5 0 0 + (9)7 5 5 (9 menunjukkan negatif) 244+1 (9) 2 4 5 Komplemen-9 dari-500. -50 010 = (9) 4 9 910 (angka 9 menunjukkan tanda modulusnya). 255 500 24 5 (0) 2 5 5 (9) 4 9 9 + (9) 7 5 4 (9 menunjukkan negatif) 245 (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).
9

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 5 4 1 (0) 1 0 0 1 (1) 1 0 1 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 5 4 1 (0) 1 0 0 1 (1) 1 0 1 0 (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


10

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 9 4 -

(0) 0 1 0 1 (1) 0 1 1 1 (1) 1 1 0 0 0011 (1) 0 1 0 0 + (1 menunjukkan negatif) +1

Komplemen-1dari 9. 1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya).

5 9 -4 -

(0) 0 1 0 1 (1) 0 1 1 0 (1) 1 0 1 1 0100 (1) 0 1 0 0 + (1 menunjukkan negatif)

1.8

Perkalian

Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem bilangan lainnya. 9 1001
11

10 x 90 1001 0000 1001

1010 0000

1011010 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). Register B untuk menyimpan data pengali (Multiplier). Register P untuk menyimpan hasil perkalian

9 X 10 Register A 1001 Register B 1010 M diubah Geser Reg B & P 1 bit kekanan 1001 M 1 0 1 00000000 M=1,Reg A ditambahkan pada P diMSBnya. 1001 0000 Geser Reg B & P 1 bit kekanan
12

Register P 00000000 M=0, Reg. P tidak

1001 M

001001000 M = 0, Reg. P tidak diubah Geser Reg B & P 1 bit kekanan 1001100100100

M = 1, Reg A ditambahkan pada P diMSBnya 10110100 Reg. P geser lagi 01011010 0 64 0 16 8 0 2 0 =90

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).

13

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.

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 exponent. sedangkan b mewakili radix (basis) dari

Gambar 2-1

Contoh: Pada gambar diatas, menunjukkan tentang panjang bit pada bilangan floating point
14

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:

Gambar 2-2

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
15

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
S

untuk bilangan floating point bukan nol yang ternormalisasi memiliki bentuk (1) *(1.m)* 2.3 Aritmetika Floating Point Penjumlahan / Pengurangan

Hal yang sulit dari penjumlahan dua bilangan exponent adalah jika bilanganbilangan 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 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 3 Lakukan operasi penjumlahan/ pengurangan Lakukan normalisasi dengan menggeser nilai mantissa dan mengatur nilai exponensialnya Contoh: Jumlahkandua bilangan floating point 1,1100 * 24 dan1,1000 *22 1 2 3 Sesuaikan: 1,1000 *22 diubahmenjadi0,0110 * 24 Jumlahkan: hasilpenjumlahan10,0010 * 24 Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 6 ( dianggap bit
16

yang diijinkansetelahkoma adalah4) Operasi penjumlahan/pengurangan dua bilangan floating point diilustrasikan dengan skema seperti pada gambar berikut :

Gambar 2-3

2.4

Perkalian
a

Perkalian dari dua bilangan floating point dengan bentuk X = mx * 2 dan Y = mx * 2


b

setara dengan X * Y = (mx * my)* a+b


2

Algoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah :

1 2 3

Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan Kalikan kedua bilangan mantissa 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
17

Kalikan mantissa : 1,0000 * 1,010 = 1,010000


3

Hasil perkaliannya adalah 1,0100 * 2 Perkalian dari dua bilangan floating point diilustrasikan menggunakan

skema seperti tampak pada gambar berikut :

Gambar 2-4

2.5

Pembagian
a b

Pembagian dari dua bilangan floating point dengan bentuk X = mx * 2 dan Y = mx * 2 setara dengan X / Y = (mx / my)* a-b
2

Algoritma umum untuk pembagian dari bilangan floating point terdiri dari tiga langkah :

1 2 3

Hitung hasil exponensial dengan mengurangkan nilai exponent dari kedua bilangan Bagi kedua bilangan mantissa Normalisasi hasil akhir

Contoh : Pembagian antara dua bilangan floating point X = 1,0000 *2dan Y = 1,0100 *2
18

1 2

Kurangkan bilangan exponennya : -2 (-1) = -1 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 :

Gambar 2-5

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.

19

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 e=0 e = 255 Tabel5.1. 0

m0 Terdenormalisasi Tidak Terdefinsi

20

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.

Karakteristik Panjang dalam bits Bagian pecahan dalam bits Bit tersembunyi Panjang Exponent dlm bits Bias Range Nilaiternormalisasiterkecil

SinglePrecision 32 23 1 8 127 2128 3,8 x 10 38 2126 10 38

Double Precision 64 52 1 11 1023 21024 9,0 x 10 307 21022 10 308

Tabel5.2. Karakteristik dariIEEE single dan double floating point format

21

BAB 3
3.1 Definisi

ARITMATIKA FIXED-POINT

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.

22

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 Users 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.

23

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.

24

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 0 1

Representasi 1111111 0000001

Value 27 1 = 127 (-2)7 = -128

Keterangan Maksimum positif 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. iii. Bilangan yang telah dimodifikasi ditambahkan atau dikurangi 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
25

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 0 0 0 0 Sign bit Binary SUM 0 0 0 0 1100 0011 1111 Nilai desimal 12 3 15

Bit sama tidak overflow

Ekstra bit 0 0 0 0

Sign bit Binary SUM 0 0 1 1 1100 0110 0010

Nilai desimal 12 6 18

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
26

yang

lebih

panjang

lebih

mahal.

BAB 4
4.1 Aritmathic and Logic Unit

Kesimpulan

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 merepresentasikan semua 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 = 0 00000001 = 1 00101001 = 41 10000000 = 128 11111111 = 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 Representation Bit paling kiri menunjukkan magnitude integer (positif atau negatif) sign bit +18 = 00010010 - 18 = 10010010 Kekurangannya : ada 2 buah angka nol: nol positif (00000000) dan negatif (10000000).
27

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 1 Mengapa 1 bit paling kiri? Karena Porsi sama besar: Negatif = -128 positif= (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 penjumlahan 2. 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 tidak mampu menampung bilangan yangdihasilkan. Misal 4-bit rangenya -8 7, tidak bisa menampung bilangan 11. Overflow jika dan hanya jika: penjumlahan dilakukan 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

28