Program Sederhana Konversi Desimal Ke Biner Tanpa Array


Ini adalah program sederhana yaitu konversi biner ke desimal tanpa menggunakan Array menggunakan bahasa pemrograman Java.


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package tugasalpro1;

import java.util.Scanner;

/**
 *
 * @author moko
 */

/**
 * program konverter bilangan desimal ke biner
 * dengan cara, pertama kita input kan angka desimal
 * lalu kita cari 2 pangkat n terdekat
 * contoh seperti 17, maka 2 pangkat n terdekat ialah 16 atau 2 pangkat 4
 * setelah itu 17 tadi dikurangkan 16
 * jika masih lebih besar 0, maka tulis 1
 * jika kurang dari 0, ditulis 0
 */
public class DestoBiner {
    public static void main(String[] args) {       
        Scanner input = new Scanner(System.in);
        //inisialiasi
        int angka, cek, k;
        
        //input angka
        System.out.print("input kan nilai desimal : ");
        angka = input.nextInt();
        
        //inisialisasi
        int i=0;
        
        k = angka;
        
       
        //mencari 2 pangkat n
        
     do{
           // k sama dengan k - (2 pangkat i)
           k = (int) (k - Math.pow(2, i));
           
           // i = i+1
           i++;
           
           // diulang selama i <= k          
       }while (i <= k);
     
     //jika k lebih keci 0, maka i = i -1
     if(k < 0){
         i = i -1;
     }
        //i sudah didapat
        
       //i dimasukkan di variabel cek
        cek = i;
        
        System.out.print("bilangan biner dari "+angka+" adalah = ");
        // untuk variabel j = cek, looping selama j lebih besar 0, j = j - 1
        for (int j = cek; j >=0; j--) {
            //jika angka - 2 pangkat j > = 0
            if(angka - Math.pow(2, j) >=0){
                //cetak 1
                System.out.print("1");
                //angka = angka - 2 pangkat j
                angka = (int) (angka - Math.pow(2, j));
            }else{
                //cetak 0
                System.out.print("0");
                
            }
        }
        System.out.println("");
    }
}

1 komentar: