Heksadesimal dan biner
Walaupun komputer berkomunikasi dengan bilangan biner, tetapi menuliskan bilangan biner dapat sangat menyulitkan untuk manusia.
Misalnya, untuk menuliskan jumlah 8843 sebagai bilangan biner, kita memerlukan 14 karakter: 10001010001011. Dalam hal ini menuliskan 8843
tentunya akan jauh lebih praktis.
Namun ketika kita perlu melakukan konversi dari 8843
ke 10001010001011
dan sebaliknya, kita perlu berpikir agak keras untuk menghitung menggunakan algoritma yang telah kita pelajari sebelumnya.
Ada alternatif sistem basis bilangan yang mudah dikonversi bolak-balik ke bilangan biner. Sistem ini adalah heksadesimal, yaitu sistem lambang bilangan dengan 16 simbol.
Heksadesimal
Heksadesimal adalah sistem lambang bilangan dengan 16 simbol. (Heksa = 6, Desi = 10, Heksadesi = 6+10)
Simbol yang kita gunakan mencakup 10 simbol dalam desimal, yaitu 0 hingga 9:
0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 |
Namun karena heksadesimal memerlukan 16 simbol, berarti daftar ini masih memerlukan 6 simbol tambahan. Simbol yang dipakai adalah huruf A hingga F.
0 | 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | 9 | A | B |
C | D | E | F |
Jadi huruf A (atau lebih tepatnya sekarang angka A) mewakili nilai desimal 10, B mewakili 11, dan seterusnya hingga F mewakili 15.
Hex | Dec | Hex | Dec | |
---|---|---|---|---|
0 | 0 | 8 | 8 | |
1 | 1 | 9 | 9 | |
2 | 2 | A | 10 | |
3 | 3 | B | 11 | |
4 | 4 | C | 12 | |
5 | 5 | D | 13 | |
6 | 6 | E | 14 | |
7 | 7 | F | 15 |
Tabel konversi biner-heksadesimal
Untuk melakukan konversi bilangan biner ke heksadesimal, kita memerlukan tabel konversinya terlebih dahulu.
Pertama, sediakan empat kolom bit.
Isi kolom terkanan dengan 0 dan 1 yang berselang-seling: 0, kemudian 1, kemudian 0 lagi, dan seterusnya.
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 | |||
0 | |||
1 |
Mundur ke kolom sebelumnya, isikan dengan angka 0 dan 1 berselang-seling lagi, tetapi kali ini setiap kemunculannya adalah 2 kali. 0, 0, 1, 1, 0, 0, 1, 1, dan seterusnya.
0 | 0 | ||
0 | 1 | ||
1 | 0 | ||
1 | 1 | ||
0 | 0 | ||
0 | 1 | ||
1 | 0 | ||
1 | 1 | ||
0 | 0 | ||
0 | 1 | ||
1 | 0 | ||
1 | 1 | ||
0 | 0 | ||
0 | 1 | ||
1 | 0 | ||
1 | 1 |
Mundur lagi ke kolom sebelumnya, kali ini selang-selingnya setiap 4 baris.
0 | 0 | 0 | |
0 | 0 | 1 | |
0 | 1 | 0 | |
0 | 1 | 1 | |
1 | 0 | 0 | |
1 | 0 | 1 | |
1 | 1 | 0 | |
1 | 1 | 1 | |
0 | 0 | 0 | |
0 | 0 | 1 | |
0 | 1 | 0 | |
0 | 1 | 1 | |
1 | 0 | 0 | |
1 | 0 | 1 | |
1 | 1 | 0 | |
1 | 1 | 1 |
Berikutnya selang-seling 8 baris.
0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 1 | 1 |
0 | 1 | 0 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 1 | 1 |
1 | 0 | 0 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 1 | 1 |
1 | 1 | 0 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 1 | 1 |
Kalau kamu perhatikan, perubahan banyaknya selang-seling yang dilakukan adalah 1, 2, 4, 8. Setiap kali mundur, selang-selingnya berlipat 2.
Tabel yang terbentuk mewakili bilangan biner dari 0000 hingga 1111.
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Cukup familiar?
Cara pembentukan tabel seperti ini juga digunakan untuk membentuk tabel kebenaran, yaitu daftar kemungkinan kebenaran kalimat majemuk yang terdiri dari 4 anak kalimat.
Lalu bagaimana dengan heksadesimalnya? Kita dapat mengurutkan simbol heksadesimal dari 0,1,2, hingga, F dari atas ke bawah.
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
Jadi dengan modal tabel ini, kamu bisa mulai menjawab pertanyaan:
- Bentuk representasi heksadesimal dari bilangan biner 1101 adalah ... (D)
- Bilangan biner 101 dinyatakan sebagai heksadesimal adalah ... (5)
Konversi heksadesimal lebih dari 1 digit
Contoh
Tuliskan representasi biner dari bilangan heksadesimal 15A.
15A dapat diuraikan berdasarkan tabel tersebut sebagai:
1 | 5 | A |
0001 | 0101 | 1010 |
Jadi bilangan heksadesimal 15A berpadanan dengan bilangan biner 0001 0101 1010. Sama seperti desimal, kita dapat mengabaikan rangkaian 0 paling kiri, sehingga kita juga dapat menuliskannya asebagai 1 0101 1010.
Konversi biner ke heksadesimal
Sebaliknya, kita dapat melakukan konversi bilangan biner ke heksadesimal dengan membalik prosesnya.
Misalnya diberikan bilangan biner 11 0111 1101. Pertama kita dapat memisahkan rangkaian tersebut menjadi sub-rangkaian yang panjangnya 4 digit. Pemisahan ini dilakukan dari kanan (digit satuan).
11 | 0111 | 1101 |
Atau dapat dituliskan dengan menggenapkan menjadi kelipatan 4 bit:
0011 | 0111 | 1101 |
Dengan mencari padanannya pada tabel konversi, kita mendapatkan:
0011 | 0111 | 1101 |
3 | 7 | D |
Bilangan heksadesimal padanannya adalah 37D.
Pengelompokan 4 bit
Dalam bagian sebelumnya telah dijelaskan bahwa cara penulisan bilangan biner yang cukup ramah pembaca adalah dengan membagi rangkaian 1-0 menjadi kelompok-kelompok yang terdiri dari 4 digit. Alasan dari pengelompokan tersebut adalah karena akan sangat memudahkan bagi pembaca untuk melakukan konversi ke heksadesimal.
Latihan
Mengapa kita perlu bilangan heksadesimal?
Komputer menggunakan biner, sementara manusia menggunakan desimal. Lalu mengapa kita masih memerlukan heksadesimal?
Seperti yang telah kita bahas sebelumnya, penulisan menggunakan biner sangatlah panjang dan tidak praktis. Walaupun tidak praktis, komputer hanya memproses bilangan biner.
Agar manusia dan komputer sama-sama senang, kita menggunakan bilangan heksadesimal. Di satu sisi mudah untuk mengonversinya menjadi biner hingga dapat dimengerti komputer, di sisi lain mudah untuk kita menuliskannya.
Tentunya dalam pemrograman kita juga bisa menggunakan desimal secara langsung, tetapi ada hal-hal tertentu yang membuat penggunaan heksadesimal menjadi sangat memudahkan hidup kita.
Berikutnya: Konversi heksadesimal ke desimal