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
Post a Comment