Saat kita menggunakan komputer untuk menyimpan atau memproses data, sebenarnya semua informasi yang kita lihat di layar — baik teks, gambar, atau suara — berasal dari sekumpulan angka. Namun komputer tidak menggunakan bilangan desimal (basis 10) seperti yang kita gunakan sehari-hari melainkan menggunakan bilangan biner (basis 2).

Ilustrasi 1
Ilustrasi: Diagram Sistem Bilangan — Desimal, Biner, dan Hexadesimal

Bilangan Desimal

Desimal adalah bilangan yang umum digunakan oleh manusia dalam kehidupan sehari-hari. Bilangan ini disebut berbasis 10 karena mempunyai 10 digit angka yaitu 0 sampai dengan 9. Setiap digit angka mempunyai nilai posisi yang ditentukan oleh pangkat dari 10.

Contoh:

Pada angka 253,

  • Angka 2 menempati posisi ratusan, sehingga nilainya adalah 2 x 102 = 200.
  • Angka 5 menempati posisi puluhan, sehingga 5 x 101 = 50.
  • Angka 3 menempati posisi satuan, sehingga 3 x 100 = 3.

Jadi,

253 = 2 x 102 + 5 x 101 + 3 x 100

= 200 + 50 + 3

= 253.

Bilangan Biner

Biner adalah bilangan berbasis 2 karena hanya memiliki nilai 0 dan 1. Contohnya: 1010112.

Konversi Bilangan Desimal ke Biner

Untuk mengubah bilangan desimal ke biner kita cukup membagi angka desimal tersebut dengan 2 secara terus menerus dan kemudian menyimpan sisa pembagiannya. Misalnya kita ingin mengubah angka 85 ke bilangan biner:

85 : 2 = 42 sisa 1

41 : 2 = 21 sisa 0

20 : 2 = 10 sisa 1

9 : 2 = 5 sisa 0

4 : 2 = 2 sisa 1

1 : 2 = 1 sisa 0

0 : 2 = 0 sisa 1

Baca sisa pembagiannya dari bawah ke atas, sehingga diperoleh nilai bilangan biner dari 84 yaitu 10101012.

Konversi Bilangan Biner ke Desimal

Untuk mengubah bilangan biner ke desimal, setiap digit bilangan — dimulai dari sebelah kanan — dikalikan dengan 2 diberi pangkat 0, 1, 2, dst. Kemudian jumlahkan hasil perkalian tersebut.

Sebagai contoh, kita mempunyai bilangan biner 111102

111102 = 1 x 24 + 1 x 23 + 1 x 22 + 1 x 21 + 0 x 20

= 16 + 8 + 4 + 2 + 0

= 3010.

Bilangan Hexadesimal

Hexadesimal adalah bilangan berbasis 16 yang merupakan bentuk ringkas dari bilangan biner. Karena komputer hanya mengenal bilangan biner, hal ini menyulitkan manusia dalam membaca dan menuliskannya karena terlalu panjang. Untuk mengatasi masalah ini, bilangan hexadesimal digunakan sebagai alternatif yang lebih ringkas dan mudah dipahami.

Bilangan ini terdiri dari 16 digit — 10 digit angka dan 6 digit huruf — yaitu 0-9, A, B, C, D, E, F. Digit A sama dengan 10 pada bilangan desimal, B sama dengan 11, dst.

Konversi Bilangan Desimal ke Hexadesimal

Sama seperti konversi bilangan desimal ke biner, kita cukup membagikan bilangan desimal tersebut dengan 16 secara terus menerus dan menyimpan sisa pembagiannya. Misalnya kita akan mengubah angka 36510 ke hexadesimal:

365 : 16 = 22 sisa 13 22 : 16 = 1 sisa 6 1 : 16 = 0 sisa 1

Baca sisa pembagiannya dari bawah ke atas: 1 → 6 → 13 dan ubah angka yang lebih besar dari 9 menjadi huruf A, B, C, dst. Sehingga, bilangan desimal 36510 dalam hexadesimal adalah 16D16.

Konversi Bilangan Hexadesimal ke Desimal

Setiap digit bilangan hexadesimal — dimulai dari kanan, dan ubah setiap digit huruf menjadi angka dalam desimal — dikalikan dengan 16 diberi pangkat 0, 1, 2, dst. Kemudian jumlahkan hasil perkalian tersebut. Misalnya kita akan mengubah bilangan hexadesimal 92DA16 ke bilangan desimal,

92DA16 = 9 x 163 + 2 x 162 + 13 x 161 + 10 x 160

= 9 x 4096 + 2 x 256 + 13 x 16 + 10 x 1

= 36864 + 512 + 208 + 10

= 37594

Jadi, nilai desimal dari 92DA16 adalah 3759410.

Konversi Bilangan Hexadesimal ke Biner

Untuk mengubah bilangan hexadesimal ke biner, cukup dengan mengubah setiap digit hexadesimal ke 4-bit bilangan biner — 4-bit bilangan disebut dengan nibble. Misalnya kita akan mengubah bilangan hexadesimal 12AB16 ke biner,

1 = 0001

2 = 0010

A (10 dalam desimal) = 1010

B (11 dalam desimal) = 1011

Sehingga, nilai biner dari 12AB16 adalah 0001 0010 1010 10112.

Kesimpulan

Saat ini, banyak tools online yang dapat digunakan untuk konversi antar sistem bilangan. Namun, mengandalkan tools saja tidak akan memberikan pemahaman yang mendalam. Hal ini menjadi sangat penting, terutama jika kita ingin mempelajari bahasa pemrograman tingkat rendah — seperti bahasa assembly — di mana pemahaman dasar dari konsep sistem bilangan merupakan hal yang mutlak.

Sekian, semoga bermanfaat.

CMIIW.

Referensi:

https://pacman128.github.io/static/pcasm-book.pdf