Blogroll

wellcome to blogger agustiranda

Selasa, 03 Januari 2012

program struktur data

import java.util.Scanner;
public class WarungKlontong
{
public static int N=0;

public static void mengisi_data(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{
                Scanner masukan = new Scanner(System.in);
                int masukankarakter = 0;
                String lagi;
                do {        System.out.print("Kode="); kode[N]=masukan.next();
                                                System.out.print("Nama="); nama[N] = masukan.next();
                                                System.out.print("Jenis="); jenis[N] = masukan.next();
                                                System.out.print("Distributor="); distributor[N]=masukan.next();
                                                System.out.print("Harga="); harga[N]=masukan.nextInt();
                                                System.out.print("Jumlah Barang="); jumlah[N]=masukan.nextInt();

                                N++;
                                System.out.print("Ulang lagi atau tidak? ya/tidak");
                                lagi=masukan.next();
} while (lagi.equals("ya"));
}


public static void membaca_data(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{                 System.out.println("========================================================================");
                System.out.println("No                |              Kode|   Nama|  Jenis|    Distributor|        Harga|  Jumlah");
                System.out.println("========================================================================");
                for(int i=0; i<=N-1; i++)
                {                System.out.println(i+"\t"+kode[i]+"\t"+nama[i]+"\t"+jenis[i]+"\t"+distributor[i]+"\t"+"\t"+harga[i]+"\t"+jumlah[i]);
}
                System.out.println("============= Pastikan Inputantan anda Benar==========");
}

public static void main(String[] args)
{              Scanner masukan = new Scanner(System.in);
String nama[] = new String[50];
String jenis[] = new String[50];
String kode[] = new String[50];
String distributor[] = new String[50];
int harga[] = new int[50];
int jumlah[] = new int[50];
int pilihan;
do
{
                System.out.println("=============================================================");
                System.out.println("      PROGRAM UNTUK PENGELOLAAN DATA [WARUNG KLONTONG]                             ");
                System.out.println("=============================================================");
                System.out.println("1.Memasukkan data barang baru");
                System.out.println("2.Menampilkan daftar barang");
                System.out.println("3.Menampilkan jenis barang yang anda inginkan");
                System.out.println("4.Menambah data di awal larik");
                System.out.println("5.Menambah data di tengah larik");
                System.out.println("6.Menambah data diakhir larik");
                System.out.println("7.Mengurutkan data");
                System.out.println("8.Mencari data");
                System.out.println("9.Mengupdate data");
                System.out.println("10.Keluar");
                System.out.println("=============================================================");
                System.out.println("Apa yang akan anda lakukan?");
                System.out.println("===================Pilih menu 1-9============================");
                pilihan=masukan.nextInt();
                switch(pilihan)

                {
                                case 1:mengisi_data(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 2:membaca_data(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 3:mencari_jenis_barang(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 4:menambah_data_didepan(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 5:menambah_data_ditengah(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 6:menambah_data_diakhir(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 7:mengurutkan_bubble(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 8:mencari_data(kode, nama, jenis, distributor, harga, jumlah);break;
                                case 9:meupdate_data(kode, nama, jenis, distributor, harga, jumlah);break;
                }
}
while (pilihan !=10);
System.out.println("================Terima kasih atas kunjungannya=================");
System.out.println("---------------------------------------------------------------");
System.out.println("===========================Bye-Bye=============================");
}



public static void mencari_jenis_barang(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{
                Scanner masukan = new Scanner(System.in);
                int masukankarakter = 0;
                int masukanKaraker=0;
                boolean statusketemu=false;
                int lokasi=-99;
                System.out.print("Silakan masukan jenis barang yang anda cari=");
                String jenisCari=masukan.next();
                for(int i=0; i<=N-1; i++)
                                if(jenis[i].equals(jenisCari))
                System.out.println(i+"\t"+kode[i]+"\t"+nama[i]+"\t"+jenis[i]+"\t"+distributor[i]+"\t"+"\t"+harga[i]+"\t"+jumlah[i]);

}





//MENAMBAH DATA DIAWAL

public static void menambah_data_didepan(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{              Scanner masukan = new Scanner(System.in);
                int masukankarakter=0;

                for (int i=N; i>=1; i--)
                {              nama[i] = nama[i-1];
                                jenis[i] = jenis[i-1];
                                kode[i] = kode[i-1];
                                distributor[i] = distributor[i-1];
                                harga[i] = harga[i-1];
                                jumlah[i] = jumlah[i-1];

}
System.out.print("Kode baru ="); kode[0] = masukan.next();
System.out.print("Nama baru ="); nama[0] = masukan.next();
System.out.print("Jenis baru ="); jenis[0] = masukan.next();
System.out.print("Distributor baru ="); distributor[0] = masukan.next();
System.out.print("Harga baru ="); harga[0] = masukan.nextInt();
System.out.print("Jumlah baru ="); jumlah[0] = masukan.nextInt();
N++;
}

//MENAMBAH DATA DITENGAH

public static void menambah_data_ditengah(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{              Scanner masukan = new Scanner(System.in);
                int masukankarakter=0;

System.out.print("silakan tentukan lokasi penyisipan=");
int X=masukan.nextInt();
for          (int i=N; i>=X+1; i--)
{                              kode[i] = kode[i-1];
                                nama[i] = nama[i-1];
                                jenis[i] = jenis[i-1];
                                distributor[i] = distributor[i-1];
                                harga[i] = harga[i-1];
                                jumlah[i] = jumlah[i-1];
}
System.out.print("Kode baru ="); kode[X] = masukan.next();
System.out.print("Nama baru ="); nama[X] = masukan.next();
System.out.print("Jenis baru ="); jenis[X] = masukan.next();
System.out.print("Distributor baru ="); distributor[X] = masukan.next();
System.out.print("Harga baru ="); harga[X] = masukan.nextInt();
System.out.print("Jumlah baru ="); jumlah[X] = masukan.nextInt();
N++;
}

//MENAMBAH DATA DIAKHIR

public static void menambah_data_diakhir(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{              Scanner masukan = new Scanner(System.in);
                int masukankarakter=0;
                System.out.print("Kode baru ="); kode[N] = masukan.next();
                System.out.print("Nama baru ="); nama[N] = masukan.next();
                System.out.print("Jenis baru ="); jenis[N] = masukan.next();
                System.out.print("Distributor baru ="); distributor[N] = masukan.next();
                System.out.print("Harga baru ="); harga[N] = masukan.nextInt();
                System.out.print("Jumlah baru ="); jumlah[N] = masukan.nextInt();
N++;
}

//MENCARI DATA

public static void mencari_data(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{              Scanner masukan = new Scanner(System.in);
                boolean statusketemu=false;
                int posisi=-999999;
                System.out.print("Silakan masukan nama yang anda cari=");
                String namaCari=masukan.next();

                int awal=0;
                int akhir=N-1;
                int tengah=(awal+akhir)/2;

                if (nama[0].equals(namaCari))
                {              statusketemu=true;
                                posisi=0;
                }
else if (nama[N-1].equals(namaCari))
{              statusketemu=true;
                posisi=N-1;
                }
else
{
                while     ((statusketemu==false)&&(akhir-awal!=1))
                {
System.out.println("awal="+awal+"        akhir="+akhir+"                tengah="+tengah);
System.out.println("nama[tengah]="+nama[tengah]+".vs. namaCari="+namaCari);
System.out.println("");
if (nama[tengah].compareTo(namaCari) < 0)
{              awal=tengah;
                tengah=(awal+akhir)/2;
}
else if (nama[tengah].compareTo(namaCari) > 0)
{              akhir=tengah;
                tengah=(awal+akhir)/2;
                }
else if (nama[tengah].equals(namaCari))
{              statusketemu=true;
                posisi=tengah;
                }
                }

}
System.out.println("status pencarian="+statusketemu+" di posisi ke ="+posisi);
}


//MENGURUTKAN DATA

public static void mengurutkan_bubble(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{              Scanner masukan = new Scanner(System.in);
                String namasementara; String jenissementara; String kodesementara; String distributorsementara; int hargasementara; int jumlahsementara;
                for (int tahap=0; tahap<=N-2; tahap++)
                {              for(int i=0; i<=N-2-tahap; i++)
                                {              if             (harga[i] > harga[i+1])
                                {
                                                kodesementara = kode[i];
                                                kode[i] = kode[i+1];
                                                kode[i+1] = kodesementara;

                                                namasementara = nama[i];
                                                nama[i] = nama[i+1];
                                                nama[i+1] = namasementara;

                                                jenissementara = jenis[i];
                                                jenis[i] = jenis[i+1];
                                                jenis[i+1] = jenissementara;

                                                distributorsementara = distributor[i];
                                                distributor[i] = distributor[i+1];
                                                distributor[i+1] = distributorsementara;

                                                hargasementara = harga[i];
                                                harga[i] = harga[i+1];
                                                harga[i+1] = hargasementara;

                                                jumlahsementara = jumlah[i];
                                                jumlah[i] = jumlah[i+1];
                                                jumlah[i+1] = jumlahsementara;

                                                }
                                }
                }
}

//UPDATE DATA

public static void meupdate_data(String nama[], String jenis[], String kode[], String distributor[], int harga[], int jumlah[])
{
                Scanner masukan = new Scanner(System.in);
                int masukankarakter = 0;
                int masukanKaraker=0;
                boolean statusketemu=false;
                int lokasi=-99;
                System.out.print("Silakan masukan nama barang yang anda cari=");
                String namaCari=masukan.next();

                for (int i=0; i<=(N-1); i++)
                {
                                if(nama[i].equals(namaCari))
                                {              statusketemu=true;
                                                lokasi=i;
                                                }
                                }
System.out.println("status pencarian="+statusketemu+" di posisi ke="+lokasi);
System.out.println("data terekam: nama="+nama[lokasi]+"kode="+kode[lokasi]);
System.out.println("silakan masukan data yang baru berikut ini:");
System.out.print("kode baru="); kode[lokasi]=masukan.next();
System.out.print("nama baru="); nama[lokasi]=masukan.next();
System.out.print("jenis baru="); jenis[lokasi]=masukan.next();
System.out.print("distributor baru="); distributor[lokasi]=masukan.next();
System.out.print("harga baru="); harga[lokasi]=masukan.nextInt();
System.out.print("jumlah baru="); jumlah[lokasi]=masukan.nextInt();
}
}

0 komentar:

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Skull Belt Buckles