Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Scanner scan = new Scanner(System.in);
- int frekuensiBeli = 0;
- float subtotal2 = 0;
- int total = 0;
- float[] total_harga_2 = new float[100];
- while(true) {
- //buat menu awal
- System.out.println("selamat datang di ub mart".toUpperCase());
- System.out.println("Menu : ");
- System.out.println("1. Berbelanja");
- System.out.println("2. Lihat History");
- System.out.println("3. Keluar");
- System.out.print("Pilihan anda: ");
- int pilihan = scan.nextInt();
- System.out.println();
- if (pilihan == 1) {
- System.out.printf("%-40s %13s", "Masukkan banyak barang yang ingin dibeli", ": ");
- int jml_barang = scan.nextInt();
- int jumlahBarang1 = 0;
- int totalJumlahBarang = 0;
- float hargaBarang1 = 0;
- float totalHargaBarang = 0;
- float diskon = 0;
- float ppn = 0;
- String nama = "";
- String nim = "";
- String hari = "";
- scan.nextLine();
- //inisiasi array
- int[] jml_barang_array = new int[jml_barang];
- String[] nama_barang_array = new String[jml_barang];
- int[] jumlah_satuan_barang_array = new int[jml_barang];
- float[] harga_barang_unit_array = new float[jml_barang];
- float[] total_harga_array = new float[jml_barang];
- //input
- for (int a = 0; a < jml_barang_array.length; a++) {
- System.out.printf("%-40s %13s", "Masukkan nama barang " + (a+1), " : ");
- nama_barang_array[a] = scan.nextLine();
- System.out.printf("%-40s %13s", "Masukkan jumlah barang " + (a+1), " : ");
- jumlah_satuan_barang_array[a] = scan.nextInt();
- totalJumlahBarang += jumlahBarang1;
- System.out.printf("%-40s %13s", "Masukkan harga barang " + (a+1), " : ");
- harga_barang_unit_array[a] = scan.nextFloat();
- total_harga_array[a] = jumlah_satuan_barang_array[a] * harga_barang_unit_array[a];
- totalHargaBarang += total_harga_array[a];
- scan.nextLine();
- }
- System.out.println();
- System.out.printf("%-40s %13s", "Masukkan hari sekarang", ": ");
- hari = scan.nextLine();
- System.out.printf("%-40s %13s", "Apakah anda mahasiswa UB (true/false)", ": ");
- boolean status = scan.nextBoolean();
- scan.nextLine();
- //status mahasiswa atau bukan
- if (status) {
- System.out.printf("%-40s %13s", "Masukkan User ID (NIM)", ": ");
- nim = scan.nextLine();
- System.out.printf("%-40s %13s", "Masukkan nama pembeli", ": ");
- nama = scan.nextLine();
- System.out.println();
- System.out.println("===============================" + " Struk Pembelian " + "=====================================\n");
- //SNMPTN
- if (nim.substring(5, 9).equals("0701")) {
- if (hari.equalsIgnoreCase("Senin") || hari.equalsIgnoreCase("Kamis")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
- diskon += 10.00f;
- } else if (hari.equalsIgnoreCase("Minggu")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
- diskon += 5.00f;
- }
- } //SBMPTN
- else if (nim.substring(5, 9).equals("0700")) {
- if (hari.equalsIgnoreCase("Selasa") || hari.equalsIgnoreCase("Jumat")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
- diskon += 10.00f;
- } else if (hari.equalsIgnoreCase("Minggu")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
- diskon += 5.00f;
- }
- } //Mandiri
- else if (nim.substring(5, 9).equals("0707")) {
- if (hari.equalsIgnoreCase("Rabu") || hari.equalsIgnoreCase("Sabtu")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
- diskon += 10.00f;
- } else if (hari.equalsIgnoreCase("Minggu")) {
- System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
- diskon += 5.00f;
- }
- }
- String kapital = hari.substring(0, 1);
- String huruf1 = hari.substring(1).toLowerCase();
- System.out.printf("%-10s %10s %-30s\n", "User ID", ":", nim);
- System.out.printf("%-10s %10s %-30s\n", "Nama", ":", nama);
- System.out.printf("%-10s %10s %-1s%-10s\n\n", "Hari", ":", kapital.toUpperCase(), huruf1);
- } else {
- System.out.println();
- System.out.println("===============================" + " Struk Pembelian " + "=====================================\n");
- }
- //output
- System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
- System.out.printf("| %-2s | %-19s | %4s | %-25s | %-16s |\n", "No.", "Nama Barang", "Jumlah", "Harga/unit", "Total Harga");
- System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
- for (int a = 0; a < jml_barang_array.length; a++) {
- System.out.printf("| %3s | %-19s | %-6s | %3s %-,21.2f | %3s %-,12.2f |\n", "1.", nama_barang_array[a], jumlah_satuan_barang_array[a], "Rp.", harga_barang_unit_array[a], "Rp.", total_harga_array[a]);
- System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
- }
- ppn = totalHargaBarang / 10;
- float subtotal = totalHargaBarang + ppn;
- if (subtotal >= 100_000) {
- diskon += 10.00f;
- } else if (subtotal >= 50_000 && subtotal < 100_000) {
- diskon += 5.00f;
- }
- float diskonBelanja = diskon * subtotal / 100;
- subtotal2 = subtotal - diskonBelanja;
- System.out.printf("%36s | %-25s | %3s %-,12.2f | \n", " ", "PPN 10%", "Rp.", ppn);
- System.out.printf("%85s\n", "------------------------------------------------");
- System.out.printf("%36s | %-15s %6.2f%-2s | %3s %-,12.2f | \n", " ", "Diskon Belanja: ", diskon, "%", "Rp.", diskonBelanja);
- System.out.printf("%85s\n", "------------------------------------------------");
- System.out.printf("%36s | %-25s | %3s %-,12.2f | \n", " ", "Subtotal", "Rp.", subtotal2);
- System.out.printf("%85s\n", "------------------------------------------------");
- //agar data di array tidak ter-overwrite
- for (int a = total; ;a++){
- total_harga_2[a] = subtotal2;
- frekuensiBeli++;
- total++;
- break;
- }
- }
- //menampilkan history
- else if (pilihan == 2){
- if (frekuensiBeli == 0){
- System.out.println("\nBelum ada transaksi\n");
- } else {
- System.out.println("\nHistory Transaksi UB Mart\n");
- System.out.println("--------------------------------------------------");
- System.out.printf("| %-3s | %-19s | %-18s |\n", "No.", "Jenis transaksi", "Total Harga");
- System.out.println("--------------------------------------------------");
- for (int a = 0; a < frekuensiBeli; a++){
- System.out.printf("| %-3s | %-19s | Rp. %-,14.2f |\n", (a+1) + ".", "Belanja", total_harga_2[a]);
- System.out.println("--------------------------------------------------");
- }
- System.out.println();
- }
- }
- //keluar
- else if (pilihan == 3){
- System.exit(0);
- }
- }
Add Comment
Please, Sign In to add comment