konversi bilangan desimal ke biner

Postingan kali ini sedikit lain daripada yang sebelumnya, seputar pemrograman java, bahasa pemrograman yang sedang saya pelajari di Jurusan Sistem Informasi ITS. Belum bisa banyak sih, tapi paling tidak bisa menambah referensi bagi teman2 semua dan sekaligus buat pengingat bagi saya sendiri. Program yang akan kita buat kali ini yaitu konversi bilangan desimal ke bilangan biner.

Teman2 semua pasti sudah banyak yang tahu cara mengubah bilangan biner ke desimal, yaitu dengan memanfaatkan operasi pembagian (divide) dan sisa (modulo). Biasanya angka pembagi yang digunakan untuk mengkonversi dari desimal ke biner adalah angka 2. Pembagian akan berhenti jika angka hasil bagi sama dengan 0 atau 1. Contoh : misalkan bilangan desimal 12 mau kita ubah ke bilangan biner, prosesnya adalah sebagai berikut :

12/2 = 6 sisa 0

6/2 = 3 sisa 0

3/2  = 1 sisa 1

Dari proses tersebut, angka biner didapatkan secara terbalik, yaitu dari bawah ke atas, sehingga bilangan biner dari 12 adalah 1100.

Selain dengan menggunakan angka 2 sebagai pembagi, kita bisa menggunakan angka lain untuk mengubah dari bilangan desimal ke biner. Dan ini yang akan kita coba buat program javanya, yaitu dengan menggunakan angka 8, dalam arti kita mengubah bilangan desimal ke bilangan oktal dulu, kemudian dari bilangan oktal kita ubah ke bilangan biner, dengan aturan sebagai berikut :

Jika angka pada bilangan oktal adalah 0—>bilangan binernya adalah “000”

Jika angka pada bilangan oktal adalah 1—>bilangan binernya adalah “001”

Jika angka pada bilangan oktal adalah 2—>bilangan binernya adalah “010”

Jika angka pada bilangan oktal adalah 3—>bilangan binernya adalah “011”

Jika angka pada bilangan oktal adalah 4—>bilangan binernya adalah “100”

Jika angka pada bilangan oktal adalah 5—>bilangan binernya adalah “101”

Jika angka pada bilangan oktal adalah 6—>bilangan binernya adalah “110”

Jika angka pada bilangan oktal adalah 7—>bilangan binernya adalah “111”.

Contohnya sama seperti di atas, dengan menggunakan pembagi angka 8 prosesnya adalah sebagai berikut:

12/8 = 1 sisa 4,
Jadi bilangan oktal dari 12 adalah 14. Nah, kemudian angka 14 oktal ini kita ubah ke biner sesuai aturan di atas, sehingga menjadi 001100 = 1100 (angka nol di depan dihilangkan).

Dari konsep di atas, kode program java-nya adalah sebagai berikut :
=======================================================================

import java.util.*;
 public class desimalBinerz {

public static void main (String [ ] args){

Scanner masukan = new Scanner(System.in);
 long bilangan;
 int sisa;
 int [ ] array = new int [100];
 boolean loop = true;
 int i = 0;

System.out.println("+++Konversi Bilangan Desimal ke Bilangan Biner+++");//header
 System.out.print ("Bilangan Desimal : ");
 bilangan=masukan.nextLong();//memasukkan bilangan desimal

while (loop == true){//mendapatkan bilangan sisa (modulus)
 sisa = (int) (bilangan % 8);
 bilangan = bilangan / 8;
 array [i] = sisa;
 i++;

if (bilangan<8){

loop=false;

array [i] = (int) bilangan;

}

for (int a=i; a>=0; a- -){//menampilkan bilangan sisa dengan konversi dari oktal ke biner
 if (array [a]==0){
 if (array [a]==0 && a==i)
 System.out.print("");
 else
 System.out.print("000");
 }
 if (array [a]==1){
 if (array [a]==1 && a==i)
 System.out.print("1");
 else
 System.out.print("001");
 }
 if (array [a]==2){
 if (array [a]==2 && a==i)
 System.out.print("10");
 else
 System.out.print("010");
 }
 if (array [a]==3){
 if (array [a]==3 && a==i)
 System.out.print("11");
 else
 System.out.print("011");
 }
 if (array [a]==4)
 System.out.print("100");
 if (array [a]==5)
 System.out.print("101");
 if (array [a]==6)
 System.out.print("110");
 if (array [a]==7)
 System.out.print("111");

}

System.out.println();

}
 }

Note : dikutip dan dimodifikasi dari eecorner.wordpress.com.

6 thoughts on “konversi bilangan desimal ke biner

    • oh… biasanya itu gara2 tanda petik mas. Hapus aja terus ketik lagi, semoga bisa jalan. thanks jg ats kunjungannya ya …🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s