System Perbankan Sederhana

Berikut ini adalah sebuah System Perbankan Sederhana pada sebuah bank, bank pasti memiliki Nasabah yang mempunyai nama, nomer rekening dan saldo. Nasabah dapat melakukan transaksi penyetoran uang, penarikan uang dan melihat saldo.

     import java.io.*;
     class Implementasi 
     {
     public static void main(String[] a) throws Exception
     {
     int pil=0, idx=0;
     double saldo=0;
     Nasabah [] n=new Nasabah[50];
     BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
     do
     {
     System.out.println("MENU");
     System.out.println("1. Tambah Nasabah");
     System.out.println("2. Transfer");
     System.out.println("3. Tabung");
     System.out.println("4. Tarik Tunai");
     System.out.println("5. e-Banking");
     System.out.println("6. Lihat");
     System.out.println("7. Keluar");
     System.out.print("Masukkan pilihan Anda [1-7] = ");
     pil=Integer.parseInt(br.readLine());
     if (pil==1)
     {
     FileOutputStream fostream = new FileOutputStream ("Data.txt", true);
     DataOutputStream out = new DataOutputStream(fostream);
     BufferedWriter bw= new BufferedWriter (new OutputStreamWriter(out));
     System.out.println("TAMBAH NASABAH");
     System.out.print ("masukkan Norek : ");
     String norek=br.readLine();
     //cek apakah norek udah pernah dipakai atau belum...
          /* try
       {
     Nasabah n_norek=null;
     for (int i=0; i<idx; i++)
     {
     if (n[i].getNorek().equals(norek))
  n_norek=n[i];
     }
     if (n_norek == null)
     {
      System.out.println("Norek bisa");
     }
     else
     {
      System.out.println("Norek gagal");
      norek=br.readLine();
     }
     }
     catch (Exception e)
     {
     }*/
     System.out.print ("masukkan Nama : ");
     String nama=br.readLine();
     System.out.print ("masukkan bank : ");
     String bank=br.readLine();
     System.out.print ("masukkan saldo : ");
     saldo=Double.parseDouble(br.readLine());
     System.out.print ("masukkan pin : ");
     String pin=br.readLine();
       //PIN harus 6 digit!!!
     if (pin.length()!= 6)
     {
     System.out.println ("pin harus 6 digit");
     pin=br.readLine();
     bw.write(norek+"\t");
     bw.write(nama+"\t");
     bw.write(bank+"\t");
     bw.write(pin+"\t");
     bw.write(saldo+"\t");
     }
     else
     {
        bw.write(norek+"\t");
     bw.write(nama+"\t");
     bw.write(bank+"\t");
     bw.write(pin+"\t");
     bw.write(saldo+"\t");
     }

     bw.newLine();
     bw.close();
     out.close();
     n[idx]=new Nasabah(norek, nama, bank, pin, saldo);
     idx++;
     }
     else if(pil==2)
    {
System.out.println("TRANSFER");
System.out.print("Masukkan norek Anda = ");
String asal=br.readLine();
System.out.print("Masukkan norek tujuan = ");
String tujuan=br.readLine();
System.out.print("Masukkan nominal transfer = ");
int nom=Integer.parseInt(br.readLine());
Nasabah n_asal=null;
Nasabah n_tujuan=null;
for (int i=0; i<idx; i++)
{
if (n[i].getNorek().equals(asal))
n_asal=n[i];
if (n[i].getNorek().equals(tujuan))
n_tujuan=n[i];
}
if (n_asal==null)
{
System.out.println("Norek asal tidak ada");
}
else if(n_tujuan == null)
{
System.out.println("Norek tujuan tidak ada");
}
else if (saldo<nom)
{
System.out.println("Saldo Anda tidak mencukupi");
}
else
{
n_asal.transfer(n_tujuan,nom);
System.out.println("transfer sukses");
}
}
else if (pil==3)
{
Nasabah n_asal=null;
int i;
/*FileOutputStream fostream = new FileOutputStream ("Data.txt",true);
DataOutputStream out = new DataOutputStream(fostream);
BufferedWriter bw= new BufferedWriter (new OutputStreamWriter(out));*/
System.out.println("TABUNG");
System.out.print("Masukkan norek Anda = ");
String asal=br.readLine();
System.out.print("Masukkan nominal tabung = ");
int nom=Integer.parseInt(br.readLine());
for ( i=0; i<idx; i++)
{
if (n[i].getNorek().equals(asal))
n_asal=n[i];
}
if (n_asal==null)
{
System.out.println("Norek asal tidak ada");
}
else
{
n_asal.tabung(n_asal,nom);
System.out.println("tabung sukses");
}
/*bw.write(asal+ "\t");
bw.write(saldo+ "\t");
bw.newLine();
bw.close();
out.close();*/
}
else if (pil==4)
{
Nasabah n_asal=null;
int i;
System.out.println("TARIK TUNAI");
System.out.print("Masukkan norek Anda = ");
String asal=br.readLine();
System.out.print("Masukkan nominal tarik tunai = ");
int nom=Integer.parseInt(br.readLine());
for ( i=0; i<idx; i++)
{
if (n[i].getNorek().equals(asal))
n_asal=n[i];
}
if (n_asal==null)
{
System.out.println("Norek asal tidak ada");
}
if (saldo<nom)
{
System.out.println("Saldo Anda tidak mencukupi");
}
else
{
n_asal.tarik(n_asal,nom);
System.out.println("tarik tunai sukses");
}
}
else if (pil==5)
{
Nasabah n_asal=null;
int i=0, nil=0;
FileOutputStream fostream = new FileOutputStream ("Data.txt", true);
DataOutputStream out = new DataOutputStream(fostream);
BufferedWriter bw= new BufferedWriter (new OutputStreamWriter(out));
do
{
System.out.println("1. Bayar Listrik");
System.out.println("2. Beli Pulsa");
System.out.println("3. Keluar");
System.out.print("Masukkan pilihan Anda [1-3] = ");
nil=Integer.parseInt(br.readLine());
if (nil==1)
{
System.out.println("Bayar Listrik");
System.out.print("Masukkan norek Anda = ");
String asal=br.readLine();
System.out.print("Masukkan nominal = ");
int nom=Integer.parseInt(br.readLine());
for ( i=0; i<idx; i++)
{
if (n[i].getNorek().equals(asal))
n_asal=n[i];
}
if (n_asal==null)
{
System.out.println("Norek asal tidak ada");
}
else
{
if (saldo<nom)
{
System.out.println("Saldo Anda tidak mencukupi");
}
else
{
n_asal.bayar(n_asal,nom);
System.out.println("bayar listrik sukses");
}
}
}
else if (nil==2)
{
System.out.println("Beli pulsa");
System.out.print("Masukkan norek Anda = ");
String asal=br.readLine();
System.out.print("Masukkan nominal = ");
int nom=Integer.parseInt(br.readLine());
for ( i=0; i<idx; i++) 
{
if (n[i].getNorek().equals(asal))
n_asal=n[i];
}
if (n_asal==null)
{
System.out.println("Norek asal tidak ada");
}
else
{
if (saldo<nom)
{
System.out.println("Saldo Anda tidak mencukupi");
}
else
{
n_asal.bayar(n_asal,nom);
System.out.println("beli pulsa sukses");
}
}
}
}
while(nil!=3);
}
else if (pil==6)
{
int bil=0;
do
{
System.out.println("1.tampilkan semua data");
System.out.println("2.tampilkan 1 saja");
System.out.println("3. Keluar");
System.out.print("Masukkan pilihan Anda [1-3] = ");
bil=Integer.parseInt(br.readLine());
if (bil==1)
{
FileInputStream fis=new FileInputStream ("Data.txt");
DataInputStream in = new DataInputStream(fis);  
BufferedReader bw= new BufferedReader (new InputStreamReader(in));
String strLine;
while ((strLine = bw.readLine()) !=null)
{
System.out.println (strLine);
}
}
else if (bil==2)
{
int i=0;
for( i=0; i<idx; i++)
{
System.out.println(n[i].getNorek()+"\t"+n[i].getNama()+"\t"+n[i].getBank()+"  \t"+n[i].getSaldo());
}
}
}while (bil!=3);
}
}while(pil!=7);
}
}

