Tugas kuliah PSBO buat besok (hehe..) adalah mencari tahu seputar Object Relational Mapping a.k.a ORM di Java. Ternyata lumayan banyak istilah-istilah yang ditemukan. Tapi usut punya usut, beberapa istilah ini sudah pernah dikenali sebelumnya, hanya saja karena waktu itu belum cukup umur (baca: pengetahuan sebelumnya masih kurang) gak bener-bener ngerti dan iya-iya aja waktu dijelasin.. Well, here it is..
ORM
Ini keyword pertama yang mendasari seluruh pencarian. ORM kependekan dari Objek Relational Mapping, adalah teknik pemrograman untuk menjembatani konsep yang berbeda dari database relasional dengan konsep pemrograman berorientasi objek (OOP). Menurut mbah yang ini, dengan ORM, basis data relasional itu digunakan untuk menyimpan data (memang iya), tetapi dalam bentuk objek.
um.. terus gimana teknik-tekniknya itu? ada beberapa teknik dan sebenernya lebih kompleks dari yang bakal dijelasin di contoh di bawah ini. Contoh ini hanya hasil interpretasi penulis, mungkin bisa (CMIIW) nunjukkin bagian kecil tentang gimana yang dimaksud menjembatani database dengan OOP ( hanya supaya konsepnya ga terlalu abstrak)
Dulu tugas kuliah rekayasa perangkat lunak, kelompok kami mengembangkan aplikasi yang namanya APPM (Aplikasi Pendeteksi Penyakit Manusia) (exSys-like application, kata orang2 c). Aplikasi ini menggunakan database untuk menyimpan hal-hal berikut :
- Pertanyaan-pertanyaan yang akan diajukan ke ‘pasien’ untuk mendeteksi penyakitnya. (tabel pertanyaan)
- Data pengguna, meliputi nama, umur, jenis kelamin, dll (tabel pengguna)
- Data obat-obatan herbal (tabel herbal)
Nah, lalu di program java-nya dibuatlah satu buah package (namanya model), yang isinya adalah kelas-kelas yang mendeskripsikan tabel-tabel yang tadi. Atribut-atribut dari kelas ini adalah kolom-kolom yang ada di tabel.
Misalnya tabel pengguna memiliki kolom user_name, password, jenis_kelamin. Maka kelas yang mendeskripsikannya kurang lebih seperti ini :
public class Pengguna {
private String userName;
private String password;
private String jenisKelamin;
//method getter dan setter
}
Jadi, kelas yang mendeskripsikan tabel Pengguna itu sederhana aja, cuma diisi oleh atribut-atribut (yang mewakili kolom di database) dan method getter-setter nya. Ternyata eh ternyata (kalo kata temen yang ini) kelas yang simpel kayak begitu bisa disebut sebagai…
POJO (Plain Old Java Object)
Istilah yang rada-rada berbau nama orang Indonesia ini mempunyai nama panjang yang keren ternyata: Plain Old Java Object. sederhananya sih, ini adalah objek yang sederhana, nggak kompleks. Kata Beliau, POJO itu nggak mau ribet, dia nggak diinstantiasi dari kelas yang rada-rada komplex gitu deh, mis.: merupakan turunan dari kelas lain, mengimplementasi suatu interface, atau mengandung anotasi.
Kalau kata yang ini,
Tapi rule of thumb yang bisa dipake adalah the simpler = the more POJO. Jadi suatu object yang dikatakan POJO atau POCO kalau dirinya tidak tergantung pada external framework (hence jadi complex)
Hm,, omong-omong tentang framework.. nah. konsep ORM nya kan udah, sekarang,, nge-implementasiinnya pake cara-cara apa aja ya,, berikut cuplikannya..
JPA
Tentunya kita tidak sedang membicarakan laki-laki karena JPA yang dimaksud di sini bukanlah Jenggot Pemikat Akhwat melainkan Java Persistence API.
Hibernate
Hibernate juga merupakan salah satu library yang menyediakan framework untuk ORM. lebih jelasnya ke sini aja, saya juga belum bener2 baca, dah malem.. baca sendiri aja ya.. (emang dari tadi dibacain gitu??) hehe..
yap, sekian. Besok pas kul kalo ternyata konsepnya salah, mudah2an bisa segera memperbaiki tulisan ini.. daag..
Posted by uleefeb89 on 14 Mei 2009 at 10:37
weeewww….
baru tau ada istilah Jenggot Pemikat Akhwat..
Posted by syamsulbachri on 16 Mei 2009 at 16:31
JPA => ntu kan yang sering ane bilang..hihi…
ORM : tabel di dalam db dianggap objek..atribut dari objek itu menggambarkan properti dari tabel..
nah, tapi tabelnya harus memenuhi aturan2 yang ada di dalam ORM..
ada lagi konsep lain namanya Active Record,..
kayak pake ORM, kita ga perlu nulis native query lagi..
**ga jelas….hihi
Posted by ofa on 18 Juni 2009 at 02:36
ga nyangka gw search ORM nyampenya ke blog ziza..
saluuut…
Posted by bagus on 17 Oktober 2009 at 13:30
eh look mu ad yang jawab g mana crnyaq cari istlah2 RPL kak ato mbak?????????