ETS (Transaksi Transfer dengan Menggunakan Mesin ATM)
Transfer ATM Machine
Oke teman teman untuk kali ini saya ingin mencoba membuat program mesin ATM secara simple dimana saya menggunakan Blue J untuk membuat diagram classnya. Sebelum saya ingin menjelaskan terlebih dahulu terkait Skenario Fungsionalitas Mesin ATM sebagai berikut:
1. Terdapat Menu Utama pada layar atau Screen Mesin ATM.
2. Pengguna ATM memasukkan nomer PIN ATM nya.
3. Pengguna memilih menu Transfer.
4. Jika tidak ada pengguna memilih transaksi lainnya.
5. Pengguna memilih menu Transfer. untuk mentransfer uang kepada sesama bank atau bank lainnya.
6. Pengguna memasukkan nomer Rekening yang akan di transfer.
7. Pengguna beberapa jumlah nominal uang untuk di transfer.
8. Setelah di konfirmasi benar maka , Mesin akan mencetak Struk bukti Transfer.
Maka dari adanya Skenario kita bisa tentukan Class Terpenting sesuai dengan perintah yaitu perintah Tranfer. Disini saya menggunakan Class sebagai berikut :
1. Menu Utama, class ini berfungsi untuk memanggil class lain yang ada di ATM
2. Account, class ini berfungsi menyimpan no PIN dan jumlah Saldo yang ada di kartu ATM.
3. Transaksi, class ini berfungsi untuk menampilkan fitur fitur yang ada di Mesin ATM termasuk fitur
Transfer.
4. Transfer, class yang berfungsi untuk melakukan Transfer.
5. Struk, class yang berfungsi untuk mencetak struk dari proses yang di pilih oleh pengguna.
6. Class lain dari transaksi yang belum bisa digunakan.
Berikut Diagram class yang saya buat untuk proses Transfer pada Mesin ATM.
/** | |
* Class Account dimana menyimpan jumlah saldo dan pin anda. | |
* | |
* @author (Abdun Nafi') | |
* @version (0.1 / 26 November 2020) | |
*/ | |
public class Account{ | |
private int pin = 111111; | |
public int saldo = 2000000; | |
public int getpin(){ | |
pin = this.pin; | |
return pin; | |
} | |
public int getsaldo(){ | |
saldo = this.saldo; | |
return saldo; | |
} | |
} |
import java.util.Scanner; | |
/** | |
* class Transaksi berfungsi untuk menyediakan beberapa fitur transaksi termasuk | |
* fitur Transfer. | |
* | |
* @author (Abdun Nafi') | |
* @version (0.1 / 26 Noveber 2020) | |
*/ | |
public class Transaksi{ | |
private GantiPin ganti; | |
private Transfer transfer; | |
private Uang_Elektronik uang_elektronik; | |
private BNISimponi bnisimponi; | |
private Pembayaran pembayaran; | |
private Mutasi mutasi; | |
private Informasi_Saldo informasi_saldo; | |
private Penarikan_tunai penarikan; | |
private int pilihan; | |
public Transaksi(){ | |
penarikan = new Penarikan_tunai(); | |
ganti = new GantiPin(); | |
transfer = new Transfer(); | |
uang_elektronik = new Uang_Elektronik(); | |
bnisimponi = new BNISimponi(); | |
pembayaran = new Pembayaran(); | |
mutasi = new Mutasi(); | |
informasi_saldo = new Informasi_Saldo(); | |
} | |
public void menu(){ | |
System.out.println("Silahkan memilih jenis transaksi : "); | |
System.out.println("1. Penarikan tunai"); | |
System.out.println("2. Ganti PIN"); | |
System.out.println("3. Informasi Saldo"); | |
System.out.println("4. Transfer"); | |
System.out.println("5. Uang Elektronik"); | |
System.out.println("6. Pembayaran"); | |
System.out.println("7. BNI Simponi"); | |
System.out.println("8. Mutasi"); | |
pilihan = new Scanner (System.in).nextInt(); | |
} | |
public void opsi(){ | |
if(pilihan == 1){ | |
System.out.println("Layanan Penarikan Tunai Belum bisa digunakan"); | |
} | |
else if(pilihan == 2){ | |
System.out.println("Layanan Ganti Pin Belum bisa digunakan"); | |
} | |
else if(pilihan == 3){ | |
System.out.println("Layanan Informasi Saldo Belum bisa digunakan"); | |
} | |
else if(pilihan == 4){ | |
transfer.executeTransfer(); | |
} | |
else if(pilihan == 5){ | |
System.out.println("Layanan Uang Elektronik Belum bisa digunakan"); | |
} | |
else if(pilihan == 6){ | |
System.out.println("Layanan Pembayaran Belum bisa digunakan"); | |
} | |
else if(pilihan == 7){ | |
System.out.println("Layanan BNI SIMPONI Belum bisa digunakan"); | |
} | |
else if(pilihan == 8){ | |
System.out.println("Layanan Mutasi Belum bisa digunakan"); | |
} | |
} | |
} |
import java.util.Scanner; | |
/** | |
* Class Transfer yang berfungsi untuk mentrasfer Uang kepada rekening lainnya. | |
* | |
* @author (Abdun Nafi') | |
* @version (0.1 / 26 November 2020) | |
*/ | |
public class Transfer | |
{ | |
Account akun; | |
Struk struk; | |
private int rekening; | |
private int nominal; | |
private int saldo; | |
public Transfer(){ | |
akun = new Account(); | |
struk = new Struk(); | |
} | |
public void execute(){ | |
saldo = akun.getsaldo(); | |
System.out.println("Anda melakukan Penarikan Uang"); | |
System.out.println("Berapa nominal uang yang ingin anda ambil ?"); | |
nominal = new Scanner(System.in).nextInt(); | |
saldo-=nominal; | |
struk.printMessagePenarikan(saldo,nominal); | |
} | |
public void executeTransfer(){ | |
saldo = akun.getsaldo(); | |
System.out.println("Anda melakukan Transfer Kepada Rekening Lain"); | |
System.out.println("Tuliskan Rekening Tujuan Anda : "); | |
rekening = new Scanner(System.in).nextInt(); | |
System.out.println("Berapa nominal uang yang ingin anda Transfer ?"); | |
nominal = new Scanner(System.in).nextInt(); | |
saldo-=nominal; | |
struk.printMessageTransfer(saldo,nominal,rekening); | |
} | |
} |
/** | |
*class Struk, digunakan untuk mencetak hasil transaksi transfer yang anda lakukan. | |
* | |
* @author (Abdun Nafi') | |
* @version (0.1 / 26 November 2020) | |
*/ | |
public class Struk{ | |
public void printMessageTransfer(int saldo,int nominal, int rekening){ | |
if(saldo<0){ | |
System.out.println("Transaksi Gagal dilakukan dikarenakan saldo anda tidak mencukupi"); | |
} | |
else{ | |
System.out.println("\nTransaksi Berhasil Dilakukan"); | |
System.out.println("---------------- Struk Hasil Transaksi ------------------"); | |
System.out.println("Transaksi Yang dilakukan : Transfer "); | |
System.out.println("Nomer rekening yang dituju : " +rekening); | |
System.out.println("Saldo awal sebelum transaksi :Rp.2.000.000"); | |
System.out.println("Jumlah uang yang di ambil : " + nominal); | |
System.out.println("Saldo setelah melakukan penarikan : Rp. "+ saldo); | |
System.out.println("Silahkan Mengambil Kartu Anda"); | |
System.out.println("--------- Terimakasih telah Menggunakan ATM BNI ---------"); | |
} | |
} | |
public void printMessagePenarikan(int saldo,int nominal){ | |
if(saldo<0){ | |
System.out.println("Transaksi Gagal dilakukan dikarenakan saldo anda tidak mencukupi"); | |
} | |
else{ | |
System.out.println("\nTransaksi Berhasil Dilakukan"); | |
System.out.println("---------------- Struk Hasil Transaksi ------------------"); | |
System.out.println("Transaksi Yang dilakukan : Transfer "); | |
System.out.println("Saldo awal sebelum transaksi :Rp.2000.000"); | |
System.out.println("Jumlah uang yang di transfer : " + nominal); | |
System.out.println("Saldo setelah melakukan transaksi : Rp. "+ saldo); | |
System.out.println("Silahkan Mengambil Kartu Anda"); | |
System.out.println("--------- Terimakasih telah Menggunakan ATM BNI ---------"); | |
} | |
} | |
} | |
Komentar
Posting Komentar