Konversi Basis Bilangan
Setelah memahami jenis bilangan pada artikel sebelumnya. pada tulisan kali ini akan membahas tentang konversi dari bilangan satu ke yang lainnya.Konversi Bilangan Desimal Ke Sistem Bilangan Lain
Sistem bilangan desimal secara mudah dapat dirubah dalam bentuk sistem bilangan yang lain. Ada banyak cara untuk melakukan konversi bilangan, proses yang paling mudah dan sering digunakan untuk memindah bentuk bilangan adalah “ Proses Sisa “. Tabel di bawah memperlihatkan bilangan 0 sampai 22 basis 10 ( desimal ) dalam bentuk bilangan berbasis 2 ( biner ), berbasis 8 ( Oktal ) dan berbasis 16 ( Heksadesimal ).
Basis 10
|
Basis 2
|
Basis 8
|
Basis 16
|
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000
10001
10010
10011
10100
10101
10110
|
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20
21
22
23
24
25
26
|
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
|
Untuk merubah bilangan desimal ke bilangan yang berbasis lain cukup membagi bilangan desimal dengan basis bilangan yang baru hingga habis.
Contoh 1
Konversi Bilangan Desimal Z (10) = 83 ke bilangan Biner Z (2)83 dibagi dengan basis bilangan baru yaitu 2
83 : 2 = 41 sisa 1.
Sisa 1 ini merupakan digit pertama dari bilangan biner ...x x x x 1. Untuk mendapatkan harga pada digit berikutnya adalah :
41 : 2 = 20 sisa 1
Sisa 1 ini menempati digit selanjutnya sehingga bentuk binernya ...x x x 1 1 dan seterusnya seperti di bawah ini.
Jadi Z (10) = 83 adalah Z (2) = 1010011. Untuk meyakinkan bahwa hasil konversi di atas benar maka kita lakukan test sbb :
Contoh 2
Konversi Bilangan Desimal Z (10) = 1059 ke bilangan Oktal Z (8)
Jadi Z (10) = 1059 adalah Z (8) = 2043
Contoh 3
Konversi Bilangan Desimal Z (10) = 10846 ke bilangan Heksadesimal Z (16)
Jadi Z (10) = 10846 adalah Z (16) = 2A5E
Konversi Basis Bilangan Lain Ke Bilangan Desimal
Untuk merubah satu sistem bilangan ke bilangan desimal, cukup dengan mengalikan masing-masing angka dengan basis yang pangkatnya sesuai dengan tempat masing-masing. Hasil penjumlahan merupakan bilangan desimal yang dicari.
Contoh 1
Konversi Bilangan Biner Z (2) = 10101010 ke bilangan Desimal Z (10)
Jadi Z (2) = 10101010 adalah Z (10) = 170
Contoh 2
Konversi Bilangan Oktal Z (8) = 4327 ke bilangan Desimal Z (10)
Jadi Z (8) = 4327 adalah Z (10) = 2263
Contoh 3
Konversi Bilangan Heksadesimal Z (16) = B3C9 ke bilangan Desimal Z (10)
Jadi Z (16) = B3C9 adalah Z (10) = 46025
Konversi Basis Bilangan Ke Basis Bilangan Lain
Untuk merubah dari satu sistem bilangan ke sistem bilangan yang lain memerlukan dua langkah. Pertama kita rubah sistem bilangan yang lama ke bilangan desimal kemudian dari bilangan desimal dirubah ke sistem bilangan yang diinginkan.
Contoh 1
Konversi Bilangan Biner Z (2) = 101101 ke bilangan Heksadesimal Z (16)
Langkah Pertama
Langkah Kedua
Jadi Z (2) = 101101 adalah Z (12) = 2D
Contoh 2
Konversi Bilangan Heksadesimal Z (16) = 2FC ke bilangan Biner Z (2)
Langkah Pertama
Langkah Kedua
Jadi Z (16) = 2FC adalah Z (2) = 1011111100
Bentuk Bilangan Desimal dan Bilangan Biner antara 0 dan 1
Pada pembahasan sebelumnya kita telah membicarakan tentang sistem bilangan, dan konversi bilangan dalam bentuk bilangan bulat positip. Kali ini kita akan membahas tentang bilangan antara 0 dan 1 yang kita kenal dengan sebutan bilangan pecahan positip. Untuk menuliskan bentuk bilangan pecahan desimal, kita cukup menuliskan koma ( , ) dibelakang bilangan bulatnya. Setiap tempat dibelakang koma mempunyai kelipatan 1/10.
Di bawah ini adalah contoh penulisan bilangan pecahan desimal yang sering kita jumpai.
Contoh
0,5371 = 0 + 0,5 + 0,03 + 0,007 + 0,0001
Di bawah ini adalah bentuk bilangan biner antara 0(2) dan 1(2)
Contoh
0,101 (2) = 0 (2) + 0,1 (2) + 0,00 (2) + 0,001 (2)
Untuk merubah bilangan desimal yang besarnya lebih kecil dari 1 ( satu ) ke bentuk bilangan biner kita lakukan proses perkalian seperti di bawah ini.
Contoh
0,4375 . 2 = 0 sisa 0,8750
0,8750 . 2 = 1 sisa 0,7500
0,7500 . 2 = 1 sisa 0,5000
0,5000 . 2 = 1 sisa 0
jadi 0,4375 (10) = 0,0111 (2)
Sebagai koreksi untuk mengetahui kebenaran konversi, dapat kita lakukan proses balik seperti di bawah ini,
0, 0 1 1 1(2) =
0 + 0. 2-1 + 1. 2-2 + 1. 2-3 + 1. 2-4 =
0 + 0.0,5 + 1.0,25+ 1.0,125 + 1.0,0625 =0,4375
Tidak semua konversi dari bilangan desimal ke bilangan biner menghasilkan sisa 0 seperti pada contoh di atas . Untuk mengatasi hal tsb. maka dalam konversi kita batasi sampai beberapa angka dibelakang koma. Semakin banyak angka dibelakang koma maka kesalahanya semakin kecil.
Tidak semua konversi dari bilangan desimal ke bilangan biner menghasilkan sisa 0 seperti pada contoh di atas . Untuk mengatasi hal tsb. maka dalam konversi kita batasi sampai beberapa angka dibelakang koma. Semakin banyak angka dibelakang koma maka kesalahanya semakin kecil.
Contoh
0,5371 .2 = 1 sisa 0,0742
0,0742 .2 = 0 sisa 0,1484
0,1484 .2 = 0 sisa 0,2968
0,2968 .2 = 0 sisa 0,5936
0,5936 .2 = 1 sisa 0,1872 0,5371(10) = 0,10001(2)
0,1872 .2 = 0 sisa 0,3744
0,3744 .2 = 0 sisa 0,7488
0,7488 .2 = 1 sisa 0,4976 0,5371(10) = 0,10001001(2)
Jika proses diakhiri sampai perkalian kelima,
0,10001(2) = 0,5 + 0,03125 = 0,53125
kesalahan = 0,5371 - 0,53125 = 0,00585
Jika proses diakhiri sampai perkalian kedelapan,
0,10001001(2) = 0,5 + 0,03125 + 0,00390625 = 0,53515625
kesalahan = 0,5371 - 0,53515625 = 0,00194375
Melalui kombinasi dari bilangan positip di atas 1 dan bilangan positip di bawah 1 dapat dinyatakan bentuk bilangan positip seperti di bawah ini,
Contoh
323, 4375(10) = ?(2)
Konversi bilangan desimal 325(10)
325 : 2 = 162 sisa 1
162 : 2 = 81 sisa 0
81 : 2 = 40 sisa 1
40 : 2 = 20 sisa 0
20 : 2 = 10 sisa 0
10 : 2 = 5 sisa 0
5 : 2 = 2 sisa 1
2 : 2 = 1 sisa 0
1 : 2 = 0 sisa 1
325(10) = 101000101(2)
Konversi bilangan desimal 0,4375(10)
0,4375 . 2 = 0 sisa 0,8750
0,8750 . 2 = 1 sisa 0,7500
0,7500 . 2 = 1 sisa 0,5000
0,5000 . 2 = 1 sisa 0
0,4375(10) = 0,0111(2)
Jadi bilangan 325,4375(10) = 101000101,0111(2)
Test : 101000101,0111(2) = 1.28 + 1.26 + 1.22 + 1.20 + 1.2-2 + 1.2-3 + 1.2-4
= 256 + 64 + 4 + 1 + 0,25 + 0,125+ 0,0625
= 325,4375(10)
Bentuk Bilangan Negatip
Dengan berpatokan pada titik 0 ( nol ), bilangan dapat dibedakan menjadi bilangan positip dan bilangan negatip. Disebut bilangan positip jika harga bilangan tsb. lebih besar dari nol ( disebelah kanan titik nol ) dan disebut bilangan negatip jika harga bilangan tsb. lebih kecil dari nol ( disebelah kiri titik nol ).
Bilangan +3 terletak pada 3 skala sebelah kanan setelah nol, sedangkan bilangan -3 terletak pada 3 skala sebelah kiri setelah nol. Jadi + dan - adalah suatu tanda dari bilangan. Secara prinsip tanda positip ( + ) dan tanda negatip ( - ) berlaku juga untuk bilangan biner. Pada mikroprosessor jumlah bit data sudah tertentu yaitu 8 bit, 16 bit atau 32 bit. Kita ambil contoh mikroprosessor famili intel 8080/8085, famili Zilog Z80 dan famili motorola 6809 mempunyai 8 bit data dan dalam bentuk biner dapat dituliskan sbb : 00000000(2) = 0(10) sampai 11111111(2) = 255(10), tanpa menghiraukan tanda positip dan negatip. Jika dalam 8 bit data kita menghiraukan tanda positip dan tanda negatip, maka daerah bilangan di atas dibagi menjadi dua bagian sehingga bilangan tersebut menjadi +127 dan -128. Untuk daerah positip bilangan dimulai dari 00000000(2) dan 00000001(2) sampai bilangan maksimum positip adalah 01111111(2) sedangkan daerah negatip dimulai dari 11111111(2) untuk -1(10) sampai 10000000(2) untuk -128(10), tetapi range 8 bit data masih sama yaitu 25510 ( dari +127 hingga -128 ).
Di bawah ini menunjukan susunan 8 bit data dengan menghiraukan tanda (+) dan (-).
Desimal Biner
+127 01111111
+126 01111110
+125 01111101
+124 01111100
+123 01111011
…….. …………. Daerah Positip :
+ 7 00000111 Bilangan : 0 sampai ( 2n-1-1)
+ 6 00000110
+ 5 00000101
+ 4 00000100
+ 3 00000011
+ 2 00000010
+ 1 00000001
0 00000000
- 1 11111111
- 2 11111110
- 3 11111101
- 4 11111100
- 5 11111011
- 6 11111010
- 7 11111001
- 8 11111000
……. …………. Daerah Negatip :
- 124 10000100 Bilangan : -1 sampai - 2n-1
- 125 10000011
- 126 10000010
- 127 10000001
- 128 10000000
n = jumlah bit, dalam contoh di atas adalah 8
Pada susunan ini tempat tertinggi atau disebut Most Significant Bit ( 27 ), hanya digunakan sebagai Bit tanda. Untuk harga 0 pada bit 27 adalah tanda bilangan positip sedangkan harga 1 pada bit 27 merupakan tanda bilangan negatip.
Bentuk Bilangan Dalam Code Form
Mengkonversi bilangan yang berharga besar, memerlukan hitungan yang cukup melelahkan. Melalui bilangan dalam Code Form maka pekerjaan konversi bilangan dapat dipermudah dan dipercepat. Di bawah ini adalah Code Form dalam bilangan Desimal, Bilangan Oktal dan bilangan Heksadesimal yang sering dipergunakan.
Bentuk BCD - Biner Code Desimal
Bilangan desimal pada setiap tempat dapat terdiri dari 10 bilangan yang berbeda-beda. Untuk bilangan biner bentuk dari 10 elemen yang berbeda beda memerlukan 4 bit. Sebuah BCD mempunyai 4 bit biner untuk setiap tempat bilangan desimal.
Contoh
Z(10) = 317
Dalam contoh ini BCD terdiri dari 3 kelompok bilangan masing-masing terdiri dari 4 bit , dan jika bilangan desimal tersebut di atas dikonversi ke dalam bilangan biner secara langsung adalah 317(10) = 100111101(2) dan hanya memerlukan 9 bit. Untuk contoh proses sebaliknya dapat dilihat di bawah ini.
Contoh
Jadi bentuk BCD di atas adalah bilangan Z(10) = 5170.
Bentuk BCO - Biner Code Oktal
Bilangan oktal pada setiap tempat terdiri dari 8 bilangan yang berbeda-beda. Untuk 8 elemen yang berbeda-beda diperlukan 3 bit. Sebuah BCO mempunyai 3 bit biner untuk setiap tempat bilangan oktal.
Contoh
Z(8) = 634
Untuk proses sebaliknya adalah setiap 3 bit dikonversi ke dalam bilangan oktal.
Contoh
Jadi bentuk BCO diatas adalah bilangan Z(8) = 5401.
Bentuk BCH - Biner Code Heksadesimal
Bilangan heksadesimal dalam setiap tempat dapat terdiri dari 16 bilangan yang berbeda-beda ( angka dan huruf ). Bentuk biner untuk 16 elemen memerlukan 4 bit. Sebuah BCH mempunyai 4 bit biner untuk setiap tempat bilangan heksadesimal.
Contoh
Z(16) = 31AF
Untuk proses sebaliknya, setiap 4 bit dikonversi ke dalam bilangan heksadesimal.
Contoh
Jadi bentuk BCH diatas adalah bilangan Z(16) = A618.
Metoda Balikan
Metoda yang kita gunakan bisa dibalik yaitu dimulai dari bilangan Heksadesimal dirubah kedalam bentuk BCH ( group digit biner empat-empat ). Buat group ulang ke bentuk BCO ( group digit biner tiga-tiga ) dari titik desimal untuk mengkonversikan ke dalam bilangan Oktal. Akhirnya bilangan Oktal dapat dikonversikan ke dalam bentuk bilangan desimal dengan metoda biasa dan dengan cara ini konversi basis bilangan dapat dipermudah.
Contoh 1
Tunjukkan bilangan Heksadesimal 4B2,1A616 ke bentuk bilangan Biner, Oktal dan Bilangan Desimal yang ekuivalen.
Lakukanlah : a. Tulis ulang 4B2,1A616 dalam bentuk BCH
b. Groupkan ulang kedalam bentuk BCO dari titik Desimal
c. Tunjukkan ekuivalen Oktalnya setiap BCO
d. Akhirnya konversikan bilangan Oktal ke ekuivalen Desimal
Jika ke-4 langkah di atas dilakukan dengan benar akan menghasilkan,
a. 0100 1011 0010 , 0001 1010 01102
b. 010 010 110 010 , 000 110 100 1102
c. 2 2 6 2 , 0 6 4 68
d. 1202,10310
Contoh 2
Selesaikan bilangan Heksadesimal 2E3,4D16 ke bentuk bilangan Biner, Oktal dan
2E3,4D16 = 0010 1110 0011 , 0100 11012
= 001 011 100 011 , 010 011 0102
= 1 3 4 3 , 2 3 28
= 739,30110
ASCII Code - American Standard Code For Information Interchange
Dalam bidang mikrokomputer ASCII-Code mempunyai arti yang sangat khusus, yaitu untuk mengkodekan karakter ( Huruf, Angka dan tanda baca yang lainnya ). Code-code ini merupakan code standard yang dipakai oleh sebagian besar sistem mikrokomputer. Selain huruf, angka dan tanda baca yang lain ada 32 ( mis ACK, NAK dsb. ) merupakan kontrol untuk keperluan transportasi data. Di bawah ini adalah tabel 7 bit ASCII Code beserta beberapa penjelasan yang diperlukan.
Singkatan
|
Arti
|
Ket. dlm. Bhs Inggris
|
STX
|
Awal dari text
|
Start of Text
|
ETX
|
Akhir dari text
|
End of text
|
ACK
|
Laporan balik positip
|
Acknowledge
|
NAK
|
Laporan balik negatip
|
Negative Acknowledge
|
CAN
|
Tidak berlaku
|
Cancel
|
CR
|
Carriage Return
|
Carriage Return
|
FF
|
Form Feed
|
Form Feed
|
LF
|
Line Feed
|
Line Feed
|
SP
|
Jarak
|
Space
|
DEL
|
Hapus
|
Delete
|
Tabel ASCII Code
Contoh
Untuk mendapatkan ASCII Code bagi karakter N adalah 100 1110 ( 4E16 ) dengan penjelasan bahwa 100 adalah b7, b6 dan b5 yang lurus keatas terhadap huruf N dan dan berharga 4 sedangkan 1110 adalah b4, b3, b2 dan b1 yang lurus kesamping kiri terhadap huruf N dan berharga E.
LATIHAN
1 a. Bilangan biner adalah bilangan yang berbasis ……………..
b. Bilangan heksadesimal adalah bilangan yang berbasis …………..
a. dua b. enam belas
2 Konversikan bilangan desimal di bawah ini ke dalam bilangan biner
a. 123410 b. 567010 c. 232110
a. 10011010010 b. 1011000100110 c. 100100010001
3 Konversikan bilangan biner di bawah ini ke dalam bilangan desimal
a. 10101010 b. 01010101 c. 11001100 d. 10011111
a. 170 b. 85 c. 204 d. 159
4 Konversikan bilangan biner di bawah ini ke dalam bilangan oktal
a. 1 0 1 0 1 1 1 1 1 0 0 12 b. 1 1 0 0 1 0 1 1 0 1 1 12
a. 53718 b. 62678
5 Konversikan bilangan oktal di bawah ini ke dalam bilangan biner
a. 21708 b. 35718
a. 0 1 0 0 0 1 1 1 1 0 0 0 b. 0 1 1 1 0 1 1 1 1 0 0 1
6 Konversikan bilangan desimal di bawah ini ke dalam bilangan heksadesimal
a. 178010 b. 366610 c. 523010 d. 674410
a. 06F4 b. 0E52 c. 146E d. 1A58
7 Konversikan bilangan heksadesimal di bawah ini ke dalam bilangan desimal
a. ABCD16 b. 217016 c. B75F16 d. EBED16
a. 43981 b. 8560 c. 46943 d. 60397
8 Konversikan bilangan pecahan desimal di bawah ini ke dalam bilangan biner
a. 0,312510 b. 0,6562510 c. 0,3437510 d. 0,14062510
a. 0,0101 b. 0,10101 c. 0,01011 d. 0,001001
9 Konversikan bilangan desimal di bawah ini ke dalam bilangan biner
a. 11,62510 b. 0,687510 c. 0,7510 d. 25,7510
a. 1011,101 b. 0,1011 d. 11001, 11
10 Konversikan bilangan desimal di bawah ini ke dalam bilangan heksadesimal
a. 348,65410 b. 1784,24010
a. 15C,A78 b. 6F8,3D5
11 Konversikan bilangan di bawah ini ke dalam bilangan desimal
a. 010100011,0011111012 b. 654,2768 c. 4C5,2B816
a. 163,245 b. 428,371 c. 1221,1699
12 Rubahlah bilangan biner di bawah ini ke dalam bentuk BCD
a. 101001100001112 b. 10101011000112
a. 2987 b. 1563
13 Rubahlah bentuk BCD di bawah ini ke dalam bilangan biner
a. 1987 b. 2346 c. 501
a. 1 1001 1000 0111 b. 10 0011 0100 0110 c. 101 0000 0001
14 Rubahlah bilangan biner di bawah ini ke dalam BCO
a. 111111010012 b. 101110 0101002 c. 11000000102
a. 3751 b. 5624 c. 1402
15 Rubahlah bilangan biner di bawah ini ke dalam BCH
a. 11011111001011102 b. 1101001100000012
a. CF2E b. 6981
16 Rubahlah Bentuk BCH di bawah ini ke dalam bilangan heksadesimal
a. F0DE b. 1CAB c. 834
a. 1111 0000 1101 1110 b. 1 1100 1010 1011 c. 1000 0011 0100
17 Nyatakan positip atau negatip bilangan biner di bawah ini
a. 01111111 b. 10000000 c. 01111011
a. Positip 127 b. Negatip 128 c. Positip 123
18 Nyatakan bilangan biner negatip di bawah ini ke dalam bilangan desimal
a. 10001000 b. 11110111 c. 10000101 d. 10011100
a. -120 b. -9 c. -123 d. -100
19 Nyatakan ASCII Code di bawah ini dalam bentuk karakter
a. 4116 b. 5A16 c. 2416 d. 7716
a. A b. Z c. $ d. W
20 Nyatakan Karakter di bawah ini dalam ASCII Code
a. a b. x c. m d. H
a. 6116 b. 7816 c. 6D16 d. 5716
21 Dengan Keyboard standard ASCII, pada layar monitor nampak tulisan sebagai berikut
PRINT X
Nyatakan Keluaran pada Keyboard tersebut.
P (101 0000); R (101 0010); I (100 1001); N (100 1110)
T (101 0100); space ( 010 0000); X (101 1000)
Post A Comment:
0 comments: