Membuat program kasir dengan method, sorting dan searching

 Membuat program kasir

Source code :

package tugas.bp2;
import java.util.*;

public class TugasBp2 {

   

 
    static int harga[]=new int[10];
    static int harga_snack[]=new int[10];
    static int harga_minum[]=new int[10];
    static String[][] hasil=new String[10][2];
    
    static int hitungharga(int hargasatuan, int jumlah) //header (written value)
    {
        //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){
        
        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 harga[]=new int[10];
        
        //inisialisasi array
        snack[0]="kentang        "; harga_snack[0]=9000;
        snack[1]="tango          "; harga_snack[1]=1000;
        snack[2]="keripik kentang"; harga_snack[2]=3000;
        snack[3]="keripik apel   "; harga_snack[3]=10000;
        snack[4]="kerupuk ikan   "; harga_snack[4]=5000;
        
        minuman[0]="es Teh      "; harga_minum[0]=3000;
        minuman[1]="es Jeruk    "; harga_minum[1]=3000;
        minuman[2]="air Putih   "; harga_minum[2]=1000;
        minuman[3]="teh Hangat  "; harga_minum[3]=2500;
        minuman[4]="jeruk Hangat"; harga_minum[4]=2500;
        
        makanan[0]="sate Ayam    "; harga[0]=12000;
        makanan[1]="sate Sapi    "; harga[1]=15000;
        makanan[2]="sate Kambing "; harga[2]=20000;
        makanan[3]="soto Madura  "; harga[3]=12000;
        makanan[4]="soto Lamongan"; harga[4]=14000;
        makanan[5]="gado-gado    "; harga[5]=10000;
        makanan[6]="rawon        "; harga[6]=13000;
        makanan[7]="bakso        "; harga[7]=8000;
        makanan[8]="pecel        "; harga[8]=7000;
        makanan[9]="penyetan     "; harga[9]=9000;
        int pilih=0;
        String belimakan[] = new String[5];
        String beliminum[] = new String[5];
        String belisnack[] = new String[5];
        int beliharga[] = new int[5];
        int jumlahbeli=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. Daftar pesanan");
            System.out.println("5. Bayar");
            System.out.println("6. 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 < urut.length; i++) {
                                System.out.println((i+1)+". "+urut[i]);
                            }
                            System.out.println("");
                            break;
                        case 2:
                            
                            urut=sort(makanan);
                            System.out.println("Daftar Menu");
                            for (int i = 0; i < urut.length; i++) {
                                System.out.println((i+1)+". "+urut[i]);
                            }
                            System.out.println("");
                            
                            System.out.print("Apa yang anda beli ? = ");
                            String c = sc.next();
                            String hasilcari[][] = search(makanan,harga,c);
                            System.out.println("Hasil Pencarian");
                            for (int i = 0; i < hasilcari.length; i++) {
                                if(hasilcari[i][0]!=null){
                                    System.out.print((i+1)+". "+hasilcari[i][0]+" ");
                                    //perubahan String menjadi integer
                                    System.out.println(Integer.parseInt(hasilcari[i][1]));
                                    
                                }
                            }
                            System.out.println("");
                            System.out.print("pilin Menu = ");

                            int pilih3 = sc.nextInt();
                            
                            belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
                            beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
                            jumlahbeli++;
                            

                            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:
                            
                            
                            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("");
                            
                            
                            
                            System.out.print("Apa yang anda beli ? = ");
                            String c = sc.next();
                            String hasilcari[][] = search(minuman,harga_minum,c);
                            System.out.println("Hasil Pencarian");
                            for (int i = 0; i < hasilcari.length; i++) {
                                if(hasilcari[i][0]!=null){
                                    System.out.print((i+1)+". "+hasilcari[i][0]+" ");
                                    //perubahan String menjadi integer
                                    System.out.println(Integer.parseInt(hasilcari[i][1]));
                                    
                                }
                            }
                            System.out.println("");
                            System.out.print("pilin Menu = ");

                            int pilih3 = sc.nextInt();
                            
                            belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
                            beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
                            jumlahbeli++;
                            

                            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:
                            
                            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("");
                            
                            System.out.print("Apa yang anda beli ? = ");
                            String c = sc.next();
                            String hasilcari[][] = search(snack,harga_snack,c);
                            System.out.println("Hasil Pencarian");
                            for (int i = 0; i < hasilcari.length; i++) {
                                if(hasilcari[i][0]!=null){
                                    System.out.print((i+1)+". "+hasilcari[i][0]+" ");
                                    //perubahan String menjadi integer
                                    System.out.println(Integer.parseInt(hasilcari[i][1]));
                                    
                                }
                            }
                            System.out.println("");
                            System.out.print("pilin Menu = ");

                            int pilih3 = sc.nextInt();
                            
                            belimakan[jumlahbeli]=hasilcari[pilih3-1][0];
                            beliharga[jumlahbeli]=Integer.parseInt(hasilcari[pilih3-1][1]);
                            jumlahbeli++;
                            

                            break;
                    }
                    break;
                case 4:
                    
