Minggu, 25 Juli 2010

Implementasi Asosiasi

IMPLEMENTASI ASOSIASI
DALAM BAHASA PEMROGRAMAN OBJEK
( JAVA )


ASOSIASI
Asosiasi dideskripsikan sebagai kumpulan dari link yang saling menhubungkan objek-objek pada kelas yang sama. Asosiasi pada umumnya memiliki 2 arah.
Asosiasi dapat digunakan sebagai alat untuk menentukan jensi-jenis field pada perancangan basis data. Dalam contoh kasus dibawah ini adalah hubungan Nasabah dengan Bank (Multiplisitas) satu ke banyak.

CONTOH PROGRAM
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class asosiasi extends JFrame
{
public class Nasabah
{
private String nama;
private String alamat;
private String no_id;
public Nasabah (String vnama, String valamat, String vnoid)
{nama=vnama; alamat=valamat; no_id=vnoid;}
public void display()
{
JOptionPane.showMessageDialog(null,"Nama : "+nama+
"\nAlamat :"+alamat+"\nNo ID : "+no_id+
"\nSudah Terekam Pada Tabel Nasabah");
}
};

public class Transaksi
{
private int sandi;
private int jumlah;
private Nasabah Nsb;
private Transaksi Tran;
private String norek;
public int getNorek() {return norek;}
public int getSandi() {return sandi;}
public int getJumlah() {return jumlah;}
public Transaksi (String vnorek, int vsandi, int vjumlah)
{
norek = vnorek;sandi=vsandi;jumlah=vjumlah;
}
public Transaksi (Nasabah Nsb, Transaksi Tran)
{
this.Nsb=Nsb; this.Tran=Tran;
norek = Tran.getNorek();
sandi = Tran.getSandi();
jumlah = Tran.getJumlah();
Nsb.display();
}
public void display()
{
JOptionPane.showMessageDialog(null,"No Rekening :"+norek+"\nSandi :"
+sandi+"\nJumlah : "
+jumlah+"\nSudah Terekam Pada Tabel Transaksi");

}
};


JLabel label1,label2,label3,label4,label5,label6;
JTextField text1,text2,text3,text4,text5,text6;
JButton button1,button2;

public static void main (String args[])
{
asosiasi app=new asosiasi();
}

public asosiasi()
{
super("ENTRY PEMBUKAAN REKENING TABUNGAN");
setup();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
run();
show();
}

void setup()
{
setBounds(100,100,425,240);
getContentPane().setLayout(null);
label1=new JLabel("No Rekening");
label1.setBounds(30,20,150,20);
getContentPane().add(label1);
label2=new JLabel("Nama Nasabah");
label2.setBounds(30,50,150,20);
getContentPane().add(label2);
label3=new JLabel("Alamat Rumah");
label3.setBounds(30,80,150,20);
getContentPane().add(label3);
label4=new JLabel("No Identitas");
label4.setBounds(30,110,150,20);
getContentPane().add(label4);
label5=new JLabel("Sandi");
label5.setBounds(30,140,150,20);
getContentPane().add(label5);
label6=new JLabel("Jumlah");
label6.setBounds(30,170,150,20);
getContentPane().add(label6);

text1=new JTextField();
text1.setBounds(170,20,120,20);
getContentPane().add(text1);
text2=new JTextField();
text2.setBounds(170,50,120,20);
getContentPane().add(text2);
text3=new JTextField();
text3.setBounds(170,80,120,20);
getContentPane().add(text3);
text4=new JTextField();
text4.setBounds(170,110,120,20);
getContentPane().add(text4);
text5=new JTextField();
text5.setBounds(170,140,120,20);
text5.setText("0");
getContentPane().add(text5);
text6=new JTextField();
text6.setBounds(170,170,120,20);
text6.setText("0");
getContentPane().add(text6);

button1=new JButton("Rekam");
button1.setBounds(325,20,80,30);
button1.setMnemonic(KeyEvent.VK_R);
button1.setToolTipText("Rekam");
getContentPane().add(button1);
button2=new JButton("Keluar");
button2.setBounds(325,50,80,30);
button2.setMnemonic(KeyEvent.VK_K);
button2.setToolTipText("Selesai Aplikasi...");
getContentPane().add(button2);
}

void run()
{
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String vnorek = text1.getText();
String vnama = text2.getText();
String valamat = text3.getText();
String vnoid = text4.getText();
int vsandi = Integer.parseInt(text5.getText());
int vjumlah = Integer.parseInt(text6.getText());
Nasabah Nsb = new Nasabah(vnama,valamat,vnoid);
Transaksi Tran = new Transaksi(vnorek, vsandi, vjumlah);
Transaksi Trans = new Transaksi(Nsb,Tran);
Trans.display();
}});

button2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}});
}};


Pada Contoh diatas terlihat attribut Nsb yang terdapat pada class Transaksi mengacu pada class attribut yang berada pada Nasabah denga perintah sebagai berikut :

public class Nasabah
{
private String nama;
private String alamat;
private String no_id;
public Nasabah (String vnama, String valamat, String vnoid)
{nama=vnama; alamat=valamat; no_id=vnoid;}
...
...
...

};


public class Transaksi
{
...
...
private Nasabah Nsb;
private Transaksi Tran;
...
...
public Transaksi (Nasabah Nsb, Transaksi Tran)
{
this.Nsb=Nsb; this.Tran=Tran;
...
...
Nsb.display();
}
...
...

Tidak ada komentar:

Posting Komentar