aritmatika-komputer 1

download aritmatika-komputer 1

of 33

description

menjelaskan tentang aritmatikakomputer

Transcript of aritmatika-komputer 1

Tugas Arsitektur KomputerAritmatika Komputer

Disusun oleh :10107237Lazuardi Qayuma Indradarma10107261Febri Ariansyah10107271Novrizal Faris MKelas IF.6

JURUSAN TEKNIK INFORMATIKAUNIVERSITAS KOMPUTER INDONESIA2009Kata 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 PengantariDaftar isiiiBAB 1ARITMATIKA KOMPUTER11.1ARITMATHIC AND LOGIC UNIT (ALU)11.2ADDER11.3HALF ADDER11.4FULL ADDER21.5PARALEL ADDER41.6PENJUMLAHAN41.6.1Penjumlahan Biner51.6.2Penjumlahan 8421BCD61.7PENGURANGAN71.7.1Pengurangan Bilangan Desimal71.7.2Pengurangan Bilangan Biner91.8Perkalian111.9Pembagian13BAB 2FloatingPoint Arithmetic142.1Bentuk Bilangan Floating Point142.2Macam macam bentuk bilangan floating point152.3Aritmetika Floating Point Penjumlahan / Pengurangan162.4Perkalian172.5Pembagian182.6Floating Point standard IEEE192.7IEEE singleprecision Format202.8IEEE DoublePrecision Format21BAB 3ARITMATIKA FIXED-POINT223.1Definisi223.2Notasi233.3REPRESENTASI BILANGAN FIXED-POINT243.4MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT243.5ARITMATIKA FIXED-POINT253.6OVERFLOW DAN UNDERFLOW253.6.1MENDETEKSI OVERFLOW253.7PRESISI GANDA263.8ARITMATIKA PRESISI GANDA26BAB 4Kesimpulan27

Daftar TabelTabel 1.12Tabel 1.23

Daftar Gambariii

ARITMATIKA KOMPUTERARITMATHIC AND LOGIC UNIT (ALU)

Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuahkomputer. 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 untukmelakukan perhitungan ALU adalah Adder.ADDER

Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkanbilangan dinamakan dengan Adder. Karena Adder digunakan untuk memprosesoperasi aritmetika, maka Adder juga sering disebut rangkaian kombinasionalaritmetika. 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.HALF ADDER

Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masingmasinghanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap.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 pindahanCy(Carry Out) = 1.Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S danCy).ABSCy

0000

0110

1010

1101

Tabel 1.1Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika darigerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logikaAND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar

Gambar 11berikut:

FULL ADDER

Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas),oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenarandari Full adder berikut :

ABCSCy

00000

00110

01010

01101

10010

10101

11001

11111

Tabel 1.2Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut :S = A B C + A B C + A B C + A B CS = A B CCy = A B C + A B C + A B C + A B CDengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi :Cy = AB + AC + BC

Gambar 12

PARALEL ADDER

Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel danberfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah FullAdder yang diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiridari 4 buah Full Adder yang tersusun parallel sehingga membentuk sebuah penjumlahbit.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 bilangandesimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelumdijumlahkan. Sebelum mempelajari tentang penjumlahan pada 8421BCD, ada baiknyamengetahui cara menjumlahkan bilangan biner.

Penjumlahan BinerAda 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 jumlahdalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalamkolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contohpada bilangan desimal 2 + 5 = 7 dengan carry out = 0, 9 + 9 = 8 dengan carry out = Contoh :1. 102+ 1021 Carry out1010 +1002. 01002 + 011121 Carry01000111 +10113. 111112 + 11112 + 111012 + 1011123 3 3 2 2 Carry out1 1 1 1 10 1 1 1 11 1 1 0 11 0 1 1 1 +1 1 0 0 0 1 0 2Penjumlahan 8421BCDSandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yangdisandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikanadalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry daribilangan keempat LSB) maupun carry dari MSB.Berikut adalah aturan penjumlahan sandi 8421BCD:Jikajumlah 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(Cy=0 AC = 0)BCD = 1 0 0 0 0 1 1 1 = 8 7 (desimal) Jikajumlah biner tidak sama dengan jumlah desimal maka memerlukan pengaturantambahan :Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasilpenjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada niblerendah tersebut, dan tambahkan 1 pada nible yang lebih tinggi.Contoh :11 1Bilangan 1 = 0 0 1 1 0 1 1 1 (BCD) = 37 (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)PENGURANGANPengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan denganbilangan negatif.500 255 = 245 (Pengurangan)

500 + (-)255 = 245 (Penjumlahan)

