tempat berbagi....siapatau bisa bermanfaat..^_^

soponsor by

Thursday, January 30, 2014

Cara Membuat Aplikasi Mesin ATM dengan Netbean

Simulasi Mesin ATM
Cara Membuat Aplikasi  Mesin ATM dengan Netbean||
Disini saya akan coba berbagi atau mencoba berbagi ilmu yang saya tahu (cuma dikit sih yang saya tau, selebihnya hasil kerja kelompok..hehhe)..buat temen temen yang mungkin sedikit pusing mencari cara membuat simulasi mesin ATM dengan mengunakan neatbean, atau yang pastinya dapet tugas dari dosen nah saya coba share codeingnya dikit-dikit..selebihnya usaha sndiri ya...
memang kalo dikasih tugas tiba-tiba bisa jadi semangat ato malah jadi tambah males buat ngerjainnya...tapi yang masih punya semnagat buat belajar yuk kita liat dikit-dikit....





di simulasi mesin ATM ini saya membuat 4 class dalam package Simulasi;
class pertama, class nasabah:

package Simulasi;



 @author pj

public class Nasabah {
  private String nama;
  private Tabungan tabungan= new Tabungan();

 private String[] line;
  Nasabah[] tab;
 int currentId=0;


  Nasabah(){}

@return the nama

    public String getNama() {
        return nama;
    }


    @param nama the nama to set

    public void setNama(String nama) {
        this.nama = nama;
    }


   @return the tabungan

    public Tabungan getTabungan() {
        return tabungan;
    }


     @param tabungan the tabungan to set

    public void setTabungan(Tabungan tabungan) {
        this.tabungan = tabungan;
    }
  public Nasabah(String nama, Tabungan t){
    }
}

setelah kita selesai membuat class Nasabah, kita coba membuat 1 class lagi dengan nama misalkan Tabungan.

  To change this license header, choose License Headers in Project Properties.
 To change this template file, choose Tools | Templates
 and open the template in the editor.


package Simulasi;



 @author pj

public class Tabungan {
 private int saldo;
 private String idTabungan;
 private String password;


 Tabungan(){}

 @return the saldo

    public int getSaldo() {
        return saldo;
    }


@param saldo the saldo to set

    public void setSaldo(int saldo) {
        this.saldo = saldo;
    }


@return the idTabungan

    public String getIdTabungan() {
        return idTabungan;
    }


      @param idTabungan the idTabungan to set

    public void setIdTabungan(String idTabungan) {
        this.idTabungan = idTabungan;
    }


   @return the password
 
    public String getPassword() {
        return password;
    }


   @param password the password to set

    public void setPassword(String password) {
        this.password = password;
    }
public Tabungan(String id,String pass,int saldo){
 
}
}
 setelah class Tabungan juga sudah dibuat, kita mencoba membuat lagi class misalnya class Rumus;


 To change this license header, choose License Headers in Project Properties.
 To change this template file, choose Tools | Templates
 and open the template in the editor.


package Simulasi;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;



 @author pj

public  class Rumus { // 3 tambah final 
  private Nasabah tabungan;
  private String[] line;
  private Nasabah[] tab;
 private int currentId=0;

  @return the tabungan
  
    public Nasabah getTabungan() {
        return tabungan;
    }


 @param tabungan the tabungan to set
  
    public void setTabungan(Nasabah tabungan) {
        this.tabungan = tabungan;
    }


      @return the line
    
    public String[] getLine() {
        return line;
    }

   @param line the line to set
  
    public void setLine(String[] line) {
        this.line = line;
    }


 @return the tab
    public Nasabah[] getTab() {
        return tab;
    }


 @param tab the tab to set

    public void setTab(Nasabah[] tab) {
        this.tab = tab;
    }


@return the currentId
    public int getCurrentId() {
        return currentId;
    }


 @param currentId the currentId to set

