Created
January 28, 2018 05:39
-
-
Save dhanyn10/b46074eb4184395733cd1de86b7d454c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package biner; | |
import java.util.Scanner; | |
public class binaryku { | |
public static void main(String[] args) { | |
// TODO Auto-generated method stub | |
Scanner scan = new Scanner(System. in ); | |
System.out.println("Masukkan nilai"); | |
int nilai = scan.nextInt(); | |
while (nilai != 0) { | |
int urut = 1, | |
hitung = 0, | |
nilai_keluar_int; | |
String spasi = "", | |
nilai_keluar; | |
//perulangan untuk menentukan jumlah array yang dibutuhkan | |
for (int a = 1; a <= nilai; a++) { | |
if (urut <= nilai) { | |
hitung++; | |
urut *= 2; | |
} else { | |
break; | |
} | |
} | |
int array_urut[] = new int[hitung]; | |
urut = 1; | |
//memasukkan nilai-nilai yang digenerasikan kedalam array | |
for (int b = 0; b < hitung; b++) { | |
if (urut <= nilai) { | |
array_urut[b] = urut; | |
urut *= 2; | |
} else { | |
break; | |
} | |
} | |
hitung -= 1; | |
//mengeluarkan niai keseluruhan | |
for (int c = hitung; c >= 0; c--) { | |
System.out.print(array_urut[c] + " "); | |
} | |
System.out.println(); | |
//bilangan biner yang digenerasikan | |
for (int d = hitung; d >= 0; d--) { | |
if (nilai - array_urut[d] >= 0) { | |
/* supaya lebih menarik dan enak dilihat | |
* sebaiknya diberikan spasi lebih jika nilai | |
* angka yang muncul lebih dari satu digit | |
*/ | |
//pertamakali adalah konversi tiap-tiap bilangan | |
//ke String "nilai_keluar" | |
nilai_keluar = Integer.toString(array_urut[d]); | |
/*hitung jumlah bilangan yang terkonversi | |
*kemudian masukkan hasil perhitungan | |
* ke int "nilai_keluar_int" | |
*/ | |
nilai_keluar_int = nilai_keluar.length(); | |
//gunakan nilai "nilai_keluar_int" | |
//untuk membuat perulangan spasi | |
for (int space = 1; space < nilai_keluar_int; space++) { | |
spasi += " "; | |
} | |
System.out.print(spasi + "1 "); | |
nilai -= array_urut[d]; | |
spasi = ""; | |
} else { | |
nilai_keluar = Integer.toString(array_urut[d]); | |
nilai_keluar_int = nilai_keluar.length(); | |
for (int space = 1; space < nilai_keluar_int; space++) { | |
spasi += " "; | |
} | |
System.out.print(spasi + "0 "); | |
spasi = ""; | |
} | |
} | |
System.out.println("\n" + "masukkan nilai lain: "); | |
nilai = scan.nextInt(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment