Latihan soal algoritma Java kali ini akan membahas cara konversi angka desimal ke angka biner. Materi ini berhubungan dengan logika matematika, array, serta konsep perulangan for.
Soal Konversi Bilangan Desimal ke Biner
Buatlah kode program Java yang menerima satu inputan angka desimal (basis 10), dan menampilkan output dalam bentuk angka biner (basis 2).
Berikut contoh tampilan akhir yang diinginkan (1) :
Input angka desimal: 24 Angka binernya adalah: 11000
Berikut contoh tampilan akhir yang diinginkan (2) :
Input angka desimal: 1234 Angka binernya adalah: 10011010010
Tips Membuat Kode Program Konversi Desimal ke Biner
Soal konversi desimal ke biner ini melatih pemahaman terkait logika matematika, tipe data array dan konsep perulangan (looping). Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian dan Cara Penulisan Variabel Bahasa Java
- Tipe Data Integer Bahasa Java
- Tipe Data Array Bahasa Java
- Perulangan FOR Bahasa Java
- Jenis-jenis Operator Aritmatika Bahasa Java
Pemecahan soal ini sangat bergantung ke rumus cara konversi angka desimal menjadi angka biner. Salah satu solusi yang sering dipakai adalah menyimpan sisa hasil bagi dengan angka 2 hingga tidak ada lagi yang bisa di bagi.
Sebagai contoh, berapa angka biner dari 25 desimal? berikut rumusnya =
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
Baca angka sisa dari bawah ke atas = 11001, maka 25 desimal = 11001 biner.
Contoh lain, berapa angka binar dari 123?
123/2 = 61, sisa 1 61/2 = 30, sisa 1 30/2 = 15, sisa 0 15/2 = 7, sisa 1 7/2 = 3, sisa 1 3/2 = 1, sisa 1 1/2 = 0, sisa 1
Baca angka sisa dari bawah ke atas = 1111011, maka 123 desimal = 1111011 biner.
Di dalam kode program nanti, kita perlu perulangan untuk mencari angka sisa. Karena angkanya cukup banyak, bisa disimpan ke dalam array. Kemudian proses pembacaan array harus dilakukan dari angka terakhir dengan perulangan menurun.
Kode Program Java Konversi Desimal ke Biner
Berikut salah satu solusi dari soal konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Java:
import java.util.Scanner; class KonversiBiner { public static void main(String args[]){ Scanner input = new Scanner(System.in); System.out.println("## Program Java Konversi Desimal ke Biner ##"); System.out.println("=============================================="); System.out.println(); int[] arr = new int[32]; int n, i; System.out.print("Input angka desimal: "); n = input.nextInt(); for(i=0; n>0; i++){ arr[i] = n%2; n = n/2; } System.out.print("Angka binernya adalah: "); for(i=i-1 ;i>=0 ;i--) { System.out.print(arr[i]); } System.out.println(); } }
Di baris 1 terdapat perintah untuk mengimport class package java.util.Scanner. Class Scanner diperlukan sebagai cara menerima input dalam bahasa Java.
Di baris 12 saya mendeklarasikan variabel arr agar berisi array dari tipe data integer. Karena di set dengan perintah new int[32], maka jumlah maksimum array arr adalah sebanyak 32 element.
Lanjut di baris 13 terdapat deklarasi 2 variabel lain, yakni n dan i. Variabel n dipakai untuk menampung nilai awal (angka desimal yang diinput user), sedangkan i sebagai variabel bantu untuk proses looping atau perulangan.
Perulangan for di baris 18-21 dipakai untuk mencari sisa hasil bagi. Angka sisa ini disimpan ke dalam array arr[i]Â dalam setiap iterasi.
Adapun perulangan for kedua di baris 25-27 berfungsi untuk menampilkan sisa hasil bagi yang tersimpan di dalam array arr. Namun kali ini prosesnya menurun, mulai dari i = i-1, hingga i>=0.
Demikian soal latihan kode program cara konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Java. Semoga bisa bermanfaat.