Komputer hanya bekerja pada bilangan 0 dan 1 dan tidak mengenal bilangannegatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus(Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah0 untuk bilangan positif dan 9 untuk bilangan negatif. Untuk bilangan negatif,pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan padabilangan desimal adalah komplemen-10dan komplemen-9.Pengurangan Bilangan Desimal Komplemen10Pada komplemen10,bilangan negatif dikurangkan 9, kemudian ditambahkan 1 padabit 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 02 5 5-(9) 7 4 5 +2 4 5 1 (0) 2 4 5Cy Dihilangkan Komplemen-9Pada komplemen-9,bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikutdijumlahkan 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 02 5 5 -(9) 7 4 4 +2 4 5 1 (0) 2 4 41+(Cy)(0) 2 4 5Cy DitambahkanBila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlakuuntuk komplemen-10dan komplemen-9).Jika komplemen10,maka hasil akhirsetelah dikomplemen harus ditambah 1. Jika komplemen10,hasil akhirnyamerupakan 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 55 0 0 -(9) 5 0 0 +-24 5(9)7 5 5 (9 menunjukkan negatif)2 4 4 + 1(9) 2 4 5Komplemen-9 dari-500.-50 010 = (9) 4 9 910 (angka 9 menunjukkan tanda modulusnya).2 5 5(0) 2 5 55 0 0 -(9) 4 9 9 +24 5 (9) 7 5 4 (9 menunjukkan negatif)2 4 5(9) 2 4 5

Pengurangan Bilangan BinerPada penjumlahan biner, komplemen yang digunakan adalah komplemen2Dankomplemen1.Untuk mendapatkan komplemen bilangan biner, cukup denganmembalik angkanya saja. Jika 0 dibalik menjadi 1, dan jika 1 dibalik menjadi0. Komplemen2mirip dengan komplemen10pada bilangan desimal (Carrydihilangkan), 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 15 -(1) 1 0 1 1 +4 1 (0) 0 1 0 0Cy Dihilangkan

Komplemen1Contoh :Komplemen-1dari 5 (0101).0 1 0 1 = (1) 1 0 1 0 (angka 1 menunjukkan tanda modulusnya).9 (0) 1 0 0 15 -(1) 1 0 1 0 +4 1 (0) 0 0 1 11(0) 0 1 0 0Cy DitambahkanBila 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 hasilsebenarnya (tidak perlu ditambah 1).Contoh :Pengurangan antara 510 dengan 910Komplemen-2dari 9.1 0 0 1 = (1) 0 1 1 1 (angka 1 menunjukkan tanda modulusnya).

5 (0) 0 1 0 19 -(1) 0 1 1 1+4(1) 1 1 0 0 (1 menunjukkan negatif)0 0 1 1 + 1(1) 0 1 0 0Komplemen-1dari 9.1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya).

5 (0) 0 1 0 19 -(1) 0 1 1 0 +-4(1) 1 0 1 1 (1 menunjukkan negatif)0 1 0 0(1) 0 1 0 0PerkalianPerkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistembilangan lainnya.9 1 0 0 110 x 1 0 1 0 x90 0 0 0 01 0 0 10 0 0 01 0 0 1 +1 0 1 1 0 1 064 0 16 8 02 0 = 90Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan (ShiftRight 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 10Register A Register B Register P1 0 0 11 0 1 0 0 0 0 0 0 0 0 0M M=0, Reg. P tidak diubah Geser Reg B & P 1 bit kekanan1 0 0 1 1 0 10 0 0 0 0 0 0 0M M=1,Reg A ditambahkan pada P diMSBnya.1 0 0 1 0 0 0 0Geser Reg B & P 1 bit kekanan1 0 0 1 1 0 0 1 0 0 1 0 0 0M M = 0, Reg. P tidak diubahGeser Reg B & P 1 bit kekanan1 0 0 1 1 0 0 1 0 0 1 0 0M M = 1, Reg A ditambahkan pada P diMSBnya1 0 1 1 0 1 0 0Reg. P geser lagi0 1 0 1 1 0 1 00 64 0 16 8 0 2 0 =90PembagianKebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari penguranganyang dilakukan berulangulang.Dan proses ini juga dapat dilakukan pada rangkaianlogika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shiftleftregister). 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 digeserkekiri 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 : 1004Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkansetelah itu adalah digit pecahan, sehingga hasil yang benar 10,12 atau 2,510.

FloatingPoint ArithmeticBentuk Bilangan Floating Point

Gambar 21Bilangan 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:

Gambar 22

Macam macam bentuk bilangan floating pointUntuk 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)*2e128Aritmetika Floating Point Penjumlahan / PenguranganHal 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 dengan bilangan lain.Langkah -langkah yang dilakukan untuk menambah/mengurangkan dua bilangan floating point1 Bandingkan kedua bilangan, dan ubah ke bentuk yang sesuai pada bilangan dengan nilai exponensial lebih kecil2 Lakukan operasi penjumlahan/pengurangan 3 Lakukan normalisasi dengan menggeser nilai mantissa dan mengatur nilai exponensialnyaContoh: Jumlahkandua bilangan floating point 1,1100 * 24 dan1,1000 *22 1Sesuaikan: 1,1000 *22 diubahmenjadi0,0110 * 24 2Jumlahkan: hasilpenjumlahan10,0010 * 24 3Normalisasi : hasil setelah dinormalisasi adalah 0,1000 * 2 6 ( dianggap bit yang diijinkansetelahkoma adalah4)

