Perulangan Bersarang

Calista Donna 'Aaqilah
25082010133
Pararel C

package pkg.perulanganbersarang;
import java.util.Scanner;

public class PerulanganBersarang {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int totalSemuaPemasukan = 0; // Total semua uang yang masuk
        boolean programBerjalan = true;
        
        // Harga barang
        int hargaSateAyam = 1500;
        int hargaSateKambing = 3000;
        int hargaPecelAyam = 13000;
        int hargaPecelEmpal = 15000;
        int hargaPenyetanTahu = 5000;
        int hargaPenyetanTelur = 7000;
        int hargaPenyetanAyam = 10000;
        
        System.out.println("=== SISTEM KASIR WARUNG SEDERHANA ===");
        
        while (programBerjalan) {
            // Menu Utama
            System.out.println("\n=== MENU UTAMA ===");
            System.out.println("1. Kasir");
            System.out.println("2. Admin");
            System.out.println("3. Owner");
            System.out.println("4. Exit");
            System.out.print("Pilih menu (1-4): ");
            
            int menuUtama = sc.nextInt();
            
            if (menuUtama == 1) {
                // MODE KASIR
                System.out.println("\n=== MODE KASIR ===");
                int totalTransaksi = 0;
                boolean transaksiBerjalan = true;
                
                while (transaksiBerjalan) {
                    System.out.println("\n=== PILIH MENU ===");
                    System.out.println("1. Sate Ayam - Rp " + hargaSateAyam);
                    System.out.println("2. Sate Kambing - Rp " + hargaSateKambing);
                    System.out.println("3. Pecel Ayam - Rp " + hargaPecelAyam);
                    System.out.println("4. Pecel Empal - Rp " + hargaPecelEmpal);
                    System.out.println("5. Penyetan Tahu - Rp " + hargaPenyetanTahu);
                    System.out.println("6. Penyetan Telur - Rp " + hargaPenyetanTelur);
                    System.out.println("7. Penyetan Ayam - Rp " + hargaPenyetanAyam);
                    System.out.println("8. Selesai Transaksi");
                    System.out.println("9. Kembali ke Menu Utama");
                    System.out.print("Pilih menu (1-9): ");
                    
                    int pilihan = sc.nextInt();
                    
                    if (pilihan == 8) {
                        // Selesai transaksi
                        transaksiBerjalan = false;
                    } else if (pilihan == 9) {
                        // Kembali ke menu utama
                        break;
                    } else if (pilihan >= 1 && pilihan <= 7) {
                        // Tentukan harga dan nama menu
                        int harga = 0;
                        String namaMenu = "";
                        
                        if (pilihan == 1) {
                            harga = hargaSateAyam;
                            namaMenu = "Sate Ayam";
                        } else if (pilihan == 2) {
                            harga = hargaSateKambing;
                            namaMenu = "Sate Kambing";
                        } else if (pilihan == 3) {
                            harga = hargaPecelAyam;
                            namaMenu = "Pecel Ayam";
                        } else if (pilihan == 4) {
                            harga = hargaPecelEmpal;
                            namaMenu = "Pecel Empal";
                        } else if (pilihan == 5) {
                            harga = hargaPenyetanTahu;
                            namaMenu = "Penyetan Tahu";
                        } else if (pilihan == 6) {
                            harga = hargaPenyetanTelur;
                            namaMenu = "Penyetan Telur";
                        } else if (pilihan == 7) {
                            harga = hargaPenyetanAyam;
                            namaMenu = "Penyetan Ayam";
                        }
                        
                        // Input jumlah barang
                        System.out.print("Masukkan jumlah " + namaMenu + " yang dibeli: ");
                        int jumlah = sc.nextInt();
                        
                        // Hitung total
                        int totalHarga = harga * jumlah;
                        
                        // Tanya member untuk diskon
                        System.out.print("Apakah punya kartu member? (y/t): ");
                        String member = sc.next();
                        
                        int diskon = 0;
                        if (member.equals("y")) {
                            diskon = totalHarga * 5 / 100; // Diskon 5%
                            System.out.println("Dapat diskon 5%: Rp " + diskon);
                        }
                        
                        int bayar = totalHarga - diskon;
                        totalTransaksi += bayar;
                        
                        System.out.println("Subtotal: Rp " + bayar);
                        System.out.println("Total sementara: Rp " + totalTransaksi);
                        
                    } else {
                        System.out.println("Pilihan tidak valid!");
                    }
                }
                
                // Simpan ke total pemasukan
                if (totalTransaksi > 0) {
                    totalSemuaPemasukan += totalTransaksi;
                    System.out.println("\n=== STRUK AKHIR ===");
                    System.out.println("Total yang harus dibayar: Rp " + totalTransaksi);
                    System.out.println("Terima kasih!");
                }
                
            } else if (menuUtama == 2) {
                // MODE ADMIN - Ubah harga
                System.out.println("\n=== MODE ADMIN ===");
                System.out.println("1. Ubah harga Sate Ayam (sekarang: Rp " + hargaSateAyam + ")");
                System.out.println("2. Ubah harga Sate Kambing (sekarang: Rp " + hargaSateKambing + ")");
                System.out.println("3. Ubah harga Pecel Ayam (sekarang: Rp " + hargaPecelAyam + ")");
                System.out.println("4. Ubah harga Pecel Empal (sekarang: Rp " + hargaPecelEmpal + ")");
                System.out.println("5. Ubah harga Penyetan Tahu (sekarang: Rp " + hargaPenyetanTahu + ")");
                System.out.println("6. Ubah harga Penyetan Telur (sekarang: Rp " + hargaPenyetanTelur + ")");
                System.out.println("7. Ubah harga Penyetan Ayam (sekarang: Rp " + hargaPenyetanAyam + ")");
                System.out.println("8. Kembali");
                System.out.print("Pilih yang mau diubah: ");
                
                int pilihan = sc.nextInt();
                
                if (pilihan >= 1 && pilihan <= 7) {
                    System.out.print("Masukkan harga baru: ");
                    int hargaBaru = sc.nextInt();
                    
                    if (pilihan == 1) {
                        hargaSateAyam = hargaBaru;
                        System.out.println("Harga Sate Ayam diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 2) {
                        hargaSateKambing = hargaBaru;
                        System.out.println("Harga Sate Kambing diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 3) {
                        hargaPecelAyam = hargaBaru;
                        System.out.println("Harga Pecel Ayam diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 4) {
                        hargaPecelEmpal = hargaBaru;
                        System.out.println("Harga Pecel Empal diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 5) {
                        hargaPenyetanTahu = hargaBaru;
                        System.out.println("Harga Penyetan Tahu diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 6) {
                        hargaPenyetanTelur = hargaBaru;
                        System.out.println("Harga Penyetan Telur diubah menjadi Rp " + hargaBaru);
                    } else if (pilihan == 7) {
                        hargaPenyetanAyam = hargaBaru;
                        System.out.println("Harga Penyetan Ayam diubah menjadi Rp " + hargaBaru);
                    }
                }
                
            } else if (menuUtama == 3) {
                // MODE OWNER - Lihat pemasukan
                System.out.println("\n=== MODE OWNER ===");
                System.out.println("Total semua pemasukan: Rp " + totalSemuaPemasukan);
                System.out.print("Tekan enter untuk kembali...");
                sc.nextLine(); // tunggu enter
                sc.nextLine();
                
            } else if (menuUtama == 4) {
                // EXIT
                programBerjalan = false;
                System.out.println("Terima kasih! Program selesai.");
            } else {
                System.out.println("Pilihan tidak valid! Pilih 1-4.");
            }
        }
        
        sc.close();
    }
}





Comments