Konversi Sistem Bilangan

advertisement
Matakuliah
Tahun
Versi
: T0483 / Bahasa Rakitan
: 2005
: versi 1.0 / revisi 1.0
Pertemuan 2
Sistem Bilangan
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• menjelaskan format data dan sistem
bilangan yang digunakan pada bahasa
rakitan.
2
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
3
<<ISI>>
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
4
<<ISI>>
• 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
5
<<ISI>>
• Word
– Ukuran : 16-bit
– Jika digunakan untuk merepresentasikan
bilangan Sign maka range nya mulai dari :
-32768 s/d 32767
– Jika digunakan untuk merepresentasikan
bilangan unsign maka range nya mulai dari :
0 s/d 65535
6
<<ISI>>
• 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
7
<<ISI>>
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
8
<<ISI>>
• 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
9
<<ISI>>
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 = ( 10011 )2
10
<<ISI>>
• Konversi Bilangan Biner ke Bilangan
Desimal
– Contoh : (10011)2 = ( ......... )10
– Caranya: 1x24 + 0x23 + 0x22 + 1x21 + 1x20
16 + 0 + 0 + 2 + 1 = 19
– Pangkat adalah nomor bit dihitung dari kanan
dan dimulai dengan bit nomor 0.
– Jadi hasilnya : (10011)2 = ( 19 )10
11
<<ISI>>
• 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
12
<<ISI>>
• 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
13
<<ISI>>
• 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 :
14
<<ISI>>
15
<<ISI>>
• Konversi Bilangan Biner ke Bilangan
Hexadecimal
– Contoh : (1011101)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: (1011101)2 = ( 5D )16
– Gunakan tabel berikut :
16
<<ISI>>
17
<<ISI>>
• Konversi Bilangan Octal ke Bilangan
Desimal
– Contoh : (176)8 = ( ......... )10
– Caranya: 1x82 + 7x81 + 6x80 =
64 + 56 + 6 = 126
– Pangkat adalah nomor bilangan dihitung dari
kanan dan dimulai dengan nomor 0.
– Jadi hasilnya : (176)8 = (126)10
18
<<ISI>>
• 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 = ( 011 100 101)2
19
<<ISI>>
• 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: 1x162 + 11x161 + 6x160 =
256 + 176 + 6 = 438
– Pangkat adalah nomor bilangan dihitung dari kanan
dan dimulai dengan nomor 0.
– Jadi hasilnya : (1B6)16 = (438)10
20
<<ISI>>
• 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 = ( 0001 1111 0101)2
21
<<ISI>>
• 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 (01101101)2
adalah (10010010)2
22
<<ISI>>
• Komplement-2 (two's Complement)
– Adalah komplement-1 ditambah 1.
– Contoh: Komplement-2 dari (01101101)2
adalah (10010011)2
• Bilangan Unsigned
– Bilangan tak bertanda (selalu positif).
– Semua bit digunakan untuk menghitung bobot
bilangan.
– Contoh : (11100011)2 = (227)10
23
<<ISI>>
• 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: (00110111)2 = (55)10
(11100011)2 = (-29)10
24
<<ISI>>
• 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)
25
<<ISI>>
• 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
26
<<ISI>>
• 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
27
<< CLOSING>>
• Tugas / Latihan
28
Download