Format bilangan komputer

Di dalam dunia komputer, terdapat **empat format bilangan**, yaitu bilangan biner, oktal, desimal dan heksadesimal. Bilangan biner atau *binary* digit (bit) adalah bilangan yang terdiri dari 1 dan 0. Bilangan oktal terdiri dari 0,1,2,3,4,5,6 dan 7. Sedangkan bilangan desimal terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8 dan 9. Dan bilangan heksadesimal terdiri dari 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E dan F.

## Konversi antarbasis bilangan
Bahasa komputer baik biner, oktal, desimal dan heksadesimal saling berkaitan satu sama lain. Untuk menjadikan basis bilangan tertentu menjadi bilangan dengan basis yang lain digunakanlah konversi bilangan. 

Konversi dari desimal ke non-desimal, hanya mencari sisa pembagiannya saja. Dan konversi dari non-desimal ke desimal adalah:

* Mengalikan bilangan dengan angka basis bilangannya.
* Setiap angka yang bernilai satuan, dihitung dengan pangkat NOL (0). Digit puluhan, dengan pangkat SATU (1), begitu pula dengan digit ratusan, ribuan, dan seterusnya. Nilai pangkat selalu bertambah satu point.

### Konversi biner ke oktal
Metode ini dilakukan dengan cara membagi digit biner tersebut kedalam tiga digit dari kanan (dari digit angka paling belakang). Dengan kata lain pengelompokkannya berdasarkan 3 bit saja.

contoh soal:
1010 (2) = ......(8)
? Solusi:
Ambil tiga digit terbelakang dahulu.
010(2) = **2**(8)
Sedangkan sisa satu digit terakhir, tetap bernilai **1**.
Hasil akhirnya adalah: **12**. Mengapa hasilnya bukan 21? Karena sisa satu digit terakhir yang harus ditulis dulu.

### Konversi biner ke heksadesimal
Metode konversinya hampir sama dengan Biner ke Oktal. Namun pengelompokkannya sejumlah 4 bit. Empat kelompok bit paling kanan adalah posisi satuan, empat bit kedua dari kanan adalah puluhan, dan seterusnya.
Contoh:
11100011(2) = ......(16)

Solusi:
kelompok bit paling kanan: 0011 = 3
kelompok bit berikutnya: 1110 = E
. Hasil konversinya adalah: **E3**(16) . **Digit heksadesimal yang ditulis dulu.</sub>

=== Konversi biner ke desimal ===
Cara atau metode ini sedikit berbeda.
Contoh: 11,10<sub>(2)</sub> = ......<sub>(10)</sub>
diuraikan menjadi:
(1x2<sup>3</sup>)+(1x2<sup>2</sup>)+(1x2<sup>1</sup>)+(0x2<sup>0</sup>) = 8+ 4 + 2 + 0 =14

Angka **2** dalam perkalian adalah basis ''biner''-nya. Sedangkan pangkat yang berurut, menandakan pangkat **0** adalah satuan, pangkat **1** adalah puluhan, dan seterusnya.


Konversikan bilangan dibawah ini:

Dari biner ke desimal : 

a. 11000000

b. 10110001

Dari oktal ke desimal : 

a. 1325100000

=== Konversi oktal ke biner ===
Sebenarnya, untuk konversi basis ini, haruslah sedikit menghafal tabel konversi utama yang berada di halaman atas. Namun dapat dipelajari dengan mudah. Dan ambillah **tiga** biner saja.
Contoh:
523<sub>(8)</sub> = ......<sub>(2)</sub>
Solusi:
Dengan melihat tabel utama, didapat hasilnya adalah:
3 = 011
2 = 010
5 = 101
Pengurutan bilangan masih berdasarkan posisi satuan, puluhan dan ratusan.
Hasil: **101010011**<sub>(2)</sub>

=== Konversi heksadesimal ke biner ===
Metode dan caranya hampir serupa dengan konversi Oktal ke Biner. Hanya pengelompokkannya sebanyak dua bit. Seperti pada tabel utama.
Contoh:
2A<sub>(16)</sub> = ......<sub>(2)</sub>

Solusi:
* A = 1010,
* 2 = 0010
caranya:
**A=10**
* 10:2=5(0)-->sisa
* 5:2=2(1)
* 2:2=1(0)
* 1:2=0(1)
ditulis dari hasil akhir<br>
hasil:1010
* 2:2=1(0)-->sisa
* 1:2=0(1)
ditulis dari hasil akhir<br>
hasil:010<br>
jadi hasil dan penulisannya **0101010** sebagai catatan angka 0 diawal tidak perlu ditulis.

=== Konversi desimal ke heksadesimal ===
Ada cara dan metodenya, namun bagi sebagian orang masih terbilang membingungkan. Cara termudah adalah, konversikan dahulu dari [[desimal]] ke [[biner]], lalu konversikan dari [[biner]] ke [[heksadesimal]].
Contoh:
75<sub>(10)</sub> = ......<sub>(16)</sub>
Solusi:
75 dibagi 16 = **4** sisa **11** (11 = B).
Dan hasil konversinya: 4c<sub>(16)</sub>

=== Konversi heksadesimal ke desimal ===
Caranya hampir sama seperti konversi dari biner ke desimal. Namun, bilangan basisnya adalah 16.
Contoh:
4B<sub>(16)</sub> = ......<sub>(10)</sub>
Solusi:
Dengan patokan pada tabel diatas, **B** dapat ditulis dengan nilai "**11**".
(4x16<sup>1</sup>)+(11x16<sup>0</sup>) = 64 + 11 = 75<sub>(10)</sub>

=== Konversi desimal ke oktal ===
Caranya hampir sama dengan konversi desimal ke heksadesimal.
Contoh:
25<sub>(10)</sub> = ......<sub>(8)</sub>
Solusi:
25 dibagi 8 = **3** sisa **1'''.
Hasilnya dapat ditulis: 31(8)

25: 8 sisa 1
3 -------- 3
hasilnya adalah 31

### Konversi oktal ke desimal
Metodenya hampir sama dengan konversi heksadesimal ke desimal. Dapat diikuti dengan contoh di bawah ini:
31(8) = ......(10)
Solusi:
(3x81)+(1x80) = 24 + 1 = 25(10)

## Referensi