Konversi Bilangan Desimal, Biner, Oktal dan Heksadesimal
Pada momen yang berbahagia ini, saya ingin coba menjabarkan tahap2 sederhana proses konversi bilangan desimal, biner, oktal dan heksadesimal.
Bilangan desimal adalah bilangan yang menggunakan 10 angka mulai 0 sampai 9 berturut2. Setelah angka 9, maka angka berikutnya adalah 10, 11, 12 dan seterusnya. Bilangan desimal disebut juga bilangan berbasis 10. Contoh penulisan bilangan desimal : 1710. Ingat, desimal berbasis 10, maka angka 10-lah yang menjadi subscript pada penulisan bilangan desimal.
Bilangan biner adalah bilangan yang hanya menggunakan 2 angka, yaitu 0 dan 1. Bilangan biner juga disebut bilangan berbasis 2. Setiap bilangan pada bilangan biner disebut bit, dimana 1 byte = 8 bit. Contoh penulisan : 1101112.
Bilangan oktal adalah bilangan berbasis 8, yang menggunakan angka 0 sampai 7. Contoh penulisan : 178.
Bilangan heksadesimal, atau bilangan heksa, atau bilangan basis 16, menggunakan 16 buah simbol, mulai dari 0 sampai 9, kemudian dilanjut dari A sampai F. Jadi, angka A sampai F merupakan simbol untuk 10 sampai 15. Contoh penulisan : C516.
Hmm.. Sepertinya prolognya sudah cukup. Lanjut ke proses kalkulasi…
—————————————————————————————————————————————-
Saya langsung saja ambil sebuah contoh bilangan desimal yang akan dikonversi ke biner. Setelah itu, akan saya lakukan konversi masing2 bilangan desimal, biner, oktal dan heksadesimal.
Misalkan bilangan desimal yang ingin saya konversi adalah 2510.
Maka langkah yang dilakukan adalah membagi tahap demi tahap angka 2510 tersebut dengan 2, seperti berikut :
25 : 2 = 12,5
Jawaban di atas memang benar, tapi bukan tahapan yang kita inginkan. Tahapan yang tepat untuk melakukan proses konversi ini sebagai berikut :
25 : 2 = 12 sisa 1. —–> Sampai disini masih mengerti kan?
Langkah selanjutnya adalah membagi angka 12 tersebut dengan 2 lagi. Hasilnya sebagai berikut :
12 : 2 = 6 sisa 0. —–> Ingat, selalu tulis sisanya.
Proses tersebut dilanjutkan sampai angka yang hendak dibagi adalah 0, sebagai berikut :
25 : 2 = 12 sisa 1.
12 : 2 = 6 sisa 0.
6 : 2 = 3 sisa 0.
3 : 2 = 1 sisa 1.
1 : 2 = 0 sisa 1.
0 : 2 = 0 sisa 0…. (end)
Nah, setelah didapat perhitungan tadi, pertanyaan berikutnya adalah, hasil konversinya yang mana? Ya, hasil konversinya adalah urutan seluruh sisa-sisa perhitungan telah diperoleh, dimulai dari bawah ke atas.
Maka hasilnya adalah 0110012. Angka 0 di awal tidak perlu ditulis, sehingga hasilnya menjadi 110012. Sip?
—————————————————————————————————————————————-
Lanjut…..sekarang saya akan menjelaskan konversi bilangan desimal ke oktal.
Proses konversinya mirip dengan proses konversi desimal ke biner, hanya saja kali ini pembaginya adalah 8. Misalkan angka yang ingin saya konversi adalah 3310. Maka :
33 : 8 = 4 sisa 1.
4 : 8 = 0 sisa 4.
0 : 8 = 0 sisa 0….(end)
Hasilnya? Coba tebak…418!!!
—————————————————————————————————————————————-
Sekarang tiba waktunya untuk mengajarkan proses konversi desimal ke heksadesimal…
Seperti biasa, langsung saja ke contoh. Hehe…
Misalkan bilangan desimal yang ingin saya ubah adalah 24310. Untuk menghitung proses konversinya, caranya sama saja dengan proses konversi desimal ke biner, hanya saja kali ini angka pembaginya adalah 16. Maka :
243 : 16 = 15 sisa 3.
15 : 16 = 0 sisa F. —-> ingat, 15 diganti jadi F..
0 : 16 = 0 sisa 0….(end)
Nah, maka hasil konversinya adalah F316. Mudah, bukan?
—————————————————————————————————————————————-
Fiuh..Lanjut lagi…
Sekarang kita beralih ke konversi bilangan biner ke desimal. Proses konversi bilangan biner ke bilangan desimal adalah proses perkalian setiap bit pada bilangan biner dengan perpangkatan 2, dimana perpangkatan 2 tersebut berurut dari kanan ke kiri bit bernilai 20 sampai 2n.
Langsung saja saya ambil contoh bilangan yang merupakan hasil perhitungan di atas, yaitu 110012. Misalkan bilangan tersebut saya ubah posisinya mulai dari kanan ke kiri menjadi seperti ini.
1
0
0
1
1
Nah, saatnya mengalikan setiap bit dengan perpangkatan 2. Ingat, perpangkatan 2 tersebut berurut mulai dari 20 sampai 2n, untuk setiap bit mulai dari kanan ke kiri. Maka :
1 ——> 1 x 20 = 1
0 ——> 0 x 21 = 0
0 ——> 0 x 22 = 0
1 ——> 1 x 23 = 8
1 ——> 1 x 24 = 16 —> perhatikan nilai perpangkatan 2 nya semakin ke bawah semakin besar
Maka hasilnya adalah 1 + 0 + 0 + 8 + 16 = 2510.
Nah, bandingkan hasil ini dengan angka desimal yang saya ubah ke biner di awal tadi. Sama bukan?
—————————————————————————————————————————————-
Sudah ini, sudah itu, sekarang….nah, konversi bilangan biner ke oktal. hehe…siap?
Untuk merubah bilangan biner ke bilangan oktal, perlu diperhatikan bahwa setiap bilangan oktal mewakili 3 bit dari bilangan biner. Maka jika kita memiliki bilangan biner 1101112 yang ingin dikonversi ke bilangan oktal, langkah pertama yang kita lakukan adalah memilah-milah bilangan biner tersebut, setiap bagian 3 bit, mulai dari kanan ke kiri, sehingga menjadi seperti berikut :
110 dan 111
Sengaja saya buat agak berjarak, supaya lebih mudah dimengerti. Nah, setelah dilakukan proses pemilah2an seperti ini, dilakukan proses konversi ke desimal terlebih dahulu secara terpisah. 110 dikonversi menjadi 6, dan 111 dikonversi menjadi 7. Hasilnya kemudian digabungkan, menjadi 678, yang merupakan bilangan oktal dari 1101112…
“Tapi, itu kan kebetulan bilangan binernya pas 6 bit. Jadi dipilah2 3 pun masih pas. Gimana kalau bilangan binernya, contohnya, 5 bit?” Hehe…Gampang..Contohnya 110012. 5 bit kan? Sebenarnya pemilah2an itu dimulai dari kanan ke kiri. Jadi hasilnya 11 dan 001. Ini kan sebenarnya sudah bisa masing2 diubah ke dalam bentuk desimal. Tapi kalau mau menambah kenyamanan di mata, tambahin aja 1 angka 0 di depannya. Jadi 0110012. Tidak akan merubah hasil perhitungan kok. Tinggal dipilah2 seperti tadi. Okeh?
—————————————————————————————————————————————-
Selanjutnya adalah konversi bilangan biner ke heksadesimal.
Hmm…sebagai contoh, misalnya saya ingin ubah 111000102 ke bentuk heksadesimal. Proses konversinya juga tidak begitu rumit, hanya tinggal memilahkan bit2 tersebut menjadi kelompok2 4 bit. Pemilahan dimulai dari kanan ke kiri, sehingga hasilnya sbb :
1110 dan 0010
Nah, coba lihat bit2 tersebut. Konversilah bit2 tersebut ke desimal terlebih dahulu satu persatu, sehingga didapat :
1110 = 14 dan 0010 = 2
Nah, ingat kalau 14 itu dilambangkan apa di heksadesimal? Ya, 14 dilambangkan dengan E16.
Dengan demikian, hasil konversinya adalah E216.
Seperti tadi juga, gimana kalau bilangan binernya tidak berjumlah 8 bit? Contohnya 1101012? Yaa…Seperti tadi juga, tambahin aja 0 di depannya. Tidak akan memberi pengaruh apa2 kok ke hasilnya. Jadi setelah ditambah menjadi 001101012. Selanjutnya, sudah gampang kan?
—————————————————————————————————————————————-
Selanjutnya, konversi bilangan oktal ke desimal. Hal ini tidak terlalu sulit. Tinggal kalikan saja setiap bilangan dengan perpangkatan 8. Contoh, bilangan oktal yang akan dikonversi adalah 718. Maka susunannya saya buat menjadi demikian :
1
7
dan proses perkaliannya sbb :
1 x 80 = 1
7 x 81 = 56
Maka hasilnya adalah penjumlahan 1 + 56 = 5710.
—————————————————————————————————————————————-
Habis konversi oktal ke desimal, maka saat ini giliran oktal ke biner. Hehe..
Langsung ke contoh. Misalkan saya ingin mengubah bilangan oktal 578 ke biner. Maka langkah yang saya lakukan adalah melakukan proses konversi setiap bilangan tersebut masing2 ke 3 bit bilangan biner. Nah, angka 5 jika dikonversi ke biner menjadi….? 1012. Sip. Nah, 7, jika dikonversi ke biner menjadi…? 1112. Mantap. Maka hasilnya adalah 1011112. Jamin benar deh….
—————————————————————————————————————————————-
Hmm…berarti…sekarang giliran konversi oktal ke heksadesimal.
Untuk konversi oktal ke heksadesimal, kita akan membutuhkan perantara, yaitu bilangan biner. Maksudnya? Maksudnya adalah kita konversi dulu oktal ke biner, lalu konversikan nilai biner tersebut ke nilai heksadesimalnya. Nah, baik yang konversi oktal ke biner maupun biner ke heksadesimal kan udah dijelaskan. Coba buktikan, bahwa bilangan oktal 728 jika dikonversi ke heksadesimal menjadi 3A16. Bisa kan? Bisa dong…
—————————————————————————————————————————————-
Selanjutnya adalah konversi bilangan heksadesimal ke desimal.
Untuk proses konversi ini, caranya sama saja dengan proses konversi biner ke desimal, hanya saja kali ini perpangkatan yang digunakan adalah perpangkatan 16, bukan perpangkatan 2. Sebagai contoh, saya akan melakukan konversi bilangan heksa C816 ke bilangan desimal. Maka saya ubah dulu susunan bilangan heksa tersebut, mulai dari kanan ke kiri, sehingga menjadi sebagai berikut :
8
C
dan kemudian dilakukan proses perkalian dengan perpangkatan 16, sebagai berikut :
8 x 160 = 8
C x 161 = 192 ——> ingat, C16 merupakan lambang dari 1210
Maka diperolehlah hasil konversinya bernilai 8 + 192 = 20010.
—————————————————————————————————————————————-
Tutorial berikutnya, konversi dari heksadesimal ke biner.
Dalam proses konversi heksadesimal ke biner, setiap simbol dalam heksadesimal mewakili 4 bit dari biner. Misalnya saya ingin melakukan proses konversi bilangan heksa B716 ke bilangan biner. Maka setiap simbol di bilangan heksa tersebut saya konversi terpisah ke biner. Ingat, B16 merupakan simbol untuk angka desimal 1110. Nah, desimal 1110 jika dikonversi ke biner menjadi 10112, sedangkan desimal 710 jika dikonversi ke biner menjadi 01112. Maka bilangan binernya adalah 101101112, atau kalau dibuat ilustrasinya seperti berikut ini :
B 7 —-> bentuk heksa
11 7 —-> bentuk desimal
1011 0111 —-> bentuk biner
Hasilnya disatukan, sehingga menjadi 101101112. Understood?
—————————————————————————————————————————————-
Yang terakhir adalah konversi heksadesimal ke oktal.
Nah, sama seperti konversi oktal ke heksadesimal, kita membutuhkan bantuan bilangan biner. Lakukan terlebih dahulu konversi heksadesimal ke biner, lalu konversikan nilai biner tersebut ke oktal. Sebagai latihan, buktikan bahwa nilai heksadesimal E716 jika dikonversi ke oktal menjadi 3478. Hehe…Kamu bisa!!!
—————————————————————————————————————————————-
Kalau ada yang salah tulis, atau ada yg ‘kayaknya aneh’, ato apa aja deh… silahkan berkomentar…
medisonsimbolon
July 11, 2008 at 11:29 am
ajarin saya ya bagaimana caranya
4,095 desimal sagar dapat menjadi bilangan heksa desimal???????????????????????????????????
yosi
October 6, 2008 at 8:21 pm
udah saya balas tuh ke emailnya.. mudah2an berguna…
medisonsimbolon
October 11, 2008 at 9:54 pm
mas…
saya mahasiswa baru di universitas bhayangkara surabaya…
saya kepingin jadi progremer sekaligus disainer web mas…
bimbing saya mas yaaa….
achmad
October 18, 2008 at 2:59 pm
sebisa saya pasti saya bantu kok…
medisonsimbolon
October 20, 2008 at 7:59 pm
mas gimana bila konversi bilangan desimal ini penerapany dalam c++.kan ga ditentuin tu berapa kali pembagiannya hingga nilai terakhir=0.
terus bagaimana bila hsl akhr |= 0.karena rekadang 2 pangkat 0 dipakai hingga brnilai 1
harpan
October 28, 2008 at 1:05 am
ou. . .iya mas lupa, bagaimana bila jumlah digit nya ditentuin ,dan lebuh besar/banyak dari pada bilangan desimalnya.
contoh:tentukan 8 digit bilangan biner untuk bilangan desimal 8(dalam program)
ma kasih ya mas. . .
harpan
October 28, 2008 at 1:25 am
udah saya posting tuh jawabannya.. coba aja dicek..
medisonsimbolon
October 31, 2008 at 7:46 pm
Kalo boleh nyaran, boleh lah ditambah bilangan BCD.
Thanks.
Chandra MDE
http://telinks.wordpress.com
chandramde
November 25, 2008 at 3:43 pm
sudah saya posting mas.. coba dicek di http://medisonsimbolon.wordpress.com/2008/11/28/bcd-binary-coded-decimal/
medisonsimbolon
November 28, 2008 at 10:52 pm
Maaf ya mas medison, mau tny gmn kalo konversi bilangan biner maupun lainnya yg menggunakan koma?
Trims..
Andhika
December 7, 2008 at 8:41 pm
Kalau Bilangan 5 bilangan desimal di konversi ke hexsadecimal brp hasilnya ya..???
Hebron
December 9, 2008 at 10:16 am
Andhika : Coba dilihat di postingan saya yang berjudul “Konversi Bilangan Pecahan Desimal, Biner, Oktal dan Heksadesimal”. Mudah2an bisa membantu..
Hebron : Heksadesimal kan dibagi 16 tuh. Jadi, 5 : 16 = 0 sisa 5. Maka hasilnya tetap 5h..
medisonsimbolon
December 10, 2008 at 8:30 pm
makasih mas..lebih komplit daripada courseware saya..selesai deh tugas ngonversinya..mksh yaaa
cheuw
January 5, 2009 at 12:04 am
sama2… senang bisa membantu..
medisonsimbolon
January 6, 2009 at 8:01 pm
om dison klo ad tolong ajarin sekalian yang penjumlahan bilangan biner perkalian sm yang perkalian-ny jg donk..
^^ ..
Laharl
January 7, 2009 at 2:11 pm
Untuk penjumlahan, sama aja dengan penjumlahan bilangan desimal biasa. Hanya saja, di biner, 1 + 1 = 10. Itu bukan 10 desimal, tp 10 biner. Jadi kalau dikonversi ke desimal, nilainya jadi 4.
Contoh :
101 + 010 = 111.
010 + 110 = 1000.
Untuk perkalian, tetap saja sama dengan perkalian desimal.
1 x 1 = 1.
0 x 0 = 0.
1 x 0 = 0. —> semuanya sama bukan?
Dengan modal rumus2 di atas, harusnya sudah bisa mengerjakan contoh berikut :
10 x 11 = 110.
11 x 11 = 1001.
101 x 100 = 10100.
Ok? Mudah2an bisa membantu…
Oya, jgn panggil OM dong.. Panggil nama aja juga boleh kok. Umur masih di bawah 25 nih.. Hehe..
medisonsimbolon
January 9, 2009 at 11:21 pm
Mas Bisa Minta tolong gak??
bisa membuat penjumlahan bilangan biner pake c++ atau program lain??
Kalo bisa tolong kirimkan ke email saya ya???
sebelumnya terima kasih…….
jothankz
February 22, 2009 at 9:01 pm
Saya mau nanya kalo 0810520079 dikonversi ke biner,heksa,oktal,bilangan basis 5(Radix5) brapa dan gimana langkahnya……………………????????????????????????????????
Tolong dikirim ke email saya…….
Nettrezz
March 25, 2009 at 11:18 am
tolongin tugas saya ya mas
* konversikan ke dalam decimal, binary, hexa decimal
65454237, 741231656
* FF1
E2
—–x
tolong ya mas,
ovenk
March 25, 2009 at 2:40 pm
@ Nettrezz & ovenk :
Sip?
Wah Mas/Mbak, tinggal baca aja yg udah saya terangkan di atas.. Gampang kok. Buktinya liat aja komentar2 yg sebelumnya. Jgn saya yg disuruh kerjain dong.. Hehe.
medisonsimbolon
March 25, 2009 at 11:08 pm
mangstab
komplit tutor nya
rajim
August 6, 2009 at 11:02 am
mana yang pacahan desimal nya???? kasih tau donk………..
nalen666
August 25, 2009 at 4:17 pm
udah tuh.. judulnya konversi bilangan pecahan desimal ke heksa.
cek aja..
medisonsimbolon
August 25, 2009 at 9:28 pm
Terima kasih banyak Pak. Jadi mengingatkan saya.. Kebetulan sekarang saya sedang mengajarkannya untuk siswa saya..
fxekobudi
August 26, 2009 at 10:34 pm
Sama2, Pak.. Senang bisa membantu..
medisonsimbolon
August 27, 2009 at 10:32 pm
@Yosi
Lu Ngerti yang Namanya Desimal kga ???
skarang gw tanya 4,095 = Desimal ??
Yang Namanya Desimal ga pake (koma) bos…
Desimal itu adlh Semua Bilangan Bulat yang meliputi angka 0-9…
Mysterious
September 15, 2009 at 4:16 pm
@Mysterious
Mas, kalau yang tidak pakai koma itu, namanya ‘bilangan bulat’. Kalau ‘bilangan desimal’, bisa bulat, bisa pecahan. Ok?
Tadinya saya tidak mau approve komentar dari Mas, tapi kayaknya lebih baik ditampilkan. Supaya tidak salah lagi..
Lain kali, kurangi keinginan untuk cepat2 mengkritik orang lain. Malu lo, kalau kita ribut2, tau2 kita yang salah.
medisonsimbolon
September 16, 2009 at 11:13 pm
wah,, makasih banyak yach.. saya baru masuk smster 1, makannya butuh bgt nih,,, dasar2 gini… makasih bgt ^_^
komang (unikom)
September 27, 2009 at 5:25 pm
sama2.. saya juga cuma bisa dasar2 aja..
medisonsimbolon
September 27, 2009 at 7:45 pm
mkasi bgt y
blognya
ngbantu bgt nyelesein tgs osjur
rahma
October 12, 2009 at 6:00 pm
kk yg baik ati…
mau tny ini..
kok smua blg biner/oktal/heksadesimal menggunakan awalan 0??
gmn cerita awalnya???
oh iya, mau tny lg ne…
asal muasal konversi bilangan itu ap??
sp penciptanya? trus tujuan dari adanya konversi bilangan ap??
thx kk yg baik bt jawabannya…
mohon dijawab dgn cpet y kk, soalnya saya ad presentasi 1 hr lg…
terimakasih…..
suhadi
November 9, 2009 at 9:43 pm
@suhadi:
Biasanya bilangan2 itu direpresentasikan dalam 1 byte. 1 byte itu terdiri dari 8 bit. Jadi, kalau misalnya bilangan binernya terdiri dari 3 bit, seperti 111, direpresentasikan jadi 00000111. Bilangan 0 di depan itu tidak memberi pengaruh apa2, jadi kalau ditulis banyak2 juga ga masalah. Sama saja tuh, sebenarnya.
Mengenai asal muasal, supaya referensinya lebih jelas, coba dilihat di wikipedia. Alamatnya di http://en.wikipedia.org/wiki/Binary_numeral_system
Ok? Semoga membantu..
medisonsimbolon
November 10, 2009 at 8:49 am