BAB IV SISTEM BILANGAN DAN KODE-KODE 4.1. Konsep dasar sistem bilangan Sistem bilangan (number system) adalah suatu cara untuk mewakili besaran dari suatu item phisik. Sistem bilangan yang banyak dipergunakan oleh manusia adalah system bilangan decimal, yaitu system bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran. Sistem ini banyak digunakan oleh manusia, karena manusia mempunyai 10 buah jari untuk dapat membantu perhitungan-perhitungan dengan system decimal. Lain halnya dengan computer, logika di computer diwakili oleh bentuk elemen dua keadaan (two-state elements), yaitu keadaan off (tidak ada arus) dan keadaan on (ada arus). Konsep inilah yang dipakai dalam system bilangan binary, yang hanya menggunakan 2 macam nilai untuk mewakili suatu besaran nilai. Disamping system bilangan binary (binary number system), computer juga menggunakan system bilangan yang lain, yaitu system bilangan oktal (oktal number system) dan system bilangan hexadecimal (hexadecimal number system). System bilangan menggunakan suatu bilangan dasar atau basis (base atau disebut juga radix) yang tertentu. Basis yang dipergunakan masing-masing system bilangan tergantung dari jumlah nilai bilangan yang dipergunakan. - Sistem bilangan decimal dengan basis 10 ( deca berarti 10), menggunakan 10 macam symbol bilangan - Sistem bilangan binary dengan basis 2 (binary berarti 2), menggunakan 2 macam symbol bilangan - Sistem bilangan oktal dengan basis 8 (oktal berarti 8), menggunakan 8 macam symbol bilangan. - Sistem bilangan hexadecimal dengan basis 16 (hexa berarti 6 dan deca berarti 10) menggunakan 16 macam symbol bilangan. 4.2. Sistem bilangan binari Sistem bilangan dengan basis 2 disebut sebagai system bilangan biner (binary number system ). Hal ini banyak digunakan pada perancangan peralatan elektronik, karena dengan 10 perbedaan tegangan yang dapat dinyatakan dengan bilangan decimal sangat sulit dilaksanakan. Pada sisi lain akan mudah untuk merancang dengan 2 perbedaan tegangan. Alasan iniulah yang membuat system bilangan digital digunakan.
46
Didalam system bilangan biner hanya dikenal 2 angaka atau symbol, yaitu : 0 dan 1. Angka dalam system berbasis 2 dapat dinyatakan juga dalam system bilangan lain seperti decimal, oktal, hexadecimal dan sebaliknya. Sistem biner juga merupakan system harga kedudukan (positional-value system) dimana harga angka tergantung pada kedudukannya, dimana masingmasing digit memiliki harga atau bobot pangkat 2. Pada system bilangan biner istilah angka biner (binary digit) sering dinyatakan dengan istilah bit. Position value system bilangan binary merupakan perpangkatan dari nilai 2 sebagai berikut : Posisi digit (dari kanan) 1 2 3 4 5 dst . . . .
Position Value 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 dst . . . .
Tabel.4.1. Harga kedudukan decimal pangkat 2 Contoh : Bilangan binary 10011 dalam system bilangan decimal bernilai : (10011)2 = 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 1 x 16 + 0 x 8 + 0 x 4 + 1 x 2 + 1 x 1 = 16 + 0 + 0 + 2 + 1 = 19 4.2.1. Pertambahan Bilangan Binari Operasi arithmatika terhadap bilangan binary yang dilakukan oleh computer di ALU terdiri dari operasi pertambahan dan operasi pengurangan. Sedang perkalian binary dapat dilakukan dengan operasi pertambahan yang dilakukan secara berulang-berulang. Pertambahan bilangan binary dapat dilakukan dengan cara yang sama seperti halnya pertambahan bilangan decimal.Bilangan binary ditambahkan dengan cara yang sama dengan pertambahan bilangan decimal. Dasar pertambahan untuk masing-masing digit bilangan binary adalah :
47
0+0=0 0+1=1 1+0=1 1+1=0
dengan carry of, yaitu 1 + 1 = 2, karena digit terbesar binary hanya 1, maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = 0 dengan carry of 1
Contoh : 1111 10100 ---------- + 100011 Atau dengan langkah-langkah : 1 + 0 =1 1 + 0 =1 1 + 1 = 0
1+0+1=0
1 + 1 =0
dengan carry of 1
dengan carry of 1
dengan carry of 1
1
0
0
0
1
1
4.2.2. Pengurangan bilangan binari Bilangan binary dikurangkan dengan cara yang sama dengan pengurangan bilangan decimal. Dasar pengurangan untuk maing-masing digit bilangan binary adalah : 0-0=0 1-0=1 1-1=0 0 – 1= 1 dengan borrow of 1 (pinjam digit 1 dari posisi sebelah kirinya)
48
Contoh : 11101 0111 -------- 10010 Atau dengan langkah-langkah : 1 - 1
=0
0 - 1
=1
dengan borrow of 1
1 - 0-1=0 1 - 1
=0
1 - 0
=1
1
0
0
1
0
4.2.3. Perkalian bilangan binary Perkalian bilangan binari dapat dilakukan dengan cara yang sama dengan perkalian bilangan decimal. Dasar perkalian untuk masing-masing digit bilangan binary adalah : 0x0=0 1x0=0 0x1=0 1x1=1 Contoh : 1110 1100 ------- x 0000 hasil dari 1110 x 0 0000 hasil dari 1110 x 0 1110 hasil dari 1110 x 1 11 10 hasil dari 1110 x 1 ---------------- + 10101000
49
Hal yang perlu diperhatikan dalam perkalian bilangan binary dengan digit binary adalah adanya 2 keadaan, yaitu sebagai berikut ini : 1. Jika pengali yang berupa digit binary adalah bernilai 1, maka hasilnya berupa bilangan binary yang dikali, sehingga cukup disalin saja. 2. Jika pengali yang berupa digit binary adalah bernilai 0, maka hasilnya semuanya adalah 0. Contoh sebelum terlihat bahwa digit binary pertama posisi paling ujung kanan dari pengali adalah bernilai 0, mak hasilnya semuanya adalah 0. Demikian juga dengan digit binary kolom yang kedua. Sedang digit binary pengali kolom ke 3 dan kolom 4 bernilai 1, maka hasilnya cukup disalin saja dari bilangan binary yang dikalikan. Proses yang dilakukan oleh computer untuk perkalian bilangan binary adalah proses pertambahan yang dilakukan beberapa kali. Dalam contoh sebelumnya, proses yang dilakukan computer adalah melakukan pertambahan sebanyak 3 kali, yaitu : 0000 0000 Pertambahan pertama ------------- + 00000 1110 Pertambahan kedua ------------- + 111000 1110 Pertambahan ketiga --------------- + 10101000 Hasil perkalian 4.2.4. Pembagian bilangan binary Pembagian binary juga dapat dilakukan dengan cara yang sama dengan pembagian decimal. Pembagian dengan digit binary 0 tidak mempunyai arti, sehingga dasar pembagian digit binary adalah : 0:1=0 1:1=1
50
Contoh : 101
1111101 11001 101 ------101 101 ------0101 101 ------0
4.3. Sistem Bilangan Oktal Sistem bilangan oktasl (oktal number system) menggunakan 8 macam symbol bilangan, yaitu 0,1,2,3,4,5,6, dan 7. Sistem bilangan oktal menggunakan basis 8. Position value system bilangan oktal merupakan perpangkatan dari nilai 8 sebagai berikut : Posisi digit (dari kanan) 1 2 3 4 5 dst . . . .
Position Value 80 = 1 81 = 8 82 = 64 83 = 512 84 = 4096 dst . . . .
Tabel.4.2. Harga kedudukan decimal pangkat 8 4.3.1. Pertambahan bilangan oktal Pertambahan bilangan oktal dapat dilakukan secara sama dengan pertambahan bilangan decimal, dengan langkah-langkah sebagai berikut : 1. Tambahkan masing-masing kolom secara decimal 2. Rubah dari hasil decimal ke oktal 3. Tuliskan hasil dari digit paling kanan dari hasil oktal 4. Kalau hasil pertambahan tiap-tiap kolom terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk pertambahan kolom selanjutnya.
51
Contoh : 25 127 ----- + 154 Atau dengan langkah-langkah : 510 + 710 =1210 = 148 210 + 210 + 110 = 510 = 58 110 = 110 = 18 Pertambahan oktal dapat juga dilakukan dengan bantuan table sebagai berikut : 0 1 2 3 4 5 6 7
0 0
1 1 2
2 2 3 4
3 3 4 5 6
4 4 5 6 7 10
5 5 6 7 10 11 12
6 6 7 10 11 12 13 14
7 7 10 11 12 13 14 15 16
Tabel 4.3 Hasil dari pertambahan digit oktal Dengan menggunakan table tersebut, pertambahan bilangan oktal 25 dengan 127 dapat dilakukan sebagai berikut : 25 127 -------- + 14 58 + 78 = 148 4 28 + 28 = 48 1 08 + 18 = 18 -------- + 154 Pengurangan bilangan oktal Pengurangan bilangan oktal dapat dilakukan secara sama dengan pengurangan bilangan decimal.
52
Contoh : 154 127 ----- 25 Atau dengan langkah-langkah : 88 (pinjam) + 48 – 78 = 58 58 – 28 – 18 (dipinjam) = 28 18 – 18 = 08 4.3.3. Perkalian bilangan oktal. Perkalian bilangan octal dapat dilakukan secara sama dengan perkalian bilangan decimal, dengan langkah-langkah sebagai berikut : 1. Kalikan masing-masing kolom secara decimal 2. Rubah dari hasil decimal ke octal 3. Tuliskan hasil dari digit paling kanan dari hasil octal 4. Kalau hasil perkalian tiap-tiap kolom terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya. Contoh : 16 14 ------ x 70 16 ------ + 250 Atau dengan langkah-langkah : Langkah 1 : 16 14 ----- x 70 410 x 610 410 x 110 + 310
53
= 2410
= 308
= 710
= 78
Langkah 2 : 16 14 ----- x 70 16
110 x 610 = 610 = 68 110 x 110 = 110 =18
Langkah 3 : 16 14 ----- x 70 16 -------- + 250
710 + 610
= 1310 = 158
110 + 110
= 210
= 28
Perkalian oktal dapat juga dilakukan dengan bantuan table sebagai berikut :
0 1 2 3 4 5 6 7
0 0
1 0 1
2 0 2 4
3 0 3 6 11
4 0 4 10 14 20
5 0 5 12 17 24 31
6 0 6 14 22 30 36 44
7 0 7 16 25 34 43 52 61
Tabel 4.4 Hasil dari perkalian digit oktal Dengan menggunakan table tersebut, perkalian bilangan octal 16 dengan 14 dapat dilakukan sebagai berikut : 16 14 ------ x 30 48 x 68 =308 4 48 x 18 = 48 6 18 x 68 = 68 1 18 x 18 =18 ---------- + 250
54
Pembagian bilangan oktal Pembagian bilangan octal dapat dilakukan dengan cara seperti pembagian decimal. Contoh : 14
250 14 ------110 110 ------0
16 148 x 18 = 148 148 x 68 = 48 x 68 = 308 18 x 68 = 68 ----- + 110
Sistem Bilangan Hexadesimal Sistem bilangan hexadecimal (hexadecimal number system) menggunakan 16 macam symbol yaitu 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F. Sistem bilangan hexadecimal menggunakan basis 16. Sistem bilangan hexadecimal digunakan dengan alasan-alasan tertentu. Bila computer menangani bilangan dalam bentuk binary yang diorganisasikan dalam bentuk group 4 bit, akan lebih memudahkan untuk menggunakan suatu symbol yang mewakili sekaligus 4 digit binary tersebut. Kombinasi dari 4 bit akan didapatkan sebanyak 16 kemungkinan kombinasi yang dapat diwakili, sehingga dibutuhkan suatu system bilangan yang terdiri dari 16 macam symbol atau yang berbasis 16, yaitu system bilangan hexadecimal. Digit 0 sampai dengan 9 tidak mencukupi, maka huruf A, B, C, D, E dan F dipergunakan. Misalnya bilangan binary 11000111 dapat diwakili dengan bilangan hexadecimal menjadi C7. Pertambahan Bilangan Hexadesimal. Pertambahan bilangan hexadecimal dapat dilakukan secara sama dengan pertambahan bilangan octal, dengan langkah-langkah sebagai berikut : 1. Tambahkan masing-masing kolom secara decimal 2. Rubah dari hasil decimal ke hexadecimal 3. Tuliskan hasil dari digit paling kanan dari hasil hexadecimal 4. Kalau hasil pertambahan tiap-tiap kolom terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk pertambahan kolom selanjutnya.
55
Contoh : BAD 431 -------- + FDE Atau dengan langkah-langkah : Langkah 1 : D16 + 116 = 1310 + 110 = 1410 = E16 Langkah 2 : A16 + 316 = 1010 + 310 = 1310 = D16 Langkah 3 : B16 + 416 = 1110 + 410 = 1510 = F16 Pertambahan bilangan hexadecimal dapat juga dilakukan dengan bantuan table sebagai berikut : 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0
1 1 2
2 2 3 4
3 3 4 5 6
4 4 5 6 7 8
5 5 6 7 8 9 A
6 6 7 8 9 A B C
7 7 8 9 A B C D E
8 8 9 A B C D E F 10
9 9 A B C D E F 10 11 12
A A B C D E F 10 11 12 13 14
B B C D E F 10 11 12 13 14 15 16
C C D E F 10 11 12 13 14 15 16 17 18
D D E F 10 11 12 13 14 15 16 17 18 19 1A
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Tabel.4.5. Hasil pertambahan digit hexadecimal
Pengurangan bilangan hexadecimal Pengurangan bilangan hexadecimal dapat dilakukan secara sama dengan pengurangan bilangan decimal.
56
Contoh : 12E1 627 -------- CBA Atau dengan langkah-langkah : Langkah 1 : 1610 (pinjam) + 110 – 710 = 1010 = A16 Langkah 2 : 1410 – 210 – 110 (dipinjam) = 1110 = B16 Langkah 3 : 1610 (pinjam) + 210 – 610 =1210 =C16 Langkah 4 : 110 – 110 (pinjam) = 010 = 016 Perkalian bilangan hexadecimal Perkalian bilangan hexadecimal dapat dilakukan secara sama dengan perkalian bilangan decimal, dengan langkah-langkah sebagai berikut : 5. Kalikan masing-masing kolom secara decimal 6. Rubah dari hsil decimal ke octal 7. Tuliskan hasil dari digit paling kanan dari hasil octal 8. Kalau hasil perkalian tiap-tiap kolom terdiri dari 2 digit, maka digit paling kiri merupakan carry of untuk ditambahkan pada hasil perkalian kolom selanjutnya Contoh : AC 1B ------- x 764 AC -------- + 1224
Atau dengan langkah-langkah :
57
Langkah 1 : AC 1B ------ x 764 C16 x B16
= 1210 x 1110
= 13210
A16 x B16 + 816 = 1010 x 1110 + 810
= 8416
= 11810 = 7616
Langkah 2 : AC 1B ------ x 764 AC C16 x 116
= 1210 x 110
= 1210 = C16
A16 x 116
= 1010 x 110
= 1010 = A16
616 + C16
= 610 + 1210
= 1810 = 1216
Langkah 3 : AC 1B ------ x 764 AC ------- + 1224
716 + A16 + 116 = 710 + 1010 + 116
= 1810 = 1216
Perkalian bilangan hexadecimal dapat juga dilakukan dengan bantuan table sebagai berikut : 0 1 2 3 4 5 6 7 8
0 0
1 0 1
2 0 2 4
3 0 3 6 9
4 0 4 8 C 10
5 0 5 A F 14 19
6 0 6 C 12 18 1E 24
7 0 7 E 15 1C 23 2A 31
58
8 0 8 10 18 20 28 30 38 40
9 0 9 12 1B 24 2D 36 3F 48
A 0 A 14 1E 28 32 3C 46 50
B 0 B 16 21 2C 37 42 4D 58
C 0 C 18 24 30 3C 48 54 60
D 0 D 1A 27 34 41 4E 5B 68
E 0 E 1C 2A 38 46 54 62 70
F 0 F 1E 2D 3C 4B 5A 69 78
9 A B C D E F
51
5A 63 64 6E 79
6C 78 84 90
75 82 8F 9C A9
7E 8C 9A A8 B6 C4
87 96 A5 B4 C3 D2 E1
Tabel 4.6. Hasil perkalian digit hexadecimal Dengan menggunakan table tersebut, perkalian bilangan hexadecimal AC dengan 1B dapat dilakukan sebagai berikut : AC 1B ------ x 84 C x B = 84 6E A x B = 6E C Cx1=C A Ax1=A ----------- + 1224 Pembagian bilangan hexadecimal Pembagian hexadecimal dapat dilakukan dengan cara seperti pembagian decimal. Contoh : 1B
1224 10E ------144 144 ------- 0
AC 1B16 x A16 = 2710 x 1010= 27010 =10E16
1B16 x C16 = 2710 x 1210 = 32410 = 14416
4.5. Konversi Sistem Bilangan Bila suatu nilai telah dinyatakan dalam suatu system bilangan yang tertentu dan bila ingin mengetahui nilai tersebut dalam system bilangan yang lain,
59
maka nilai dalam system bilangan sebelumnya harus dikonversikan terlebih dahulu ke system bilangan yang diinginkan. 4.5.1. Konversi dari system bilangan decimal 4.5.1.1. Konversi ke system bilangan binary Ada beberapa metode untuk mengkonversikan dari system bilangan decimal ke system bilangan binary. Metode yang pertama dan paling banyak digunakan adalah dengan cara membagi dengan nilai 2 dan sisa setiap pembagian merupakan digit binary dari bilangan binary hasil konversi. Metode ini disebut metode sisa (remainder method). Contoh : 1) Konversikanlah bilangan decimal (27)10 ke bilangan biner. Jawab : 27 : 2 = 13 sisa 1 13 : 2 = 6 sisa 1 6 : 2 = 3 sisa 0 3 : 2 = 1 sisa 1 1 : 2 = 0 sisa 1
1 1 0 1 1 Maka bilangan decimal 27 dalam system bilangan biner adalah 11011. 2). Konversikanlah bilangan decimal (27.4375)10 ke bilangan biner. Jawab : Bilangan decimal tersebut dipecah menjadi 27 dan 0.4375. Bilangan yang utuh, yaitu 27 dikonversikan terlebih dahulu ke bilangan binary. 27 : 2 = 13 sisa 1 13 : 2 = 6 sisa 1 6 : 2 = 3 sisa 0 3 : 2 = 1 sisa 1 1 : 2 = 0 sisa 1
1 1
0
1
60
1
Maka bilangan decimal 27 dalam bentuk bilangan binary adalah 11011. Kemudian bilangan yang pecahan dikonversikan ke bilangan binary dengan cara yang berbeda seperti bilangan yang utuh, yaitu sebagai berikut : 0.4375 x 2 = 0 . 875 0.875 x 2
= 1 .75
0.75
x 2
= 1 .5
0.5
x 2
= 1.
Maka bilangan decimal pecahan 0.4375 di dalam binary adalah 0.0111. Maka hasil dari bilangan 27.4375 dalam bilangan binary adalah : 27 = 11011 0.4375 = 0,0111 -------------------------------------- + (27,4375)10 = (11011.0111)2 4.5.1.2. Konversi ke sistem bilangan oktal Untuk mengkonversikan bilangan dessimal ke bilangan oktal dapat dipergunakan remainder method dengan pembaginya adalah basis dari bilangan oktal tersebut, yaitu 8. 27 : 8 = 3 sisa 3 3 : 8 = 0 sisa 3
3
3
Maka (27)10 = (33)8 4.5.1.3. Konversi ke sistem bilangan hexadesimal Untuk mengkonversikan bilangan dessimal ke bilangan hexadesimal dapat dipergunakan remainder method dengan pembaginya adalah basis dari bilangan hexadesimal tersebut, yaitu 16 27 : 16 = 1 sisa 11 1 : 16 = 0 sisa 1
1
11 = B
Maka (27)10 = (1B)16
61
4.5.2. Konversi dari system bilangan binary 4.5.2.1. Konversi ke system bilangan desimal Dari bilangan binari dapat dikonversikan ke bilangan desimal dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : 1). Konversikanlah bilangan binary (11011)2 ke bilangan desimal Jawab : (11011)2 = 1 x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 1 x 16 + 1 x 8 + 0 x 4 + 1 x 2 + 1 x 1 = 16 + 8 + 0 + 2 + 1 = ( 27)10 2). Konversikanlah sistem bilangan binary (11011. 0111)2 ke sistem bilangan desimal Jawab: (11011. 0111)2 = 1x 24 + 1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2-3 + 1 x 2-4 = 16 + 8 + 0 + 2 + 1 + 0 + 0,25 + 0,125 + 0,0625 = (27, 4375)10 4.5.2.2. Konversi ke system bilangan oktal Konversi dari bilangan binari ke bilangan oktal dapat dilakukan dengan mengkonversikan tiap-tiap tiga buah digit binari. Hubungan ini dapat dilihat pada tabel dibawah ini : Digit Oktal 0 1 2 3 4 5 6 7
3 Bit 000 001 010 011 100 101 110 111
Tabel 4.7. Hubungan antara 1 digit oktal dengan 3 digit binari
62
Contoh : 1). Konversikanlah bilangan binary (11011)2 ke sistem bilangan oktal Jawab : 11
011
3
3
Sehingga (101011)2 = (33)8 2). Konversikanlah sistem bilangan binary (101011.111)2 ke sistem bilangan oktal Jawab : 101
011
111
5
3
7
Sehingga (101011.111)2 = (53.7)8 4.5.2.3. Konversi ke system bilangan hexadesimal Konversi dari bilangan binari ke bilangan hexadesimal dapat dilakukan dengan mengkonversikan tiap-tiap empat buah digit binari. Hubungan ini dapat dilihat pada tabel dibawah ini : Digit Oktal
3 Bit
0
0000
1
0001
2
0010
3
0011
4
0100
5
0101
6
0110
7
0111
8
1000
9
1001
A
1010
63
B
1011
C
1100
D
1101
E
1110
F
1111
Tabel 4.8. Hubungan antara 1 digit hexadecimal dengan 4 digit binari Contoh : 1). Konversikanlah bilangan binary (11011)2 ke sistem bilangan hexadesimal Jawab : 1
1011
1 Sehingga (11011)2 = (1B)16
B
2). Konversikanlah sistem bilangan binary (101011.1101)2 ke sistem bilangan hexadesimal Jawab : 10
1011
1101
2
B
D
Sehingga (101011.1101)2 = (2B.D)16 4.5.3. Konversi dari system bilangan oktal 4.5.3.1. Konversi ke system bilangan desimal Dari bilangan oktal dapat dikonverkan ke bilangan desimal dengan cara mengalikan masing-masing bit dalam bilangan dengan position valuenya. Contoh : 1). Konversikanlah bilangan oktal (33)8 ke sistem bilangan desimal Jawab : (33)8 = 3 x 81 + 3 x 80 =3x8 +3x1 = 24 + 3 = 27
64
2). Konversikanlah sistem bilangan oktal (33. 4)8 ke sistem bilangan desimal Jawab : (33. 4)8 = 3 x 81 + 3 x 80 + 4 x 8-1 = 3 x 8 + 3 x 1 + 0.5 = 24 + 3 + 0.5 = (27,5)10 4.5.3.2. Konversi ke system bilangan binary Konversi dari sistem bilangan oktal ke bilangan binary dapat dilakukan dengan mengkonversikan masing-masing digit oktal ke 3 digit binari. 1). Konversikanlah bilangan oktal (33)8 ke sistem bilangan binary Jawab : (33)8 =
3
3
011
011
Sehingga (33)8 = (011011)2 4.5.3.3. Konversi ke system bilangan hexadesimal Konversi dari bilangan oktal ke bilangan hexadesimal dapat dilakukan dengan cara merubah dari bilangan oktal menjadi bilangan binari terlebih dahulu, baru di konversikan ke bilangan hexadesimal. Contoh : 1). Konversikanlah bilangan oktal (33)8 ke sistem bilangan hexadesimal Jawab : Langkah 1 : Dikonversikan terlebih dahulu ke bilangan binari, sebagai berikut : (33)8 =
3
3
011
011
Langkah 2: Dari sistem bilangan binari baru dikonversikan ke sistem bilangan hexadesimal, sebagai berikut : 01 1011 1
B
Sehingga (33)8 = (1B)16
65
4.5.4. Konversi dari system bilangan hexadesimal 4.5.4.1. Konversi ke system bilangan desimal Dari bilangan hexadesimal dapat dikonversikan ke bilangan desimal dengan cara mengalikan masing-masing digit bilangan position valuenya. Contoh : 1). Konversilkanlah sistem bilangan (1B)16 ke sistem bilangan desimal Jawab : (1B)16 = 1 x 161 + 11 x 160 = 16 + 11 = (27)10 4.5.4.2. Konversi ke system bilangan binary Konversi dari bilangan hexadesimal ke sistem bilangan binari dapat dilakukan dengan mengkonversikan masing-masing digit hexadesimal ke 4 digit binari. Contoh : 1). Konversilkanlah sistem bilangan (1B)16 ke sistem bilangan binary Jawab : 1
Maka (1B)16
B
0001 1011 (00011011) = 2
4.5.4.3. Konversi ke system bilangan oktal Konversi dari bilangan hexadesimal ke sistm bilangan oktal dapat dilakukan dengan cara merubah dari bilangan hexadecimal menjadi sistem bilangan binari terlebih dahulu, baru dikonversikan ke bilangan oktal. Langkah 1 : Dikonversikan terlebih dahulu ke bilangan binari, sebagai berikut : (1B)16 = 1 B 0001 1011 Langkah 2: Dari sistem bilangan binari baru dikonversikan ke sistem bilangan oktal, sebagai berikut : 000 110 11 0 Sehingga (1B)16 = (33)8
3
3
66
4.6. Kode BCD (Binary Code Decimal) Sejak pada komputer generasi pertama pengambaran data dalam Central Processing Unitnya sudah menggunakan sistim binary. Sistem binary yang digunakan didalam Komputer generasi pertama adalah pengalihan angka-angka desimal ke binary dengan perbandingan angka desimal diwakili oleh 4 angka binary (perlu dicatat bahwa setiap angka binary disebut binary digit atau disingkat dengan ‘bit), yang mempunyai positional value : 8, 4, 2, 1 atau 23, 22, 21, 20. Setiap angka desimal dari 0 sampai dengan 9 dapat digambarkan dengan kombinasi dari 4 binary digit tersebut. Dan apabila telah ada 2 angka desimal yang akan digambarkan dengan sistem ini maka 2 angka desimal digambarkan dengan 8 binary digit. Dengan demikian maka setiap angka desimal dalam suatu positional value diwakili oleh 4 binary digits. Contoh : Desimal : 357 sama dengan binary : 001101010111 Atau dipisah-pisahkan setiap angka desimal = 4 binary Digit maka terliat : 0011 0101 0111 3 5 7 Apabila satu bit dapat menggambarkan 2 kondisi (0 dan 1 ), maka 2 bits dapat menggambarkan 4 kondisi yang berbeda, yaitu : 00, 01, 10, 11, 3 bits dapat menggambarkan 8 kondisi yang berbeda dan 4 bits dapat menggambarkan 16 kondisi yang berbeda, seperti contoh dibawah ini : 0000 0100 1000 1100 0001 0101 1001 1101 0010 0110 1010 1110 0011 0111 1011 1111 Pada komputer generasi pertama yang menggunakan 4 bit (binary digits) hanya 10 dari 16 kondisi tersebut diatas yang digunakan, yang disesuaikan dengan sistem desimal. Oleh karena setiap binary codes menggambarkan setiap angka desimal, maka dinamakan Binary Coded Decimal atau lebih dikenal dengan BCD. Tabel dibawah ini menggambarkan satu desimal dengan 4 bit BCD : Deciamal Equivalent 0 1 2 3
4 bit BCD Codes Place Values 4 2 0 0 0 0 0 1 0 1
8 0 0 0 0
67
1 0 1 0 1
4 5 6 7 8 9
0 0 0 0 1 1
1 1 1 1 0 0
0 0 1 1 0 0
0 1 0 1 0 1
Tabel. 4.9 Tabel BCD – Code 4.7. Sandi Gray Sandi Gray tidak sesuai bagi operasi aritmatik, namun sangat berguna bagi piranti masukan/keluaran, pengubah analog ke digital serta peralatan-peralatan bantu. Tabel dibawah ini memperlihatkan sandi gray bersama dengan bilangan biner untuk bilangan desimal 0 – 15 yang bersangkutan secara bersama-sama. Masing-masing bilangan gray berbeda dari bilangan yang mendahuluinya dengan satu bit. Sebagai contoh dari 7 ke 8, bilangan sandi gray berubah dari 0100 ke 1100, kedua bilangan ini hanya berbeda dalam bit paling berbobot. Sebagai contoh lain bilangan desimal 14 dan 15 dinyatakan oleh bilangan sandi gray berubah dari 1001 ke 1000, kedua bilangan ini hanya berbeda dalam satu posisi angka. Demikian halnya pada sandi gray setiap bilangan hanya berbeda satu bit dari bilangan yang mendahuluinya. Desimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Biner 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Kode Gray 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
Tabel. 4.10. Sandi Gray dan bilangan biner bersama bilangan desimal 0 - 15
68
4.8. Sandi Alphanumerik Selain sandi-sandi yang sudah dijelaskan diatas, sandi lain yang dipergunakan dalam pengolahan data, sandi tersebut adalah sandi alphanumerik. Sandi alphanumerik mempunyai karakter yang terdiri dari 26 huruf abjad yaitu A sampai Z dan sepuluh angka 0 sampai 9 yang menggunakan 7 bit. Simbolsimbol dan karakter lainnya ( +, /, #, %, *) dan kita dapat mengatakan bahwa sandi alphanumerik semua karakter dan fungsinya diatas standar mesin tulis (komputer) keyboard. Sandi ASCII ASCII (The American Standart Code for Information Interchange) merupakan sebuah masukan/keluaran yang digunakan secara luas bagi pemakai Komputer mini komputer dan mikrokomputer. Sandi ASCII adalah sebuah sandi 7 bit dan mempunyai 27 = 128 kemungkinan kelompok kode. Tabel berikut menunjukkan bagian pada sandi ASCII. Dalam pengolahan kelompok sandi biner untukmaing-masing karakter, bilangan oktal dan hexadesimal ekivalennya. Karakter
7-Bit ASCII
Oktal
Hexadesimal
A
100 0001
101
41
B
100 0010
102
42
C
100 0011
103
43
D
100 0100
104
44
E
100 0101
105
45
F
100 0110
106
46
G
100 0111
107
47
H
100 1000
110
48
I
100 1001
111
49
J
100 1010
112
4A
K
100 1011
113
4B
L
100 1100
114
4C
M
100 1101
115
4D
N
100 1110
116
4E
O
101 1111
117
4F
P
101 0000
120
50
Q
101 0001
121
51
R
101 0010
122
52
69
S
101 0011
123
53
T
101 0100
124
54
U
101 0101
125
55
V
101 0110
126
56
W
101 0111
127
57
X
101 1000
130
58
Y
101 1001
131
59
Z
101 1010
132
5A
0
011 0000
060
30
1
011 0001
061
31
2
011 0010
062
32
3
011 0011
063
33
4
011 0100
064
34
5
011 0101
065
35
6
011 0110
066
36
7
011 0111
067
37
8
011 1000
070
38
9
011 1001
071
39
Blank
010 0000
040
20
•
010 1110
056
2E
(
010 1000
050
28
+
010 1011
053
2B
$
010 0100
044
24
*
010 1010
052
2A
)
010 1001
051
29
-
010 1101
055
2D
/
010 1111
057
2F
,
010 1100
054
2C
=
011 1101
075
3D
000 1101
015
0D
000 1010
012
0A
Tabel 4.11. Kode ASCII
70
Soal-soal : 1. Konversikanlah Bilangan dibawah ini : a. (225)10 ke sistem bilangan biner, bilangan oktal, bilangan hexadesimal b. (37.2)10 ke bilangan biner 2
Konversikanlah bilangan dibawah ini : a. (001120)2 ke bilangan decimal, oktal dan hexadesimal b. (011101.101)2 ke bilangan decimal
3. Konversikanlah bilangan dibawah ini : a. (AB4)16 ke bilangan decimal, oktal dan biner b. (CD2.34)16 ke bilangan decimal 4. Konversikanlah bilangan dibawah ini : c. (2674)8 ke bilangan decimal, hexadecimal dan biner d. (453.24)8 ke bilangan decimal 5. Hitunglah Operasi-operasi bilangan dibawah ini : a. (354)8 + (472)8 = ............ b. (AB1)16 + (73)16 = .............. c. (1101)2 x (101)2 = .............. d. (471)8 x (231)8 = ..............
71