Latihan Kode Program Java: Cara Konversi Desimal ke Biner

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:

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();
  
  }
}
Agar bisa berjalan, simpan kode diatas ke dalam file KonversiBiner.java, lalu compile dengan perintah javac KonversiBiner.java dan jalankan (run) dengan perintah java KonversiBiner. Panduan lebih lengkap bisa ke Cara Menjalankan kode Program Java (Proses Compile).

Latihan Kode Program Java - Cara Konversi Desimal ke Biner

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.

Dalam kode ini saya mendefenisikan array penampung angka biner sebagai arr[32], sehingga maksimal angka yang bisa dikonversi adalah 232 – 1 = 4.294.967.295 desimal, atau setara dengan biner 1111 1111 1111 1111 1111 1111 1111 1111. Jika anda ingin mengkonversi angka yang lebih besar, silahkan tambah besar array arr menjadi arr[64], arr[128], atau lebih besar lagi.

Demikian soal latihan kode program cara konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Java. Semoga bisa bermanfaat.

Add Comment