Pages

Pages - Menu

Jumat, 29 November 2013

PROGRAM MESIN ATM


Selamat Datang di Blog Kelompok 8. Pembahasan selanjutnya adalah tutorial dari Program Mesin ATM. Pasti kalian sudah tidak asing lagi dengan benda bernama Mesin ATM. Mau tahu bagaimana system di dalamnya? Silahkan simak tutorial dari kami :)
Program ini merupakan Program Mesin ATM. Program ini dibuat menggunakan software Eclipse dengan bahasa Java. Program Mesin ATM ini digunakan untuk melakukan proses pengecekan saldo, transfer uang, dan pengambilan uang dengan menginputkan pin dan nomor rekening. Secara sederhana, langkah-langkah penggunaan program mesin ATM ini adalah sebagai berikut :
1.       Masukkan PIN Anda.
2.       Apabila PIN sesuai, maka akan muncul pilihan pengecekan saldo, transfer uang, pengambilan uang, dan histori transfer.
3.       Apabila PIN tidak sesuai, maka akan muncul pemberitahuan “PIN SALAH! ATM ANDA DIBLOKIR. HUBUNGI KANTOR UNIT TERDEKAT atau CALL 085727131374”
Baiklah, sekarang kita mulai tutorial pembuatan Program Mesin ATM dari kelompok 8. Program ini dapat kita tuliskan dalam 2 bentuk, yaitu Flowchart dan Pseudocode. Program Mesin ATM dalam bentuk Flowchart dapat dituliskan seperti di bawah ini :

Setiap Flowchart diawali dan diakhiri dengan start dan end yang digambarkan dengan bentuk .Proses pendeklarasian dilakukan sekaligus bersamaan dengan input yang digambarkan dengan bentuk jajargenjang . Kemudian ketika kode pin yang dimasukkan benar, akan masuk ke decision yang terdiri dari beberapa pilihan yang digambarkan dengan bentuk belah ketupat . Kemudian akan dilakukan proses dan dihasilkan output sesuai dengan pilihan yang ditentukan. Sedangkan, apabila Anda salah memasukkan kode pin maka akan langsung keluar dari program.
Program Mesin ATM dalam bentuk Pseudocode dapat dituliskan seperti di bawah ini :
Algoritma mesin_atm
{cara kerja mesin ATM}
Deklarasi
pin, pilihan, saldo, proses, jum_transfer, no_rekening, penarikan             : integer
ulang : string
Deskripsi
begin
Saldo                     ß1000000
no_rekening      ß 435147
jum_transfer     ß 0
penarikan            ß0
read(pin)
if (pin = 1234)
                do
read(pilihan)
                switch(pilihan)
                case 1:  write("SALDO ANDA SAAT INI : ",saldo)
                case 2:  read(no_rekening)
                                read(jum_transfer)       
