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:

algoritma konversi desimal ke biner

Ket:

warna hijau: bilangan basisnya
warna biru: bilangan biner (ditulis dari bawah ke atas)

Read the rest of this entry

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;
 }

}

}

banyak data

grafik distribusi

Follow

Get every new post delivered to your Inbox.