                    System.out.println("1. urutkan berdasarkan harga");
                    System.out.println("2. urutkan berdasarkan nama");
                    System.out.print("Pilih = ");
                    pilih2=sc.nextInt();
                     switch(pilih2){
                        case 1:
                            if (belimakan[0]==null) {
                                System.out.println("anda belum memesan, silahkan memesan terlebih dahulu!");
                            }else   {
                        for (int i = 0; i < jumlahbeli; i++) {
                          for (int j = 0; j < jumlahbeli-1; j++) {
                            if(beliharga[j]>beliharga[j+1]){
                              String t=belimakan[j];
                              belimakan[j]=belimakan[j+1];
                              belimakan[j+1]=t;
                              int h=beliharga[j];
                              beliharga[j]=beliharga[j+1];
                              beliharga[j+1]=h;
                }
            }
                          
                          
        }
                         for (int i = 0; i < jumlahbeli; i++) {
                                System.out.print((i+1)+". "+belimakan[i]);
                                System.out.println(beliharga[i]);
                            }}
                            break;
                        case 2:
                            if (belimakan[0]==null) {
                                System.out.println("anda belum memesan, silahkan memesan terlebih dahulu!");
                            }else   {
                        for (int i = 0; i < jumlahbeli; i++) {
                          for (int j = 0; j < jumlahbeli-1; j++) {
                            if(belimakan[j].compareToIgnoreCase(belimakan[j+1])>0){
                              String t=belimakan[j];
                              belimakan[j]=belimakan[j+1];
                              belimakan[j+1]=t;
                              int h=beliharga[j];
                              beliharga[j]=beliharga[j+1];
                              beliharga[j+1]=h;
                }
            }
                          
                          
        }
                         for (int i = 0; i < jumlahbeli; i++) {
                                System.out.print((i+1)+". "+belimakan[i]);
                                System.out.println(beliharga[i]);
                            }}
                            break;
                    }
                    break;
                case 5:
                    double total=0;
                    double uang_pembeli;
                    System.out.println("Daftar Beli");
                    for (int i = 0; i < jumlahbeli; i++) {
                    System.out.println(belimakan[i]+"[Rp"+beliharga[i]+"]");
                    total=total+beliharga[i];
                    }
                    System.out.println("total anda sebesar : Rp"+total);
                    System.out.print("Masukkan uang anda : Rp");
                    uang_pembeli=sc.nextDouble();
                    System.out.println("kembalian anda sebesar Rp"+(uang_pembeli-total));
                    for (int i = 0; i < jumlahbeli; i++) {
                    belimakan[i]=null;beliharga[i]=0;
                    }
                    break;
                case 6:
                    System.out.println("Terimaksih telah berbelanja <3");
                        break;
            }
        }while(pilih!=6);
    }
}
    
    


Hasil running :

run:
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 2
1. Daftar Minuman
2. Cari Minuman
Pilih = 2
Daftar Menu
1. air Putih   
2. es Jeruk    
3. es Teh      
4. jeruk Hangat
5. teh Hangat  

Apa yang anda beli ? = air
Hasil Pencarian
1. air Putih    3000

pilin Menu = 1
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 3
1. Daftar Snack
2. Cari Snack
Pilih = 2
Daftar Menu
1. kentang        
2. keripik apel   
3. keripik kentang
4. kerupuk ikan   
5. tango          

Apa yang anda beli ? = tango
Hasil Pencarian
1. tango           5000

pilin Menu = 1
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 4
1. urutkan berdasarkan harga
2. urutkan berdasarkan nama
Pilih = 1
1. air Putih   3000
2. tango          5000
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 5
Daftar Beli
air Putih   [Rp3000]
tango          [Rp5000]
total anda sebesar : Rp8000.0
Masukkan uang anda : Rp70000
kembalian anda sebesar Rp62000.0
MENU
1. Makanan
2. Minuman
3. Snack
4. Daftar pesanan
5. Bayar
6. Exit
Pilih = 5

Terimakasih telah berbelanja <3

Komentar