for ( int i=0; i<=1; i++ )
                                read(pin)
                                if (pin = 1234)
                                                write(" -> PIN COCOK         = OK ")
                                else
                                                write(" -> PIN TIDAK COCOK. Trasaksi Gagal")
                                if (jum_transfer ß (saldo-50000))
                                                write(" -> SALDO                  = OK")
                                else
                                write(" -> SALDO TIDAK CUKUP UNTUK TRANSFER. Trasaksi                        Gagal")                
                                if (no_rekening = 435147)
                                                write(" -> No Rekening      = ",no_rekening)
                                                write(" -> Nama             = Ilham Sudrajat Ramadhon")
                                                write(" -> Jumlah Transfer  = ",jum_transfer)
                                else
                                                write("No Rekening tidak terdaftar. Transaksi BATAL")
                                                saldo ßsaldo-jum_transfer
                case 3:  read(penarikan)
                                write("Saldo Awal        : ",saldo)
                                write("Penarikan         : ",penarikan)
                                saldo ßsaldo-penarikan
                                write("Saldo akhir       : ",saldo)

                                for (int i=0; i<=1; i++)
                                write("PIN ANDA               : ")
                                read(pin)
               
                                if (pin = 1234)
                                                write("-> PIN COCOK ")
                                else
                                                write("-> PIN NOT COCOK. Trasaksi Batal")
               
                                if (penarikan ß (saldo-50000))
                                                write("TRANSAKSI BERHASIL")
                                else {
                                                write("-> SALDO TIDAK CUKUP : TRANSAKSI GAGAL !")                                
                case 4: write("Penarikan Uang :" ,penarikan)
                                write("Trasfer Uang   :",jum_transfer)
                                write("Saldo Akhir    :",saldo)
                default:                write("TEKAN 0 UNTUK KEMBALI KE MENU")
                                write(“TEKAN 1 UNTUK KELUAR”)
                                read(proses)
                                ++proses
                                while(proses <= 1)
else
write("PIN SALAH! ATM ANDA DIBLOKIR.")
write("HUBUNGI KANTOR UNIT TERDEKAT atau CALL 085727131374")
endcase
end
Penjelasan :
Penulisan Pseudocode terdiri atas Judul Algoritma, Deklarasi, dan Deskripsi. Penulisan Judul Algoritma tidak diperkenankan menggunakan spasi, sehingga penggunaannya digantikan dengan tanda underscore “_”. Deklarasi pada program ini pada pin, pilihan, saldo, proses, jum_transfer, no_rekening, penarikan menggunakan tipe data integer. Selain itu, juga digunakan variabel ulang dengan tipe data string yang digunakan sebagai pilihan pada proses perulangan.
Kemudian pada Deskripsi, berisi tentang alur program yang dibuat. Pada program ini digunakan 3 fungsi, yaitu percabangan Switch case , perulangan For dan perulangan While. Digunakan percabangan Switch case karena percabangan yang digunakan merupakan percabangan multi arah. Perulangan For digunakan untuk pembatasan pada perulangan. Sedangkan, digunakan perulangan While untuk melakukan pengulangan proses.
Kemudian, buka aplikasi Eclipse dan buatlah Package dan Class baru dengan cara :
1.       Klik File>New>Java Project, untuk membuat proyek baru.
2.       Klik kanan pada folder, kemudian pilih New>Package, untuk membuat package baru.
3.       Klik kanan pada package, kemudian pilih New>Class, untuk membuat kelas baru.
Lalu tuliskan listing seperti di bawah ini :
package pin_atm;
import java.util.Scanner;
public class program_atm {

       public static void main(String[] args) {
              // TODO Auto-generated method stub
       Scanner ilham = new Scanner(System.in);
       int pin, pilihan, saldo, proses, jum_transfer, no_rekening, penarikan;
       saldo=1000000;
       no_rekening=435147; 
       jum_transfer= 0;
       penarikan=0;

       System.out.println("*************ATM************");
       System.out.println("       SELAMAT DATANG       ");
       System.out.println("         BANK ILHAM         ");
       System.out.println("****************************");
       System.out.println("SILAHKAN INPUTKAN PIN ANDA");
       System.out.print("--> ");
       pin=ilham.nextInt();

       if (pin == 1234)
       { 
       do { 
       System.out.println();
       System.out.println("****************************");
       System.out.println("MENU TRANSAKSI");
       System.out.println("Ilham Sudrajat Ramadhon");
       System.out.println();
       System.out.println("SILAHKAN PILIH");
       System.out.println("1. INFO SALDO");
       System.out.println("2. TRANSFER");
       System.out.println("3. PENARIKAN");
       System.out.println("4. HISTORY TRANSAKSI");
       System.out.println("5. KELUAR");
       System.out.println("****************************");
      
       System.out.print("PILIHAN --> "); 
       pilihan=ilham.nextInt();
      
       switch (pilihan) {
       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 Rekening Anda  : ");
              no_rekening=ilham.nextInt();
              System.out.print( "Masukan Jumlah Transfer      : ");
              jum_transfer=ilham.nextInt();
             
              for ( int i=0; i<=1; i++ ){
              System.out.print("PIN ANDA : ");
              pin=ilham.nextInt();
              }
      
              if (pin == 1234) {
                     System.out.println(" -> PIN COCOK      = OK ");
                     }
              else {
                     System.out.println(" -> PIN TIDAK COCOK. Trasaksi Gagal");
                     }
      
              if (jum_transfer <= (saldo-50000)) {
                     System.out.println(" -> SALDO          = OK");
                     }
      
              else {
                     System.out.println(" -> SALDO TIDAK CUKUP UNTUK TRANSFER. Trasaksi Gagal");
                     }
             
              if (no_rekening == 435147) {
                     System.out.println(" -> No Rekening      = "+no_rekening);
                     System.out.println(" -> Nama             = Ilham Sudrajat Ramadhon");
                     System.out.println(" -> Jumlah Transfer  = "+jum_transfer);
                     }
              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=ilham.nextInt(); 
              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("PIN ANDA   : ");  
              pin=ilham.nextInt(); 
              } 
      
              if (pin == 1234) { 
                     System.out.println("-> PIN COCOK ");  
                     } 
              else { 
                     System.out.println("-> PIN NOT COCOK. Trasaksi Batal");  
                     } 
      
              if (penarikan <= (saldo-50000))
                     {
                     System.out.println("TRANSAKSI BERHASIL");
                     }
             
              else {
                     System.out.println("-> SALDO TIDAK CUKUP : TRANSAKSI GAGAL !");
                     }
             
              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();
       System.out.println("TERIMA KASIH TELAH MENGGUNAKAN BANK ILHAM");
       System.out.println("TEKAN 0 UNTUK KEMBALI KE MENU");
       System.out.print ("->> ");
       proses=ilham.nextInt();
       ++proses;
       }
      
       while(proses <= 1);
       }
      
       else {
       System.out.println("PIN SALAH! ATM ANDA DIBLOKIR.");
       System.out.println("HUBUNGI KANTOR UNIT TERDEKAT atau CALL 085727131374");
       } 
       }
       }
Penjelasan :
1.       Deklarasikan variabel, pada Program Mesin ATM, pin, pilihan, saldo, proses, jum_transfer, no_rekening, penarikan dideklarasikan sebagai tipe data integer karena bilangan yang digunakan merupakan bilangan bulat, dan ulang dideklarasikan sebagai tipe data string karena berupa huruf sebagai pilihan untuk mengulangi  maupun mengakhiri proses.
2.       Gunakan perintah System.out.print(); untuk mencetak perintah memasukkan input.
3.       Gunakan perintah System.out.println(); untuk mencetak output, agar hasil yang muncul otomatis tercetak pada baris berikutnya.
4.       Gunakan percabangan Switch case karena percabangan yang digunakan merupakan percabangan multi arah. Dimana pada akhir percabangan dituliskan perintah break yang berfungsi untuk melompati sisa-sisa percabangan.
5.       Gunakan perulangan While pada setiap statement dengan status=true, pada program ini dilakukan ketika input salah, kemudian akan muncul pilihan untuk mengulangi proses atau mengakhiri proses.
6.       Gunakan perulangan For ketika ingin membatasi perulangan atau menggunakan decrement dan increment.
Input ketika program dijalankan akan berbentuk seperti di bawah ini :

*************ATM************
       SELAMAT DATANG      
         BANK ILHAM        
****************************
SILAHKAN INPUTKAN PIN ANDA
--> 1234

****************************

Apabila PIN yang dimasukkan benar, maka output akan seperti di bawah ini dan Anda dapat mengulangi proses dengan tampilan seperti di bawah ini :


MENU TRANSAKSI
Ilham Sudrajat Ramadhon

SILAHKAN PILIH
1. INFO SALDO
2. TRANSFER
3. PENARIKAN
4. HISTORY TRANSAKSI
5. KELUAR
****************************
PILIHAN --> 1

--------------------------------
SALDO ANDA SAAT INI : 1000000
--------------------------------
->> TERIMA KASIH TELAH MENGGUNAKAN BANK ILHAM
TEKAN 0 UNTUK KEMBALI KE MENU
TEKAN 1 UNTUK KELUAR
->> 1


Sedangkan apabila PIN yang Anda masukkan salah, akan muncul output seperti di bawah ini :

*************ATM************
       SELAMAT DATANG      
         BANK ILHAM        
****************************
SILAHKAN INPUTKAN PIN ANDA
--> 1349
PIN SALAH! ATM ANDA DIBLOKIR.
HUBUNGI KANTOR UNIT TERDEKAT atau CALL 085727131374
Demikian tutorial Program Mesin ATM dari kami. Bukankan sangat mudah? Kita memang sudah sering menggunakan Mesin ATM, tapi alangkah baiknya jika kita juga mempelajari sistem yang digunakan dalam Program Mesin ATM karena akan sangat bermanfaat dan menambah pengetahuan kita. SELAMAT MENCOBA :)

5 komentar: