Rabu, 20 November 2013

Contoh Program ATM Mini menggunakan Java

Hello temans :D
Ini postingan yang kesekian nih hehe :D
Disini gue mau berbagi, contoh program ATM Mini dengan menggunakan bahasa Java.
Program ini, terdiri dari 3 paket, yaitu paket Nasabah, paket Transaksi sama paket ATM. Masing-masing paket mempunyai satu file, kecuali pada paket ATM mempunyai dua file. Nah, untuk class utama itu sendiri terdapat dalam paket ATM. So, monggo dicoba di laptop kalian hehe :D


Namun, sebelum itu gue mau sedikit jelasin tentang apa sih bahasa Java itu (ini bukan berarti bahasa Jawa yah hehe :D). Baik, jadi  Bahasa Pemograman Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode-metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram  Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java, yang disebut dengan Java Application Programming Interface (API). Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.

- Paket Nasabah


package nasabah;
import javax.swing.*;

public class data_nasabah
{
    private String nama, jenis;
    private int  saldoawal, norek;
    public int pin;

    public int login()
    {
        String a=JOptionPane.showInputDialog("Masukkan Password : ");
        int pin=Integer.parseInt(a);
        return pin;
    }

    public void input_data(String nama1, String jenis1, int saldoawal1, int norek1, int pin1)
    {
        this.nama=nama1;
        this.norek=norek1;
        this.saldoawal=saldoawal1;
        this.jenis=jenis1;
        this.pin=pin1;
    }

   public String ambilNama()
    {
        String nama=this.nama;
        return nama;
    }

   public int ambilNorek()
    {
        int norek=this.norek;
        return norek;
    }

   public int ambilSaldoAwal()
    {
        int saldoawal=this.saldoawal;
        return saldoawal;
    }

   public String ambilJenis()
    {
        String jenis=this.jenis;
        return jenis;
    }
}
 - Paket Transaksi


package transaksi;
import javax.swing.*;
import nasabah.data_nasabah;

public class transaksiatm extends data_nasabah
{
    private String nama, jenis;
    private int saldo, norek, setoran, ambil, transfer, rek;

    public int lihat_saldo()
    {
        this.nama=ambilNama();
        this.norek=ambilNorek();
        this.saldo=ambilSaldoAwal();
        this.jenis=ambilJenis();
        JOptionPane.showMessageDialog(null,"Jumlah Saldo Saat Ini\n"
                +"Nama           : "+nama+"\n"
                +"No Rekening    : "+norek+"\n"
                +"Jenis Tabungan : "+jenis+"\n"
                +"Jumlah Saldo   : "+saldo+"\n");
        return saldo;
    }

    public int tambahSaldo()
    {
        String stor=JOptionPane.showInputDialog("Masukkan Jumlah Uang yang Mau di Tambahkan : ");
        setoran=Integer.parseInt(stor);
        saldo=saldo+setoran;
        JOptionPane.showMessageDialog(null,"--Tambah Saldo--\n"
                +"Nama           : "+nama+"\n"
                +"No Rekening    : "+norek+"\n"
                +"Jenis Tabungan : "+jenis+"\n"
   +"Jumlah Saldo   : "+saldo+"\n"
                +"TRANSAKSI BERHASIL dilakukan!");
       
        return saldo;
    }

    public int ambil_saldo()
    {
         if (saldo<50000)
         {
             JOptionPane.showMessageDialog(null,"Maaf, minimal saldo adalah Rp.50.000,-");
         }
         else
         {
             String bil=JOptionPane.showInputDialog("Masukkan Jumlah Uang yang Mau di Ambil : ");
             ambil=Integer.parseInt(bil);
             if (ambil>saldo)
             {
                 JOptionPane.showMessageDialog(null,"Maaf, Saldo Anda Tidak Mencukupi\n"+"TRANSAKSI GAGAL");
             }
             else
             {
                 saldo=saldo-ambil;
                 JOptionPane.showMessageDialog(null,"--Ambil Saldo--\n"
                +"Nama           : "+nama+"\n"
                +"No Rekening    : "+norek+"\n"
                +"Jenis Tabungan : "+jenis+"\n"
              +"Jumlah Saldo   : "+saldo+"\n"
                +"TRANSAKSI BERHASIL\n"
                +"Silahkan Ambil Uang Anda!");
             }
         }
         return saldo;
    }   

    public int transferuang()
    {
        String data;

            data=JOptionPane.showInputDialog("Masukan Nomor Rekening     : ");
            rek=Integer.parseInt(data);
            data=JOptionPane.showInputDialog("Masukkan Jumlah Uang : ");
            transfer=Integer.parseInt(data);
            if (transfer>saldo)
            {
               JOptionPane.showMessageDialog(null,"Maaf, Saldo Anda Tidak Mencukupi\n"+"TRANSAKSI DIBATALKAN");
            }
            else
            {
               JOptionPane.showMessageDialog(null,"TRANSAKSI BERHASIL\n"
                       +"Nama Penerima  : Dwi Ismira\n"
                       +"Nomor Rekening : "+rek+"\n"
                       +"Jumlah Uang    : "+transfer);
               saldo=saldo-transfer;
            }
        return saldo;
    }
}

- Paket ATM

  File Menu


package ATM;
import javax.swing.*;

public class menu
{
    public int pilihan()
    {
        int pilih;
        String a=JOptionPane.showInputDialog
        ("\n---------------------------------\n"
        +"           Menu Transaksi\n"
        +"-----------------------------------\n"
        +"-> 1. Info Saldo\n"
        +"-> 2. Tambah Saldo\n"
        +"-> 3. Ambil Saldo\n"
        +"-> 4. Transfer\n"
        +"-> 5. Selesai");
        pilih=Integer.parseInt(a);
        return pilih;
    }

    public int opti()
    {
        int select=pilihan();
        return select;
    }
}

File Class Utama


package ATM;
import javax.swing.JOptionPane;
import transaksi.*;

public class ClassUtama
{   
    public static void main(String[] args)
    {
        int i,j,sandi;

        menu transaksi = new menu();
        transaksiatm nasabah = new transaksiatm();
        nasabah.input_data("Paramitha", "BritAma", 500000, 13121994, 375670);
        sandi=nasabah.login();
        if (sandi==nasabah.pin)
        { do
          {
              i=transaksi.opti();
              switch (i)
              {
                  case 1: nasabah.lihat_saldo();
                  break;
                  case 2: nasabah.tambahSaldo();
                  break;
                  case 3: nasabah.ambil_saldo();
                  break;
                  case 4: nasabah.transferuang();
                  break;
                  case 5: JOptionPane.showMessageDialog(null,"TERIMA KASIH TELAH MENGGUNAKAN BRI");
                  default:
                    JOptionPane.showMessageDialog(null,"TERIMA KASIH TELAH MENGGUNAKAN BRI");
              }
                    String a=JOptionPane.showInputDialog("Untuk Kembali ke Menu Utama, TEKAN 0\n" + "Untuk Keluar, TEKAN 1");
                    i=Integer.parseInt(a);
                    ++i;  }
                    while( i <= 1);
                    JOptionPane.showMessageDialog(null,"TERIMA KASIH TELAH MENGGUNAKAN BRI");
        }
        else
        {
            JOptionPane.showMessageDialog(null, "PIN ANDA SALAH ! ATM ANDA DIBLOKIR. \nHUBUNGI KANTOR CABANG TERDEKAT atau CALL 056467");
        }
    }
}


 
;