Dari class Implementasi di atas, maka di buatkan constructor untuk membuat objek Nasabah

class Nasabah
{
protected String norek, nama, bank, pin;
protected double saldo;
public Nasabah()
{
norek="";
nama="";
bank="";
pin="";
saldo=0;
}
public Nasabah(String no, String na, String ba, String pi, double sa)
{
norek=no;
nama=na;
bank=ba;
pin=pi;
saldo=sa;
}
public String getNorek()
{
return norek;
}
public String getNama()
{
return nama;
}
public String getBank()
{
return bank;
}
public String getPin()
{
return pin;
}
public double getSaldo()
{
return saldo;
}
public void setSaldo(double s)
{
saldo=s;
}
public void transfer(Nasabah n, int jum)
{
this.saldo=saldo-jum;
n.setSaldo(n.getSaldo()+jum);
}
public void tabung(Nasabah n, int jum)
{
this.saldo=saldo;
n.setSaldo(n.getSaldo()+jum);
}
public void tarik(Nasabah n, int jum)
{
this.saldo=saldo;
n.setSaldo(n.getSaldo()-jum);
}
public void bayar(Nasabah n, int jum)
{
this.saldo=saldo;
n.setSaldo(n.getSaldo()-jum);
}
}
Share on Google Plus

About Wahyu Hardianto

    Blogger Comment
    Facebook Comment

0 komentar:

Posting Komentar