Halaman

Minggu, 27 Februari 2011

Konversi Desimal ke Biner dengan Java

Pernah suatu saat ada ide pengen buat kalkulator sederhana… dengan tambahan adanya fasilitas buat konversi bilangan desimal ke bilangan biner. Coba eksplorasi ke dalam library java tepatnya pada kelas MATH cari-cari tentang konversi biner ternyata malah gak ketemu. Setelah beberapa lama…akhirnya saya punya inisiatif untuk membuat method konversi bilangan desimal ke biner dengan cara saya sendiri.

Dengan memahami perhitungan secara manual dan rumusnya (bagi yang belum paham rumusnya buka bukunya lagi…n_n)… akhirnya method yang saya buat selesai juga… Sebenarnya membuat method seperti ini gampang-gampang susah… mungkin yang menjadi kendala yaitu “Bagaimana cara kita dalam mengartikan sebuah rumus ke dalam bahasa pemrograman?? ”.

Berikut source code dari method konversi Bilangan desimal ke biner…





protected String toBiner(int angka){
        String hasil = "";
        int temp = 0;
        String biner = "";
        while (angka > 1){
            temp = angka % 2;
            angka = angka / 2;            
            biner = temp + biner;
        }
        biner = angka + biner;
        return hasil = biner;
    }


Keterangan Source Code :

1. Source code diatas merupakan sebuah method yang membutuhkan nilai yang akan dikonversi. Seperti pada sintax protected String toBiner(int angka){..} int angka merupakan sebuah variabel yang nilainya akan dikonversi.
2. Dilanjutkan pada perulangan while (angka > 1){..} yang berarti perulangan akan terus dilakukan selama nilai dari variabel angka masih lebih besar dari 1.
3. Variabel temp mempunyai nilai dari perhitungan sisa hasil bagi pada variabel angka dengan bilangan 2, seperti pada sintax temp = angka % 2;. Kemudian pada sintak angka = angka / 2;.. berarti variabel angka akan terus dibagi dengan 2 selama perulangan berlangsung dan hasilnya akan disimpan di dalam variabel angka itu sendiri.
4. Kemudian pada sintax biner = temp + biner;…… perlu diingat sebelumnya bahwa biner bertipe String jadi tanda “+” bukan berarti menjumlahkan tapi menggabungkan, misal : 2 + 1 hasilnya 21 atau per + gi hasilnya menjadi pergi. Jadi kembali ke sintax sebelumnya, hasil dari penggabungan dari variabel temp dengan variabel biner akan disimpan pada variabel biner itu sendiri.
5. Setelah perulangan selesai sintax biner = angka + biner; akan dijalankan, perlu di ketahui… bahwa variabel angka akan selalu bernilai 1 setelah perulangan selesai. Berdasarkan sintax sebelumnya nilai variabel angka akan digabungkan dengan nilai dari variabel biner dengan posisi variabel angka berada pada bagian kiri dari variabel biner. Hal ini dikarenakan semua bilangan biner pasti di awali dari nilai 1…
6. Sintax return hasil = biner; berarti bahwa method ini mengembalikan nilai.