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).



Sebelumnya telah kita masukan pilihan nomer satu dimana di dalamnya memuat daftar menu secara keseluruhan, maka hasil output yang kita dapat ialah daftar menu.



Sebelumnya telah kita masukan pilihan nomer dua dimana di pembeli dapat mencari menu berdasarkan keyword / kata kunci tertentu. Maka kemudian daftar menu akan ditampilkan berdasarkan keyword / kata kunci tertentu.



Sebelumnya telah kita masukan pilihan nomer tiga dimana pembeli dapat mencari menu berdasarkan range harga tertentu. Maka kemudian daftar menu akan ditampilkan berdasarkan range harga yang telah dipilih.


Sebelumnya telah kita masukan pilihan nomer empat dimana pembeli menuntaskan pemesanan makanan, kemudian setelahnya akan ditampilkan total harga yang harus dibayar pembeli dan jumlah uang yang pembeli bayarkan kepada restoran, serta uang kembalian yang didapatkan pembeli.







Komentar

Postingan Populer