Skip to content

Instantly share code, notes, and snippets.

@dhanyn10
Created January 28, 2018 05:39
Show Gist options
  • Save dhanyn10/b46074eb4184395733cd1de86b7d454c to your computer and use it in GitHub Desktop.
Save dhanyn10/b46074eb4184395733cd1de86b7d454c to your computer and use it in GitHub Desktop.
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