Source Code Tugas3
Source Code Tugas3
Nim : 044502699
Upbjj : Jakarta
import java.util.ArrayList;
import java.util.Scanner;
@Override
public void tampilMenu() {
System.out.println(getNama() + " - " + jenisMakanan);
System.out.println("Harga: " + getHarga());
System.out.println("Kategori: " + getKategori());
System.out.println("-------------");
}
}
@Override
public void tampilMenu() {
System.out.println(getNama() + " - " + jenisMinuman);
System.out.println("Harga: " + getHarga());
System.out.println("Kategori: " + getKategori());
System.out.println("-------------");
}
}
@Override
public void tampilMenu() {
System.out.println(getNama() + " - Diskon " + diskon + "%");
System.out.println("Harga: " + getHarga());
System.out.println("Kategori: " + getKategori());
System.out.println("-------------");
}
}
class Menu {
private ArrayList<MenuItem> daftarMenu = new ArrayList<>();
public void tambahMenu(MenuItem item) {
daftarMenu.add(item);
}
class Pesanan {
private ArrayList<MenuItem> daftarPesanan = new ArrayList<>();
int pilihan;
do {
System.out.println("== Menu Utama ==");
System.out.println("1. Tambah Item Menu");
System.out.println("2. Tampilkan Menu Restoran");
System.out.println("3. Pesan Menu");
System.out.println("4. Tampilkan Struk Pesanan");
System.out.println("5. Keluar");
switch (pilihan) {
case 1:
System.out.print("Masukkan nama menu: ");
scanner.nextLine(); // Membersihkan buffer
String namaMenu = scanner.nextLine();
System.out.print("Masukkan harga menu: ");
double hargaMenu = scanner.nextDouble();
System.out.print("Masukkan kategori menu
(Makanan/Minuman/Diskon): ");
scanner.nextLine(); // Membersihkan buffer
String kategoriMenu = scanner.nextLine();
MenuItem newItem;
if (kategoriMenu.equalsIgnoreCase("Makanan")) {
System.out.print("Masukkan jenis makanan: ");
String jenisMakanan = scanner.nextLine();
newItem = new Makanan(namaMenu, hargaMenu, jenisMakanan);
} else if (kategoriMenu.equalsIgnoreCase("MInuman")) {
System.out.print("Masukkan jenis minuman: ");
String jenisMinuman = scanner.nextLine();
newItem = new Minuman(namaMenu, hargaMenu, jenisMinuman);
} else if (kategoriMenu.equalsIgnoreCase("Diskon")) {
System.out.print("Masukkan besaran diskon (%): ");
double besaranDiskon = scanner.nextDouble();
newItem = new Diskon (namaMenu, hargaMenu, besaranDiskon);
} else {
System.out.print("Kategori menu tidak valid.");
continue;
}
menuRestoran.tambahMenu(newItem);
System.out.println("Item menu berhasil ditambahkan.");
break;
case 2:
menuRestoran.tampilkanMenu();
break;
case 3:
System.out.print("Masukkan nama menu yang ingin dipesan: ");
scanner.nextLine(); // Membersihkan buffer
String pesanan = scanner.nextLine();
MenuItem pesananItem = menuRestoran.getItemByNama (pesanan);
if (pesananItem != null) {
pesananPelanggan.tambahPesanan(pesananItem);
System.out.println("Pesanan berhasil ditambahkan. ");
} else {
System.out.println("Menu tidak ditemukan.");
}
break;
case 4:
pesananPelanggan.tampilkanStruk();
break;
case 5:
System.out.println("Terimakasih telah menggunakan layanan
kami.");
break;
}