    public void setCurrentId(int currentId) {
        this.currentId = currentId;
    }   
  
  
public Rumus(String val) throws FileNotFoundException, IOException{
bacafile(val);
tab= new Nasabah[10];
for(int i=0;i< line.length;i++){
    if(line[i]==null){
        break;
    }
    tab[i]= new Nasabah();
    StringTokenizer st= new StringTokenizer(getLine()[i]);
    tab[i].getTabungan().setIdTabungan(st.nextToken());
    tab[i].setNama(st.nextToken());
    tab[i].getTabungan().setPassword(st.nextToken());
    tab[i].getTabungan().setSaldo(Integer.parseInt(st.nextToken()));
}
}

public void bacafile(String val) throws FileNotFoundException, IOException{
    BufferedReader reader;
    File f;
        setLine(new String[10]);
    f= new File(val);
    reader = new BufferedReader(new FileReader(f));
    int i=0;
    while (true){
            getLine()[i] = reader.readLine();
    
    
    if(     getLine()[i]==null){
    break;
    }
    i++;
    }
  }

public int cekId(String id){
    String a=id;
    int x=1;
    for(int x1=0;x1<a.length();x1++){
        if(a.charAt(x1)==' ')
            x++;
    }
    if(x==2){
    StringTokenizer st=new StringTokenizer(id);
    
    String idTabungan= st.nextToken();
    String password= st.nextToken();
    
    for(int i=0;i<getLine().length;i++){
        if( getLine()[i]==null){
            break;
        }
        if(idTabungan.equals(getTab()[i].getTabungan().getIdTabungan()) && password.equals(getTab()[i].getTabungan().getPassword())){
                setCurrentId(i);
           return 1;
        }        
    }
    }
    return 0;

}
public String namaNasabah(){
    return getTab()[getCurrentId()].getNama();
}
public int cekSaldo(){
    return getTab()[getCurrentId()].getTabungan().getSaldo();
}
public void ambiluang(int ambil){
    if( ambil < getTab()[getCurrentId()].getTabungan().getSaldo() ){ 
    int saldo =getTab()[getCurrentId()].getTabungan().getSaldo()- ambil;
        getTab()[getCurrentId()].getTabungan().setSaldo(saldo);
    }else{ JOptionPane.showMessageDialog(null, "maaf saldo anda tidak mencukupi");
    }
}
public void simpanuang(int simpan){
    int saldo=getTab()[getCurrentId()].getTabungan().getSaldo()+ simpan;
        getTab()[getCurrentId()].getTabungan().setSaldo(saldo);
}
public void transfer(String tran){
    StringTokenizer st= new StringTokenizer(tran);
    String id =st.nextToken();
    int uangTran = Integer.parseInt(st.nextToken());
    int cek=0;
    int i;
    
     for(i = 0; i < line.length; i++){
                if(tab[i] != null) {
                    if (id.equals(tab[i].getTabungan().getIdTabungan())){
                        cek++;
                        String inpMenu = JOptionPane.showInputDialog("Nama : " + tab[i].getNama() + "\nID Tabungan : " + tab[i].getTabungan().getIdTabungan() + "\nJumlah Transfer : " + uangTran + "\n1> Lanjut. 0> Batal");
                        if (inpMenu.equals("1")){
                                if (uangTran < getTab()[getCurrentId()].getTabungan().getSaldo()){
                                int saldo = tab[currentId].getTabungan().getSaldo()-uangTran;
                                 tab[currentId].getTabungan().setSaldo(saldo);}
                                else{ JOptionPane.showMessageDialog(null, "maaf anda salah memasukan nominal");
                                }
                        }else{
                         JOptionPane.showMessageDialog(null, "Transfer Terhadap " + tab[i].getNama() + " Telah Anda Batalkan");
                         return;
                    }
                    break;
                    }
                }
                else{
                JOptionPane.showMessageDialog(null, "Nasabah Dengan ID " + id + "Belum Terdaftar");
                break;
                }
            }
    }
}

fungsi dari class rumus ini bertujuan untuk pengkondisian class tabungan dan nasabah, setelah 3 class telah kita buat...baru kita buat main class nya.....atau class untuk menjalankannya...

main class :

To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
 and open the template in the editor.


package tugas_oop_kar_erwiin;

import java.io.IOException;
import javax.swing.JOptionPane;



@author pj

public class Simulasi {


   @param args the command line arguments

    public static void main(String[] args) throws IOException {
    Rumus atm=new Rumus("data.txt");
    String id =JOptionPane.showInputDialog("masukan rek tabungan dan password");
    
    int cek = atm.cekId(id);
    String inMenu;
    
    if(cek==0){
        JOptionPane.showMessageDialog(null,"format yang anda masukan salah","login",JOptionPane.ERROR_MESSAGE);
    }else{
        do{
            inMenu=JOptionPane.showInputDialog(null,"Selamat datang"+atm.namaNasabah()
                    +"\nMenu"+"\n1.Cek Saldo"+"\n2. Ambil Uang"+"\n3. Simpan Uuang"+"\n4. Transfer Uang"+"\n5. Selesai");
        if(inMenu.equals("1")){
            JOptionPane.showMessageDialog(null,"Saldo anda"+atm.cekSaldo());
        }else if(inMenu.equals("2")){
            String inAmbil = JOptionPane.showInputDialog("masukan uang yang ingin ditarik");
            int ambil= Integer.parseInt(inAmbil);
            atm.ambiluang(ambil);
        }else if(inMenu.equals("3")){
            String inSimpan = JOptionPane.showInputDialog("masukan uang yang ingin ditarik");
            int simpan= Integer.parseInt(inSimpan);
            atm.simpanuang(simpan);
        }else if(inMenu.equals("4")){
            String inTrans = JOptionPane.showInputDialog("MAsukan Rekening Tujuan dan Nominal");
            atm.transfer(inTrans);
        }else{
            JOptionPane.showMessageDialog(null, "Terima Kasih");
            System.exit(0);
        }
        }while(true);
    }
    }
}

Setelah main class sudah selelsai lalu kita run untuk melihat hasilnya....^_^..

simulasi ATM
Apabila aplikasi sudah jalan akan muncul seperti diatas, bila kita masukan kode tabungan beserta password  maka akan muncul

Simulasi atm dengan java
Disini menu pilihan dari transaksi yang akan dilakukan…apabila kita ketik angka 4 (menu transfer) maka akan muncul…

atm dengan java
Maka akan muncul menu memeasukan rek tabungan beserta nominal yang akan ditransfer..
membuat atm dengan java

Apabila setelah memasukan akan muncul pilihan 1(lanjut) 0(batal)…

Nah ini aplikasi yang munculnya sangat sederrhana,….tapiiiiiiiiiiiiiiiiiiiiiiiiii…bikinnya  bener bener jelimet ..ehehehehe…ya maklum masih belajar,,…mudah-mudahan dengan berbagi ilmu sedikit ini bias membantu pencerahan sedikit….mudah mudahan bermanfaat.. ^_^

oh ia satuhal jangan sampe lupa bikin file ".txt" untuk membuat data nasabahnya juga ya....biar buat baca datanya...


nah ada 1 hal.....inget ya temen temen sy disini berbagi bertujuan untuk merangsang logika temen temen, jadi kalo bisa jangan asal copas...pasti ga bakal jalan..saya hanya membantu sedikit aja..selebihnya temen temen yang berusaha...semangatttttttt............