Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- /**
- * Class utama menampilkan aplikasi secara utuh dan mempunyai beberapa fitur.
- * Di antaranya adalah login pin, tarik tunai, transfer, dan setor tunai.
- *
- * @author Thomas Felix
- * @version 24 November 2020
- */
- public class MesinATM
- {
- MesinSystem mesinSystem = new MesinSystem();
- Scanner scanner = new Scanner(System.in);
- public static void main(String args[])
- {
- MesinATM atm = new MesinATM();
- atm.login();
- }
- public void login()
- {
- int salah = 1;
- Scanner scanner = new Scanner(System.in);
- for (int i = 1; i <= 3; i++)
- {
- mesinSystem.setPin("696969");
- mesinSystem.setSaldo(10000000);
- System.out.println("===============================================");
- System.out.println("| Selamat Datang di ATM Bank Bjir |");
- System.out.println("===============================================");
- System.out.println();
- System.out.print("Masukkan pin: ");
- String pin = scanner.nextLine();
- if (mesinSystem.getPin().equals(pin))
- {
- System.out.println();
- menu();
- i = 3;
- }
- else
- {
- if (salah == 3)
- {
- System.out.println();
- System.out.println("Maaf, ATM Anda terblokir.");
- System.out.println("Silakan ke Bank Bjir terdekat.");
- }
- else
- {
- System.out.println();
- System.out.println("Maaf, PIN anda salah.");
- System.out.println();
- }
- }
- salah++;
- }
- }
- public void menu()
- {
- Scanner scanner = new Scanner(System.in);
- System.out.println("===============================================");
- System.out.println("| Menu Utama |");
- System.out.println("===============================================");
- System.out.println("1. Info Saldo");
- System.out.println("2. Tarik Tunai");
- System.out.println("3. Setor Tunai");
- System.out.println("4. Transfer");
- System.out.println("5. Transaksi Lainnya");
- System.out.println("6. Keluar");
- System.out.println();
- System.out.print("Pilih menu : ");
- int choice = scanner.nextInt();
- switch (choice)
- {
- case 1:
- lihatSaldo();
- System.out.println();
- break;
- case 2:
- tarikUang();
- System.out.println();
- break;
- case 3:
- setorUang();
- System.out.println();
- break;
- case 4:
- transferUang();
- System.out.println();
- break;
- case 5:
- System.out.println("Layanan belum tersedia.");
- transaksiLagi();
- break;
- case 6:
- System.out.println();
- System.out.println("===============================================");
- System.out.println("| Terima kasih telah memakai layanan kami. |");
- System.out.println("| Silakan ambil kembali kartu Anda. |");
- System.out.println("===============================================");
- System.exit(0);
- default:
- System.out.println("Pilihan invalid. Silakan login kembali");
- login();
- break;
- }
- }
- public void lihatSaldo()
- {
- System.out.println();
- System.out.println("Saldo anda Rp " + mesinSystem.getSaldo());
- transaksiLagi();
- }
- public void tarikUang()
- {
- Scanner scanner = new Scanner(System.in);
- System.out.println();
- System.out.println("Pilihan nominal: ");
- System.out.println();
- System.out.println("1. Rp 50.000 4. Rp 500.000");
- System.out.println("2. Rp 100.000 5. Rp 1.000.000");
- System.out.println("3. Rp 200.000 6. Rp 2.000.000");
- System.out.println();
- System.out.print("Masukkan pilihan: ");
- int pilihan = scanner.nextInt();
- this.setNominal(pilihan);
- }
- public void setNominal(int pilihan)
- {
- long saldo = mesinSystem.getSaldo();
- if (pilihan == 1 && saldo > 50000) {
- saldo -= 50000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else if (pilihan == 2 && saldo > 100000)
- {
- saldo -= 100000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else if (pilihan == 3 && saldo > 200000)
- {
- saldo -= 200000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else if (pilihan == 4 && saldo > 500000)
- {
- saldo -= 500000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else if (pilihan == 5 && saldo > 1000000)
- {
- saldo -= 1000000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else if (pilihan == 6 && saldo > 2000000)
- {
- saldo -= 2000000;
- System.out.println("Saldo anda tersisa : Rp " + saldo);
- }
- else
- {
- System.out.println("Transaksi gagal.");
- }
- transaksiLagi();
- }
- public void setorUang()
- {
- Scanner scanner = new Scanner(System.in);
- long saldo = mesinSystem.getSaldo();
- System.out.println();
- System.out.print("Masukkan jumlah uang yang akan disetor: Rp ");
- long uang = scanner.nextInt();
- saldo += uang;
- System.out.println();
- System.out.print("Saldo Anda sekarang Rp " + saldo);
- System.out.println();
- transaksiLagi();
- }
- public void transferUang()
- {
- Scanner scanner = new Scanner(System.in);
- long saldo = mesinSystem.getSaldo();
- System.out.println();
- System.out.println("Silahkan masukkan nomor rekening tujuan.");
- System.out.print("No. rekening: ");
- long noRek = scanner.nextInt();
- System.out.println();
- System.out.print("Masukkan jumlah uang yang akan ditransfer: Rp ");
- long nominal = scanner.nextInt();
- if (saldo >= 50000)
- {
- if (nominal < saldo)
- {
- saldo -= nominal;
- System.out.println();
- System.out.println("Anda telah berhasil mentransfer uang sebesar Rp " + nominal);
- System.out.println("Ke nomor rekening tujuan: " + noRek);
- System.out.println("Sisa saldo Anda adalah : " + saldo);
- }
- else
- {
- System.out.print("Saldo Anda tidak mencukupi.");
- }
- }
- else
- {
- System.out.print("Saldo Anda minimal harus Rp 50.000.");
- }
- transaksiLagi();
- }
- public void transaksiLagi()
- {
- Scanner scanner = new Scanner(System.in);
- System.out.println();
- System.out.print("Ingin melakukan transaksi lagi? [y/n]: ");
- String warn = scanner.nextLine();
- System.out.println();
- if (warn.equalsIgnoreCase("y"))
- {
- login();
- }
- else if (warn.equalsIgnoreCase("n"))
- {
- System.out.println("===============================================");
- System.out.println("| Terima kasih telah memakai layanan kami. |");
- System.out.println("| Silakan ambil kembali kartu Anda. |");
- System.out.println("===============================================");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment