ETS PBO No 3 dan 4

ETS PBO No 3 dan 4

Nama : Dewangga Dharmawan

NRP : 05111940000029

Kelas : PBO C

Nomor 3 : Implementasi Class

Class ATM :

 /**  
  * Class ATM berfungsi sebagai penerima password dan pembuka dalam  
  * transaksi dengan ATM  
  *  
  * @author (Dewangga Dharmawan)  
  * @version (26/11/2020)  
  */  
 import java.util.*;  
 public class ATM  
 {  
   //Deklarasi beberapa variabel yang berhubungan dengan class lain  
   Akun account = new Akun();  
   Transfer display = new Transfer();  
   //Deklarasi scanner input  
   Scanner input = new Scanner(System.in);  
   //Method memulai program  
   public void start()  
   {  
     //Memasukkan kata sandi  
     System.out.println("Masukan Kata Sandi (6 Angka) : ");  
     //Mengecek apabila kata sandi yang disandikan sesuai  
     if(inputPass())  
     {  
       //Jika sesuai, maka dilanjutkan ke Class Transfer  
       display.TampilanTransfer();  
     }  
     else  
     {  
       //Jika salah, maka kembali dari awal  
       System.out.println("Kata sandi anda salah, silahkan mencoba lagi");  
     }  
   }  
   //Method untuk memasukan kata sandi dan mengeceknya  
   //Dengan kata sandi di Akun  
   public boolean inputPass()  
   {  
     String PW = input.nextLine();//Memasukan sandi  
     return account.inputPassword(PW);//Mengembalikan bool benar atau salah  
   }  
 }  

Class Akun :

 /**  
  * Class Akun digunakan sebagai informasi yang ada di dalam kartu  
  * ATM yang digunakan, seperti saldo dan password pengguna.  
  *   
  * Selain itu, juga mengecek apakah uang yang ditarik lebih besar  
  * daripada saldo yang ada  
  *  
  * @author (Dewangga Dharmawan)  
  * @version (26/11/2020)  
  */  
 public class Akun  
 {  
   //Deklarasi variabel password dan saldo  
   private String katapassword;  
   private int saldo;  
   //Menentukan password dan saldo awal sebelum transfer  
   public Akun()  
   {  
     katapassword = "123456";  
     saldo = 5000000;  
   }  
   //Membandingkan password yang dimasukkan  
   //Dengan password pengguna  
   public boolean inputPassword(String sandi)  
   {  
     return katapassword.equals(sandi);  
   }  
   //Mengecek kecukupan saldo dengan penarikan uang yang diperlukan  
   public boolean cekSaldo(int tarik)  
   {  
     if(saldo < tarik)  
     return false;  
     else  
     return true;  
   }  
   //Mengubah nilai saldo  
   public void setSaldo(int pull)  
   {  
     saldo = pull;  
   }  
   //Mendapatkan nilai saldo  
   public int getSaldo()  
   {  
     return saldo;  
   }  
 }  

Class Transfer :

 /**  
  * Class Transfer menampilkan proses transfer antara pengguna dengan  
  * akun tujuan, dalam kasus ini, Tokopedia  
  *  
  * @author (Dewangga Dharmawan)  
  * @version (26/11/2020)  
  */  
 import java.util.*;  
 public class Transfer  
 {  
   //Variabel khusus Class ini  
   private String ID;  
   private int nomina;  
   //Variabel yang berhubungan dengan Class lain  
   Akun Saldo = new Akun();  
   Bukti struk = new Bukti();  
   //Deklarasi fungsi input ketik  
   Scanner input = new Scanner(System.in);  
   public void TampilanTransfer()  
   {  
     //Tampilan utama sebelum sampai ke Transfer  
     //Tapi karena video yang ditampilkan merupakan transfer uang  
     //Maka akan difokuskan pada transfer uang  
     System.out.println("Silahkan pilih opsi pembayaran yang akan digunakan");  
     System.out.println("1 : Rp 100.000");  
     System.out.println("2 : Rp 200.000");  
     System.out.println("3 : Rp 500.000");  
     System.out.println("4 : Rp 1.000.000");  
     System.out.println("5 : Cek saldo");  
     System.out.println("6 : Menu lainnya");  
     System.out.println("6");  
     System.out.println("Silahkan pilih menu yang akan dituju");  
     System.out.println("1 : Pembayaran");  
     System.out.println("2 : Tarik Tunai");  
     System.out.println("3 : Transfer");  
     System.out.println("...");  
     System.out.println("3");  
     //Memasukan ID penerima dan jumlah uang yang akan dikirimkan  
     System.out.println("Ketik ID tujuan transfer");  
     ID = input.nextLine();  
     System.out.println("Ketik jumlah nominal uang yang akan ditransfer");  
     nomina = input.nextInt();  
     //Mengecek apabila saldo cukup untuk melakukan transfer  
     if(Saldo.cekSaldo(nomina))  
     {  
       System.out.println("Uang anda cukup untuk ditransfer");  
       Saldo.setSaldo(Saldo.getSaldo() - nomina);  
       System.out.println("Sisa saldo anda sebesar " + Saldo.getSaldo());  
       struk.Struk(ID, nomina);//Menampilkan struk pembayaran  
     }  
     else  
     {  
       System.out.println("Maaf, uang anda tidak cukup untuk melakukan transfer");  
       System.out.println("Silahkan coba lagi");  
     }  
   }  
 }  

Class Bukti :

 /**  
  * Class Bukti digunakan untuk menampilkan struk pembayaran,  
  * lengkap dengan ID pengirim dan penerima dan besarnya transaksi yang dilakukan  
  *  
  * @author (Dewangga Dharmawan)  
  * @version (26/11/2020)  
  */  
 public class Bukti  
 {  
   //Menampilkan struk transfer  
   public void Struk(String Id, int nominal)  
   {  
     System.out.println("ID pengirim : XXX-XXX-XXX");  
     System.out.println("Nama : XXXXXXX");  
     System.out.println("Jumlah Transfer : " + nominal);  
     System.out.println("AN : Tokopedia");  
     System.out.println("ID penerima : " + Id);  
   }  
 }  

Nomor 4 : Video Implementasi

Komentar

Postingan populer dari blog ini

Tugas 5 PBO C Tech Support System

Tugas 10 PBO C Text Editor

Tugas 3 PBO C Jam Masjid