Switch Case

package pkg.switchcase;

import java.util.Scanner;

public class SwitchCase {

    public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

        int totalSemuaBiaya = 0; // Variabel untuk mengakumulasi total biaya dari semua pembelian

        boolean ulangi = true;

        

        System.out.println("=== PROGRAM PEMESANAN WARUNG SEDERHANA ===");

        

        // Loop do-while untuk mengulang pembelian

        do {

            int harga = 0;

            String namaMenu = "";

            double diskon = 0;


            // --- Menu Utama ---

            System.out.println("\n=== MENU UTAMA ===");

            System.out.println("1. Sate");

            System.out.println("2. Pecel");

            System.out.println("3. Penyetan");

            System.out.println("4. Selesai Memesan & Hitung Total");

            System.out.print("Pilih menu (1-4): ");


            if (!sc.hasNextInt()) {

                System.out.println("Input tidak valid. Silakan masukkan angka.");

                sc.next(); // Membersihkan input yang salah

                continue; // Lanjut ke iterasi loop berikutnya

            }

            int menuUtama = sc.nextInt();


            if (menuUtama == 4) {

                ulangi = false; // Keluar dari loop

                break;

            }


            // --- Logika Submenu (Switch Case Utama) ---

            switch (menuUtama) {

                case 1: // Sate - 2 pilihan, gunakan if-else

                    System.out.println("Submenu Sate:");

                    System.out.println("1. Ayam (Rp 1.500/tusuk)");

                    System.out.println("2. Kambing (Rp 3.000/tusuk)");

                    System.out.print("Pilih submenu (1-2): ");

                    int submenuSate = sc.nextInt();

                    if (submenuSate == 1) {

                        harga = 1500;

                        namaMenu = "Sate Ayam";

                    } else if (submenuSate == 2) {

                        harga = 3000;

                        namaMenu = "Sate Kambing";

                    } else {

                        System.out.println("Pilihan submenu tidak valid. Mulai pemesanan baru.");

                        continue; // Lanjut ke iterasi loop berikutnya

                    }

                    break;

                case 2: // Pecel - 2 pilihan, gunakan if-else

                    System.out.println("Submenu Pecel:");

                    System.out.println("1. Lauk Ayam (Rp 13.000/porsi)");

                    System.out.println("2. Lauk Empal (Rp 15.000/porsi)");

                    System.out.print("Pilih submenu (1-2): ");

                    int submenuPecel = sc.nextInt();

                    if (submenuPecel == 1) {

                        harga = 13000;

                        namaMenu = "Pecel Lauk Ayam";

                    } else if (submenuPecel == 2) {

                        harga = 15000;

                        namaMenu = "Pecel Lauk Empal";

                    } else {

                        System.out.println("Pilihan submenu tidak valid. Mulai pemesanan baru.");

                        continue;

                    }

                    break;

                case 3: // Penyetan - 3 pilihan, gunakan switch-case

                    System.out.println("Submenu Penyetan:");

                    System.out.println("1. Lauk Tahu/Tempe (Rp 5.000/porsi)");

                    System.out.println("2. Lauk Telur (Rp 7.000/porsi)");

                    System.out.println("3. Lauk Ayam (Rp 10.000/porsi)");

                    System.out.print("Pilih submenu (1-3): ");

                    int submenuPenyetan = sc.nextInt();

                    switch (submenuPenyetan) {

                        case 1:

                            harga = 5000;

                            namaMenu = "Penyetan Lauk Tahu/Tempe";

                            break;

                        case 2:

                            harga = 7000;

                            namaMenu = "Penyetan Lauk Telur";

                            break;

                        case 3:

                            harga = 10000;

                            namaMenu = "Penyetan Lauk Ayam";

                            break;

                        default:

                            System.out.println("Pilihan submenu tidak valid. Mulai pemesanan baru.");

                            continue;

                    }

                    break;

                default:

                    System.out.println("Pilihan menu tidak valid. Silakan pilih menu yang tersedia.");

                    continue; // Lanjut ke iterasi loop berikutnya

            }


            // Input jumlah yang dibeli

            System.out.print("Masukkan jumlah yang dibeli untuk " + namaMenu + ": ");

            int jumlah = sc.nextInt();

            

            // Hitung total biaya sebelum diskon

            int totalBiaya = harga * jumlah;


            // Tanya kartu member

            System.out.print("Apakah pembelian " + namaMenu + " ini memiliki kartu member? (y/t): ");

            String member = sc.next().toLowerCase();

            

            if (member.equals("y")) {

                diskon = 0.05; // 5%

                System.out.println("Anda mendapatkan diskon 5% sebagai member untuk pembelian ini.");

            } else {

                System.out.println("Tidak ada diskon untuk pembelian ini.");

            }


            // Hitung biaya akhir

            double biayaAkhirBeliIni = totalBiaya - (totalBiaya * diskon);

            

            // Akumulasi total biaya

            totalSemuaBiaya += (int) biayaAkhirBeliIni;


            // Tampilkan hasil pembelian saat ini

            System.out.println("\n=== STRUK PEMBELIAN SAAT INI ===");

            System.out.println("Menu: " + namaMenu + " (" + jumlah + " porsi/tusuk)");

            System.out.println("Harga Satuan: Rp " + harga);

            System.out.println("Total Biaya Sebelum Diskon: Rp " + totalBiaya);

            if (diskon > 0) {

                System.out.println("Diskon Member (5%): Rp " + (totalBiaya * diskon));

            }

            System.out.println("**Biaya Akhir Pembelian Ini: Rp " + (int) biayaAkhirBeliIni + "**"); 

            System.out.println("Total Akumulasi Biaya Sementara: Rp " + totalSemuaBiaya);


        } while (ulangi); // Lanjutkan selama ulangi masih true


        // --- Tampilkan Total Biaya Keseluruhan ---

        System.out.println("\n===============================");

        System.out.println("=== RINGKASAN SELURUH PEMBELIAN ===");

        System.out.println("Total Biaya dari Seluruh Pembelian (Setelah Diskon): **Rp " + totalSemuaBiaya + "**");

        System.out.println("===============================");


        sc.close();

    }

}

Comments

Popular posts from this blog

Gambar Emoji Multi Dimensi Array_CalistaDonna'Aaqilah_133