Bahasa Pemrograman 1 - Searching

 Lina Wardani - 21082010116

Modifikasilah program yang dibahas di kelas dengan menambahkan fitur/menu untuk mencari menu makanan berdasarkan range harga yang dimasukkan oleh user; yaitu harga bawah dan harga atas. Kemudian nama-nama menu makanan yang harganya memenuhi range tersebut ditampilkan di layar output untuk selanjutnya dipilih sebagai item pembelian dan masuk ke dalam daftar belanja pembeli. Daftar menu makanan hasil pencarian sebaiknya diberi angka untuk memudahkan pemilihan. 

Tips: Buat tiga array baru untuk menampung hasil pencarian. Satu array untuk nama makanan. Satu array untuk harganya. Dan satu array lagi untuk menyimpan transaksi pembeliannya.

Source Code 

package searching;

import java.util.Scanner;

public class warung {

    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);

        //array

        String makanan [] = new String[10];

        int harga [] = new int [10];

        int porsi [] = new int [10];

        int total [] = new int [10];

        String pembelian [] = new String [5];

        String belimakanan [] = new String [5];

        int beliharga [] = new int [5];

        int jumlahbeli = 0;

        int pilih = 0;

        int totalbeli = 0, totalbeli1 = 0, totalbeli2 = 0;

        //inisialisasi array

        makanan[0] = "Sate Ayam           "; harga[0] = 12000;

        makanan[1] = "Sate Daging Sapi    "; harga[1] = 15000;

        makanan[2] = "Sate Daging Kambing "; harga[2] = 18000;

        makanan[3] = "Soto Ayam           "; harga[3] = 15000;

        makanan[4] = "Soto Lamongan       "; harga[4] = 10000;

        makanan[5] = "Soto Madura         "; harga[5] = 13000;

        makanan[6] = "Mie Ayam            "; harga[6] = 10000;

        makanan[7] = "Bakso               "; harga[7] = 8000;

        makanan[8] = "Nasi Rawon          "; harga[8] = 10000;

        makanan[9] = "Nasi Pecel          "; harga[9] = 8000;

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

        System.out.println("");

        do{

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

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

            System.out.println("2. Cari Nama Makanan");

            System.out.println("3. Cari Harga Makanan");

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

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

            pilih = s.nextInt();

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

            switch(pilih){

                case 1 :

                    //urutkan berdasarkan nama

                    //bubble sort

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

                        for (int j=0;j<9;j++){

                            if(makanan[j].compareToIgnoreCase(makanan[j+1])>0){

                                String t = makanan[j];

                                makanan[j] = makanan[j+1];

                                makanan[j+1] = t;

                                

                                int h = harga[j];

                                harga[j]=harga[j+1];

                                harga[j+1] = h;

                            }

                        }

                    }

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

                    System.out.println(" Menu\t\t\tHarga");

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

                        System.out.println((i+1)+ "."+makanan[i]+" "+harga[i] );

                    }

                    break;

                case 2 :

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

                    String cari = s.next();

                    String carimakan[] = new String[10];

                    int cariharga[] = new int[10];

                    int idx=0;

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

                    System.out.println("No Menu\t\t\tHarga");

                    for (int i = 0; i < makanan.length; i++) {

                        if(makanan[i].indexOf(cari)>=0){

                            carimakan[idx] = makanan[i];

                            cariharga[idx] = harga[i];

                            idx++;

                            System.out.println(idx+". "+makanan[i]+"\t"+harga[i]);

                        }

                    }

                    //transaksi pembelian

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

                    pilih = s.nextInt();

                    belimakanan[jumlahbeli] = carimakan[pilih-1];

                    beliharga[jumlahbeli] = cariharga[pilih-1];

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

                    porsi[jumlahbeli] = s.nextInt();

                    total[jumlahbeli] = beliharga[jumlahbeli]*porsi[jumlahbeli];

                    totalbeli1 = totalbeli1 +total[jumlahbeli];

                    jumlahbeli++;


                    

                    break;

                case 3 :

                    System.out.println("1. Harga Bawah (Harga< Rp. 13.000)");

                    System.out.println("2. Harga Atas  (Harga> Rp. 13.000)");

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

                    int pilih3 = s.nextInt();

                    int cariharga2[] = new int[10];

                    String carimakan2[] = new String[10];

                    int idx2 = 0;

                    switch(pilih3){

                        case 1 :

                            for (int i=0;i<makanan.length;i++){

                                if (harga[i]<=15000){

                                    carimakan2[idx2] = makanan[i];

                                    cariharga2[idx2] = harga[i];

                                    idx2++;

                                    System.out.println(idx2+"."+makanan[i]+" "+harga[i]);

                                }

                            }

                            break;

                        case 2 :

                            for (int i = 0; i < makanan.length; i++) {

                                if (harga[i]>15000){

                                carimakan2[idx2] = makanan[i];

                                cariharga2[idx2] = harga[i];

                                idx2++;

                                System.out.println(idx2+". "+makanan[i]+" "+harga[i]);

                                }

                            }

                            break;

                    }

                    //transaksi pembelian

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

                    pilih = s.nextInt();

                    belimakanan[jumlahbeli]=carimakan2[pilih-1];

                    beliharga[jumlahbeli]=cariharga2[pilih-1];

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

                    porsi[jumlahbeli] = s.nextInt();

                    total[jumlahbeli] = beliharga[jumlahbeli] * porsi[jumlahbeli];

                    totalbeli2 = totalbeli2 + total[jumlahbeli];

                    jumlahbeli++;

                    break;

                case 4 :

                    System.out.println("\t\tTerima Kasih, Selamat Menikmati");

                    break;

            }    

        }while(pilih!=4); 

        //cetak daftar beli

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

        System.out.println("No Menu \t\tHarga\tPorsi\tTotal");

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

            System.out.println((i+1)+". "+belimakanan[i]+"\t"+beliharga[i]+"\t"+porsi[i]+"\t"+total[i]);

            totalbeli = totalbeli1 + totalbeli2;

        }    

        System.out.println("Total Pembelian = Rp."+totalbeli);

        

    }

}


OUTPUT






Comments