Jumat, 14 Oktober 2016

Membuat program virtual ATM pada java

Assalammu'alaikum wa rahmatullahi wa barakatuh,

       ~KELOMPOK~

Nama Anggota Kelompok  :
  •  Achdiyat F.T
  • Muhammad Fauzi Islami
  • Muhammad Luthfi
Kelas                                   : 2KB01 ( Sistem Komputer )

UNIVERSITAS GUNADARMA

      Haiiii halo halo haloooo!!!! Selamat datang lagi di blog saya :D kali ini saya akan posting mengenai bagaimana caranya membuat sebuah virtual machine pada mesin ATM ( Automated Teller Machine ) yang sering kita jumpai di setiap sudut mall, rumah sakit atau di bank sekaligus. Pada program ini akan mensimulasikan alur kerja dari sebuah program yang dipasang pada sebuah mesin ATM.

     Okee tanpa panjang lebar lagi, langsung saja kita ke topik pembahasan kita. Berikut adalah output program yang akan kita buat nanti :




      Itu hanya contoh dari fungsi dari mesin ATM itu sendiri, misalnya pada gambar di atas saya hanya cek saldo, namun masih ada lagi seperti transfer, tarik tunai, histori transaksi, dan keluar dari program ATM. Bagaimana code nya ? Pertama buatlah kelas dengan nama Bank (misalnya). Berikut adalah Listing Code dari program mesin ATM ini :


