Program Pemesanan [Array Multi Dimensi]
Halo semuanya! Ketemu lagi dengan aku Camila, di blog ini. Pada kesempatan kali ini aku mau membahas mengenai Array Multi Dimensi, dalam penerapan Array Multi Dimensi ini aku menggunakan Program Pelayanan Pemesanan Menu dari Restoran, didalamnya kita akan membuat program dimana pembeli dapat memesan pesananan lebih dari 1 menu dan mengakumulasikannya di akhir untuk dilakukan rekap atau review pesanan menjadi satu dengan memberikan rincian terkait pesanan apa saja yang dipesan, menyesuaikan dengan nomor urut pesanan.
A. Source Code
import java.util.Scanner;
public class arraymulti {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String pesanan[][]= new String[5][3];
int nominal[][] = new int[5][8];
int total_makanan = 0, total_minuman = 0, total_harga = 0;
int indeks=0, indeks_makanan=0, indeks_minuman=0;
int pilih=0, pilih_menu=0, jumlah=0;
int cash, kembalian, out;
boolean ulang=true;
while(ulang){
System.out.println("====================================");
System.out.println(" Selamat Datang di Seoulcity ");
System.out.println(" Sudirman F(X) ");
System.out.println(" Jakarta ");
System.out.println("====================================");
do{
System.out.println("Menu Rumah Makan Sederhana:\n" +
"1. Makanan \n" +
"2. Minuman \n" +
"3. Selesai memilih menu\n");
System.out.print("Pilihan Anda = ");
pilih = sc.nextInt();
switch(pilih){
case 1:
System.out.println("============================================");
System.out.println("Menu Makanan:\n" +
"1. Budae Jidgae = Rp.52.000/Porsi \n" +
"2. BBQ SET = Rp. 150.000/Set \n" +
"3. Tteokboki = Rp.32.000/Porsi \n");
System.out.print("Pilihan Anda = ");
pilih_menu = sc.nextInt();
switch(pilih_menu){
case 1:
pesanan[indeks_makanan][0]="Budae Jidgae";
nominal[indeks_makanan][0]=52000;
break;
case 2 :
pesanan[indeks_makanan][0]="BBQ SET";
nominal[indeks_makanan][0]=150000;
break;
case 3:
pesanan[indeks_makanan][0]="Tteokboki";
nominal[indeks_makanan][0]=32000;
break;
}
System.out.print("Jumlah = ");
jumlah = sc.nextInt();
nominal[indeks_makanan][2]=jumlah;
System.out.println("============================================");
//Total Biaya Makanan
nominal[indeks_makanan][4]=nominal[indeks_makanan][0]*nominal[indeks_makanan][2];
total_makanan = total_makanan + nominal[indeks_makanan][4];
indeks_makanan++;
break;
case 2:
System.out.println("============================================");
System.out.println("Menu Minuman:\n" +
"1. Banana Uyu = Rp.15000/Botol\n" +
"2. Makgeolli = Rp. 30000/Set\n" +
"3. Soda Perisa = Rp. 10000/Botol\n");
System.out.print("Pilihan Anda = ");
pilih_menu = sc.nextInt();
switch(pilih_menu){
case 1:
pesanan[indeks_minuman][1]="Banana Uyu";
nominal[indeks_minuman][1]=15000;
break;
case 2 :
pesanan[indeks_minuman][1]="Makgeolli";
nominal[indeks_minuman][1]=30000;
break;
case 3:
pesanan[indeks_minuman][1]="Soda Perisa";
nominal[indeks_minuman][1]=10000;
break;
}
System.out.print("Jumlah = ");
jumlah = sc.nextInt();
nominal[indeks_minuman][3]=jumlah;
System.out.println("============================================");
//Total Biaya Minuman
nominal[indeks_minuman][5]=nominal[indeks_minuman][1]*nominal[indeks_minuman][3];
total_minuman = total_minuman + nominal[indeks_minuman][5];
indeks_minuman++;
break;
case 3:
System.out.println("Pemilihan Menu Selesai");
break;
default:
System.out.println("Pilihan Tidak Tersedia!");
}
}while(pilih!=3);
System.out.println("============================================");
System.out.println("============= Daftar Pesanan =============");
System.out.println(" Makanan\tHarga\tJml\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.println("\t"+nominal[i][4]);
}
}
System.out.println(" Minuman\tHarga\tJml\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.println("\t"+nominal[i][5]);
}
}
System.out.println("============================================");
total_harga = total_makanan + total_minuman;
System.out.println("Tagihan Anda :\t\t\t" +total_harga);
System.out.println("Total Bayar :\t\t\t");
cash = sc.nextInt();
System.out.println("Kembalian Anda:");
System.out.println("\t\t\t" +(cash - total_harga));
System.out.println("============================================");
System.out.println("Ingin Memesan Kembali?");
System.out.println(" 1. Ya \n 2. Tidak");
System.out.print("Jawaban Anda = ");
out = sc.nextInt();
if(out == 2) {
ulang = false;
}
else if(out == 1) {
System.out.println("");
}
System.out.println("============================================");
System.out.println("Terimakasih Atas Kunjungannya! ");
System.out.println("============================================");
}
}
}
B. Output Program
Output program menampilkan jenis menu yang tersedia adapun dalam menu tersebut kemudian dibagi lagi. Dalam menu utama terdapat menu makanan dan minuman,Pada bagian menu makanan dibagi lagi menjadi sub menu yaitu: Budae Jidgae, BBQ Set, dan Tteokboki. Pada bagian menu minuman dibagi lagi menjadi sub menu yaitu: Banana Uyu, Makgeolli, dan Soda Perisa . Pembeli dapat dengan mudah memilih menu untuk kemudian dikalkulasikan pada daftar pesanan di akhir nanti.
Output program menampilkan pilihan selesai memilih menu, adapun penggunaannya adalah untuk menyelesaikan seluruh pesanan pelanggan secara keseluruhan. Kemudian akan ditampilkan akumulasi harga beserta kembalian yang akan di dapat pembeli.

Komentar
Posting Komentar