pemrograman 9.1 (Pencarian Data)

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 searchdata;

import java.util.Scanner;

public class LatSearchData {

    public static void main(String[] args) {

        Scanner N = new Scanner(System.in);

        int harga[] = new int [6];

        String menu[] = new String [6];

        String belanja[] = new String [6];

        int harbel[] = new int [6];

        int pilih = 0; int jumlah = 0;

        

        //menu dan harga

        menu[0] = "Nasi Bakar";              harga[0] = 10000;

        menu[1] = "Nasi Campur";           harga[1] = 8000;

        menu[2] = "Nasi Goreng";            harga[2] = 15000;

        menu[3] = "Bubur Ayam";             harga[3] = 11000;

        menu[4] = "Bakso Sapi";              harga[4] = 9000;

        menu[5] = "Mie Ayam";                 harga[5] = 12000;

        

        

        do{

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

            System.out.println("SELAMAT DATANG DI WARUNG KU");

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

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

            System.out.println("2. Filter Harga");

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

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

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

            pilih = N.nextInt();

            System.out.println("");

            

            switch(pilih){

                case 1:

                    //Mengurutkan berdasarkan nama

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

                        for (int j = 0; j < 5; 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.println("-----------------------------");

                    System.out.println("\tWARUNG KU");

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

                    System.out.println("Menu\t\t| Harga");

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

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

                        System.out.println((i + 1) + ". " + menu[i] + " \t| Rp." + harga[i]);

                    }

                    System.out.println();

                    break;

                case 2:

                    //Filter Harga

                    System.out.print("Masukkan Harga Minimal \t= ");

                    int min = N.nextInt();

                    System.out.print("Masukkan Harga Maksimal = ");

                    int max = N.nextInt();

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

                    System.out.println("\tWARUNG KU");

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

                    System.out.println("Menu\t\t| Harga");

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

                    String menu_cari[] = new String[10];

                     int harga_cari[] = new int[10];

                     int idx = 0;

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

                         if (harga[i] >= min && harga[i] <= max) {

                             menu_cari[idx] = menu[i];

                             harga_cari[idx] = harga[i];

                             idx++;

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

                         }

                     }

                     // Transaksi

                     System.out.print("Silahkan Pilih Menu \t= ");

                     int pilih2 = N.nextInt();

                     belanja[jumlah] = menu_cari[pilih2-1];

                     harbel[jumlah] = harga_cari[pilih2-1];

                     jumlah++;

                     System.out.println("");

                    break;

                case 3:

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

                    System.out.println("\tTERIMA KASIH");

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

                    break;

                default:

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

                    System.out.println("\tINPUT TIDAK SESUAI!");

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

                    break;

            }

        } while (pilih != 3);

        //Mencetak Struk

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

        System.out.println("\tDAFTAR BELANJA ANDA DI WARUNG KU");

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

        System.out.println("         Menu        |        Harga        ");

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

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

            System.out.println((i + 1) + ". " + belanja[i] + " \t| Rp. " + harbel[i]);

        }

        System.out.println();

    }

 }

Output:
Daftar Menu Makanan

Filter Harga

Selesai







Komentar

Postingan populer dari blog ini

Pemrograman ke 7 (Program Array 1 Dimensi)