Bahasa Pemrograman 1 - Array Multidimensi

Lina Wardani - 21082010116

Soal :

Modifikasilah source code yang dibahas di kelas, sehingga mampu mencatat transaksi untuk pembeli/pengunjung yang berbeda, tanpa harus menjalankan ulang programnya. Posting di forum ini seperti biasanya.

Tips: tambahkan loop baru di bagian paling luar. Setiap kali selesai transaksi pembeli, variabel-variabel array dan indeksnya di-reset menjadi nol/kosong. Kemudian baru diisi kembali melalui menu pembelian makanan/minuman.

source code :

 public static void main(String[] args) {

        Scanner s = new Scanner(System.in);

        int mulai = 0;

        String pesanan[][] = new String[5][3];

        int nominal[][] = new int[5][6];

        int idx=0, idxmkn=0, idxmnm=0;

        int pilih1=0, pilih2=0, jumlah=0, total = 0;

        

        do{

            System.out.println("---Warung 85---");

            System.out.println("Apakah anda ingin membuat pesanan?");

            System.out.println("1. Ya");

            System.out.println("2. Tidak");

            System.out.print("Pilih =");

            mulai= s.nextInt();

            if(mulai==1){

                do{

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

                    System.out.println("1. Makanan");

                    System.out.println("2. Minuman");

                    System.out.println("3. Selesai");

                    System.out.print("Pilih=");

                    pilih1= s.nextInt();

                    switch(pilih1){

                        case 1:

                            System.out.println("---Daftar Makanan---");

                            System.out.println("1. Sate");

                            System.out.println("2. Soto");

                            System.out.println("3. Bakso");

                            System.out.print("Pilih=");

                            pilih2= s.nextInt();

                            switch(pilih2){

                                case 1 :

                                    pesanan [idxmkn][0]= "Sate";

                                    nominal [idxmkn][0]= 12000;

                                    break;

                                case 2 :

                                    pesanan [idxmkn][0]="Soto";

                                    nominal[idxmkn][0]=10000;

                                    break;

                                case 3 :

                                    pesanan [idxmkn][0]="Bakso";

                                    nominal [idxmkn][0]=8000;

                                    break;

                            }

                            System.out.print("Jumlah =");

                            jumlah = s.nextInt();

                            nominal[idxmkn][2] = jumlah;

                            //menghitung biaya

                            nominal[idxmkn][4]=nominal[idxmkn][0]*nominal[idxmkn][2];

                            idxmkn++;

                            break;

                        case 2 :

                            System.out.println("---Daftar Minuman---");

                            System.out.println("1. Teh");

                            System.out.println("2. Es Degan");

                            System.out.println("3. Air Mineral");

                            System.out.print("Pilih =");

                            pilih2= s.nextInt();

                            switch(pilih2){

                                case 1 :

                                    pesanan[idxmnm][1] = "Teh";

                                    nominal[idxmnm][1] = 2000;

                                    break;

                                case 2 :

                                    pesanan[idxmnm][1] = "Es Degan";

                                    nominal[idxmnm][1] = 3000;

                                    break;

                                case 3 :

                                    pesanan[idxmnm][1]= "Air Mineral";

                                    nominal[idxmnm][1]= 3000;

                                    break;

                            }

                            System.out.print("Jumlah");

                            jumlah = s.nextInt();

                            nominal[idxmnm][3] = jumlah;

                            //menghitung biaya

                            nominal[idxmnm][5]=nominal[idxmnm][1]*nominal[idxmnm][3];

                            idxmnm++;

                            break;

                        case 3 :

                            System.out.println("Pesanan Selesai\n");           

                    }

                }while(pilih1 != 3 && idxmkn != 5 && idxmnm != 5);

                System.out.println("---Daftar Pembelian---");

                System.out.println("Makanan\t\tHarga\tPcs\tTotal Biaya");

for (int i = 0; i < 5; i++) {

                    if (pesanan[i][0] != null) {

System.out.print((i + 1) + ". " + pesanan[i][0]);

System.out.print("\t" + nominal[i][0]);

System.out.print("\t" + nominal[i][2]);

System.out.print("\t" + nominal[i][4]);

total = total + nominal[i][4];

System.out.println("");

                    }

}

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

                System.out.println("Minuman\t\tHarga\tPcs\tTotal Biaya");

                for (int i = 0; i < 5; i++) {

                    if (pesanan[i][1] != null) {

System.out.print((i + 1) + ". " + pesanan[i][1]);

System.out.print("\t" + nominal[i][1]);

System.out.print("\t" + nominal[i][3]);

System.out.print("\t" + nominal[i][5]);

total = total + nominal[i][5];

System.out.println("");

                    }

}

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

                System.out.println("Total ="+total);

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

                System.out.println("");

            }

            

        }while(mulai!=2);

        System.out.println("Terima Kasih dan Selamat Menikmati ");

    }

}


output: 



Comments