Membicarakan sistem
digital tidak akan terlepas dari sistem bilangan. Kebiasaan dari kita
sehari-hari berhitung dengan sistem bilangan desimal dimulai dari nol sampai
dengan sembilan. Ada sepuluh lambang bilangan yang digunakan. Entah bagaimana
awalnya. Bisa jadi karena orang dahulu menghitung menggunakan jari tangan yang
jumlahnya sepuluh maka diciptakan sepuluh lambang bilangan.
Benarkah sistem
bilangan hanya desimal. Dalam kehidupan yang lain misalnya didunia digital
ternyata ada sistem bilangan yang lain yaitu sistem dua-an atau lebih populer
dengan sistem biner atau bilangan biner. Kalau bilangan desimal mengenal
sepuluh lambang maka bilangan biner hanya terdapat dua lambang. Sistem bilangan
yang lain yaitu satuan memiliki hanya satu lambang bilangan. Entah apa nama
sistem ini, tetapi sistem yang terakhir ini cukup populer. Biasanya digunakan
untuk menghitung score suatu pertandingan. | mewakili satu, || mewakili dua,
|||| mewakili empat, |||| mewakili lima, |||| |||| untuk
sepuluh dan seterusnya.
Bilangan desimal
memiliki sempuluh lambang bilangan yaitu:
Nol diwakili oleh
lambang 0
Satu diwakili oleh
lambang 1
Dua diwakili oleh
lambang 2
Tiga diwakili oleh
lambang 3
Empat diwakili oleh lambang
4
Lima diwakili oleh
lambang 5
Enam diwakili oleh
lambang 6
Tujuh diwakili oleh
lambang 7
Delapan diwakili oleh lambang
8
dan
Sembilan diwakili oleh lambang 9.
Menulis bilangan
misalnya sepuluh dengan basis desimal ditulis dengan lambang 10, dua belas
ditulis dengan lambang 12 dan seterusnya.
Umumnya sistem
bilangan selain yang berbasis puluhan atau desimal tetap mengunakan lambang
bilangan yang sudah ada yaitu 0 – 9. Bagaimana jika basis bilangannya lebih
dari sepuluh? Solusinya adalah menggunakan lambang yang lain. Misalnya bilangan
berbasis hexa atau berbasis enam belas menggunakan lambang 0 – 9, A, B, C, D, E
dan F. Bolehkah menggunakan lambang yang lain selain yang sudah ada?
Boleh-boleh saja tetapi tidak ada yang mengerti. Jika ini terjadi pada saat
ujian bisa dipastikan akan mendapat nilai NOL.
Bagaimana
menuliskan bilangan untuk angka yang melebihi jumlah lambang bilangannya?
Caranya yaitu menggunakan lambang kembali dari awal tetapi didepannya diberi
semacam indek, misalnya untuk basis bilangan enam belas maka setelah F adalah
10, 11.... 1F, 20, 21 dan seterusnya.
KONVERSI BILANGAN
Mengkonversi sistem
bilangan desimal menjadi bilangan sistem yang lain adalah membagi bilangan
desimal dengan basis yang baru dan mengambil modulusnya (sisa pembagiannya)
berturut-turut sampai didapat modulusnya kurang dari basisnya. Menulis modulus
mulai dari yang terakhir sampai ke modulus yang pertama berderet dari kiri
kekanan, hasilnya adalah bilangan dengan basis yang baru.
Sebagai contoh yang
paling mudah desimal menjadi biner. 30 desimal menjadi biner:
30 : 2
------- sisa 0 > angka
kelima/ terakhir (paling kanan)
15 : 2
------- sisa 1 > angka
keempat
7 : 2
------- sisa 1 > angka ketiga
3 : 2
------- sisa 1 > angka kedua
1 : 2
------- sisa 1 > angka
pertama (paing kiri)
0
Modulus atau sisa
pembagian mulai dari angka pertama disusun kekanan sampai angka terakhir
menjadi: 1 1 1 1 0
Maka 30 desimal
sama dengan 1 1 1 1 0 biner
Cara mengkonversi
desimal ke basis yang lain sama.
Untuk mengkonversi
bilangan biner menjadi bilangan desimal adalah dengan cara mengganti angka 1
dengan angka 2 dan pangkat jumlah butir/ bit bilangan disebelah kanan yang
diberi angka 2. Contoh bilangan 1 1 1 0 1 menjadi desimal:
Angka pertama: 1,
jumlah bit disebelah kanan angka pertama adalah 4 maka : angka 1 pertama
diganti menjadi 24 = 16
Angka kedua: 1,
jumlah bit disebelah kanan angka kedua adalah 3, maka : angka 1 kedua diganti
menjadi 23 = 8,
demikian juga
dengan angka berikutnya:
Angka ketiga: 22
= 4
Angka keempat 0
diabaikan
Angka kelima: 1,
jumlah bit disebelah kanan angka kelima adalah 0 maka 20 = 1
Selanjutnya
jumlahkan semua angka: 16 + 8 + 4 + 1 = 29
Maka 1 1 1 0 1
biner sama dengan 29 desimal.
BILANGAN BINER DAN BILANGAN HEXA
Kedua jenis
bilangan ini mendapat perhatian khusus karena bilangan ini yang selalu
digunakan dalam dunia digital. Bilangan biner selalu digunakan dalam rangkaian
digital murni, sedangkan bilangan hexa banyak digunakan dalam bidang
pemrograman digital.
Seperti disebut
pada bagian sebelumnya, bilangan biner atau berbasis dua memiliki dua buah
lambang bilangan yaitu 0 dan 1 sedangkan bilangan hexa memiliki enam belas
lambang bilangan. Mengapa bilangan biner dan hexa, itu karena bilangan biner
yang apabila nilainya besar akan sangat panjang dan menyulitkan. Akan lebih
mudah dengan direpresentasikan dengan bilangan hexa. Karena bilangan hexa untuk
setiap angkanya mewakili empat butir angka (bit) biner maka akan lebih mudah
dengan mengganti setiap empat bit bilangan biner menjadi angka hexa. Bagaimana
itu bisa terjadi? Kita lihat tabel perbandingan seperti berikut.
Desimal
|
Biner
|
Hexa
|
0
|
0
|
0
|
1
|
1
|
1
|
2
|
10
|
2
|
3
|
11
|
3
|
10
|
1010
|
A
|
15
|
1111
|
F
|
16
|
1 0000
|
10
|
31
|
1 1111
|
1F
|
32
|
10 0000
|
20
|
65
|
100 0001
|
41
|
127
|
111 1111
|
7F
|
255
|
1111 1111
|
FF
|
Dari tabel
perbandingan diatas, mengkonversi bilangan biner menjadi hexa sangatlah mudah.
Kita hanya cukup menghafal perbandingan hexa dan biner 0 sampai dengan F.
Mengubah biner menjadi hexa dengan memisahkan setiap empat bit dari kanan
kekiri kemudian setiap empat bit tersebut dikonversi menjadi hexa. Sebagai
contoh 111 1111. Angka 111 biner pertama sama dengan 7 hexa, angka 1111 biner
berikutnya sama dengan F. Hasilnya 111 1111 biner sama dengan hexa 7F. Angka
terakhir ini bagi kebanyakan programer sangat membantu. Bayangkan jika angka
biner nilainya jutaan. Kita akan pusing dibuatnya. Tetapi meskipun hexa sangat
membantu dalam penulisan coding dalam program, tetap saja yang terjadi didalam
rangkaian logika adalah angka 0 dan angka 1.