Sequencial Search

Sequencial Search

 Penerapan "Pencarian" dalam Program Kasir Warung Sederhana

Yanuar Hakam Rosyadi Ahmad
21082010079


Berikut adalah source code programnya : 
package Kuliah;
import java.util.Scanner;
public class Searching {
    public static void main(String[] args) {
         Scanner sc = new Scanner (System.in);
        String menu[] = new String [10];
        int harga[] = new int [10];
        int pilih = 0, idx = 0, indeks=0, idxharga=0, pilih2=0, idxnama=0;
        String rangemenu[] = new String[10];
        int rangeharga[] = new int[10];
        String namamenu[] = new String[10];
        int namaharga[] = new int [10];
        String strukmenu[] = new String[5];
        int jumlah[] = new int[10];
        int strukharga[] = new int[5];
        int struk=0, grandTotal=0, uangpembeli=0, kembali=0;
        int totalbeli[] = new int [10];

        menu[0]="Tappoki (Original) ";   harga[0]=10000;
        menu[1]="Twigim             ";   harga[1]=8000;
        menu[2]="Odeng              ";   harga[2]=15000;
        menu[3]="Gimbab             ";   harga[3]=12000;
        menu[4]="Dakkoci            ";   harga[4]=10000;
        menu[5]="Tappoki (Spisy)     ";   harga[5]=14000;
        menu[6]="Tappoki (Cheese) ";   harga[6]=15000;
        menu[7]="Jajangmyeon        ";   harga[7]=25000;
        menu[8]="Ramyeon (Original)";   harga[8]=20000;
        menu[9]="Ramyeon (Spisy)     ";   harga[9]=23000;

       System.out.println("\tKams\t"+"\n Korean Street Foods");
        System.out.println("=======================");

        do{
            System.out.println("\n"+"1. Daftar menu");
            System.out.println("2. Cari makanan berdasarkan nama");
            System.out.println("3. Cari makanan berdasarkan harga");
            System.out.println("4. Selesai");
            System.out.print("pilih: ");
            pilih = sc.nextInt();
            switch(pilih){
                case 1 : System.out.println("--------Daftar menu--------"); //bubble sort
                    for (int i = 0; i < 10; i++) {
                        for (int j = 0; j < 9; j++) {
                            if(menu[j].compareToIgnoreCase(menu[j+1])>0){
                                String temp=menu[j];
                                menu[j]=menu[j+1];
                                menu[j+1]=temp;
                                int h=harga[j];
                                harga[j]=harga[j+1];
                                harga[j+1]=h;
                            }
                        }
                    }
                    for (int i = 0; i < 10; i++) {
                        System.out.println(menu[i]+" "+"\t"+harga[i]);
                    }
                    break;
                case 2 : System.out.print("Cari makanan :");
                    String cari = sc.next();

                    for (int i = 0; i < menu.length; i++) {
                        if (menu[i].contains(cari)) {
                            namamenu [idxnama] = menu[i];
                            namaharga[idxnama] = harga[i];
                            idxnama++;
                            System.out.println(idxnama+"."+menu[i]+"\t"+harga[i]);
                        }
                    }
                    System.out.print("Pilih menu :");
                    pilih2=sc.nextInt();
                    strukmenu[struk]=namamenu[pilih2-1];
                    strukharga[struk]=namaharga[pilih2-1];
                    System.out.print("Jumlah pesanan :");
                    jumlah[struk] = sc.nextInt();
                    totalbeli[struk]=jumlah[struk]*strukharga[struk];
                    grandTotal=grandTotal+totalbeli[struk];
                    struk++;
                    break;
                case 3 : int cariharga=0;
                    System.out.print("Harga mulai :");
                    int hargaawal = sc.nextInt();
                    System.out.print("Sampai harga :");
                    int hargaakhir = sc.nextInt();
                    for (int i = 0; i < harga.length; i++) {
                        if(hargaawal <= harga[i] && harga[i]<=hargaakhir){
                            rangemenu[idxharga] = menu[i];
                            rangeharga[idxharga] = harga[i];
                            idxharga++;
                            System.out.println(idxharga+"."+menu[i]+"\t"+harga[i]);
                        }
                    }

                    System.out.print("Pilih menu :");
                    pilih2=sc.nextInt();
                    strukmenu[struk]=rangemenu[pilih2-1];
                    strukharga[struk]=rangeharga[pilih2-1];
                    System.out.print("Jumlah pesanan :");
                    jumlah[struk] = sc.nextInt();
                    totalbeli[struk]=jumlah[struk]*strukharga[struk];
                    grandTotal=grandTotal+totalbeli[struk];
                    struk++;
                    break;
                case 4 : System.out.println("Terimakasih...");
                    break;
            }
        }while(pilih!=4);

        System.out.println("------------------STRUK PEMBELI------------------");
        System.out.println("No. Menu\t\tHarga\t\tJumlah\t\tTotal");
        for (int i = 0; i < struk; i++) {
            System.out.println((i+1)+". "+strukmenu[i]+" Rp."+strukharga[i]+"\t\t"+jumlah[i]+"\t\t Rp."+totalbeli[i]);
        }
        System.out.println("--------------------------------------------------");
        System.out.println("TOTAL   : Rp.  " +grandTotal);
        System.out.print("Bayar   : Rp.  ");
        uangpembeli = sc.nextInt();
        if (uangpembeli>grandTotal){
            kembali=uangpembeli-grandTotal;
            System.out.println("Kembali : Rp.  " +kembali);
        }
        else{
            System.out.println("Uang Anda PAS");
        }
        System.out.println("--------------------------------------------------");
        System.out.println("kam-sa-ham-ni-da"+"\nTerimakasih :)");
        }      
}