Gambar 23Operasi penjumlahan/pengurangan dua bilangan floating point diilustrasikan dengan skema seperti pada gambar berikut :

PerkalianPerkalian dari dua bilangan floating point dengan bentuk X = mx *2a dan Y = mx * 2 b setara dengan X*Y = (mx * my)*2a+bAlgoritma umum untuk perkalian dari bilangan floating point terdiri dari tiga langkah:1 Hitung hasil exponensial dengan menjumlahkan nilai exponent dari kedua bilangan2 Kalikan kedua bilangan mantissa 3 Normalisasi hasil akhirContoh: Perkalian antara dua bilangan floating point X = 1,000 * 2 dan Y = 1,010 * 21Tambahkan bilangan exponennya 2 + (1) =3 2Kalikan mantissa : 1,0000 * 1,010 = 1,010000 Hasil perkaliannya adalah 1,0100*23 Perkalian dari duabilangan floatingpoint diilustrasikan menggunakan skemasepertitampakpada gambarberikut :

Gambar 24

PembagianPembagian dari dua bilangan floating point dengan bentuk X = mx * 2 a dan Y = mx *2b 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 bilangan2 Bagi kedua bilangan mantissa 3 Normalisasi hasil akhir

Contoh : Pembagian antara dua bilangan floating point X = 1,0000*2dan Y = -1,0100*21 Kurangkan bilangan exponennya: -2(-1) = -12 Bagi mantissa: 1,0000/ -1,0100= -0,1101

Hasil pembagiannya adalah 0,1101 * 2Pembagian dari dua bilangan floating point diilustrasikan menggunakan skema seperti tampak pada gambar berikut :

Floating Point standard IEEEIEEE 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.

Gambar 25

IEEE singleprecision FormatJikajumlahbit bilanganexponent adalah 8, makanilainya memiliki 256kombinasi, diantaraangkaangkatersebut, duakombinasi digunakan sebagai nilaikhusus: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= 0m0

e = 00Terdenormalisasi

e = 255Tidak Terdefinsi

Tabel5.1.

IEEE DoublePrecision FormatBentuk ini memiliki kolom exponent 11 bit dan kolom nilai mantissa sebesar 52 bit. Bentuknya sepert itampak pada gambar.

KarakteristikSinglePrecisionDoublePrecisionPanjangdalam bits3264Bagian pecahan dalam bits2352Bit tersembunyi11PanjangExponent dlm bits811Bias1271023Range2128 3,8 x 103821024 9,0 x 10307Nilaiternormalisasiterkecil2126 103821022 10308

Tabel5.2. KarakteristikdariIEEE single dan doublefloatingpointformat

ARITMATIKA FIXED-POINTDefinisiKomputer 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.

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

REPRESENTASI BILANGAN FIXED-POINTUntuk 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 :

0 1 3 7 5 Merepresentasikan 13.753 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 MEMBANDINGKAN FIXED-POINT DAN FLOATING-POINT1. 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.

ARITMATIKA FIXED-POINTRegister 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 bitRepresentasiValueKeterangan

01 1 1 1 1 1 127 1 = 127Maksimum positif

10 0 0 0 0 0 1(-2)7 = -128Most negatif

OVERFLOW DAN UNDERFLOWOVERFLOWHasil operasi aritmatika terlalu besar utk disimpan dalam lokasi yg dialokasikan untuknya. UNDERFLOWHasil tersebut terlalu kecil utk disimpan dalam lokasi yg dialokasikan untuknya.MENDETEKSI OVERFLOWa. 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 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 : aEkstra bitSign bitBinary SUMNilai desimal

001 1 0 012

000 0 1 13

001 1 1 115

00Bit sama tidak overflow

bEkstra bitSign bitBinary SUMNilai desimal

001 1 0 012

000 1 1 06

010 0 1 018

0 1Bit berbeda overflow

PRESISI GANDASalah 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.ARITMATIKA PRESISI GANDAAritmatika yang menggunakan bilangan presisi ganda. Lebih lamban namun sering digunakan karena mesin dengan word yang lebih panjang lebih mahal.11

KesimpulanAritmathic and Logic UnitDari 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 +).Aritmatika Fixed PointBilangan PositifMeskipun 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.3125Bentuk 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 = 255Tidak ada masalah dari contoh di atas.

Bilangan NegatifMulai 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 = 10010010Kekurangannya : ada 2 buah angka nol: nolpositif (00000000) dan negatif (10000000).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 42 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. OverflowKadang 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.

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

Aritmatika Floating Point