redo21

ubmart

Nov 18th, 2021
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.92 KB | None | 0 0
  1.  Scanner scan = new Scanner(System.in);
  2.         int frekuensiBeli = 0;
  3.         float subtotal2 = 0;
  4.         int total = 0;
  5.         float[] total_harga_2 = new float[100];
  6.         while(true) {
  7.             //buat menu awal
  8.             System.out.println("selamat datang di ub mart".toUpperCase());
  9.             System.out.println("Menu : ");
  10.             System.out.println("1. Berbelanja");
  11.             System.out.println("2. Lihat History");
  12.             System.out.println("3. Keluar");
  13.             System.out.print("Pilihan anda: ");
  14.             int pilihan = scan.nextInt();
  15.             System.out.println();
  16.             if (pilihan == 1) {
  17.                 System.out.printf("%-40s %13s", "Masukkan banyak barang yang ingin dibeli", ": ");
  18.                 int jml_barang = scan.nextInt();
  19.                 int jumlahBarang1 = 0;
  20.                 int totalJumlahBarang = 0;
  21.                 float hargaBarang1 = 0;
  22.                 float totalHargaBarang = 0;
  23.                 float diskon = 0;
  24.                 float ppn = 0;
  25.                 String nama = "";
  26.                 String nim = "";
  27.                 String hari = "";
  28.                 scan.nextLine();
  29.                 //inisiasi array
  30.                 int[] jml_barang_array = new int[jml_barang];
  31.                 String[] nama_barang_array = new String[jml_barang];
  32.                 int[] jumlah_satuan_barang_array = new int[jml_barang];
  33.                 float[] harga_barang_unit_array = new float[jml_barang];
  34.                 float[] total_harga_array = new float[jml_barang];
  35.  
  36.                 //input
  37.                 for (int a = 0; a < jml_barang_array.length; a++) {
  38.                     System.out.printf("%-40s %13s", "Masukkan nama barang " + (a+1), " : ");
  39.                     nama_barang_array[a] = scan.nextLine();
  40.                     System.out.printf("%-40s %13s", "Masukkan jumlah barang " + (a+1), " : ");
  41.                     jumlah_satuan_barang_array[a] = scan.nextInt();
  42.                     totalJumlahBarang += jumlahBarang1;
  43.                     System.out.printf("%-40s %13s", "Masukkan harga barang " + (a+1), " : ");
  44.                     harga_barang_unit_array[a] = scan.nextFloat();
  45.                     total_harga_array[a] = jumlah_satuan_barang_array[a] * harga_barang_unit_array[a];
  46.                     totalHargaBarang += total_harga_array[a];
  47.                     scan.nextLine();
  48.                 }
  49.                 System.out.println();
  50.                 System.out.printf("%-40s %13s", "Masukkan hari sekarang", ": ");
  51.                 hari = scan.nextLine();
  52.                 System.out.printf("%-40s %13s", "Apakah anda mahasiswa UB (true/false)", ": ");
  53.                 boolean status = scan.nextBoolean();
  54.                 scan.nextLine();
  55.                 //status mahasiswa atau bukan
  56.                 if (status) {
  57.                     System.out.printf("%-40s %13s", "Masukkan User ID (NIM)", ": ");
  58.                     nim = scan.nextLine();
  59.                     System.out.printf("%-40s %13s", "Masukkan nama pembeli", ": ");
  60.                     nama = scan.nextLine();
  61.                     System.out.println();
  62.                     System.out.println("===============================" + " Struk Pembelian " + "=====================================\n");
  63.                     //SNMPTN
  64.                     if (nim.substring(5, 9).equals("0701")) {
  65.                         if (hari.equalsIgnoreCase("Senin") || hari.equalsIgnoreCase("Kamis")) {
  66.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
  67.                             diskon += 10.00f;
  68.                         } else if (hari.equalsIgnoreCase("Minggu")) {
  69.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
  70.                             diskon += 5.00f;
  71.                         }
  72.                     }  //SBMPTN
  73.                     else if (nim.substring(5, 9).equals("0700")) {
  74.                         if (hari.equalsIgnoreCase("Selasa") || hari.equalsIgnoreCase("Jumat")) {
  75.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
  76.                             diskon += 10.00f;
  77.                         } else if (hari.equalsIgnoreCase("Minggu")) {
  78.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
  79.                             diskon += 5.00f;
  80.                         }
  81.                     } //Mandiri
  82.                     else if (nim.substring(5, 9).equals("0707")) {
  83.                         if (hari.equalsIgnoreCase("Rabu") || hari.equalsIgnoreCase("Sabtu")) {
  84.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 10.00%");
  85.                             diskon += 10.00f;
  86.                         } else if (hari.equalsIgnoreCase("Minggu")) {
  87.                             System.out.println("Selamat, anda mendapatkan bonus diskon mahasiswa sebesar 5.00%");
  88.                             diskon += 5.00f;
  89.                         }
  90.                     }
  91.                     String kapital = hari.substring(0, 1);
  92.                     String huruf1 = hari.substring(1).toLowerCase();
  93.                     System.out.printf("%-10s %10s %-30s\n", "User ID", ":", nim);
  94.                     System.out.printf("%-10s %10s %-30s\n", "Nama", ":", nama);
  95.                     System.out.printf("%-10s %10s %-1s%-10s\n\n", "Hari", ":", kapital.toUpperCase(), huruf1);
  96.                 } else {
  97.                     System.out.println();
  98.                     System.out.println("===============================" + " Struk Pembelian " + "=====================================\n");
  99.                 }
  100.                 //output
  101.                 System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
  102.                 System.out.printf("| %-2s | %-19s | %4s | %-25s | %-16s |\n", "No.", "Nama Barang", "Jumlah", "Harga/unit", "Total Harga");
  103.                 System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
  104.                 for (int a = 0; a < jml_barang_array.length; a++) {
  105.                     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]);
  106.                     System.out.printf("%-10s\n", "-------------------------------------------------------------------------------------");
  107.                 }
  108.                 ppn = totalHargaBarang / 10;
  109.                 float subtotal = totalHargaBarang + ppn;
  110.                 if (subtotal >= 100_000) {
  111.                     diskon += 10.00f;
  112.                 } else if (subtotal >= 50_000 && subtotal < 100_000) {
  113.                     diskon += 5.00f;
  114.                 }
  115.                 float diskonBelanja = diskon * subtotal / 100;
  116.                 subtotal2 = subtotal - diskonBelanja;
  117.                 System.out.printf("%36s | %-25s | %3s %-,12.2f | \n", " ", "PPN 10%", "Rp.", ppn);
  118.                 System.out.printf("%85s\n", "------------------------------------------------");
  119.                 System.out.printf("%36s | %-15s %6.2f%-2s | %3s %-,12.2f | \n", " ", "Diskon Belanja: ", diskon, "%", "Rp.", diskonBelanja);
  120.                 System.out.printf("%85s\n", "------------------------------------------------");
  121.                 System.out.printf("%36s | %-25s | %3s %-,12.2f | \n", " ", "Subtotal", "Rp.", subtotal2);
  122.                 System.out.printf("%85s\n", "------------------------------------------------");
  123.                 //agar data di array tidak ter-overwrite
  124.                 for (int a = total; ;a++){
  125.                     total_harga_2[a] = subtotal2;
  126.                     frekuensiBeli++;
  127.                     total++;
  128.                     break;
  129.                 }
  130.             }
  131.             //menampilkan history
  132.             else if (pilihan == 2){
  133.                 if (frekuensiBeli == 0){
  134.                     System.out.println("\nBelum ada transaksi\n");
  135.                 } else {
  136.                     System.out.println("\nHistory Transaksi UB Mart\n");
  137.                     System.out.println("--------------------------------------------------");
  138.                     System.out.printf("| %-3s | %-19s | %-18s |\n", "No.", "Jenis transaksi", "Total Harga");
  139.                     System.out.println("--------------------------------------------------");
  140.                     for (int a = 0; a < frekuensiBeli; a++){
  141.                         System.out.printf("| %-3s | %-19s | Rp. %-,14.2f |\n", (a+1) + ".", "Belanja", total_harga_2[a]);
  142.                         System.out.println("--------------------------------------------------");
  143.                     }
  144.                     System.out.println();
  145.                 }
  146.             }
  147.             //keluar
  148.             else if (pilihan == 3){
  149.                 System.exit(0);
  150.             }
  151.         }
Add Comment
Please, Sign In to add comment