Materi 2: Numbering & Coding Systems I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali
Sistem bilangan Konversi bilangan Aritmatika bilangan Sandi ASCII Bytes, Nibbles, Words
Kusuma Wardana - Bahasa Rakitan 2016
2
Sistem Bilangan
Kusuma Wardana - Bahasa Rakitan 2016
3
Ketika manusia memakai sistem basis 10 (desimal) maka komputer memakai basis 2 (biner) Manusia meggunakan basis 10 jari2 tangan (masih spekulasi) Komputer menggunakan basis 2 level tegangan (high/low, on/off), tanpa spekulasi Utk operasi komputer, representasi yg “tepat” dr suatu bilangan biner adlh heksadesimal (basis 16) Kusuma Wardana - Bahasa Rakitan 2016
4
Sistem bilangan Desimal memiliki basis 10 Terdiri dr : 0,1,2,3,4,5,6,7,8 dan 9 Sistem bilangan Biner memiliki basis 2 Terdiri dr : 0 dan 1 Sistem bilangan Oktal memiliki basis 8 Terdiri dr : 0,1,2,3,4,5,6 dan 7 (bukan fokus kita saat ini) Sistem bilangan Heksadesimal memiliki basis 16 Terdiri dr : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E dan F Kusuma Wardana - Bahasa Rakitan 2016
5
! WAJIB HAFAL
Desimal
Biner
Heksadesimal
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0 1 2 3 4 5 6 7 8 9 A B C D E F
Kusuma Wardana - Bahasa Rakitan 2016
6
Kusuma Wardana - Bahasa Rakitan 2016
7
Konversi Bilangan
Kusuma Wardana - Bahasa Rakitan 2016
8
Ubah desimal (25)10 ke biner 25/2 = 12 sisa 1 (lsb) 12/2 = 6 sisa 0 6/2 = 3 sisa 0 3/2 = 1 sisa 1 1/2 = 0 sisa 1 (msb) Hasilnya (25)10 = (11001)2
Kusuma Wardana - Bahasa Rakitan 2016
9
Ubah desimal (39)10 ke biner 39/2 = 19 sisa 1 (lsb) 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 (msb) Hasilnya (39)10 = (100111)2 Kusuma Wardana - Bahasa Rakitan 2016
10
Latihan Ubahlah bilangan2 berikut ke bentuk biner: (56)10 (42)10 (38)10 (27)10
Kusuma Wardana - Bahasa Rakitan 2016
11
Ubah biner (1101)2 ke desimal (1101)2 = 1x23 + 1x22 + 0x21 + 1x20 =8+4+0+1 = (13)10 Ubah biner (110101)2 ke desimal (110101)2 = 1x25 + 1x24 + 0x23 + 1x22 + 0x21 + 1x20 = 32 + 16 + 0 + 4 + 0 + 1 = (53)10 Kusuma Wardana - Bahasa Rakitan 2016
12
Latihan Ubahlah bilangan2 berikut ke bentuk desimal: (1010)2 (11011)2 (101101)2 (1111111)2
Kusuma Wardana - Bahasa Rakitan 2016
13
Ubah heksadesimal (DB0A)16 ke desimal (DB0A)16 = Dx163 + Bx162 + 0x161 + Ax160 = 13x4096 + 11x256 + 0x16 + 10x1 = 53248 + 2816 + 0 +10 = (56074)10
Kusuma Wardana - Bahasa Rakitan 2016
14
Atau, bisa jg dgn mengubahnya menjadi biner terlebih dahulu Contoh: Ubah (6B2)16 ke desimal
Kusuma Wardana - Bahasa Rakitan 2016
15
Ubah desimal (389)10 ke heksadesimal 389/16 = 24 sisa 5 (lsb) 24/16 = 1 sisa 8 1/16 = 0 sisa 1 (msb) Maka: (389)10 = (185)16 Ubah desimal (45)10 ke heksadesimal 45/16 = 2 sisa 13 (lsb) 2/16 = 0 sisa 2 (msb) Maka: (45)10 = (2D)16 Kusuma Wardana - Bahasa Rakitan 2016
16
Atau, bisa jg dgn mengubahnya menjadi biner terlebih dahulu Contoh: Ubah (45)10 ke heksadesimal
Kusuma Wardana - Bahasa Rakitan 2016
17
Ubahlah bilangan2 berikut ke bentuk desimal (AB)16 (45D)16 (EEF)16 Ubahlah bilangan2 berikut ke bentuk heksadesimal (42)10 (60)10 (100)10 Kusuma Wardana - Bahasa Rakitan 2016
18
Ingat: 24=16, maka: Bilangan heksadesimal 4 digit biner Ubahlah (001011000110101111110100)2 ke heksadesimal 0010 1100 0110 1011 1111 0100 2 C 6 B F 4 Maka: (001011000110101111110100)2 = (2C6BF4)16 Kusuma Wardana - Bahasa Rakitan 2016
19
Ubah hex (29B)16 ke biner Jawab: 2 0010
9 1001
B 1011
Maka: (29B)16 = (001010011011)2
Kusuma Wardana - Bahasa Rakitan 2016
20
Artimatika Bilangan
Kusuma Wardana - Bahasa Rakitan 2016
21
Aturan penjumlahan bilangan biner: 0+0=0 0+1=1 1+0=1 1 + 1 = 0 (carry 1 pd bilangan selanjutnya)
Contoh: hitung 00011010 + 00001100 Jawab:
Kusuma Wardana - Bahasa Rakitan 2016
22
Aturan pengurangan bilangan biner: 0-0=0 0 - 1 = 1 (pinjam pd bil. selanjutnya) 1-0=1 1-1=0 Contoh: hitung 00100101 - 00010001 Jawab:
Kusuma Wardana - Bahasa Rakitan 2016
23
Aturan perkalian bilangan biner: 0x0=0 0x1=0 1x0=0 1x1=1
Contoh: hitung 00101001 × 00000110 Jawab: 11110110
Kusuma Wardana - Bahasa Rakitan 2016
24
Contoh: Hitunglah 1100 : 10 Jawab: 110
Kusuma Wardana - Bahasa Rakitan 2016
25
Wlpn komputer memiliki rangkaian adder tidak ada rangkaian terpisah utk substraktor Komputer memakai rangkaian 2’s complement sbg substraktor Utk mengimplementasikan x – y, komputer memakai 2’s complement y dan menambahkannya ke x.
Kusuma Wardana - Bahasa Rakitan 2016
26
Utk mendapatkan 2’s complement dr suatu bilangan biner, caranya adlh: 1. Invers semua bit (0 menjadi 1, 1 menjadi 0) 2. Kemudian tambahkan 1 dr hasil inversi Inversi bit pd langkah satu dsbt 1’s complement Contoh: cari 2’s complement utk 10011101 Jawab:
Kusuma Wardana - Bahasa Rakitan 2016
27
Mulailah dr Least Significant Digit (LSD)/LSB lakukan penjumlahan Jika hasil < 16 : tulis hasil penjumlahan pd digit itu Jika hasil > 16 : kurangi dgn 16 & carry 1 utk digit berikutnya Contoh:
Kusuma Wardana - Bahasa Rakitan 2016
28
Mulailah dr Least Significant Digit (LSD)/LSB lakukan pengurangan Jika digit kedua > digit pertama: pinjam 16 dari bit sesudahnya Contoh: Hitung 59F - 2B8
Kusuma Wardana - Bahasa Rakitan 2016
29
Sandi ASCII
Kusuma Wardana - Bahasa Rakitan 2016
30
Penggunaan paling meluas saat ini adalah American Standard Code for Information Interchange (ASCII) Mrpkn kode 7-bit 27=128 grup kemungkinan Kode biner dapat dicari dgn mengubah bil Heksadesimal ke ekivalen binernya, berdasarkan tabel berikut:
Kusuma Wardana - Bahasa Rakitan 2016
31
Kusuma Wardana - Bahasa Rakitan 2016
32
Contoh: Ubahlah karakter backslash (\) ke dlm 7 bit binernya Jawab: hex utk \ adlh 5C. Maka binernya: 1011100 Latihan: Carilah 7-bit biner utk karakter2 berikut : a. Q d. = b. { e. J c. , f. j Jawab: a. Q511010001 d. = 3D0111101 b. {7B1111011 e. J4A1001010 c. ,2C00101100 f. j6A1101010 Kusuma Wardana - Bahasa Rakitan 2016
33
byte grup dr 8 bit bilangan Memiliki 28 = 256 kemungkinan Objek yg tersimpan dlm memori komputer dinyatakan dlm byte, dan bukan bit. nibble grup dr 4 bit bilangan Memiliki 24 = 16 kemungkinan 1 digit heksadesimal menyimpan 1 nibble & 2digit heksadesimal menyimpan 1 byte
Kusuma Wardana - Bahasa Rakitan 2016
34
Mikroprosesor meng-handle data dlm bentuk word. Ukuran word tergantung dr arsitektur mikroprosesor tsb. Skrg komputer sudah 64-bit processor maka mereka beroperasi pd 64-bit words. Mikroprosesor yg lebih sederhana (misal gadgets) menggunakan 8 atau 16 bit words. Kusuma Wardana - Bahasa Rakitan 2016
35
Perhatikan perbedaannya:
Kusuma Wardana - Bahasa Rakitan 2016
36
210=1024 ≈ 103 1 kilobyte (1 KB) Demikian pula 1024 bit 1 kilobit Contoh: tanpa menggunakan kalkulator, estimasi nilai 224 byte. Jawab : 224 = 220 x 24 220 ≈ 1 juta sedangkan 24=16 Jadi sekitar 16 juta 16 MB Kusuma Wardana - Bahasa Rakitan 2016
37
Mazidi, Naimi and Naimi.2011. The AVR Microcontroller and Embedded System: using assembly and C.Prentice Hall Gerhard Schmidt, Beginners Introduction to the Assembly Language of ATMEL-AVRMicroprocessors, http://www.avr-asm-tutorial.net Malvino, A.P., and Leach,D.P. 1994. Prinsip-prinsip dan Penerapan Digital (terjemahan). Penerbit Erlangga, Jakarta. Tocci, R.J., et.al. 2007. Digital Systems Principles and Applications 10th edition. Prentice Hall, New Jersey Haris, D.M., and Haris S.L. 2007. Digital Design and Computer Architecture. Elsevier Inc.
Kusuma Wardana - Bahasa Rakitan 2016
38