RANGKAIAN ARITMETIKA Materi :. Sistim Bilangan : Desimal, Biner, Oktal, Hexadesimal 2. Konversi Sistim Bilangan 3. Sistim Coding 4. Fungsi-fungsi Aritmetika Biner : penjumlahan, pengurangan, perkalian, pembagian 5. Implementasi fungsi Aritmetika pada sistim Bilangan yang lain 6. Bilangan biner bertanda (positif dan negatif) 7. Sistim st dan 2 s-complement 8. Rangkaian Aritmetika : Adder, Subtractor 9. Arithmetic/Logic Unit Rangkaian Aritmetika
SISTIM BILANGAN Sistim Bilangan terdiri dari :. Sistim Desimal Dasar 0 2. Sistim Biner Dasar 2 3. Sistim Oktal Dasar 8 4. Sistim Hexadesimal Dasar 6 Aplikasi Sistim Bilangan :. Sistim Desimal nilai mata uang : puluhan, ratusan, ribuan dsb 2. Sistim Biner rangkaian elektronika digital 3. Sistim Oktal instruksi komputer dengan kode 3-bit 4. Sistim Hexadesimal pengalamatan memory pada micro controller Rangkaian Aritmetika 2
Rangkaian Aritmetika 3 Sistim Desimal.. 0 4 0 3 0 2 0 0 0 Most Significant Digit Least Significant Digit satuan puluhan ribuan ratusan puluhan ribu 0 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9 0 2 3 4 5 6 7 8 9.
Cara membilang dengan sistim desimal Cara menghitung dengan sistim desimal Contoh : 4 6 2 3 3x0 0 = 3 2x0 = 20 6x0 2 = 600 4x0 3 = 4000 + 4623 (empat ribu enam ratus dua puluh tiga) 0.. 9 0.. 9 9 0 0.. 9 9 9 0 0 0.. 9 9 9 9.. Rangkaian Aritmetika 4
Sistim Biner BIT = BInary digit Most Significant Bit.. 2 4 2 3 2 2 2 2 0 Least Significant Bit. 0 0 0 Cara membilang dengan sistim biner 0 Rangkaian Aritmetika 5 0 0 0 0 0 0 0 0 0 0 0 0..
Cara menghitung dengan sistim biner Contoh : 0 x 2 0 = x 2 = 2 0x 2 2 = 0 x 2 3 = 8+ 0 0 0 0 x2 0 = 0x2 = 0 0x2 2 = 0 x2 3 = 8 0x2 4 = 0 x2 5 = 32+ Rangkaian Aritmetika 6 4 0
Rangkaian Aritmetika 7 Sistim Oktal.. 8 4 8 3 8 2 8 8 0 Most Significant Digit Least Significant Digit 0 2 3 4 5 6 7. 0 2 3 4 5 6 7 0 2 3 4 5 6 7 0 2 3 4 5 6 7 0 2 3 4 5 6 7
Cara membilang dengan sistim Oktal 0.. 7 0.. Cara menghitung dengan sistim Oktal Contoh : 5 6 7 4 4x8 0 = 4 7x8 = 56 6x8 2 = 384 5x8 3 = 2560 + 3004 0 7 7 0 0 0 0 2.. 7 7 7 0 0 0 0 0.. Rangkaian Aritmetika 8
Rangkaian Aritmetika 9 Sistim Hexadesimal.. 6 4 6 3 6 2 6 6 0 Most Significant Digit Least Significant Digit 0 2 3 4 5 6 7 8 9 A B C D E F. 0 2 3 4 5 6 7 8 9 A B C D E F 0 2 3 4 5 6 7 8 9 A B C D E F 0 2 3 4 5 6 7 8 9 A B C D E F 0 2 3 4 5 6 7 8 9 A B C D E F
Cara membilang dengan sistim Hexadesimal 0 2.. 9 Ạ Cara menghitung dengan sistim Hexadesimal Contoh : 2 E 5 C 2x6 0 = 2 5x6 = 80 4x6 2 = 3584 2x6 3 = 892 + 868 0 Ḟ 0.. 9 F A 0.. F F 0 0 0.. F F F.. Rangkaian Aritmetika 0
KONVERSI SISTIM BILANGAN DESIMAL BINER OKTAL HEXA Rangkaian Aritmetika
. DESIMAL BINER Contoh : ) 28 0 =. 2? 2 28 0 2 4 0 2 7 28 0 = 00 2 2 3 2) 345 0 =. 2? 345 0 = 0000 2 MSB LSB 2 345 2 72 0 2 86 0 2 43 2 2 2 0 0 2 5 2 2 0 LSB MSB Rangkaian Aritmetika 2
2. DESIMAL OKTAL Contoh : ) 28 0 =. 8? 8 28 4 LSD 3 MSD 28 0 = 34 8 2) 345 0 =. 8? 345 0 = 53 8 8 345 LSD 8 43 3 5 MSD Rangkaian Aritmetika 3
3. DESIMAL HEXADESIMAL Contoh : ) 28 0 =. 6? 6 28 2=C MSD LSD 28 0 = C 6 2) 345 0 =. 6? 345 0 = 59 6 6 345 9 LSD 6 2 5 MSD Rangkaian Aritmetika 4
4. BINER DESIMAL Contoh : ) 0 2 =. 0? 0 2 = 3 0 0 2 = x2 3 +x2 2 +0x2 +x2 0 = 8 + 4 + 0 + = 3 0 2) 00 2 =. 0? 00 2 = 83 0 00 2 = x2 7 +0x2 6 +x2 5 +x2 4 + 0x2 3 +x2 2 +x2 +x2 0 = 28+0+32+6+0+4+2+ = 83 0 Rangkaian Aritmetika 5
5. OKTAL DESIMAL Contoh : ) 75 8 =. 0? 75 8 = 7x8 + 5x8 0 = 56 + 5 = 6 0 75 8 = 6 0 2) 634 8 =. 0? 634 8 = 3297 0 634 8 = 6x8 3 + 3x8 2 + 4x8 + x8 0 = 3072 + 92 + 32 + = 3297 0 Rangkaian Aritmetika 6
6. HEXADESIMAL DESIMAL Contoh : ) 9F 6 =. 0? 9F 6 = 59 0 9F 6 = 9x6 + 5x6 0 = 44 + 5 = 59 0 2) 3FE8 6 =. 0? 3FE8 6 = 6360 0 3FE8 6 = 3x6 3 +5x6 2 +4x6 +8x6 0 = 2288 + 3840 + 224 + 8 = 6360 0 Rangkaian Aritmetika 7
7. BINER OKTAL Contoh : 00 2 =. 8? Cara : Konversikan Biner Desimal 00 2 = x2 6 +x2 5 +x2 3 +x2 +x2 0 = 64+32+8+2+ = 07 0 Desimal Oktal 8 07 3 8 3 5 00 2 = 53 8 Cara 2 : Ambil per 3bit menjadi kelompok, mulai dari LSB. Bit MSB ditambahkan 0 00 00 0 0 5 3 8 Rangkaian Aritmetika 8
8. BINER HEXADESIMAL Contoh : 00 2 =. 6? Cara : Konversikan Biner Desimal 00 2 = x2 6 +x2 5 +x2 3 +x2 +x2 0 = 64+32+8+2+ = 07 0 Desimal Hexadesimal 6 07 =C 6 00 2 = 6C 6 Cara 2 : Ambil per 4bit menjadi kelompok, mulai dari LSB. Bit MSB ditambahkan 0 00 00 0 6 C 6 Rangkaian Aritmetika 9
9. OKTAL BINER Contoh : 64 8 =. 2? Cara : Konversikan Oktal Desimal 64 8 = 6x8 +4x8 0 = 48 + 4 = 52 0 64 8 = 000 2 Desimal Biner 2 52 0 2 26 0 2 3 2 6 0 2 3 Cara 2 : Masing-masing digit dikonversikan menjadi 3 bit biner. 64 6 4 0 00 2 Rangkaian Aritmetika 20
0. HEXADESIMAL BINER Contoh : 7D 6 =. 2? Cara : Konversikan Hexa Desimal 7D 6 = 7x6 +3x6 0 = 2 + 4 = 25 0 7D 6 = 0 2 Desimal Biner 2 25 2 62 0 2 3 2 5 2 7 2 3 Cara 2 : Masing-masing digit dikonversikan menjadi 4 bit biner. 7D 7 D 0 0 2 Rangkaian Aritmetika 2
. OKTAL HEXADESIMAL Contoh : 57 8 =. 6? Cara : Konversikan Oktal Desimal 57 8 = 5x8 +7x8 0 = 40 + 7 = 47 0 Desimal Hexa 6 47 5=F 2 57 8 = 2F 6 Cara 2 : Konversikan Oktal Biner Biner Hexa 57 5 7 000 0 2 2 F 6 Rangkaian Aritmetika 22
2. HEXADESIMAL OKTAL Contoh : 6A 6 =. 8? Cara : Konversikan Hexa Desimal 6A 6 = 6x6 +0x6 0 = 96 + 0 = 06 0 Desimal Oktal 8 06 2 8 3 5 6A 6 = 52 8 Cara 2 : Konversikan Hexa Biner Biner Oktal 6A 6 A 00 0 00 00 00 2 5 2 8 Rangkaian Aritmetika 23
SISTIM CODING. Kode BCD (Binary Coded Decimal) Merepresentasikan masing-masing 0 digit desimal menjadi kode 4-digit biner. Kode ini digunakan untuk meng-outputkan hasil digital ke peralatan yang men-displaykan bilangan numerik (0-9), seperti : jam digital, voltmeter digital Rangkaian Aritmetika 24
Ada5 jeniskodebcd :. Kode 842 2. Kode 542 3. Kode 242 4. Kode Excess-3 5. Kode 2 of 5 Kode dengan faktor pembobot Bukan kode pembobot Kode pembobot direpresentasikan sebagai : d 0 = 8xa 3 + 4xa 2 + 2xa + xa 0 Nilai desimal Nilai bobot (tergantung jenis kode pembobot) Rangkaian Aritmetika 25
Contoh : ) 7 0 =. BCD (842)? 7 0 = 8x0 + 4x + 2x + x 7 0 = 0 BCD(842) 2) 8 0 =. BCD (542)? 8 0 = 5x0 + 4x0 + 2x0 + x 5x + 4x0 + 2x + x = 000 0 BCD(542) 3) 48 0 =. BCD (242)? 48 0 = 2x0 + 4x + 2x0 + x0 2x + 4x + 2x + x0 = 000 0 BCD(242) Dari ke-tiga jenis kode BCD dengan bobot, yang paling banyak digunakan adalah kode 842 Rangkaian Aritmetika 26
Kode Excess-3 Kode ini memiliki kelebihan nilai 3 dari digit asalnya. Contoh : 0 0 disimpan sebagai (0+3) = 00 Excess-3 Nilai tertinggi untuk BCD Excess-3 adalah (9+3) = 00 Excess-3 Kode 2 of 5 Kodeinimemiliki2 nilaibit dari5 bit yang tersedia. Penempatan bit dimulai dari MSB, sedang bit untuk digit berikutnya mengikuti posisi di sebelahnya. Contoh : 2 0 disimpan sebagai 000 2 of 5 Rangkaian Aritmetika 27
Ringkasan Kode BCD Digit desimal Kode 842 Kode 542 Kode 242 Kode Excess-3 Kode 2 of 5 0 0000 0000 0000 00 000 000 000 000 000 000 2 000 000 000 00 000 3 00 00 00 00 000 4 000 000 000 0 000 5 00 000 0 000 000 6 00 00 00 00 000 7 0 00 0 00 000 8 000 0 0 0 000 9 00 00 00 000 tidak 00 00 00 0000 sembarang digunakan 0 00 00 000 pola 00 0 0 000 yg lain 0 0 000 0 0 0 00 0 00 Rangkaian Aritmetika 28
2. Kode ASCII (American Standard Code for Information Interchange) Merepresentasikan nilai alphanumeric (huruf, bilangan dan simbol) menjadi nilai-nilai biner Nilai-nilai ini akan dibaca dan diproses oleh peralatan digital (misal : komputer, microprocessor) dalam bentuk biner ASCII Code terdiri dari 7 bit biner 2 7 = 28 kombinasi kode 7 bit 3 bit MSB dan 4 bit LSB Contoh : 00 0 = G Grup 3 bit (MSB) Grup 4 bit (LSB) Rangkaian Aritmetika 29
Tabel ASCII LSB MSB 000 00 00 0 00 0 0 0000 NUL DLE SP 0 @ P ` p 000 SOH DC! A Q a q 000 STX DC2 " 2 B R b r 00 ETX DC3 # 3 C S c s 000 EOT DC4 $ 4 D T d t 00 ENQ NAK % 5 E U e u 00 ACK SYN & 6 F V f v 0 BEL ETB ' 7 G W g w 000 BS CAN ( 8 H X h x 00 HT EM ) 9 I Y i y 00 LF SUB * : J Z j z 0 VT ESC + ; K [ k { 00 FF FS, < L \ l 0 CR GS - = M ] m } 0 SOH RS. > N ^ n ~ SI US /? O _ o DEL Rangkaian Aritmetika 30
Definisi kelas kontrol : ACK Acknowledge GS Group Separator BEL Bell HT Horizontal Tag BS Backspace LF Line Feed CAN Cancel NAK Negative Acknowledge CR Carriage Return NUL Null DC-DC4 Direct Control RS Record Separator DEL Delete idle SI Shift In DLE Data Link Escape SO Shift Out EM End of Medium SOH Start of Heading ENQ Enquiry STX Start of Text EOT End of Transmission SUB Substitute ESC Escape SYN Synchronous Idle ETB End f Transmission Block US Unit Separator ETX End Text VT Vertical Tab FF Form Feed FS Form Separator Contoh : Dengan menggunakan Tabel ASCII, tentukan kode ASCII untuk 65-M Jawab : 6 = 0 00 5 = 0 00 - = 00 0 M = 00 0 Rangkaian Aritmetika 3
3. Gray Code Digunakan dalam peng-kode an posisi sudut dari peralatan yang bergerak secara berputar, seperti motor stepper, mesin bubut otomatis, gerinda Kode ini terdiri dari 4 bit biner, dengan 2 4 6 kombinasi untuk total putaran 360 o. Masing-masing kode digunakan untuk perbedaan sudut 22,5 o (= 360 o /6) Rangkaian Aritmetika 32
0 00 0 00 000 0 00 0000 000 Roda Gray Code 000 00 00 000 00 0 Bilangan Gray Code Biner 4-bit 0 0000 0000 000 000 2 00 000 3 000 00 4 00 000 5 0 00 6 00 00 7 000 0 8 00 000 9 0 00 0 00 0 0 2 00 00 3 0 0 4 00 0 5 000 Tabel Gray Code dan Biner Rangkaian Aritmetika 33
4. Hamming Code Kode ini dikenalkan oleh Richard Hamming (950) sebagai kode tunggal pengoreksi kesalahan (single error-correcting code). Bit penge-cek ditambahkan ke dalam bit-bit informasi, jika suatu saat ada perubahan bit-bit data ketika proses transmisi, maka bit-bit informasi asli masih bisa diselamatkan. Kode ini dikenal pula sebagai parity code Bit penge-cek tambahan diberikan pada bit-bit informasi sebelum ditransmisikan, sedangkan pada sisi penerima dilakukan penge-cek an dengan algoritma yang sama dengan pembangkitan bit penge-cek tambahan Rangkaian Aritmetika 34
Cara pengisian bit tambahan pada bit-bit informasi a a 2 a 3 a 4 a 5 a 6 a 7 x x x 0 Bit pengisi Bit data / informasi Untuk bit data 4-bit, bit-bit data terletak pada posisi 3, 5, 6 dan 7 Bit pengisi terletak pada posisi, 2, 4 (2 K ) K = jumlah bit data - Jumlah bit informasi = 2 n n (n jumlah bit cek) Σ Bit pengisi/cek Σ bit informasi 2 3 4 4 5 26 Rangkaian Aritmetika 35
Nilai bit pengisi/cek : (untuk informasi 4-bit) a = a 3 + a 5 + a 7 a 2 = a 3 + a 6 + a 7 a 4 = a 5 + a 6 + a 7 Untuk informasi n-bit, nilai bit pengisi / cek adalah : a = 3,5,7,9,,3,5,... a 2 = 3,6,7,0,,4,5,... a 4 = 5,6,7,2,3,4,5,20,2,22,23,... a 8 = 9-5,24-3,40-47,... a 6 = 7-3,48-63,80-95,... a 32 = 33-63,96-27,60-9,... dst. Bit-bit masing-masing posisi yang disertakan di Ex-OR kan Rangkaian Aritmetika 36
Tabel Hamming untuk informasi 4-bit Data/bit a a 2 a 3 a 4 a 5 a 6 a 7 0000 0 0 0 0 0 0 0 000 0 0 0 000 0 0 0 0 00 0 0 0 0 000 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 000 0 0 0 0 00 0 0 0 0 00 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 37
Contoh : Bagaimana bentuk data yang ditransmisikan dengan kode Hamming, jika diketahui bit data = 00? Jawab : a = a3 + a5 + a7 a = + 0 + 0 = a2 = a3 + a6 + a7 a2 = + + 0 = 0 a4 = a5 + a6 + a7 a3 = 0 + + 0 = Sehingga bentuk data yang ditransmisikan menjadi : 000 Rangkaian Aritmetika 38
Cara penge-cek an di sisi terima : (untuk informasi 4-bit) e = a + a 3 + a 5 + a 7 e 2 = a 2 + a 3 + a 6 + a 7 e 3 = a 4 + a 5 + a 6 + a 7 Jika nilai e = 0, maka seluruh data yang diterima adalah benar Rangkaian Aritmetika 39
Untuk informasi n-bit, cara penge-cek an adalah :. Tanda semua posisi bit yang merupakan pangkat dua sebagai bit penge-cek (posisi, 2, 4, 8, 6, 32, 64,...). 2. Posisi yang lain digunakan sebagai bit data yang akan dikodekan (posisi 3, 5, 6, 7, 9, 0,, 2, 3, 4, 5, 7,...) 3. Masing-masing bit pengecek menghitung bit setiap posisi dengan cara menge-cek dan melewati, sebagai berikut : Posisi : cek bit, lewat bit, cek bit, lewat bit dsb (,3,5,7,9,, 3, 5 ) Posisi 2 : cek 2 bit, lewat 2 bit, cek 2 bit, lewat 2 bit dsb (2,3,6,7,0,, 4, 5, ).. Next page Rangkaian Aritmetika 40
...cont d Posisi 4 : cek 4 bit, lewat 4 bit, cek 4 bit, lewat 4 bit dsb (4,5,6,7,2,3,4,5,20,2,22,23, ) Posisi 8: cek 8 bit, lewat 8 bit, cek 8 bit, lewat 8 bit dsb (8-5,24-3,40-47,...) Posisi 32: cek 32 bit, lewat 32 bit, cek 32 bit, lewat 32 bit, dsb. (32-63,96-27,60-9,...) Beri nilai bit penge-cek = jika total bit di posisi yang di cek adalah ganjil (Odd) dan beri nilai 0 jika total bit adalah genap (Even) Rangkaian Aritmetika 4
Contoh : Sebuah urutan data diterima : 0000 Dengan : e = 0 e2 = e4 = 0 Tentukan bit di posisi mana yang salah? Berapa nilai data asli (sebelum ditambah bit penge-cek)? Jawab : e = a + a3 + a5 + a7 = 0 + + 0 + = 0 benar e2 = a2 + a3 + a6 + a7 = 0 + + + = salah e3 = a4 + a5 + a6 + a7 = 0 + 0 + + = 0 benar a = a3 + a5 + a7 = + 0 + = 0 sama dengan yang dikirim a2 = a3 + a6 + a7 = + + = tidak sama dengan yang dikirim a3 = a5 + a6 + a7 = 0 + + = 0 sama dengan yang dikirim Berarti bit di posisi 2 yang salah, seharusnya yang diterima adalah : 000 Nilai data asli = a3a5a6a7 = 0 Rangkaian Aritmetika 42
FUNGSI-FUNGSI ARITMETIKA BINER. PENJUMLAHAN - Penjumlahan dasar (pada kolom LSB) A 0 + B 0 = Σ 0 + C out 0 + 0 = 0 carry 0 0 + = carry 0 + 0 = carry 0 + = 0 carry Tabel Kebenaran untuk Penjumlahan 2 bit biner (LSB) A 0 B 0 Σ 0 C out 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 43
- Penjumlahan lanjut (selain kolom LSB) A i + B i + C in = Σ i + C out i = 2,3,4,.. C in C in A A 0 + B B 0 Σ n Σ Σ 0 + + C out C out Tabel Kebenaran untuk Penjumlahan 2 bit biner (lanjut) A B C in Σ C out 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 44
Contoh :. 5 00 + 4 + 000 9 00 = 9 0 2. 8 000 + 2 + 0000 20 000 = 20 0 3. 47 0000 + 75 + 0000 222 00 = 222 0 Rangkaian Aritmetika 45
2. PENGURANGAN - Pengurangan dasar (pada kolom LSB) A 0 -B 0 = R 0 + B out 0-0 = 0 borrow 0 0 - = borrow - 0 = borrow 0 - = 0 borrow 0 Tabel Kebenaran untuk Pengurangan 2 bit biner (LSB) A 0 B 0 R 0 B out 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 46
- Pengurangan lanjut (selain kolom LSB) A i -B i -B in = R i + B out i = 2,3,4,.. B in B in A A 0 Tabel Kebenaran untuk Pengurangann 2 bit biner (lanjut) - B B 0 R n R R 0 + + B out B out A B B in R B out 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 47
Contoh :. 9 00-4 + 000 5 00 = 5 0 2. 8 000-2 - 000 6 000 = 6 0 3. 47 0000-75 + 0000 72 000000= 72 0 Rangkaian Aritmetika 48
3. PERKALIAN Perkalian biner pada dasarnya sama dengan perkalian desimal, nilai yang dihasilkan hanya 0 dan Bergeser satu ke kanan setiap dikalikan bit pengali Setelah proses perkalian masing-masing bit pengali selesai, lakukan penjumlahan masing-masing kolom bit hasil Desimal Biner 3 0 yang dikalikan x x 0 pengali 3 0 3 0 43 0000 0 000 = 43 0 hasil kali Rangkaian Aritmetika 49
4. PEMBAGIAN Pembagian biner pada dasarnya sama dengan pembagian desimal, nilai yang dihasilkan hanya 0 dan Bit-bit yang dibagi diambil bit per bit dari sebelah kiri. Apabila nilainya lebih dari bit pembagi, maka bagilah bit-bit tersebut, tetapi jika setelah bergeser bit nilainya masih di bawah nilai pembagi, maka hasil bagi = 0. Desimal Biner 3 = 3 0 3 / 9 0 / 00-9 - 0 0 pembagi 00-0 0 hasil bagi yang dibagi Rangkaian Aritmetika 50
FUNGSI ARITMETIKA untuk sistim bilangan lain. PENJUMLAHAN OCTAL Contoh : 73 + 5 2 HEXADECIMAL Contoh : D3 + 39 2C BCD Contoh : 47 000 0 + 5 000 00 62 00 00 00 00 000 invalid ( > 9), tambahkan 6 (00) 6 2 Rangkaian Aritmetika 5
2. PENGURANGAN OCTAL Contoh : 62-34 26 HEXADECIMAL Contoh : D3-9F 34 BCD Contoh : 56 00 00-34 00 000 22 000 000 2 2 Rangkaian Aritmetika 52
3. PERKALIAN OCTAL Contoh : 4 x 3 44 4 204 HEXADECIMAL Contoh : E2 x 25 96A 3C4 45AA Rangkaian Aritmetika 53
4. PEMBAGIAN OCTAL Contoh : 62 5/372-36 2-2 0 HEXADECIMAL Contoh : 64 F/ 5DC -5A 3C - 3C 0 Rangkaian Aritmetika 54
BILANGAN BINER BERTANDA +5 0 00-5 00 Tanda + dinyatakan sebagai biner 0 Tanda - dinyatakan sebagai biner Tanda di depan bilangan membingungkan dalam menyatakan besaran dari bilangan itu sendiri +5-5 +5-5 +3-3 +3-3 -3 +3-5 +5 +8-8 +2-2 -2 +2 Hanya menjumlahkan besaran dari 2 bilangan, tanda sesuai dengan tanda kedua bilangan Merupakan pengurangan dari bilangan besar dengan bilangan kecil, tanda mengikuti bilangan yang besar Rangkaian Aritmetika 55
SISTIM S dan 2 S COMPLEMENT S COMPLEMENT Bilangan Komplemen : Biner 0 menjadi Biner menjadi 0 Contoh : Carilah komplemen dari 00 00 komplemen-nya : 000 Carilah komplemen dari 0 0 komplemen-nya : 00 Rangkaian Aritmetika 56
2 S COMPLEMENT Bentuk ini banyak digunakan dalam sistim komputer untuk memproses persamaan aritmetika dan bilangan biner. Denganbentukinimudahmembedakanbilanganbiner positif dan negatif Cara membuat 2 s Complement :. Jika yang diketahui adalah bilangan desimal, jadikan ke bentuk biner. 2. Apabila bilangan tersebut bertanda +, biarkan ke bentuk biner yang sudah ada 3. Apabila bilangan tersebut bertanda -, lakukan cara sbb : a. Carilah komplemen dari bilangan biner-nya. b. Tambahkan. c. Untuk kembali ke bentuk desimal, lakukan konversi biner Rangkaian Aritmetika 57 ke desimal
Contoh :. Konversikan +35 0 ke bentuk 2 s complement-nya Jawab : 35 = 000 2 s compl : 000 2. Konversikan -35 0 ke bentuk 2 s complement-nya Jawab : 35 = 000 s compl : 000 + : 2 s compl : 00 Rangkaian Aritmetika 58
3. Konversikan bentuk 2 s complement 0 0 kembali ke bentuk desimal-nya Jawab : 2 s compl : 0 0 s compl : 000 000 + : biner : 000 00 desimal : -35 4. Konversikan -98 0 ke bentuk 2 s complement-nya Jawab : biner : 00 000 s compl : 00 0 + : 2 s compl : 00 0 Rangkaian Aritmetika 59
RANGKAIAN ARITMETIKA Rangkaian Aritmetika yang dipelajari di sini adalah rangkaian Adder (penjumlah) dan Subtractor (pengurang) Bentuk data yang dijumlah / dikurangkan adalah BINER Adder merupakan dasar dari Multiplier (Perkalian) Subtractor merupakan dasar dari Divider (Pembagian) ADDER HALF ADDER SUBTRACTOR HALF SUBTRACTOR FULL ADDER FULL SUBTRACTOR Rangkaian Aritmetika 60
HALF ADDER Merupakan implementasi operasi penjumlahan dasar dua bilangan A 0 + B 0 = Σ 0 + C out A 0 + B 0 Σ o+ C out Augend / yang dijumlahkan Addend / penjumlah Sum / hasil Carry Rangkaian Aritmetika 6
Tabel Kebenaran untuk Penjumlahan 2 bit biner (LSB) A 0 B 0 Σ 0 C out 0 0 0 0 0 0 0 0 0 A 0 B 0 Σ 0 C out Dari Tabel Kebenaran, dapatkan persamaan untuk Σ 0 dan C out (menggunakan K-Map) Rangkaian Half Adder A 0 B 0 0 0 0 0 0 A 0 B 0 0 0 0 0 Σ 0 = A 0.B 0 + A 0.B 0 C out = A 0.B 0 = A 0 + B 0 Rangkaian Aritmetika 62
FULL ADDER Merupakan implementasi operasi penjumlahan dasar dua bilangan A i + B i + C in = Σ i + C out i = 2,3,4,.. C in C in A A 0 + B B 0 Σ n Σ Σ 0 + + C out C out Rangkaian Aritmetika 63
Tabel Kebenaran untuk Penjumlahan 2 bit biner (lanjut) A B C in Σ C out 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Dari Tabel Kebenaran, dapatkan persamaan untuk Σ 0 dan C out (menggunakan K-Map) B A C in 00 0 0 0 0 0 0 0 Σ = A B C in + A B C in + A B C in + A B C in = A + B + C in B C in A 00 0 0 0 0 0 0 0 C out = A C in + A B + B C in Rangkaian Aritmetika 64
Rangkaian Full Adder A B Σ C in C out Rangkaian Aritmetika 65
PARALLEL ADDER TerdiridaribeberapaFull adder yang dirangkaiseri, sehingga dapat melakukan operasi penjumlahan dua bilangan dengan lebih dari bit biner A 0 0 B 4 B 3 B 2 B B 0 B Σ + 0 0 0 0 C 5 FA # 4 C 4 C 3 C 2 C C 0 FA # 3 FA # 2 FA # FA # 0 C out 0 0 Σ 4 Σ 3 Σ 2 Σ Σ 0 A 4 A 3 A 2 A A 0 Rangkaian Aritmetika 66
IC PARALLEL ADDER (74HC283) 0 8 7 3 4 6 A B A 2 B 2 A 3 B 3 A 4 B 4 3 4 C in Σ Σ 2 Σ 3 Σ 4 C out V CC = pin5 GND = pin 2 9 6 2 5 A A 4 = Augend B B 4 = Addend Σ Σ 4 = Sum C in = Carry In = Carry out C out Rangkaian Aritmetika 67
74HC283 sebagai Adder 8-bit 8-bit Augend A 8 A 7 A 6 A 5 A 4 A 3 A 2 A C 8 4-bit paralel adder C 5 74HC283 4-bit paralel adder 74HC283 C B 8 B 7 B 6 B 5 B 4 B 3 B 2 B 8-bit Addend Σ 8 Σ 7 Σ 6 Σ 5 Σ 4 Σ 3 Σ 2 Σ 8-bit Sum Rangkaian Aritmetika 68
HALF SUBTRACTOR Merupakan implementasi operasi pengurangan dasar dua bilangan A 0 -B 0 = R 0 + B out A 0 - B 0 R o+ B out Tabel Kebenaran untuk Pengurangan 2 bit biner (LSB) A 0 B 0 R 0 B out 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 69
Dari Tabel Kebenaran, dapatkan persamaan untuk R 0 A 0 dan B out (menggunakan K-Map) R B 0 0 A 0 B 0 0 0 0 0 R 0 = A 0.B 0 + A 0.B 0 = A 0 + B 0 B out Rangkaian Half Subtractor A 0 B 0 0 0 0 0 0 B out = A 0.B 0 Rangkaian Aritmetika 70
FULL SUBTRACTOR Merupakan implementasi operasi pengurangan dasar dua bilangan A i -B i -B in = R i + B out i = 2,3,4,.. B in B in A A 0 + B B 0 R n R R 0 + + B out B out Rangkaian Aritmetika 7
Tabel Kebenaran untuk Pengurangan 2 bit biner (lanjut) A B B in R B out 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Rangkaian Aritmetika 72
Dari Tabel Kebenaran, dapatkan persamaan untuk Σ 0 dan C out (menggunakan K-Map) B B in A 00 0 0 0 0 0 0 0 B B in A 00 0 0 0 0 0 0 0 R = A B B in + A B B in + A B B in + A B B in = A + B + B in B out = A B in + A B + B B in A B B in Rangkaian Full Subtractor R B out Rangkaian Aritmetika 73
ARITHMETC/LOGIC UNIT (ALU) Merupakan paket Large Scale Integrated-Circuit (LSI). Mempunyai dua jenis operasi, yaitu : Aritmetika dan Logika A B Function Select A 0 A A 2 A 3 B 0 B B 2 B 3 S 0 S S 2 S 3 748 F 0 F F 2 F 3 C N M C N+4 A=B G P F Carry-in(C N ) Mode Control Carry-out(C N+4 ) Equality Generate Propagate Rangkaian Aritmetika 74
Tabel Fungsi ALU 748 M= L SELECTION M=H Aritmetic Operation Logic Function C n =H S 3 S 2 S S 0 (no carry) L L L L F = A' F=A L L L H F = (A+B)' F=A+B L L H L F=A'B F=A+B' L L H H F = 0 F=minus (2's comp) L H L L F=(AB)' F=A plus AB' L H L H F=B' F=(A+B) plus AB' L H H L F=A+B F=A minus B minus L H H H F=AB' F=AB' minus H L L L F=A'+B F=A plus AB H L L H F=(A+B)' F=A plus B H L H L F=B F=(A+B') plus AB H L H H F=AB F=AB minus H H L L F= F=A plus A* H H L H F=A+B' F=(A+B) plus A H H H L F=A+B F=(A+B') plus A H H H H F=A F=A minus Rangkaian Aritmetika 75
Contoh : Tunjukkan bagaimana meng-implementasi kan pengurangan 3 7 menggunakan 748 3 7 F=A-B- 0 A 0 A A 2 A 3 B 0 B M 0 B 2 C 0 0 N+4 B 3 0 0 0 S 0 S S 2 S 3 748 F 0 F F 2 F 3 C N A=B G P 0 0 0 0 0 6 Tanpa carry Operasi matematika Rangkaian Aritmetika 76
Soal Latihan. Konversikan sistim bilangan berikut : a. 27 0 =. 2 f. 57 8 =. 0 b. 00 2 = 8 g. D3A 6 =. 8 c. 63 8 =. 0 h. 47 8 = BCD d. 6FE 6 =. 2 i. 756 8 = 6 e. 000 00 BCD =.. 6 j. 4C 6 =. 2 2. Konversikan command berikut ini ke dalam kode ASCII : BEGIN() 23:LD A,00h; LD B,20h; ADD A,B; GOTO 23; END; Rangkaian Aritmetika 77
3. Sebuah urutan data diterima : 000 Dengan : e = e2 = 0 e4 = 0 Dengan kode Hamming, tentukan bit di posisi mana yang salah? Berapa nilai data asli (sebelum ditambah bit penge-cek)? 4. Selesaikan seluruh operasi aritmetika berikut menggunakan sistim bilangan : ) biner 2) oktal 3) hexadecimal a. 9 + 3 =. c. 22 8 =.. b. 2 x 5 =. d. 48 : 2 =. 5. Konversikan : Desimal 8-bit 2 s complement a) 2 b) -5 c) -2 d) 25 2 s complement desimal a) 00 00 b) 0 c) 000 00 Rangkaian Aritmetika 78
6. Selesaikan operasi aritmetika berikut menggunakan bentuk 2 s complement a) 5 b) 32 c) -28 d) -38 +7-8 35-46 7. Selesaikan operasi penjumlahan berikut menggunakan bentuk BCD a) 8 b) 43 c) 7 d) 80 +3 +72 +38 +23 8. Ubahlah rangkaian Half Adder hanya menggunakan gerbang NOR saja 9. Buat rangkaian 4-bit Parallel Adder menggunakan 3 buah rangkaian Full Adder dan buah Half Adder Rangkaian Aritmetika 79