kuchuz

PBO-C ETS : ATM()

Nov 26th, 2020
404
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.util.*;
  2. public class ATM{
  3.     public static void main(String[] args){
  4.         Scanner reader = new Scanner (System.in);
  5.         /* DATABASE AKUN ATM - mulai */
  6.         Akun user1 = new Akun("123456789", "Fajar Satria", "123456", 9999999);
  7.         Akun user2 = new Akun("142787478", "Refaldyka Galuh", "654321", 9231313);
  8.         Akun user3 = new Akun("004924142", "Satria Windarta", "111111", 13421);
  9.         Akun user4 = new Akun("987654321", "Norvan Bagus", "123321", 12414242);
  10.  
  11.         Map<String, Akun> user = new HashMap<String, Akun>();
  12.         user.put("123456789",user1);
  13.         user.put("142787478",user2);
  14.         user.put("004924142",user3);
  15.         user.put("987654321",user4);
  16.         /* DATABASE AKUN ATM - selesai */
  17.        
  18.         /* INTERFACE - mulai */
  19.         boolean wellcome=true;
  20.         boolean login=false;
  21.         String temp;
  22.         while(wellcome){
  23.             clearScreen();
  24.             System.out.println("===SELAMAT DATANG DI ATM BNI===");
  25.             System.out.println("Masukkan Nomor Rekening Anda : ");
  26.             String norek = reader.nextLine();
  27.             if(user.get(norek)==null){
  28.                 System.out.println("Nomor Rekening Anda Tidak Terdaftar !");
  29.                 System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  30.             }else{
  31.                 System.out.println("Masukkan 6 digit PIN Anda : ");
  32.                 String pin = reader.nextLine();
  33.                 if(user.get(norek).cekpin(pin)){
  34.                     login=true;
  35.                     while(login){
  36.                         clearScreen();
  37.                         System.out.println("Pilih Transaksi :");
  38.                         System.out.println("1. Transfer");
  39.                         System.out.println("2. Cek Saldo");
  40.                         System.out.println("3. Tarik Tunai");
  41.                         System.out.println("0. Cancel");
  42.                         String menu = reader.nextLine();
  43.                         switch(menu){
  44.                             case "1":
  45.                                 clearScreen();
  46.                                 System.out.println("Masukkan Nomor Rekening Tujuan: ");
  47.                                 String tujuan = reader.nextLine();
  48.                                 if(user.get(tujuan)==null){
  49.                                     System.out.println("Nomor Rekening Tujuan Tidak Terdaftar !");
  50.                                     System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  51.                                 }else{
  52.                                     System.out.println("Masukkan Saldo yang akan ditransfer: ");
  53.                                     int saldotransfer = reader.nextInt();
  54.                                     temp=reader.nextLine();
  55.                                     if(saldotransfer>user.get(norek).getsaldo()){
  56.                                         clearScreen();
  57.                                         System.out.println("Saldo Anda Tidak mencukupi");
  58.                                         System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  59.                                     }else{
  60.                                         clearScreen();
  61.                                         System.out.println("Transfer");
  62.                                         System.out.println("Dari Rekening : "+norek);
  63.                                         System.out.println("Ke Rekening : "+tujuan);
  64.                                         System.out.println("Atas Nama : "+user.get(tujuan).getname());
  65.                                         System.out.println("Jumlah : "+saldotransfer);
  66.                                         System.out.println();
  67.                                         if(user.get(tujuan).ubahsaldo(saldotransfer) && user.get(norek).ubahsaldo((-1)*saldotransfer)){
  68.                                             System.out.println("Transaksi BERHASIL !");
  69.                                         }else{
  70.                                             System.out.println("Transaksi GAGAL !");
  71.                                         }
  72.                                         System.out.println();
  73.                                         System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  74.                                     }
  75.                                 }
  76.                                 break;
  77.                             case "2":
  78.                                 clearScreen();
  79.                                 System.out.println("Saldo Anda Saat Ini :");
  80.                                 System.out.println();
  81.                                 System.out.println(user.get(norek).getsaldo());
  82.                                 System.out.println();
  83.                                 System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  84.                                 break;
  85.                             case "3":
  86.                                 clearScreen();
  87.                                 System.out.println("Saat Ini Fitur Tarik Tunai Belum Tersedia");
  88.                                 System.out.println();
  89.                                 System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  90.                                 break;
  91.                             case "0":
  92.                                 clearScreen();
  93.                                 login=false;
  94.                                 wellcome=false;
  95.                                 System.out.println("CANCELED");
  96.                                 System.out.println("Sampai Jumpa Lagi !");
  97.                                 break;
  98.                             default:
  99.                         }
  100.                     }
  101.                 }else{
  102.                     System.out.println("PIN Salah !");
  103.                     System.out.println();
  104.                     System.out.println("Tekan ENTER untuk melanjutkan!");temp=reader.nextLine();
  105.                 }
  106.             }
  107.         }
  108.     }
  109.     private static void clearScreen(){
  110.         System.out.print('\u000C');
  111.         System.out.flush();
  112.     }
  113. }
RAW Paste Data