Sebelum kita memulai membuat aplikasi sederhana menggunakan restoran, ada beberapa hal yang perlu disiapkan untuk memastikan proses pengembangan berjalan lancar. Apa saja yang harus disiapkan sebelum memulai:
- Pastikan anda memiliki JDK yang terinstal di komputer anda.
- Buat 1 file Java misal RestaurantApp.java.
- Kompilasi dan jalankan aplikasi menggunakan terminal atau IDE favorit anda.
Oke setelah semua persiapan sudah siap langsung aja kita buat aplikasinya. Aplikasi ini memungkinkan pengguna untuk memesan beberapa item menu dan menghitung total biaya.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class RestaurantApp {
// Kelas MenuItem untuk menyimpan informasi menu
static class MenuItem {
private String name;
private double price;
public MenuItem(String name, double price) {
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public double getPrice() {
return price;
}
x-on:Override
public String toString() {
return name + " - Rp " + price;
}
}
// Kelas Restaurant untuk mengelola menu dan pesanan
static class Restaurant {
private List<MenuItem> menu;
private List<MenuItem> order;
public Restaurant() {
menu = new ArrayList<>();
order = new ArrayList<>();
// Menambahkan item ke menu
menu.add(new MenuItem("Nasi Goreng", 20000));
menu.add(new MenuItem("Mie Goreng", 15000));
menu.add(new MenuItem("Bubur Ayam", 25000));
menu.add(new MenuItem("Es Teh", 5000));
menu.add(new MenuItem("Jus Alpukat", 7000));
}
public void showMenu() {
System.out.println("Menu Restoran:");
for (int i = 0; i < menu.size(); i++) {
System.out.println((i + 1) + ". " + menu.get(i));
}
}
public void addOrder(int choice) {
if (choice >= 1 && choice <= menu.size()) {
order.add(menu.get(choice - 1));
System.out.println("Pesanan ditambahkan: " + menu.get(choice - 1).getName());
} else {
System.out.println("Pilihan tidak valid.");
}
}
public double calculateTotal() {
double total = 0;
for (MenuItem item : order) {
total += item.getPrice();
}
return total;
}
public void printReceipt() {
System.out.println("\n--- Struk Pesanan ---");
for (MenuItem item : order) {
System.out.println(item);
}
System.out.println("Total: Rp " + calculateTotal());
}
}
// Kelas Main untuk mengatur jalannya aplikasi
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Restaurant restaurant = new Restaurant();
System.out.println("Selamat datang di Restoran Sederhana!");
boolean continueOrdering = true;
while (continueOrdering) {
// Menampilkan menu restoran
restaurant.showMenu();
// Meminta pengguna untuk memilih menu
System.out.print("Masukkan nomor item yang ingin dipesan (0 untuk selesai): ");
int choice = scanner.nextInt();
if (choice == 0) {
continueOrdering = false; // Mengakhiri pemesanan
} else {
restaurant.addOrder(choice); // Menambah item pesanan
}
}
// Menampilkan struk pesanan
restaurant.printReceipt();
scanner.close();
}
}
Hasil Output:
Selamat datang di Restoran Sederhana!
Menu Restoran:
1. Nasi Goreng - Rp 20000.0
2. Mie Goreng - Rp 15000.0
3. Bubur Ayam - Rp 25000.0
4. Es Teh - Rp 5000.0
5. Jus Alpukat - Rp 7000.0
Masukkan nomor item yang ingin dipesan (0 untuk selesai): 1
Pesanan ditambahkan: Nasi Goreng
Menu Restoran:
1. Nasi Goreng - Rp 20000.0
2. Mie Goreng - Rp 15000.0
3. Bubur Ayam - Rp 25000.0
4. Es Teh - Rp 5000.0
5. Jus Alpukat - Rp 7000.0
Masukkan nomor item yang ingin dipesan (0 untuk selesai): 4
Pesanan ditambahkan: Es Teh
Menu Restoran:
1. Nasi Goreng - Rp 20000.0
2. Mie Goreng - Rp 15000.0
3. Bubur Ayam - Rp 25000.0
4. Es Teh - Rp 5000.0
5. Jus Alpukat - Rp 7000.0
Masukkan nomor item yang ingin dipesan (0 untuk selesai): 0
--- Struk Pesanan ---
Nasi Goreng - Rp 20000.0
Es Teh - Rp 5000.0
Total: Rp 25000.0
Fitur utama aplikasi ini:
- Menu Restoran: Pengguna dapat memilih item dari menu restoran yang ditampilkan.
- Pemesanan: Pengguna dapat menambah item ke pesanan.
- Struk: Setelah selesai, struk pesanan akan ditampilkan dengan total harga.
Aplikasi ini sederhana ini dapat diperluas dengan fitur tambahan lainnya seperti menghapus pesanan, menambah kuantitas item, atau memvalidasi input pengguna. Jadi ikutin terus yaaa~
PART 2 : Menambahkan Fitur Pada Aplikasi Restoran Sederhana. Menambahkan Menu Harga, Mengubah Menu Harga dll