You are on page 1of 3

import java.util.

*;
import java.io.*;
import java.math.*;
class DesimalToBinerCase{
public static void main(String[] args){
int menu=0;
int angka;
String angka2;
boolean keluar=false;
Scanner obj = new Scanner(System.in);
System.out.println("--Program Konversi Bilangan Desimal Ke Biner (Viceversa)--
"+'\n');
System.out.println("1. Konversi Bilangan Desimal Ke Biner");
System.out.println("2. Konversi Bilangan Biner Ke Desimal");
System.out.println("3. Keluar");
System.out.print("-- Pilih Menu ke : ");
menu = obj.nextInt();
switch (menu){
case 1:
System.out.print('\n'+"Bilangan Desimal: ");
angka = obj.nextInt();
DesToBin(angka);
break;
case 2:
System.out.print('\n'+"Bilangan Biner : ");
angka2 = obj.next();
BinToDes(angka2);
break;
case 3:
System.out.println("Terima Kasih");
keluar=true;
break;
default:
System.out.println("Menu yang Anda Masukkan Salah Gan!");
}
}
//FUNGSI-FUNGSINYA
static void DesToBin(int bil){
int mod=0,sisa=0, i=0;
boolean loop=true;
int[] zz = new int[1000];
sisa=bil;
while (loop==true){
sisa = bil%2;
bil= bil/2;
zz[i]=sisa;
i++;
if((bil==0)||(bil==1)){
loop=false;
zz[i]=bil;
}
}
//Cetak Bilangan Biner
System.out.print("Bilangan Biner : ");
for (int a=i; a>=0;a--){
System.out.print(zz[a]);
}
System.out.print('\n');
}
static void BinToDes(String bil){
int[] arr_bil= new int[1000];
String[] st= new String[1000];
double hasil=0,result=0;
int a=0;
char t;
boolean ee=true;
for(int i=0;i<bil.length();i++){
t = bil.charAt(i);
st[i]=Character.toString(t);
//System.out.println(st[i]);
}
for(int i=bil.length()-1; i>=0;i--){
arr_bil[a]=Integer.parseInt(st[i]);
hasil= arr_bil[a]* (Math.pow(2,a));
result=result+hasil;
//ngecek apakah inputan benar ato salah
if((arr_bil[a]!=1)&&(arr_bil[a]!=0)){
ee=false;
break;
}
a++;
}
//exception jika inputan salah
if(ee==false){
System.out.println("Bilangan yg Anda masukkan salah! Bilangan Biner hanya 0 ata
u 1");
}
else{
//konversi double ke integer
int resultIn = (int)result;
System.out.println("Bilangan Desimal : "+resultIn);
}
}
}

You might also like