Selasa, 18 November 2008

Relationship/Association pada Object Database Db4o - Section 2

One-to-Many Relationship

One-to-Many Relationship merupakan bentuk hubungan asosiasi antar object yang sifatnya dua arah. One-to-Many Relationship disebut juga dengan Bidirectional association.

Misalkan Relationship antara Dokter dan Paramedis seperti berikut:



Pada contoh di atas terlihat bahwa seorang Dokter memiliki hubungan Bidirectional Association dengan Paramedis.


Hubungan object yang memiliki bidirectional association direalisasikan dengan korespondensi attribute dari object key yang berhubungan. Selain korespondensi attribute, kedua object harus memiliki akses menggunakan method ke masing-masing object.


Berikut ini adalah contoh kode program dari contoh kasus Dokter dengan Paramedis tersebut:


  1. package appdokter;
  2. /**
  3. * @author Team_dakoop
  4. */
  5. import com.db4o.*;
  6. public class Dokter {
  7. String IdDokter;
  8. String NamaDokter;
  9. String Spesialis;
  10. String IdParamedis;
  11. public Dokter(String idDok, String Nama, String spe)
  12. {
  13. this.IdDokter = idDok;
  14. this.NamaDokter = Nama;
  15. this.Spesialis = spe;
  16. }
  17. public String getIdDokter(){
  18. return IdDokter;
  19. }
  20. public String getNamaDokter(){
  21. return NamaDokter;
  22. }
  23. public String getSpeDokter(){
  24. return Spesialis;
  25. }
  26. public ObjectSet getParamedis(){
  27. ObjectSet Hasil;
  28. ObjectContainer db= Db4o.openFile("Dokter.yap");
  29. Paramedis asisten = new Paramedis (IdDokter,
  30. null,null);
  31. try
  32. {
  33. Hasil = db.get(asisten);
  34. }
  35. finally
  36. {
  37. db.close();
  38. }
  39. return Hasil;
  40. }
  41. }


Membuat Class Paramedis


  1. package appdokter;

  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. import com.db4o.*;

  7. public class Paramedis {
  8. String IdDokter;
  9. String IdPar;
  10. String NamaPar;

  11. public Paramedis(String idPar, String Nama,
  12. String idDokter)
  13. {
  14. this.IdPar=idPar;
  15. this.NamaPar = Nama;
  16. this.IdDokter = idDokter;
  17. }
  18. public String getIdParamedis(){
  19. return IdPar;
  20. }
  21. public String getNamaParamedis(){
  22. return NamaPar;
  23. }
  24. public ObjectSet getDokter()
  25. {
  26. ObjectSet Hasil;
  27. ObjectContainer db = Db4o.openFile("Dokter.yap");
  28. Dokter asisten = new Dokter(IdDokter,null, null);
  29. try
  30. {
  31. Hasil = db.get(asisten);
  32. }
  33. finally
  34. {
  35. db.close();
  36. }
  37. return Hasil;
  38. }
  39. }


Pada main program


  1. package appdokter;

  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. import com.db4o.*;

  7. public class Main {

  8. /**
  9. * @param args the command line arguments
  10. */
  11. public static void main(String[] args) {
  12. // TODO code application logic here
  13. ObjectContainer db = Db4o.openFile("Dokter.yap");
  14. try
  15. {
  16. db.set(new Dokter("111","Dr. Hadi","Jantung"));
  17. db.set(new Dokter("222","Dr. Agus","Kulit"));
  18. db.set(new Dokter("333","Dr. Budi","Kelamin"));

  19. db.set(new Paramedis("P01","Susi","222"));
  20. db.set(new Paramedis("P02","Maya","222"));
  21. db.set(new Paramedis("P03","Astuti","111"));
  22. db.set(new Paramedis("P04","Anita","333"));
  23. db.set(new Paramedis("P05","Dewi","111"));
  24. db.set(new Paramedis("P06","Sinta","111"));
  25. System.out.println("Object dokter dan Paramedis sudah tersimpan..");
  26. }
  27. finally
  28. {
  29. db.close();
  30. }
  31. }
  32. }



Hasil Object Database Menggunakan Object Manager



Referensi

Db4o-5.2 Tutorial, db4objects Inc., USA


Irwanto, Djon., 2007, Membangun Object Oriented Software dengan Java dan Object Database, PT Elex Media Komputindo, Jakarta





Tidak ada komentar: