Berikut ini adalah rancangan pembuatan aplikasi ATM dengan menggunakan bahasa pemrograman Java dan BlueJ.
Skenario Aplikasi ATM di Real Environment
Ketika melakukan pembayaran melalui ATM, ada berbagai macam menu dengan berbagai macam metode transaksi. Berikut ini adalah langkah-langkah untuk melakukan pembayaran melalui ATM.
1. Masukkan kartu ATM
2. Sebuah menu pilih Bahasa Indonesia atau Bahasa Inggris akan muncul
3. Masukkan 6 digit PIN ATM
4. Muncul menu Penarikan Cepat
Ada menu lain, pilih menu lainnya
5. Muncul menu berbagai jenis transaksi
Pilih metode transfer
6. Muncul menu pemilihan pemindahbukuan
Pilih dari rekening tabungan
7. Muncul menu tujuan transfer
- ke rekening BNI
- ke rekening bank lain
Pilih ke rekening BNI
8. Muncul input masukan nomor rekening tujuan
Masukan nomor rekening tujuan
Pilih benar
9. Muncul input masukan jumlah uang yang akan ditransfer
Masukkan jumlah uang
Pilih benar
10. Muncul berita
Kosongkan
Pilih benar
11. Muncul konfirmasi transfer
Dari:
Ke:
Nama:
Jumlah:
Pilih benar
12. Muncul pemberitahuan transaksi telah selesai
Perlu transaksi yang lain?
Pilih tidak
13. Ambil kartu ATM dan ambil struk atau bukti transfer
Definisi Class dan Penggambaran Diagram Class untuk Membangun Aplikasi ATM
Kelas-kelas yang dibutuhkan untuk membangun suatu aplikasi ATM yang sederhana adalah sebagai berikut:
- class ATM_Machine
- class Penabungan
- class Penarikan
- class Transfer
- class Saldo
Berikut ini adalah penggambaran diagram kelasnya.
Implementasi Rancangan Kelas dengan Java
Berikut ini adalah gambar diagram kelas dari project ATM Application setelah rancangan kelas diimplementasikan.
The Penyetoran class
Kelas Penyetoran digunakan untuk mengatur jumlah setoran.
Implementation of the Penyetoran class
/**
* class Penyetoran digunakan untuk mengatur jumlah setoran.
*
* @author Ramadhan Arif Hardijansyah
* @version 0.1 26 November 2020
*/
public class Penyetoran
{
// instance variables
static double setoran;
/**
* Method untuk mengatur jumlah setoran.
*
* @param t jumlah uang yang akan disetorkan
*/
public void setSetoran(double s)
{
// code untuk mengatur jumlah setoran
setoran = s;
}
/**
* Method untuk mengembalikan setoran.
*
* @return setoran
*/
public static double getSetoran()
{
// mengembalikan setoran yang disimpan dalam instance variable setoran
return setoran;
}
}
The Saldo class
Kelas Saldo berfungsi untuk mengatur dan mengembalikan saldo (balance).
Implementation of the Saldo class
/**
* class Saldo berfungsi untuk mengatur dan mengembalikan saldo (balance).
*
* @author Ramadhan Arif Hardijansyah
* @version 0.1 26 November 2020
*/
public class Saldo
{
// instance variables
static double saldo = 0;
/**
* Method untuk mengatur jumlah saldo.
*
* @param s jumlah saldo yang akan diatur.
*/
public void setSaldo(double s)
{
saldo = s;
}
/**
* Method untuk mendapatkan jumlah saldo.
*
* @return jumlah saldo
*/
public static double getSaldo()
{
return saldo;
}
}
The Penarikan class
Kelas Penarikan digunakan untuk menarik uang.
Implementation of the Penarikan class
/**
* class Penarikan digunakan untuk menarik uang.
*
* @author Ramadhan Arif Hardijansyah
* @version 0.1 26 November 2020
*/
public class Penarikan
{
// instance variables
static double tarikan = 0;
/**
* Method untuk mengatur jumlah penarikan uang.
*
* @param t jumlah tarikan uang
*/
public void setTarikan(double t)
{
tarikan = t;
}
/**
* Method untuk mengembalikan uang tarikan.
*
* @return tarikan
*/
public static double getTarikan()
{
return tarikan;
}
}
The Transfer class
Kelas Transfer digunakan untuk mentransfer uang.
Implementation of the Transfer class
/**
* class Transfer digunakan untuk mentransfer uang.
*
* @author Ramadhan Arif Hardijansyah
* @version 0.1 26 November 2020
*/
public class Transfer
{
// instance variables
static double transfer = 0;
/**
* Method untuk mengatur jumlah transfer uang.
*
* @param t jumlah transfer uang
*/
public void setTransfer(double t)
{
transfer = t;
}
/**
* Method untuk mengembalikan uang transfer.
*
* @return transfer
*/
public static double getTransfer()
{
return transfer;
}
}
The ATM_Machine class
Kelas ATM_Machine berfungsi sebagai program utama dari project ini.
Implementation of the ATM_Machine class
import java.util.Scanner;
import java.io.*;
/**
* class ATM_Machine berfungsi sebagai program utama dari project ini.
*
* @author Ramadhan Arif Hardijansyah
* @version 0.1 26 November 2020
*/
public class ATM_Machine {
public static void clearScreen() {
System.out.print('\u000C');
}
/**
* Method untuk mecetak jumlah saldo saat ini.
*/
public static void cekSaldo() {
System.out.println("\tSaldo Anda saat ini " + Saldo.getSaldo());
}
/**
* Method untuk menarik uang.
*/
public static void tarikUang() {
if (Saldo.saldo == 0) {
System.out.println("\tSaldo Anda saat ini nol.");
System.out.println("\tAnda tidak bisa menarik");
System.out.println("\tAnda perlu menyetor uang terlebih dahulu.");
} else if (Saldo.saldo<= 500) {
System.out.println("\tAnda tidak memiliki cukup uang untuk ditarik.");
System.out.println("\tCoba periksa saldo Anda");
} else if (Penarikan.tarikan > Saldo.saldo) {
System.out.println("\tJumlah yang Anda tarik lebih besar daripada saldo Anda");
System.out.println("\tCoba periksa jumlah yang Anda masukkan.");
} else {
Saldo.saldo = Saldo.saldo - Penarikan.tarikan;
System.out.println("\n\tAnda menarik jumlah Rp" + Penarikan.tarikan);
}
}
/**
* Method untuk mentransfer uang.
*/
public static void transferUang() {
if (Saldo.saldo == 0) {
System.out.println("\tSaldo Anda saat ini nol.");
System.out.println("\tAnda tidak bisa mentransfer");
System.out.println("\tAnda perlu menyetor uang terlebih dahulu.");
} else if (Saldo.saldo <= 500) {
System.out.println("\tAnda tidak memiliki cukup uang untuk ditransfer.");
System.out.println("\tCoba periksa saldo Anda");
} else if (Transfer.transfer > Saldo.saldo) {
System.out.println("\tJumlah yang Anda transfer lebih besar daripada saldo Anda");
System.out.println("\tCoba periksa jumlah yang Anda masukkan.");
} else {
Saldo.saldo = Saldo.saldo - Transfer.transfer;
System.out.println("\n\tAnda mentransfer jumlah Rp" + Transfer.transfer);
}
}
/**
* method ini berfungsi untuk menampilkan jumlah penyetoran.
*
* @param y a sample parameter for a method
* @return the sum of x and y
*/
public static void setorUang() {
System.out.println("\tAnda menyetor sejumlah " + Penyetoran.getSetoran());
}
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int select = 0;
int choice = 0;
System.out.println("============================================================");
System.out.println("\tSelamat datang di aplikasi ATM sederhana ini");
System.out.println("============================================================");
do {
try {
do {
System.out.println();
System.out.println("\tPilih Transaksi ATM");
System.out.println("\tTekan [1] Setor");
System.out.println("\tTekan [2] Tarik");
System.out.println("\tTekan [3] Informasi Saldo");
System.out.println("\tTekan [4] Keluar");
System.out.println("\tTekan [5] Transfer");
System.out.print("\n\tApa yang ingin Anda lakukan?");
select = read.nextInt();
clearScreen();
if (select > 5) {
System.out.println("\n\tPilih transaksi yang benar.");
} else {
switch (select) {
case 1:
System.out.print("\n\tMasukkan jumlah uang yang akan disetor: ");
Penyetoran.setoran = read.nextDouble();
Saldo.saldo = Penyetoran.setoran + Saldo.saldo;
setorUang();
break;
case 2:
System.out.print("\n\tUntuk menarik, pastikan Anda memiliki saldo yang cukup di akun Anda.");
System.out.println();
System.out.print("\tMasukkan jumlah uang yang akan ditarik:");
Penarikan.tarikan = read.nextDouble();
tarikUang();
break;
case 3:
cekSaldo();
break;
case 5:
System.out.print("\n\tUntuk mentransfer, pastikan Anda memiliki saldo yang cukup di akun Anda.");
System.out.println();
System.out.print("\tMasukkan jumlah uang yang akan ditransfer:");
Transfer.transfer = read.nextDouble();
transferUang();
break;
default:
System.out.print("\n\tTransaksi keluar.");
break;
}
}
} while (select > 5);
do {
try {
System.out.println("\n\tApakah Anda ingin mencoba transaksi lain? ");
System.out.println("\n\tTekan [1] Ya \n\tTekan [2] Tidak");
System.out.print("\tMasukkan pilihan: ");
choice = read.nextInt();
clearScreen();
if (choice > 2) {
System.out.print("\n\tHarap pilih pilihan yang benar.");
}
} catch (Exception e) {
System.out.println("\tKesalahan Input! Harap masukkan angka saja.");
read = new Scanner(System.in);
System.out.println("\tMasukkan pilihan Anda:");
choice = read.nextInt();
}
} while (choice > 2);
} catch (Exception e) {
System.out.println("\tError Input! Harap masukkan angka saja.");
read = new Scanner(System.in);
System.out.println("\tMasukkan pilihan Anda:");
select = read.nextInt();
}
} while (choice <= 1);
System.out.println("\n\tTerima kasih telah menggunakan Mesin ATM sederhana ini.");
}
}
Berikut ini adalah sebuah video penjelasan pembuatan aplikasi beserta langkah-langkah untuk mencoba ATM Application.
Sekian post tentang ATM Application. Semoga bermanfaat.
Comments
Post a Comment