package atm;
import java.io.*;
class Bank {
public static void main (String args[]) {
BufferedReader input=new BufferedReader (new InputStreamReader (System.in)); {
int pin, konfirmasi_pin, option, saldo, proses, jum_transfer, no_rekening, penarikan; // Variabel
saldo=3000000;
no_rekening=24115593;
jum_transfer= 0;
penarikan=0;
try {
System.out.println ("------------ATM-----------");
System.out.println (" SELAMAT DATANG ");
System.out.println (" BANK SENDIRI ");
System.out.println (" ");
System.out.println ("--------------------------");
System.out.println ("SILAHKAN INPUTKAN PIN ANDA");
System.out.print ("-> ");
pin=Integer.parseInt(input.readLine()); // Inputan
if (pin == 24115593) // Kondisi If
{ do { // Kondisi Do While
System.out.println ("\n--------------------------");
System.out.println ("MENU TRANSAKSI ANDA");
System.out.println ("Muhammad Fauzi Islami");
System.out.println ("SILAHKAN PILIH OPTION");
System.out.println ("-> 1. INFO SALDO");
System.out.println ("-> 2. TRANSFER");
System.out.println ("-> 3. TARIK TUNAI");
System.out.println ("-> 4. HISTORY TRANSAKSI");
System.out.println ("-> 5. KELUAR");
System.out.println ("--------------------------");
System.out.print ("OPTION -> ");
option=Integer.parseInt(input.readLine());
switch (option) { // Perulangan Case
case 1:
System.out.println ("================================");
System.out.println ("SALDO ANDA SAAT INI : " +saldo);
System.out.println ("================================");
break;
case 2:
System.out.println ("=================================");
System.out.println ("TRANSFER DANA KE BANK LAIN ");
System.out.println ("=================================");
System.out.print( "Masukan No Rekening : " );
no_rekening=Integer.parseInt(input.readLine());
System.out.print( "Masukan Jumlah Transfer : " );
jum_transfer=Integer.parseInt(input.readLine());
System.out.println("PIN ANDA : ");
pin=Integer.parseInt(input.readLine());
System.out.println ("KONFIRMASI PIN ANDA : ");
konfirmasi_pin=Integer.parseInt(input.readLine());
if (konfirmasi_pin == pin) { // Pencocokan PIN
System.out.println ("> PIN MATCH : OK ");
}
else {
System.out.println ("> PIN NOT MATCH. Trasaksi Batal");
System.exit(0);
}
if (jum_transfer <= (saldo-20000)) { // Cek saldo memenuhi aturan transfer
System.out.println ("> SALDO : OK");
}
else {
System.out.print ("--> SALDO TIDAK CUKUP UNTUK TRANSFER. Trasaksi Batal");
}
if (no_rekening == 63240023) { // Cek kevalidan No rekening
System.out.println (" -> No Rekening = " +no_rekening);
System.out.println (" -> Nama Penerima = Achdiyat Luthfi");
System.out.println (" -> Jumlah Transfer = " +jum_transfer);
System.out.println (" TRANSAKSI BERHASIL !"); }
else {
System.out.println ("No Rekening tidak terdaftar. Transaksi BATAL");
}
saldo=saldo-jum_transfer ;
break;
case 3:
System.out.println ("=================================");
System.out.println ("PENARIKAN UANG ");
System.out.println ("=================================");
System.out.print ("Masukan jumlah uang >> ");
penarikan=Integer.parseInt(input.readLine());
System.out.println ("Saldo Awal : " +saldo);
System.out.println ("Penarikan : " +penarikan);
saldo=saldo-penarikan;
System.out.println ("Saldo akhir : " +saldo);
for ( int i=0; i<=1; i++ ){
System.out.print ("\nPIN ANDA : ");
pin=Integer.parseInt(input.readLine());
}
if (pin == 24115593) {
System.out.println ("-> PIN MATCH ");
}
else {
System.out.println ("-> PIN NOT MATCH. Trasaksi Batal");
}
if (penarikan >= (saldo-50000))
{
System.out.println ("-> SALDO TIDAK CUKUP : TRANSAKSI GAGAL !");
}
else{
System.out.println ("TRANSAKSI BERHASIL");
}
break;
case 4:
System.out.println ("=================================");
System.out.println ("HISTORY TRANSAKSI");
System.out.println ("=================================");
System.out.println ("Transksi Terakhir");
System.out.println ("Penarikan Uang :"+ penarikan);
System.out.println ("Trasfer Uang :"+ jum_transfer);
System.out.println ("Saldo Akhir :"+ saldo);
break;
default:
System.out.println ("TERIMA KASIH TELAH MENGGUNAKAN BANK ABC");
}
System.out.println ("\nTEKAN 0 UNTUK KEMBALI KE MENU");
System.out.print ("->> ");
proses=Integer.parseInt(input.readLine());
++proses;
}
while ( proses <= 2);
}
else {
System.out.println ("PIN ANDA SALAH !\nHUBUNGI KANTOR CABANG TERDEKAT atau CALL 085312867629");
}
}
catch (IOException e)
{
System.out.print("");
}
catch (NumberFormatException e)
{
System.out.println("PIN ANDA BUKAN ANGKA !");
}
}
}
}


coba copy lalu paste pada code editor lalu sesuaikan dengan nama package dan class yang sudah sobat buat sebelumnya. Disini saya asumsikan bahwa sobat sudah bisa membuat projek baru di menu file dan juga sudah bisa membuat kelasnya. Lalu, sobat run atau tekan saja shift + F6. Jika berhasil, maka akan tertampil tampilan untuk memasukkan pin seperti gambar berikut :


Jika tampilan seperti di atas sudah keluar dan tidak ada error maka projek ini telah berhasil! Yeahhhh!
Nah ini ada usecase diagram nya mengenai penggunaan dari nasabah ke mesin ATM.



Dan berikut di bawah ini adalah daftar method dan attribute yang dipakai :


Gimana? udah bisa belum programnya? maaf belum bisa jelasin satu per satu fungsi dari masing-masing code nya karena juga keterbatasan waktu :'D masih ada tugas kuliah yang menunggu :'D yaudah cukup sekian postingan kali ini. Semoga kita semua dapat mengambil pelajaran yang berharga dari postingan ini ( bermanfaat ). Terimakasih.

Wassalammu'alaikum wa arahmatullahi wa barakatuh

0 komentar:

Posting Komentar