Pengaplikasian Method Pada Program Kasir Sederhana


Berikut adalah source code programnya :


 package Kuliah;
import java.util.Scanner;
public class methodWarung {
 //variabel global
    Scanner sc = new Scanner (System.in);
    static int harga[] = new int [10];
//    static int harga[] = new int [10];
    static int hitungharga(int hargasatuan, int jumlah)//header
    {
        //body
        int harga = hargasatuan * jumlah;
        return harga;
    }
    static String[] sort(String[] menu){
        for (int i = 0; i < menu.length; i++) {
            for (int j = 0; j < menu.length-1; j++) {
                if(menu[j].compareToIgnoreCase(menu[j+1])>0){
                    String t = menu [j];
                    menu [j] = menu [j+1];
                    menu [j+1]=t;
                    int h = harga[j];
                    harga [j] = harga [j+1];
                    harga [j+1] = h;
                }
            }
        }
        return menu;  
    }
    
     static String[] [] search(String[] menu, int harga[], String cari){
         String[][] hasil = new String [10][2];
         int idx = 0;
         for (int i = 0; i < menu.length; i++) {
             if(menu[i].indexOf(cari)>=0){
                 hasil[idx][0]=menu[i];
                 hasil[idx][1]=String.valueOf(harga[i]);
                 idx++;
             }
         }
         return hasil;
     }
     
    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);
        String makanan []= new String[10];
        String minuman []= new String [5];
        String snack [] = new String [5];
        int hargamaem []=new int [10];
        int hargamimik []=new int [5];
        int hargasnack []= new int[5];
        int idx=0, idxmkn=0, idxmnm=0, idxsnk=0;
        int pilih=0;
        String pesanan[][]= new String[10][3];
        int total [] = new int [10]; 
        int beli;
        int jumlah [] = new int [10];
        int grandtotal = 0;
        //inisialisasi array
        minuman [0]="Es Teh "; hargamimik[0]= 3000;
        minuman [1]="Es Jeruk   "; hargamimik[1]= 4000;
        minuman [2]="Air Putih  "; hargamimik[2]= 2000;
        minuman [3]="Teh Hangat "; hargamimik[3]= 4500;
        minuman [4]="Jeruk Hangat   "; hargamimik[4]= 5500;
        
        makanan[0]="Sate Ayam"; hargamaem[0]=12000;
         makanan[1]="Sate Sapi"; hargamaem[1]=15000;
         makanan[2]="Sate Kambing"; hargamaem[2]=20000;
        makanan[3]="Soto Madura"; hargamaem[3]=12000;
         makanan[4]="Soto Lamongan"; hargamaem[4]=14000;
         makanan[5]="Gado-Gado"; hargamaem[5]=10000;
         makanan[6]="Rawon"; hargamaem[6]=13000;
         makanan[7]="Bakso"; hargamaem[7]=8000;
         makanan[8]="Pecel"; hargamaem[8]=7000;
         makanan[9]="Penyetan"; hargamaem[9]=9000;
         
        snack[0] = "kentang goreng"; hargasnack[0]= 10000;
        snack[1] = "kerupuk       "; hargasnack[1]= 2000;
        snack[2] = "sosis         "; hargasnack[2]= 5000;
        snack[3] = "lontong       "; hargasnack[3]= 2000;
        snack[4] = "bakwan       "; hargasnack[4]= 5000;
         pilih = 0; 
         do {
             System.out.println("MENU");
             System.out.println("1. Makanan");
             System.out.println("2. Minuman");
             System.out.println("3. Snack");
             System.out.println("4. Exit");
             System.out.print("Pilih = ");
             pilih = sc.nextInt();
             switch(pilih){
                 case 1:
                     System.out.println("1. Daftar Makanan");
                     System.out.println("2. Cari Makanan");
                     System.out.print("Pilih = ");
                     int pilih2=sc.nextInt();
                     switch(pilih2){
                         case 1: 
                             String[] urut = sort(makanan);
                             System.out.println("Daftar Menu");
                             for (int i = 0; i < 10; i++) {
                                 System.out.println((i+1)+". "+urut[i]);
                             }
                             System.out.println("");
                             break;
                         case 2:
                             System.out.print("Cari = ");
                             String c = sc.next();
                             String hasilcarimaem[][]=search(makanan, hargamaem, c);
                             System.out.println("Hasil Pencarian");
                             for (int i = 0; i < hasilcarimaem.length; i++) {
                                 if (hasilcarimaem[i][0]!=null){
                                     System.out.print((i+1)+". "+hasilcarimaem[i][0]+" ");
                                     System.out.println(Integer.parseInt(hasilcarimaem[i][1]));
                                     }
                             }
                            System.out.print("Pilih = ");
                            beli=sc.nextInt();      
                            System.out.print("Jumlah = ");
                            jumlah[idx]= sc.nextInt();
                            pesanan[idx][0] = hasilcarimaem[beli - 1][0];
                            pesanan[idx][1] = String.valueOf(hasilcarimaem[beli-1][1]);
                            total[idx]= hitungharga(Integer.parseInt(pesanan[idx][1]), jumlah[idx]);

                            idx++;
                             System.out.println(" ");
                             break;
                     }  break;
                   case 2:
                     System.out.println("1. Daftar Minuman");
                     System.out.println("2. Cari Minuman");
                     System.out.print("Pilih = ");
                      pilih2=sc.nextInt();
                     switch(pilih2){
                         case 1: 
                             String[] urut = sort(minuman);
                             System.out.println("Daftar Menu");
                             for (int i = 0; i < urut.length; i++) {
                                 System.out.println((i+1)+". "+urut[i]);
                             }
                             System.out.println("");
                             break; 
                         case 2:
                                System.out.print("Cari = ");
                             String m = sc.next();
                             String hasilcarimimik[][]=search(minuman, hargamimik, m);
                             System.out.println("Hasil Pencarian");
                             for (int i = 0; i < hasilcarimimik.length; i++) {
                                 if (hasilcarimimik[i][0]!=null){
                                     System.out.print((i+1)+". "+hasilcarimimik[i][0]+" ");
                                     System.out.println(Integer.parseInt(hasilcarimimik[i][1]));
                                     }
                             } 
                             System.out.print("Pilih = ");
                            beli=sc.nextInt();      
                            System.out.print("Jumlah = ");
                            jumlah[idx]= sc.nextInt();
                            pesanan[idx][0] = hasilcarimimik[beli - 1][0];
                            pesanan[idx][1] = String.valueOf(hasilcarimimik[beli-1][1]);
                            total[idx]= hitungharga(Integer.parseInt(pesanan[idx][1]), jumlah[idx]);

                            idx++;
                             System.out.println(" ");
                             break;
                     } break;
                  case 3:
                     System.out.println("1. Daftar Snack");
                     System.out.println("2. Cari Snack");
                     System.out.print("Pilih = ");
                      pilih2=sc.nextInt();
                     switch(pilih2){
                         case 1: 
                             String[] urut = sort(snack);
                             System.out.println("Daftar Menu");
                             for (int i = 0; i < urut.length; i++) {
                                 System.out.println((i+1)+". "+urut[i]);
                             }
                             System.out.println("");
                             break; 
                        case 2:
                                System.out.print("Cari = ");
                             String s = sc.next();
                             String hasilcarisnack[][]=search(snack, hargasnack, s);
                             System.out.println("Hasil Pencarian");
                             for (int i = 0; i < hasilcarisnack.length; i++) {
                                 if (hasilcarisnack[i][0]!=null){
                                     System.out.print((i+1)+". "+hasilcarisnack[i][0]+" ");
                                     System.out.println(Integer.parseInt(hasilcarisnack[i][1]));
                                }
                           System.out.print("Pilih = ");
                            beli=sc.nextInt();      
                            System.out.print("Jumlah = ");
                            jumlah[idx]= sc.nextInt();
                            pesanan[idx][0] = hasilcarisnack[beli - 1][0];
                            pesanan[idx][1] = String.valueOf(hasilcarisnack[beli-1][1]);
                            total[idx]= hitungharga(Integer.parseInt(pesanan[idx][1]), jumlah[idx]);

                            idx++;
                             System.out.println(" ");
                     break;} 
                     } break;
                  case 4:
                      System.out.println("Terima kasih...");
                     break;
             }
         }while (pilih!=4);
         System.out.println("_____________________________________");
        System.out.println("                     DAFTAR PESANAN                       ");
        System.out.println("_____________________________________");
        System.out.println("No.Makanan\t\tHarga\tPcs\tTotal Biaya");
          for (int i=0; i
Berikut adalah contoh hasil run programnya :
 run:
MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih =  1
1. Daftar Makanan
2. Cari Makanan
Pilih = 1
Daftar Menu
1. Bakso
2. Gado-Gado
3. Pecel
4. Penyetan
5. Rawon
6. Sate Ayam
7. Sate Kambing
8. Sate Sapi
9. Soto Lamongan
10. Soto Madura

MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 1
1. Daftar Makanan
2. Cari Makanan
Pilih = 2
Cari = Soto
Hasil Pencarian
1. Soto Lamongan 7000
2. Soto Madura 9000
Pilih = 1
Jumlah = 2
 
MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 2
1. Daftar Minuman
2. Cari Minuman
Pilih = 1
Daftar Menu
1. Air Putih  
2. Es Jeruk   
3. Es Teh 
4. Jeruk Hangat   
5. Teh Hangat 

MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 2
1. Daftar Minuman
2. Cari Minuman
Pilih = 2
Cari = Es
Hasil Pencarian
1. Es Jeruk    4000
2. Es Teh  2000
Pilih = 1
Jumlah = 2
 
MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 3
1. Daftar Snack
2. Cari Snack
Pilih = 1
Daftar Menu
1. bakwan       
2. kentang goreng
3. kerupuk       
4. lontong       
5. sosis         

MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 3
1. Daftar Snack
2. Cari Snack
Pilih = 2
Cari = sosis
Hasil Pencarian
1. sosis          5000
Pilih = 1
Jumlah = 2
 
MENU
1. Makanan
2. Minuman
3. Snack
4. Exit
Pilih = 4
Terima kasih...
_____________________________________
                     DAFTAR PESANAN                       
_____________________________________
No.Makanan			Harga	Pcs	Total Biaya
1. Soto Lamongan	7000	2	14000
2. Es Jeruk   		4000	2	8000
3. sosis         	5000	2	10000
___________________________________
Grand Total =                           32000
BUILD SUCCESSFUL (total time: 2 minutes 7 seconds)