Selasa, 18 November 2008

Relationship/Association pada Object Database Db4o - Section 3

Many-to-Many Relationship


Misalkan Relationship antara Buku dan Anggota pada peminjaman buku di perpustakaan seperti berikut:



Pada Kasus perpustakaan, dengan jelas dapat kita memodelkan hubungan asosiasi antara Buku dengan Anggota, dimana banyak anggota dapat meminjam banyak buku.


Berikut ini adalah contoh kode program dari contoh kasus Peminjaman buku di perpustakaan tersebut:


Membuat Class Buku


  1. package perpustakaan;
  2. /**
  3. *
  4. @author Team_dakoop
  5. */
  6. import com.db4o.*;
  7. public class Buku {
  8. String KodeBuku;
  9. String Judul;
  10. String Pengarang;
  11. String Penerbit;
  12. int TahunTerbit;
  13. Peminjaman pinjam;
  14. public Buku(String kd, String jdl, String Pengarang,
  15. String Penerbit, int thn){
  16. this.KodeBuku = kd;
  17. this.Judul = jdl;
  18. this.Pengarang = Pengarang;
  19. this.Penerbit = Penerbit;
  20. this.TahunTerbit = thn;
  21. this.pinjam = null;
  22. }
  23. public void SetPinjam(Peminjaman pinjam){
  24. this.pinjam = pinjam;
  25. }
  26. public Peminjaman getPinjam(){
  27. ObjectContainer db = Db4o.openFile("Perpustakaan,yap");
  28. pinjam = new Peminjaman(null,KodeBuku,null);
  29. try
  30. {
  31. ObjectSet Hasil = db.get(pinjam);
  32. pinjam = (Peminjaman)Hasil.next();
  33. }
  34. finally
  35. {
  36. db.close();
  37. }
  38. return pinjam;
  39. }
  40. }


Membuat Class Anggota


  1. package perpustakaan;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. import com.db4o.*;
  7. public class Anggota {
  8. String IdAnggota;
  9. String Nama;
  10. String Alamat;
  11. Peminjaman pinjam;
  12. public Anggota(String Id, String Nama, String Alamat){
  13. this.IdAnggota = Id;
  14. this.Nama = Nama;
  15. this.Alamat = Alamat;
  16. this.pinjam=null;
  17. }
  18. public void SetPinjam(Peminjaman pinjam){
  19. this.pinjam = pinjam;
  20. }
  21. public Peminjaman getPinjam(){
  22. ObjectContainer db = Db4o.openFile("Perpustakaan,yap");
  23. pinjam = new Peminjaman(IdAnggota,null,null);
  24. try
  25. {
  26. ObjectSet Hasil = db.get(pinjam);
  27. pinjam = (Peminjaman)Hasil.next();
  28. }
  29. finally
  30. {
  31. db.close();
  32. }
  33. return pinjam;
  34. }
  35. }



Membuat Class Peminjaman


  1. package perpustakaan;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. public class Peminjaman {
  7. String IdAnggota;
  8. String KodeBuku;
  9. String tglPinjam;
  10. public Peminjaman(String IdAnggota, String KodeBuku, String tglPinjam)
  11. {
  12. this.IdAnggota= IdAnggota;
  13. this.KodeBuku = KodeBuku;
  14. this.tglPinjam = tglPinjam;
  15. }
  16. }


Pada main program


  1. package perpustakaan;
  2. /**
  3. *
  4. * @author Team_dakoop
  5. */
  6. import com.db4o.*;
  7. public class Main {
  8. public static void main(String[] args) {
  9. ObjectContainer db
  10. = Db4o.openFile("Perpustakaan.yap");
  11. Anggota anggota1
  12. = new Anggota("A02","Prasetio","Jalan Magelang");
  13. Anggota anggota2
  14. = new Anggota("A35","Antonius","Jalan Sagan");
  15. Buku buku1 = new Buku("CS01",
  16. "Swarm Intelligence","Eric B",
  17. "Oxford university press",1999);
  18. Buku buku2 = new Buku("CS05",
  19. "Simulation","Steward K",
  20. "Addison Wesley",2001);
  21. Buku buku3 = new Buku("CS82",
  22. "Genetic Algorithm","Andrew S",
  23. "McGraw Hill",2003);
  24. Buku buku4 = new Buku("CS34",
  25. "Artificial Neural Net","Fausett",
  26. "Prentice Hall",2002);
  27. Peminjaman pinjam1
  28. = new Peminjaman("A02","CS01","20-11-2008");
  29. Peminjaman pinjam2
  30. = new Peminjaman("A02","CS05","21-11-2008");
  31. Peminjaman pinjam3
  32. = new Peminjaman("A35","CS82","21-11-2008");
  33. Peminjaman pinjam4
  34. = new Peminjaman("A35","CS34","25-11-2008");
  35. anggota1.SetPinjam(pinjam1);
  36. anggota1.SetPinjam(pinjam2);
  37. anggota2.SetPinjam(pinjam3);
  38. anggota2.SetPinjam(pinjam4);
  39. buku1.SetPinjam(pinjam1);
  40. buku2.SetPinjam(pinjam2);
  41. buku3.SetPinjam(pinjam3);
  42. buku4.SetPinjam(pinjam4);
  43. try
  44. {
  45. db.set(anggota1);
  46. db.set(anggota2);
  47. db.set(buku1);
  48. db.set(buku2);
  49. db.set(buku3);
  50. db.set(buku4);
  51. db.set(pinjam1);
  52. db.set(pinjam2);
  53. db.set(pinjam3);
  54. db.set(pinjam4);
  55. System.out.println("Data sudah tersimpan");
  56. }
  57. finally
  58. {
  59. db.close();
  60. }
  61. }
  62. }

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: