PROGRAM KASIR ARRAY 1 DIMENSI

Hallo guys, pada kesempatan kali ini kita akan membahas tentang program kasir baru yang telah dimodifikasi dari program kasir looping di postingan sebelumnya. Kali ini kita menerapkan array sebagai wadah penyimpanan datanya. untuk fungsinya sendiri, selain pembeli dapat memesan pesanan yang lebih dari 1 dan mengakumulasikannya di akhir untuk di rekap dan keluar harga akhir, kasir juga dapat merekap beberapa pesanan menjadi 1 dan menjabarkan tiap pesanannya menurut nomer pesanan di akhir program. Berikut source code nya:


package array;

import java.util.Scanner;

public class array1dimensi {

    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    int pesan, menu_utama, indeks=1;

    int[]total1=new int [10];int[]total2=new int [10];int[]total3=new int [10];

    int[]total4=new int [10];int[]total5=new int [10];int[]total6=new int [10];

    int[]total7=new int [10];int[]jumlah1=new int [10];int[]jumlah2=new int [10];

    int[]jumlah3=new int [10];int[]jumlah4=new int [10];int[]jumlah5=new int [10];

    int[]jumlah6=new int [10];int[]jumlah7=new int [10];int[]total=new int [10];

    

        System.out.println("--------PROGRAM KASIR PUJASERA--------");

        System.out.println("======================================");

        do {

            do {

                System.out.println("--------------MENU UTAMA--------------");

                System.out.println("=======Nomer pesanan [00"+ indeks +"]=======");

                System.out.println("Pilih Menu Makanan Yang Tersedia :\n" + 

                        "1. Sate \n" +

                        "2. Pecel \n" +

                        "3. Penyetan \n" +

                        "4. selesai memilih menu(Customer selanjutnya)\n" +

                        "5. selesai seluruh customer \n");

                 System.out.print("MASUKAN PILIHAN ANDA = ");

                menu_utama = sc.nextInt();

                switch (menu_utama){

                    case 1 :

                        System.out.println("Menu sate : \n" +

                                "1. Sate Ayam    = Rp 1500/tusuk \n" +

                                "2. Sate Kambing = Rp 3000/tusuk \n" );

                        System.out.print("MASUKAN PESANAN ANDA = ");

                        pesan = sc.nextInt();

                        if (pesan == 1){

                        System.out.print("Masukkan Jumlah sate ayam yang ingin dipesan = ");

                        jumlah1[indeks] = sc.nextInt();

                        total1[indeks] = jumlah1[indeks] * 1500;

                        System.out.println("==kembali ke manu utama== \n");

                        }

                        else if (pesan == 2){

                        System.out.print("Masukkan Jumlah sate kambing yang ingin dipesan = ");

                        jumlah2[indeks] = sc.nextInt();

                        total2[indeks] = jumlah2[indeks] * 3000;

                        System.out.println("==kembali ke manu utama== \n");

                        }

                        else if (pesan != 1 && pesan != 2){

                        System.out.println("==Pilihan Salah==\n");    

                        }

                        break;

                    case 2 : 

                        System.out.println("Menu pecel : \n" +

                                "1. Pecel Ayam  = Rp 13000/porsi \n" +

                                "2. Pecel empal = Rp 15000/porsi \n");

                        System.out.print("MASUKAN PESANAN ANDA = ");

                        pesan = sc.nextInt();

                        if (pesan == 1){

                        System.out.print("Masukkan Jumlah pecel ayam yang ingin dipesan = ");

                        jumlah3[indeks] = sc.nextInt();

                        total3[indeks] = jumlah3[indeks] * 13000;

                        System.out.println("==kembali ke manu utama== \n");

                        }

                        else if (pesan == 2){

                        System.out.print("Masukkan Jumlah pecel empal yang ingin dipesan = ");

                        jumlah4[indeks] = sc.nextInt();

                        total4[indeks] = jumlah4[indeks] * 15000;

                        System.out.println("==kembali ke manu utama== \n");

                        }

                        else if (pesan != 1 && pesan != 2){

                        System.out.println("==Pilihan Salah==\n");    

                        }

                        break;

                    case 3 :

                        System.out.println("Menu penyetan : \n" +

                                "1. Lauk tahu/tempe = Rp 5000/porsi \n" +

                                "2. Lauk telur      = Rp 7000/porsi \n" +

                                "3. Lauk ayam       = Rp 10000/porsi");

                        System.out.print("MASUKAN PESANAN ANDA = ");

                        pesan = sc.nextInt();

                        switch (pesan){

                            case 1 : 

                                System.out.print("Masukkan Jumlah penyet tahu/tempe yang ingin dipesan = ");

                                jumlah5[indeks] = sc.nextInt();

                                total5[indeks] = jumlah5[indeks] * 5000;

                                System.out.println("==kembali ke manu utama== \n");

                                break;

                            case 2 :

                                System.out.print("Masukkan Jumlah penyet telur yang ingin dipesan = ");

                                jumlah6[indeks] = sc.nextInt();

                                total6[indeks] = jumlah6[indeks] * 5000;

                                System.out.println("==kembali ke manu utama== \n");

                                break;

                            case 3 :

                                System.out.print("Masukkan Jumlah penyet ayam yang ingin dipesan = ");

                                jumlah7[indeks] = sc.nextInt();

                                total7[indeks] = jumlah7[indeks] * 5000;

                                System.out.println("==kembali ke manu utama== \n");

                                break;

                            default :

                                System.out.println("==Pilihan Salah==\n");

                                break;

                            }

                        break;

                    case 4 :

                        System.out.println("==Pemilihan Menu selesai== \n");

                        indeks ++;

                        break;

                    case 5 :

                        System.out.println("==customer habis==");

                        break;  

                    default :

                        System.out.println("==pilihan tidak ada==");

                }

                total[indeks] = total1[indeks] + total2[indeks] + total3[indeks]

                                + total4[indeks] + total5[indeks] + total6[indeks] 

                                + total7[indeks];

            }

            while (menu_utama != 4 && menu_utama != 5);

        }

        while (menu_utama != 5);

            System.out.println("REVIEW PESANAN:");

        for(int i=1;i<=indeks;i++){

            System.out.println("================Nomer pesanan [00"+ i +"]================");

            if (total1[i] > 0){

                System.out.println("Sate ayam         = " + jumlah1[i] + " Tusuk x Rp. 1500  = Rp. " + total1[i]);

            }

            if (total2[i] > 0){

                System.out.println("Sate kambing      = " + jumlah2[i] + " Tusuk x Rp. 3000  = Rp. " + total2[i]);

            }

            if (total3[i] > 0){

                System.out.println("Pecel ayam        = " + jumlah3[i] + " Porsi x Rp. 13000 = Rp. " + total3[i]);

            }

            if (total4[i] > 0){

                System.out.println("pecel empal       = " + jumlah4[i] + " Porsi x Rp. 15000 = Rp. " + total4[i]);

            }

            if (total5[i] > 0){

                System.out.println("penyet tahu/tempe = " + jumlah5[i] + " Porsi x Rp. 5000  = Rp. " + total5[i]);

            }

            if (total6[i] > 0){

                System.out.println("penyet telur      = " + jumlah6[i] + " Porsi x Rp. 7000  = Rp. " + total6[i]);

            }

            if (total7[i] > 0){

                System.out.println("penyet ayam       = " + jumlah7[i] + " Porsi x Rp. 10000 = Rp. " + total7[i]);

            }

            System.out.println("---------------------------------------------------=");

            System.out.println("Total harga       = Rp. " + total[i]);

            System.out.println(" "); 

        }

        System.out.println("===Terimakasih Telah Berbelanja===");

    }

}


Gambar dibawah merupakan tampilan program awal yang dimulai langsung dengan nomer pesanan 001.


Customer diminta memilih menu apa saja yang ingin dipesan, setelah pesanan yang dipilih oleh customer pertama sudah semua, maka kasir akan memilih option nomer 4 untuk melanjutkannya ke customer selanjutnya. nomer pesanan akan increment dan naik menjadi 002 


Sama seperti sebelumnya, setelah pesanan nomer 002 selesai, maka kasir memilih option 4 untuk melanjutkannya ke customer selanjutnya hingga customer habis.


Pada tahap terakhir setelah customer habis, maka kasir akan memilih option nomer 5 untuk mengakhiri pemilihan menu dan berlanjut untuk merekap keseluruhan harga yang harus dibayar tiap customer yang ada. berikut ini contoh outputnya:


Demikian penjelasan program menurut versi saya, hal ini tentunya masih jauh dari kata sempurna dan butuh banyak perbaikan kedepannya. Terimakasih


Comments

Popular posts from this blog

PROGRAM KASIR IF ELSE

PROGRAM KASIR LOOPING