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.
MintA izin Buar DplAjaRI
Program yg anda posting setelah saya compile ternyata masih ada yang eror.
terimah kasih.
oh… biasanya itu gara2 tanda petik mas. Hapus aja terus ketik lagi, semoga bisa jalan. thanks jg ats kunjungannya ya … 🙂
Mas mau tanya soal throw bisa tidak
wah, maaf…saya belum bisa je, masih newbie ini 😀
coba juga ini menggunakan konversi menggunakan stack sebagai refernsi http://guruinformatika.blogspot.com/2014/12/program-java-konversi-bilangan-desimal.html