ARSITEKTUR SISTEM KOMPUTER Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 12-13 Maret 2018
Materi 6: Aritmatika Komputer
Arithmetic and Logic Unit (ALU) ALU merupakan bagian komputer yang berfungsi membentuk operasi-operasi aritmatika dan logik terhadap data Semua elemen lain sistem komputer (control unit, register, memori, I/O) berfungsi untuk membawa data ke ALU untuk selanjutnya di proses dan kemudian mengambil kembali hasilnya. Sebuah ALU dan semua komponen elektronik di komputer didasarkan pada penggunaan perangkat logika digital sederhana yang dapat menyimpan digit biner dan melakukan operasi logika Boolean sederhana.
Data diberikan ke ALU dalam register, dan hasil operasi disimpan dalam register-register. Register-register ini adalah lokasi penyimpanan sementara dalam prosesor yang dihubungkan oleh jalur sinyal ke ALU. ALU juga dapat mengatur flag sebagai hasil dari operasi. Misalnya, flag overflow di set=1 jika hasil perhitungan yang melebihi panjang dari register. Nilai-nilai flag juga disimpan dalam register dalam unit kontrol processor.
REPRESENTASI DATA Data: bilangan biner atau informasi berkode biner lain yang dioperasikan untuk mencapai beberapa hasil penghitungan penghitungan aritmatik, pemrosesan data dan operasi logika. Tipe data : 1. Data Numerik: merepresentasikan integer dan pecahan fixed-point, real floating-point dan desimal berkode biner. 2. Data Logikal: digunakan oleh operasi logika dan untuk menentukan atau memeriksa kondisi seperti yang dibutuhkan untuk instruksi bercabang kondisi. 3. Data bit-tunggal: untuk operasi seperti SHIFT, CLEAR dan TEST. 4. Data Alfanumerik: data yang tidak hanya dikodekan dengan bilangan tetapi juga dengan huruf dari alpabet dan karakter khusus lainnya
Sistem Radiks Himpunan/elemen Digit Contoh Desimal r = 10 {0,1,2,3,4,5,6,7,8,9} 255 10 Biner r = 2 {0,1} 11111111 2 Oktal r = 8 {0,1,2,3,4,5,6,7} 377 8 Heksadesimal r = 16 {0,1,2,3,4,5,6,7,8,9,A, B, C, D, E, F} FF 16 Desimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Heksa 0 1 2 3 4 5 6 7 8 9 A B C D E F Biner 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1.1 Konversi Bilangan Desimal ke Biner Contoh: Konersi 179 10 ke biner: 179 / 2 = 89 sisa 1 (LSB) / 2 = 44 sisa 1 / 2 = 22 sisa 0 / 2 = 11 sisa 0 / 2 = 5 sisa 1 / 2 = 2 sisa 1 / 2 = 1 sisa 0 / 2 = 0 sisa 1 (MSB) 179 10 = 10110011 2 MSB LSB
1.2 Konversi Bilangan Desimal ke Oktal Gunakan pembagian dgn 8 secara suksesif sampai sisanya = 0. Contoh: Konersi 179 10 ke oktal: 179 / 8 = 22 sisa 3 (LSB) / 8 = 2 sisa 6 / 8 = 0 sisa 2 (MSB) 179 10 = 263 8 MSB LSB
1.3 Konversi Bilangan Desimal ke Hexadesimal Konversi bilangan desimal bulat ke bilangan hexadesimal: Gunakan pembagian dgn 16 secara suksesif sampai sisanya = 0. Contoh: Konersi 179 10 ke hexadesimal: 179 / 16 = 11 sisa 3 (LSB) / 16 = 0 sisa 11 (dalam bilangan hexadesimal berarti B MSB 179 10 = B3 16 MSB LSB
Konversi Radiks-r ke desimal Rumus konversi radiks-r ke desimal: D r n 1 i n d i r i Contoh: 1101 2 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 = 8 + 4 + 1 = 13 10 572 8 = 5 8 2 + 7 8 1 + 2 8 0 = 320 + 56 + 16 = 392 10 2A 16 = 2 16 1 + 10 16 0 = 32 + 10 = 42 10
2.1 Konversi Bilangan Biner ke Desimal Uraikan masing-masing digit bilangan biner ke dalam susunan radik 2 D r n 1 i n d i r i 101101 2 = 1 2 5 + 1 2 3 + 1 2 2 + 1 2 0 = 32 + 8 + 4 + 1 = 45 10
2.2 Konversi Bilangan Biner ke Oktal Untuk mengkonversi bilangan biner ke bilangan oktal, lakukan pengelompokan 3 digit bilangan biner dari posisi LSB sampai ke MSB. Contoh: konversikan 10110011 2 ke bilangan oktal Jawab : 10 110 011 2 6 3 Jadi 1011001 12 = 263 8
2.3 Konversi Bilangan Biner ke Hexadesimal Untuk mengkonversi bilangan biner ke bilangan hexadesimal, lakukan pengelompokan 4 digit bilangan biner dari posisi LSB sampai ke MSB. Contoh: konversikan 101100112 ke bilangan oktal Jawab : 1011 0011 B 3 Jadi 101100112 = B3 16
3.1 Konversi Bilangan Oktal ke Desimal Uraikan masing-masing digit bilangan biner kedalam susunan radik 8 D r n 1 i n d i r i 1234 8 = 1 8 3 + 2 8 2 + 3 8 1 + 4 8 0 = 4096 + 128 + 24 + 4 = 4252 10
3.2 Konversi Bilangan Oktal ke Biner Sebaliknya untuk mengkonversi Bilangan Oktal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan oktal ke 3 digit bilangan biner. Contoh Konversikan 263 8 ke bilangan biner. Jawab: 2 6 3 010 110 011 Jadi 263 8 = 010110011 2 Karena 0 didepan tidak ada artinya kita bisa menuliskan 101100112
3.3 Konversi Bilangan Oktal ke Heksadesimal Sebaliknya untuk mengkonversi Bilangan Hexadesimal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan Hexadesimal ke 4 digit bilangan biner. Contoh Konversikan B3 16 ke bilangan biner. Jawab: B 3 1011 0011 Jadi B3 16 = 10110011 2
Konversi Bilangan Hexadesimal ke Biner Sebaliknya untuk mengkonversi Bilangan Hexadesimal ke Biner yang harus dilakukan adalah terjemahkan setiap digit bilangan Hexadesimal ke 4 digit bilangan biner. Contoh: Konversikan B3 16 ke bilangan biner. Jawab: B 3 1011 0011 Jadi B3 16 = 10110011 2
SKEMA KONVERSI ANTAR BILANGAN Dari Bilangan Ke Bilangan 1 Desimal 1.1 Biner 1.2 Oktal 1.3 Heksadesimal 2 Biner 2.1 Desimal 2.2 Oktal 2.3 Heksadesimal 3 Oktal 3.1 Desimal 3.2 Biner 3.3 Heksadesimal 4 Heksadesimal 4.1 Desimal 4.2 Biner 4.3 Oktal
SOAL-SOAL LATIHAN Tugas Konversikan bilangan di bawah ini: 1. 89 10 = 16 2. 367 8 = 2 3. 11010 2 = 10 4. 7FD 16 = 8 5. 29A 16 = 10 6. 110111 2 =. 8 7. 359 10 = 2 8. 472 8 = 16 9. 170B 16 = 10 10. 1001001 2 =. 8 11. 2345 10 = 2 12. 1132 8 = 16 13. 301 16 = 2 14. 0,125 8 =.. 10 15. 10.101 2 = 8 16. 300 16 = 10
OPERASI PENJUMLAHAN DAN PENGURANGAN
Penjumlahan Aturan dasar penjumlahan pada sistem bilangan biner : 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0, simpan (carry) 1
Penjumlahan Desimal 10 3 (1000) 10 2 (100) 8 3 10 1 (10) Simpan (carry) 1 1 2 3 10 0 (1) 3 8 Jumlah 1 1 6 1 Penjumlahan Biner 2 5 32 2 4 16 2 3 8 2 2 4 Simpan (carry) 1 1 1 1 1 1 1 1 0 0 2 1 2 0 1 2 0 1 1 1 Jumlah 1 1 0 1 0 0
Bit Bertanda Bit 0 menyatakan bilangan positif Bit 1 menyatakan bilangan negatif A 6 A 5 A 4 A 3 A 2 A 1 A 0 0 1 1 0 1 0 0 = + 52 Bit Tanda Magnitude B 6 B 5 B 4 B 3 B 2 B 1 B 0 1 1 1 0 1 0 0 = - 52 Bit Tanda Magnitude
Komplemen ke 2 Metode untuk menyatakan bit bertanda digunakan sistem komplement kedua (2 s complement form) Komplemen ke 1 Biner 0 diubah menjadi 1 Biner 1 diubah menjadi 0 Misal 1 0 1 1 0 1 0 0 1 0 0 1 0 1 Biner Awal Komplemen pertama
Membuat Komplemen ke 2 1. Ubah bit awal menjadi komplemen pertama 2. Tambahkan 1 pada bit terakhir (LSB) Misal: 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 Biner Awal = 45 Komplemen 1 Tambah 1 pada LSB Komplemen 2
Menyatakan Bilangan Bertanda dengan Komplemen ke 2 1. Apabila bilangannya positif, magnitude dinyatakan dengan biner aslinya dan bit tanda (0) diletakkan di depan MSB. 2. Apabila bilangannya negatif, magnitude dinyatakan dalam bentuk komplemen ke 2 dan bit tanda (1) diletakkan di depan MSB 0 1 0 1 1 0 1 Biner = + 45 Bit Tanda Biner asli 1 0 1 0 0 1 1 Biner = - 45 Bit Tanda Komplemen ke 2
Negasi Operasi mengubah sebuah bilangan negatif menjadi bilangan positif ekuivalennya, atau mengubah bilangan positif menjadi bilangan negatif ekuivalennya. Hal tersebut dilakukan dengan meng-komplemenkan ke 2 dari biner yang dikehendaki Misal : negasi dari + 9 adalah 9 + 9 = 01001 Biner awal - 9 = 10111 Negasi (Komplemen ke 2) + 9 = 01001 Di negasi lagi
Penjumlahan di Sistem Komplemen ke 2 Dua bilangan positif Dilakukan secara langsung. Misal penjumlahan +9 dan +4 +9 0 1 0 0 1 +4 0 0 1 0 0 0 1 1 0 1 Bit tanda ikut dalam operasi penjumlahan
Bilangan positif dan sebuah bilangan negatif yang lebih kecil Misal penjumlahan +9 dan -4. Bilangan -4 diperoleh dari komplemen ke dua dari +4 +9 0 1 0 0 1-4 1 1 1 0 0 1 0 0 1 0 1 Carry diabaikan, hasilnya adalah 00101 ( = +5)
Bilangan positif dan sebuah bilangan negatif yang lebih Besar Misal penjumlahan -9 dan +4. Bilangan -9 diperoleh dari komplemen ke dua dari +9-9 1 0 1 1 1 +4 0 0 1 0 0 1 1 0 1 1 Bit tanda ikut dalam operasi penjumlahan
Dua Bilangan Negatif Misal penjumlahan -9 dan -4. Bilangan -9 dan - 4 masing masing diperoleh dari komplemen ke dua dari +9 dan -4-9 1 0 1 1 1-4 1 1 1 0 0 1 1 0 0 1 1 Bit tanda ikut dalam operasi penjumlahan Carry diabaikan
Operasi Pengurangan Aturan Umum 0 0 = 0 1 0 = 1 1 1 = 0 0 1 =1, pinjam 1 Misal: 1 1 1 0 1 0 1 1 1 1 Pinjam 0 0 1 1 Hasil
Operasi Pengurangan Operasi pengurangan melibatkan komplemen ke 2 pada dasarnya melibatkan operasi penjumlahan tidak berbeda dengan contoh contoh operasi penjumlahan sebelumnya. Prosedur pengurangan 1. Negasikan pengurang. 2. Tambahkan pada yang dikurangi 3. Hasil penjumlahan merupakan selisih antara pengurang dan yang dikurangi
Misal : +9 dikurangi +4 +9 01001 +4 00100 - Operasi tersebut akan memberikan hasil yang sama dengan operasi +9 01001-4 11100 + +9 0 1 0 0 1-4 1 1 1 0 0 1 0 0 1 0 1 Carry diabaikan, hasilnya adalah 00101 ( = +5)
SOAL-SOAL LATIHAN Kerjakan operasi matematis berikut 1. 10010 + 10001 2. 00100 + 00111 3. 10111-00101 4. 10011 + 01110 5. 10001 10111 6. 10101 00100 7. 10111 00101 8. 10101 + 01101 9. 10011 + 10100 10. 234 10 + 101 8 11. 100 8 + 0110 2 12. 3A 16 + 135 8 13. A21 16 + 0111 2 14. 1011 2 111 10 15. 10101 2 8B 16 16. 356 8 500 10 17. 2C 16 130 8 18. 100 8 + A1 16