Dan berikut adalah contoh hasil running programnya : 
run:
	Kams	
 Korean Street Foods
=======================

1. Daftar menu
2. Cari makanan berdasarkan nama
3. Cari makanan berdasarkan harga
4. Selesai
pilih: 1
--------Daftar menu--------
Dakkoci             	10000
Gimbab              	12000
Jajangmyeon         	25000
Odeng               	15000
Ramyeon (Original) 	20000
Ramyeon (Spisy)      	23000
Tappoki (Cheese)  	15000
Tappoki (Original)  	10000
Tappoki (Spisy)      	14000
Twigim              	8000

1. Daftar menu
2. Cari makanan berdasarkan nama
3. Cari makanan berdasarkan harga
4. Selesai
pilih: 2
Cari makanan :Tappoki
1.Tappoki (Cheese) 	15000
2.Tappoki (Original) 	10000
3.Tappoki (Spisy)     	14000
Pilih menu :1
Jumlah pesanan :2

1. Daftar menu
2. Cari makanan berdasarkan nama
3. Cari makanan berdasarkan harga
4. Selesai
pilih: 3
Harga mulai :10000
Sampai harga :15000
1.Dakkoci            	10000
2.Gimbab             	12000
3.Odeng              	15000
4.Tappoki (Cheese) 	15000
5.Tappoki (Original) 	10000
6.Tappoki (Spisy)     	14000
Pilih menu :3
Jumlah pesanan :1

1. Daftar menu
2. Cari makanan berdasarkan nama
3. Cari makanan berdasarkan harga
4. Selesai
pilih: 4
Terimakasih...
------------------STRUK PEMBELI-------------------------
No. Menu             Harga	Jumlah	        Total
1. Tappoki (Cheese)  Rp.15000	2		Rp.30000
2. Odeng             Rp.15000	1		Rp.15000
--------------------------------------------------------
TOTAL   : Rp.  45000
Bayar   : Rp.  50000
Kembali : Rp.  5000
---------------------
kam-sa-ham-ni-da
Terimakasih :)

BUILD SUCCESSFUL (total time: 38 seconds)