Pencarian Data
Pencarian Data
Nama: Annisa Dita Putri Kartika
NPM: 21082010090
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.
#SourceCode
package Searching;
/**
*
* @author user
*/import java.util.Scanner;
public class pencariandata {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String makanan[] = new String[10];
int harga[] = new int[10];
int pilih = 0;
String pembelian[] = new String[5];
String makan[] = new String[5];
int tentuharga[] = new int[5];
int porsi [] = new int [10];
int total [] = new int[10];
int ttlbeli = 0, ttlbeliA = 0 , ttlbeliB = 0; int jmlhbeli = 0;
//inisialisasi array
makanan[0]="Nasi pecel ";harga[0]=8000;
makanan[1]="Nasi Goreng ";harga[1]=10000;
makanan[2]="NasI Bakar ";harga[2]=12000;
makanan[3]="Penyetan Ayam ";harga[3]=17000;
makanan[4]="Penyetan Bebek ";harga[4]=25000;
makanan[5]="Mie Godok ";harga[5]=11000;
makanan[6]="Mie Goreng ";harga[6]=13000;
makanan[7]="Sambal Bawang ";harga[7]=3000;
makanan[8]="Sambal Bakso Mercon ";harga[8]=7000;
makanan[9]="Sambal Matah ";harga[9]=4000;
System.out.println("==============================================");
System.out.println(" Warung Makan Sidomakmur ");
do{
System.out.println("==============================================");
System.out.println("1. Daftar Makanan");
System.out.println("2. Cari Makanan");
System.out.println("3. Cari Harga");
System.out.println("4. Selesai");
System.out.print("Pilih = ");
pilih = sc.nextInt();
System.out.println("----------------------------------------------");
switch(pilih){
case 1 :
//mengurutkan daftar makanan pakai bubble sort
for (int i = 0; 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("No Menu\t\t\tHarga");
for (int i = 0; i < 10; i++) {
System.out.println((i+1)+". "+makanan[i]+"\t"+harga[i]);
}
break;
case 2 :
//pencarian menu makanan berdasarkan nama
System.out.print("Cari [Mie,Nasi,Penyetan, Sambal] = ");
String cari = sc.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].contains(cari)){
carimakan[idx] = makanan[i];
cariharga[idx] = harga[i];
idx++;
System.out.println(idx+". "+makanan[i]+"\t"+harga[i]);
}
}
//transaksi
System.out.print("Pilih Menu = ");
pilih = sc.nextInt();
makan[jmlhbeli] = carimakan[pilih-1];
tentuharga[jmlhbeli] = cariharga[pilih-1];
System.out.print("Porsi = ");
porsi[jmlhbeli] = sc.nextInt();
total[jmlhbeli] = tentuharga[jmlhbeli] * porsi[jmlhbeli];
ttlbeliA = ttlbeliA + total[jmlhbeli];
jmlhbeli++;
break;
case 3 :
//pencarian menu makanan melalui harga
System.out.print("Harga Mulai dari = ");
int range1 = sc.nextInt();
System.out.print("Sampai Harga = ");
int range2 = sc.nextInt();
int cariharga2[] = new int[10];
String carimakan2[] = new String[10];
int idx2 = 0;
System.out.println("Daftar Menu");
System.out.println("No Menu\t\t\tHarga");
for (int i = 0; i < makanan.length; i++) {
if (harga[i]>=range1 && harga[i]<=range2){
carimakan2[idx2] = makanan[i];
cariharga2[idx2] = harga[i];
idx2++;
System.out.println(idx2+". "+makanan[i]+"\t"+harga[i]);
}
}
//transaksi
System.out.print("Pilih Menu = ");
pilih = sc.nextInt();
makan[jmlhbeli]=carimakan2[pilih-1];
tentuharga[jmlhbeli]=cariharga2[pilih-1];
System.out.print("Porsi = ");
porsi[jmlhbeli] = sc.nextInt();
total[jmlhbeli] = tentuharga[jmlhbeli] * porsi[jmlhbeli];
ttlbeliB = ttlbeliB + total[jmlhbeli];
jmlhbeli++;
break;
case 4 :
//struk pembelian
System.out.println(" Struk Pembelian Warung Sidomakmur ");
System.out.println("----------------------------------------------");
System.out.println("No Menu \t\tHarga\tPorsi\tTotal");
for (int i = 0; i < jmlhbeli; i++) {
System.out.println((i+1)+". "+makan[i]+"\t"+tentuharga[i]+"\t"+porsi[i]+"\t"+total[i]);
ttlbeli = ttlbeliA + ttlbeliB;
}
System.out.println("Total Pembelian = Rp. "+ttlbeli);
System.out.println("==============================================");
System.out.println("\t\tTerima kasih");
System.out.println("==============================================");
break;
}
}while(pilih!=4);
}
}
Komentar
Posting Komentar