1 Pertemuan 2 Sistem Bilangan Matakuliah: T0483 / Bahasa Rakitan Tahun: 2005 Versi: versi 1.0 / revisi 1.0
2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : menjelaskan format data dan sistem bilangan yang digunakan pada bahasa rakitan.
3 Outline Materi Ukuran data (bit, nibble, byte, word) Kode data (ASCII, BCD) Bilangan biner Bilangan oktal Bilangan desimal Bilangan heksadesimal Konversi sistem bilangan Komplement-1 dan komplement-2 Bilangan signed dan unsigned Carry, borrow, overflow
4 > FORMAT DATA Bit (Binary digit) – Bagian terkecil dari data digital – Nilai : 0 atau 1 Nibble – Ukuran : 4 bit – Jika digunakan untuk merepresentasikan bilangan Sign maka range nya mulai dari : -8 s/d 7, – Jika digunakan untuk merepresentasikan bilangan unsign maka range nya mulai dari : 0 s/d 15
5 > Byte –Ukuran : 8 bit –Jika digunakan untuk merepresentasikan bilangan Sign maka range nya mulai dari : -128 s/d 127, –Jika digunakan untuk merepresentasikan bilangan unsign maka range nya mulai dari : 0 s/d 255
6 > Word –Ukuran : 16-bit –Jika digunakan untuk merepresentasikan bilangan Sign maka range nya mulai dari : s/d –Jika digunakan untuk merepresentasikan bilangan unsign maka range nya mulai dari : 0 s/d 65535
7 > ASCII –Ukuran : 8-bit –Mulai dari Bilangan ASCII 0 s/d 255 BCD (Binary Coce Decimal) –Ukuran : 8- bit –unpacked BCD : Rangenya mulai 0 s/d 9 –packed BCD : Rangenya mulai 0 s/d 99
8 > Sistem Bilangan Bilangan Biner –Berbasis : 2 –Lambang Bilangannya : 0, 1 –Cara penulisannya : (1010) 2 –Dalam bahasa rakitan ditulis : 1010B Bilangan Octal –Berbasis : 8 –Lambang Bilangannya : 0, 1, 2, 3, 4, 5, 6, 7 –Cara penulisannya : (167) 8 –Dalam bahasa rakitan ditulis :167O
9 > Bilangan Desimal –Berbasis : 10 –Lambang Bilangannya : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 –Cara penulisannya : (197)10 –Dalam bahasa rakitan ditulis : 197D atau 197 Bilangan Hexa-Decimal –Berbasis : 16 –Lambang Bilangannya : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F –Cara penulisannya : (9A7)16 –Dalam bahasa rakitan ditulis : 9A7H
10 > Konversi Sistem Bilangan Konversi Bilangan Desimal ke Bilangan Biner –Contoh : (19)10 = ( ) 2 –Caranya: 19 : 2 = 9 sisa 1 9 : 2 = 4 sisa 1 4 : 2 = 2 sisa 0 2 : 2 = 1 sisa 0 1 : 2 = 0 sisa 1 –Setelah hasil bagi sama dengan 0 => Selesai, dan hasil konversinya adalah sisanya dan dibaca dari bawah ke atas. –Jadi hasilnya : (19) 10 = ( ) 2
11 > Konversi Bilangan Biner ke Bilangan Desimal –Contoh : (10011) 2 = ( ) 10 –Caranya: 1x x x x x = 19 –Pangkat adalah nomor bit dihitung dari kanan dan dimulai dengan bit nomor 0. –Jadi hasilnya : (10011) 2 = ( 19 ) 10
12 > Konversi Bilangan Desimal ke Bilangan Octal –Contoh : (39) 10 = ( ) 8 –Caranya: 39 : 8 = 4 sisa 7 4 : 8 = 0 sisa 4 –Setelah hasil bagi sama dengan 0 => Selesai. Dan hasil konversinya adalah sisanya dan dibaca dari bawah ke atas. –Jadi hasilnya : (39) 10 = ( 47 ) 8
13 > Konversi Bilangan Desimal ke Bilangan Hexadecimal –Contoh : (49) 10 = ( ) 16 –Caranya: 49 : 16 = 3 sisa 1 3 : 16 = 0 sisa 3 –Setelah hasil bagi sama dengan 0 => Selesai. Dan hasil konversinya adalah sisanya dan dibaca dari bawah ke atas. –Jadi hasilnya : (49) 10 = ( 31 ) 16
14 > Konversi Bilangan Biner ke Bilangan Octal –Contoh : (10011) 2 = ( ) 8 –Caranya: kelompokkan bilangan biner menjadi tiga bit, tiga bit dari kanan (LSB), kemudian koversikan 3-bit tersebut ke bilangan Octal. –Hasil pengelompokkannya sbb: (10) dan (011) –(10) 2 = (2) 8 dan (011) 2 = (3) 8 –Jadi: (10011) 2 = ( 23 ) 8 –Gunakan tabel berikut :
15 >
16 > Konversi Bilangan Biner ke Bilangan Hexadecimal –Contoh : ( ) 2 = ( ) 16 –Caranya: kelompokkan bilangan biner menjadi 4-bit, 4-bit dari kanan (LSB), kemudian koversikan 4-bit tersebut ke bilangan Hexadecimal –Hasil pengelompokkannya sbb: (101) dan (1101) –(101) 2 = (5) 16 dan (1101) 2 = (D) 16 –Jadi: ( ) 2 = ( 5D ) 16 –Gunakan tabel berikut :
17 >
18 > Konversi Bilangan Octal ke Bilangan Desimal –Contoh : (176) 8 = ( ) 10 –Caranya: 1x x x8 0 = = 126 –Pangkat adalah nomor bilangan dihitung dari kanan dan dimulai dengan nomor 0. –Jadi hasilnya : (176) 8 = (126) 10
19 > Konversi Bilangan Octal ke Bilangan Biner –Contoh : (345) 8 = ( ) 2 –Caranya: Setiap digit bilangan octal dikonversi ke 3-bit bilangan biner, kemudian gabung bilangan biner tersebut. (3) 8 = (011) 2 (4) 8 = (100) 2 (5) 8 = (101) 2 –Jadi: (345) 8 = ( ) 2
20 > Konversi Bilangan Octal ke Bilangan Hexadecimal –Caranya: Rubah bilangan octal ke biner dulu, kemudian biner tersebut dirubah ke Hexadecimal. Konversi Bilangan Hexadecimal ke Bilangan Desimal –Contoh : (1B6) 16 = ( ) 10 –Caranya: 1x x x16 0 = = 438 –Pangkat adalah nomor bilangan dihitung dari kanan dan dimulai dengan nomor 0. –Jadi hasilnya : (1B6) 16 = (438) 10
21 > Konversi Bilangan Hexadecimal ke Bilangan Biner –Contoh : (1F5) 16 = ( ) 2 –Caranya: Setiap digit bilangan Hexadecimal dikonversi ke 4-bit bilangan biner, kemudian gabung bilangan biner tersebut. (1) 16 = (0001) 2 (F) 16 = (1111) 2 (5) 16 = (0101) 2 –Jadi: (1F5) 16 = ( ) 2
22 > Konversi Bilangan Hexadecimal ke Bilangan Octal –Caranya: Rubah bilangan Hexadecimal ke biner dulu, kemudian biner tersebut dirubah ke Octal. Komplement-1 (one's Complement) –Setiap bit-0 dirubah menjadi bit-1, dan setiap bit-1 dirubah menjadi bit-0. –Contoh: Komplement-1 dari ( ) 2 adalah ( ) 2
23 > Komplement-2 (two's Complement) –Adalah komplement-1 ditambah 1. –Contoh: Komplement-2 dari ( ) 2 adalah ( ) 2 Bilangan Unsigned –Bilangan tak bertanda (selalu positif). –Semua bit digunakan untuk menghitung bobot bilangan. –Contoh : ( ) 2 = (227) 10
24 > Bilangan Signed –Bilangan bertanda (nilainya bisa negatif bisa positif). –MSB (most significan bit) menunjukkan tanda (sign). Bila MSB=1 berarti bilangan tsb, negatif dan bila MSB=0 berarti bilangan positif. –Contoh: ( ) 2 = (55) 10 ( ) 2 = (-29) 10
25 > Carry –Terjadi saat operasi penjumlahan dimana hasilnya lebih besar dari range basis bilangan yang digunakan, sehingga ada nilai yang dikirim ke digit di sebelah kirinya yang bobotnya lebih besar Borrow –Terjadi saat operasi pengurangan (a-b), dimana b > a sehingga harus meminjam dari digit di sebelah kirinya (yang berbobot lebih besar)
26 > Overflow –Terjadi pada bilangan signed –Terjadi apabila: Penjumlahan dua buah bilangan positif menghasilkan bilangan negatif Penjumlahan dua buah bilangan negatif menghasilkan bilangan positif Bilangan negatif dikurangi bil. postip menghasilkan bil. postip Bilangan positip dikurangi bilangan negatif menghasilkan negatif
27 > Contoh : Penjumlahan bilangan sign 4-bit (0101) 2 + (0100) 2 = (1001) 2 Overflow karena dua buah bilangan positif dijumlahkan menghasilkan bilangan negatif. Operasi Bilangan –Penjumlahan –Pengurangan –Perkalian –Pembagian
28 > Tugas / Latihan