Category Archives: Java
Konversi Bilangan Desimal Ke Biner (Viceversa)
Kmaren pas iseng-iseng liat forum diskusi ada yang nanya konversi bilangan desimal ke biner. Saking iseng dan nganggur ga ada kerjaan ahirnya nyoba bikin programnya (ok, i lied,.. deadline skiripsi udah deket tp blom kelar2 hehe :p), sy bwt pake java (it doesnt use GUI yet) struktur codingnya masih perlu perbaikan (like usual :p)
Bagi yg blum tau logicnya gimana konversi bilangan desimal ke biner ato sebaliknya, uda skalian sy buat ilustrasinya biar gampang dimengerti. Disini sy ambil angka 13 (bad luck?).
Ilustrasi Konversi Bilangan Desimal Ke Biner:
Ket:
warna hijau: bilangan basisnya
warna biru: bilangan biner (ditulis dari bawah ke atas)
Distribusi Bilangan + Grafik
iseng-iseng posting soal latihan uts-nya pak arif…yg ikut pemrog1 psti masi inget soal yang dikasih pak arif, cz kluar d uts-nya mirip2 gini..(tp ampun uts-nya lebih susah hehe)
soalnya gini,…
random 50 bilangan antara 0-9, trus dikelompokkan (distribusi). hitung jumlah masing-masing disribusi trus dbuat grafiknya ke bawah (bukan kesamping) dalam bentuk bintang
maaf codingnya amburadul, masi newbi
just for sharing ajah hehe..
fungsi-fungsinya sengaja saya taroh bawah setelah program utama (haha kliatan kacaunya)
benernya masih banyak cara yg lebih mudah dan simple, ini cuma salah satunya aja
import java.util.*;
import java.io.*;
public class grafikmenurun{
//program utama
public static void main(String[] args){
int[] data= new int [50];
int[] dis= new int[10];
int maxdis=0;
Random Rbil = new Random();
System.out.println("DATA BILANGAN:");
for (int i=0;i<data.length;i++){
data[i]=Rbil.nextInt(10);
System.out.println("data ke-"+i+" = "+data[i]);
}
sort(data); //data di sorting dulu
distribusi(data,dis);
System.out.println('\n');
System.out.println("DATA DISTRIBUSI BILANGAN 0-9:");
//cetak distribusi
for (int i=0;i<dis.length;i++) {
System.out.println("bilangan "+i+" sebanyak "+dis[i]);
}
System.out.println('\n');
//mencari distribusi terbanyak
for (int i=0; i<dis.length;i++){
if (dis[i]>maxdis){
maxdis=dis[i];
}
}
dis_max(maxdis,dis);
System.out.println('\n'+"GRAFIK SEBARAN DISTRIBUSI: "+'\n');
grafik(dis,maxdis); //manggil fungsi grafik untuk mencetak grafik distribusi
}
// fungsi untuk mengurutkan dari bilangan terkecil hingga terbesar
static void sort(int[] z){
int temp;
for (int a=0;a<z.length;a++){
for(int b=0;b<z.length-1;b++){
if(z[b]>z[b+1]){
temp=z[b];
z[b]=z[b+1];
z[b+1]=temp;
}
}
}
}
//fungsi untuk menentukan banyak anggota masing-masing distribusi (setelah dsorting datanya)
static void distribusi(int[] y, int[] x){
int smtr=y[0],k=0;
for (int a=0;a<y.length;a++){
if (y[a]>smtr){
smtr=y[a];
k++;
x[k]++;
}
else{
x[k]++;
}
}
}
//fungsi untuk cetak data
static void cetak(int[] c){
for (int i=0;i<c.length;i++) {
System.out.println(i+". "+c[i]);
}
}
//fungsi untuk menginisialisasi nama distribusi terbanyak
static void dis_max(int dm,int[] arr_dis){
String nama_dm="";
if (dm==arr_dis[0]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 0";
}
else if (dm==arr_dis[1]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 1";
}
else if (dm==arr_dis[2]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 2";
}
else if (dm==arr_dis[3]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 3";
}
else if (dm==arr_dis[4]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 4";
}
else if (dm==arr_dis[5]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 5";
}
else if (dm==arr_dis[6]){
nama_dm="Kelompok distribusi yang paling banyak adalah bilangan 6";
}
else if (dm==arr_dis[7]){
nama_dm="Kelompok distribusi yang paling banyak adalahi bilangan 7";
}
else if (dm==arr_dis[8]){
nama_dm="Kelompok distribusi yang paling banyak adalahi bilangan 8";
}
else if (dm==arr_dis[9]){
nama_dm="Kelompok distribusi yang paling banyak adalahi bilangan 9";
}
System.out.println(nama_dm+" mempunyai "+dm+" anggota ");
}
//fungsi untuk cetak grafik kebawah
static void grafik(int[] d,int m){
int g=0,a=1;
System.out.println("0 1 2 3 4 5 6 7 8 9 ");
while (g!=10){
for(int b=0;b<d.length;b++){
if(d[b]>=a){
System.out.print("* ");
}
else{
System.out.print(" ");
}
}
a++;
System.out.println("");
if(a>m)
g=10;
}
}
}


