Program Searching Menu Makanan
Halo semuanya! Ketemu lagi dengan aku Camila, di blog ini. Pada kesempatan kali ini aku mau membahas mengenai Metode Searching, dalam penerapan Searching ini aku menggunakan Program Pemilihan Menu dari Restoran, didalamnya kita akan membuat program dimana pembeli dapat melihat menu yang tersedia, kemudian dapat mencari menu berdasarkan range harga, juga berdasarkan keyword / kata kunci tertentu. Searching sendiri berarti pencarian, maka di dalam materi kali ini kita akan membahas mengenai metode pencarian.
A. Source Code
import java.util.Scanner;
public class searching {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// Inilisiasi Array
String menu[]=new String[10];
int harga[]=new int[10];
int harga_beli[]=new int[5];
String beli_makanan[]=new String[5];
int cari_menu[]= new int[10];
int cari_harga[]=new int[10];
int jumlah[]=new int[10];
int total_pembelian = 0;
int total_harga = 0;
int Subtotal[]= new int[10];
int uang_pembeli = 0, uang_kembalian;
int jumlah_beli = 0, total_keseluruhan =0, pilih=0;
//Inisialisasi array
menu[0]="Tteokboki Cheese "; harga[0]=22000;
menu[1]="Cheese Ramen "; harga[1]=18000;
menu[2]="Sushi Set "; harga[2]=32000;
menu[3]="Samgyeopsal "; harga[3]=45000;
menu[4]="Corn Dog Set "; harga[4]=25000;
menu[5]="BBQ Set "; harga[5]=150000;
menu[6]="Kimchi Jiggae "; harga[6]=30000;
menu[7]="Fish Cake Set "; harga[7]=23000;
menu[8]="Bibimbap Cheese "; harga[8]=42000;
menu[9]="Bungeoppang "; harga[9]=15000;
System.out.println("====================================");
System.out.println(" Selamat Datang di Seoulcity ");
System.out.println(" Sudirman F(X) ");
System.out.println(" Jakarta ");
// do while
do{
System.out.println("\n====================================\n" +
"\n Daftar Pilihan \n" +
"\n====================================\n" +
"1. Pilihan Menu\n" +
"2. Cari Menu\n" +
"3. Cari berdasarkan range harga\n" +
"4. Selesai");
System.out.print("Masukan Pilihan Anda= ");
pilih=sc.nextInt();
switch (pilih){
case 1:
//Mengurutkan berdasarkan nama memakai bubble sort
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 9; 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;
}
}
}
System.out.print("\n====================================\n" +
"\n Daftar Menu \n" +
"\n====================================\n");
for (int i = 0; i < 10; i++) {
System.out.println(menu[i]+" "+harga[i]);
}
break;
case 2:
System.out.print("Cari = ");
String cari = sc.next();
String carimakan[] = new String [10];
int cariharga[] = new int [10];
int idx = 0;
for (int i = 0; i < menu.length; i++) {
if (menu[i].indexOf(cari)>=0) {
carimakan[idx] = menu[i];
cariharga[idx] = harga[i];
idx++;
System.out.println((idx) + "." +menu[i] + " "+"["+ harga[i]+"]");
}
}
//transaksi2
System.out.print("Pilih menu = ");
int pilih2 = sc.nextInt();
beli_makanan[total_pembelian] = carimakan[pilih2-1];
harga_beli[total_pembelian] = cariharga[pilih2-1];
System.out.print("Jumlah Porsi = ");
jumlah[total_pembelian] = sc.nextInt();
Subtotal[total_pembelian] = harga_beli[total_pembelian]*jumlah[total_pembelian];
total_pembelian++;
break;
case 3:
//Mengurutkan harga(Bubble sort)
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 9; j++){
if(harga[j]>(harga[j+1])){
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;
}
}
}
System.out.println("\nPilih harga yang ingin anda cari");
System.out.print("Harga awal = Rp.");
int HargaAwal=sc.nextInt();
System.out.print("Harga akhir = Rp.");
int HargaAkhir=sc.nextInt();
String cari_menu2[]=new String [10];
int cari_harga2[]=new int [10];
int indx=0;
for (int i = 0; i < menu.length; i++) {
if ((harga[i]>HargaAwal&&harga[i]<HargaAkhir)){
cari_menu2[indx]=menu[i];
cari_harga2[indx]=harga[i];
indx++;
System.out.println(indx + "." +menu[i] + " " +"["+ harga[i]+"]");
}
}
//Transaksi
System.out.print("Pilih Menu = ");
int PilihHarga=sc.nextInt();
beli_makanan[total_pembelian]=cari_menu2[PilihHarga-1];
harga_beli[total_pembelian]=cari_harga2[PilihHarga-1];
System.out.print("Jumlah Porsi = ");
jumlah[total_pembelian]= sc.nextInt();
Subtotal[total_pembelian]=harga_beli[total_pembelian]*jumlah[total_pembelian];
total_pembelian++;
System.out.println(" ");
break;
case 4:
System.out.println("====================TOTAL===================");
break;
}
}while(pilih!=4);
//Cetak daftar beli
System.out.println("Daftar beli");
for (int i = 0; i <total_pembelian; i++) {
if (beli_makanan[i]!=null){
System.out.println((i+1)+"."+beli_makanan[i]+" "+"("+jumlah[i]+")"+"\t"+harga_beli[i]);
total_harga = total_harga + Subtotal[i];
}
}
System.out.println("=============================================");
System.out.println("Total Harga = Rp." +total_harga);
//Uang Pembeli
System.out.print("Uang Anda = Rp.");
uang_pembeli = sc.nextInt();
//uang_kembalian
uang_kembalian = uang_pembeli - total_harga;
System.out.println("Kembalian Anda = Rp."+uang_kembalian);
System.out.println("============================================");
System.out.println("Terimakasih Atas Kunjungannya! ");
System.out.println("============================================");
}
}
B. Hasil Program
Pada bagian awal, pembeli dapat melihat tampilan awal menu restoran, diantaranya berisikan ucapan selamat datang serta nama restoran dan domisili restoran, dibawah identitas restoran, pembeli disuguhkan daftar pilihan yang dapat ia pilih, diantaranya: daftar menu, pencarian menu berdasarkan kata kunci, pencarian menu berdasarkan range harga, dan selesai (pengakhiran sesi pemesanan).

Komentar
Posting Komentar