Anda di halaman 1dari 4

Object Oriented Database

Object Database (object oriented database) adalah sebuah model basisdata dimana
informasi disimpan dalam bentuk object. Object yang dimaksud tersebut digunakan
dalam OOP (object oriented programming).

Ketika kemampuan basisdata bergabung dengan kemampuan OOP, hasilnya berupa


object database management system (ODBMS). ODBMS ideal untuk pada programmer
OO karena mereka ketika melakukan proses developer, controller dan model memiliki
persamaan yaitu sama-sama menggunakan object. ODBMS mendukung data yang
compleks seperti video, suara, gambar, dll secara native. Berbeda dengan Relational
Database Management System (RDBMS) yang tidak native mendukung data compleks
karena harus membagi menjadi 2 bagian yaitu model basisdata dan aplikasi.

Bagi yang telah mengenal RDBMS, object pada ODBMS bertindak sama dengan tabel
di RDBMS. ODBMS dibuat untuk menggantikan RDBMS jika bahasa pemograman
yang digunakan adalah OOP. Sebenarnya para developer telah memiliki solusi lain
yaitu ORDBMS (Object Relational Database Management System) yang berfungsi
untuk memetakan tabel dengan object yang disebut ORM (Object Relational Mapper).
Jadi data yang dikirimkan tetap object namun akan diterjemahkan terlebih dahulu
menjadi perintah query RDBMS sebelum dieksekusi. Akan tetapi ORDBMS masih
memiliki kekurangan:

1. Tidak semua fitur object oriented dapat ditangani oleh ORM.

2. Membutuhkan resource yang lebih.

Kapan tepatnya menggunakan ODBMS?


1. Embedded DBMS dalam aplikasi.
2. Relasi data yang kompleks.
3. Struktur object dengan hirarki yang dalam.
4. Merubah struktur data object
5. Menggunakan agile programming.

Beberapa object oriented database yang didesain dapat dijalankan dengan bahasa
OOP seperti Ruby, Java, C#. Berikut ini adalah contoh penggunaan object oriented
database dalam java. Untuk software ODBMS dapat menggunakan db4o yang bersifat
open source.

Silahkan ikuti langkah-langkah berikut :

Langkah 1 : download software db4o di http://www.db4o.com/DownloadNow.aspx

Langkah 2 : Membuat project di IDE java mis di Eclipse

Masukkan library (db4o-7.12.145.14409-all-java5.jar) yang sudah di-download


kedalam project.

Langkah 3 : Membuat kelas Mahasiswa.java


public class Mahasiswa {
private int npm;
private String nama;

public Mahasiswa(){

public Mahasiswa(int npm, String nama){


this.npm = npm;
this.nama = nama;
}

//method getter setter

@Override
public String toString(){
return npm + " " + nama;
}
}

Langkah 4 : Membuat kelas Kelas Main.java

Kelas Main.java digunakan untuk mencoba Insert, Select, Update, Delete, Select
Data with Soda. Select Data with Soda berfungsi untuk mengambil data dengan
parameter tertentu. Kalau di RDBMS seperti menggunakan WHERE.
public void insertData() {
System.out.println("* Insert data...");
File f = new File("d:/mahasiswadb.yap");
if (f.exists())
f.delete();
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Mahasiswa mhs1 = new Mahasiswa(201021001, "Andi");
Mahasiswa mhs2 = new Mahasiswa(201021002, "Budi");
Mahasiswa mhs3 = new Mahasiswa(201021003, "Cecep");
db.store(mhs1);
db.store(mhs2);
db.store(mhs3);
db.close();
}

private void selectData() {


ObjectSet<Mahasiswa> result = null;
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Mahasiswa mhs = new Mahasiswa();
result = db.queryByExample(mhs);

System.out.println("* Select data : " +


result.size() + "Mahasiswa");
while (result.hasNext()) {
Mahasiswa m = (Mahasiswa) result.next();
System.out.println(" - " + m.toString());
}
result.reset();
db.close();
}

private void updateData() {


System.out.println("* Update Data...");
ObjectSet<Mahasiswa> result = null;
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Mahasiswa mhs = new Mahasiswa();
mhs.setNpm(201021003);
result = db.queryByExample(mhs);
Mahasiswa m = (Mahasiswa) result.next();

m.setNama("Jimmy Susanto");
db.store(m);
db.close();
}

private void deleteData(){


System.out.println("* Delete Data...");
ObjectSet<Mahasiswa> result = null;
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Mahasiswa mhs = new Mahasiswa();
mhs.setNpm(201021003);
result=db.queryByExample(mhs);
Mahasiswa m = (Mahasiswa) result.next();
db.delete(m);
db.close();
}

private void sodaQuery(int npm){


System.out.println("* Select Data with SODA...");
ObjectContainer db = Db4oEmbedded.openFile(dbName);
Query query = db.query();
query.descend("npm").constrain(npm);
ObjectSet<Mahasiswa> result = query.execute();
System.out.println("* Select data with SODA : " + result.size() +
" Mahasiswa");
while (result.hasNext()) {
Mahasiswa m = (Mahasiswa) result.next();
System.out.println(" - " + m.toString());
}
result.reset();
db.close();
}

Nama databasenya adalah mahasiswadb.yap , berbeda dengan RDBMS yang


harus membuat database menggunakan perintah : create database mahasiswadb.

Untuk ODBMS cukup membuat filenya saja dengan ext .yap. Terakhir buat main
method seperti berikut :
public static void main(String[] args) {
Main main = new Main();
main.insertData();
main.selectData();
main.updateData();
main.selectData();
main.deleteData();
main.selectData();
main.sodaQuery(201021002);
}

Jalankan main method tersebut dan hasilnya adalah :


* Insert data...
* Select data : 3 Mahasiswa
- 201021002 Budi
- 201021003 Cecep
- 201021001 Andi
* Update Data...
* Select data : 3 Mahasiswa
- 201021002 Budi
- 201021003 Jimmy Susanto
- 201021001 Andi
* Delete Data...
* Select data : 2 Mahasiswa
- 201021002 Budi
- 201021001 Andi
* Select Data with SODA...
* Select data with SODA : 1 Mahasiswa
- 201021002 Budi

Anda mungkin juga menyukai