Object Database Persistent

Pengertian Object Perst

Perst merupakan Sistem Object Oriented Database sederhana untuk Java/.Net. Object Oriented disini maksudnya bahwa Perst dapat melakukan store/load object secara langsung. Sasaran dari Perst adalah menyediakan bagi programmer suatu mekanisme yang sesuai dan powerful terhadap data yang dalam jumlah besar. Beberapa asumsi dasar yang menentukan desain dari Perst, antara lain:

  1. Object persistent dapat diakses dalam cara yang sama sebagai object sementara

  2. Engine database dapat lebih mudah dikelola secara efisien untuk data yang banyak dan dapat sesuai di memori utama

  3. tidak perlu preprocessor yang khusus, compiler, virtual machine atau tools lainnya yang seharusnya diperlukan pada database dan untuk mengembangkan aplikasi yang menggunakannya.

Menyimpan Object ke dalam database

Sasaran utama dari Perst adalah memandu programmer untuk bekerja dengan object persistent dengan cara yang dimungkinkan sama dengan object sementara secara normal. Bagaimanapun, persistensi memiliki aspek yang tidak dapat disembunyikan bagi programmer. Sebagai contoh, suatu penyimpanan Perst dimana object-object akan disimpan perlu dispesifikasikan, dan konsistensi data perlu disediakan. Dengan Perst, task-task tersebut dilakukan oleh class Storage. Class ini merupakan class abstract dan programmer wajib menggunakan class storageFactory untuk membuat instance storage.

  1

 2


// get instance of the storage

Storage db = StorageFactory.getInstance().createStorage();

Jika instance storage sudah dibuat, maka storage dapat di-Open:

// open the database

db.open(“test.dbs”, pagePoolSize);

Dapat dimungkinkan penggunaan Perst sebagai memori internal database, di mana semua data disimpan dan dikelola pada memori utama. Hal ini memerlukan penggunaan class stub NullFile dan menspesifikasikan INFINITE_PAGE_POOL sebagai pagepoolsize.

db.open(new NullFile(),Storage.INFINITE_PAGE_POOL);

Jika aplikasi menggunakan suatu database Perst diakhiri, database tersebut perlu ditutup menggunakan method Storage.close()

// get instance of the storage

Storage db = StorageFactory.getInstance().createStorage();

db.open(“test.dbs”, pagePoolSize); // Open the database

// do something with the database

db.close(); // … and close it

Root Object

Setelah instance storage dibuka, database dapat diakses object persistentnya. Ketika aplikasi mengakses object secara normal, aplikasi menggunakan referensi agar object tetap berada pada variable program atau dalam field-field dari object lain. Tetapi jika embuka suatu database yang terdiri dari object persistent, aplikasi tidak akan mereferensi ke object tersebut.

Suatu mekanisme diperlukan untuk mendapatkan referensi dan Perst menyediakannya untuk dapat digunakan yang disebut root object. Suatu storage hanya memiliki satu root object. Untuk membuat root object digunakan method Storage.getRoot.

MyRootClass root = (MyRootClass)db.getRoot();// get storage root

if (root == null) {

// Root is not yet defined: storage is not initialized

root = new MyRootClass(db); // create root object

db.setRoot(root); // register root object

}

Contoh Program menggunakan Object Database Perst

Class Barang.java

package coba01;
import org.garret.perst.*;
public class Barang extends Persistent {
String KodeBarang;
String NamaBarang;
String Jenis;
double HargaSatuan;
String Supplier;

public Barang(String kd,String nm, String jns, double hrg, String sup){
this.KodeBarang = kd;

this.NamaBarang = nm;

this.Jenis =jns;

this.HargaSatuan =hrg;

this.Supplier = sup;

}

public String getKodeBarang(){

return KodeBarang;

}

public String getNamaBarang(){

return NamaBarang;

}

public String getJenis(){

return Jenis;

}

public double getHarga(){

return HargaSatuan;

}

public String getSupplier(){

return Supplier;

}

public String toString(){

return KodeBarang+”/”+NamaBarang+”/”+Jenis+”/”+

String.valueOf(HargaSatuan)+”/”+Supplier;

}

}

Class Main.java

package coba01;

import java.io.File;

import org.garret.perst.*;

import java.util.*;

/**

*

* @author Team_dakoop

*/

public class Main {

public static void main(String[] args) {

new File(“Barang.dbs”).delete();

Storage db = StorageFactory.getInstance().createStorage();

db.open(“Barang.dbs”);

IPersistentSet root = (IPersistentSet)db.getRoot();

if (root == null) {

root = db.createSet();

db.setRoot(root);

}

root.add(new Barang(“M33”,

“Mie Goreng Ayam”,”Mie”,1200,”Fastfood”));

root.add(new Barang(“S03”,

“Sun Silk”,”Shampo”,6500,”UniClean”));

root.add(new Barang(“M11”,

“Mie Goreng Ayam”,”Mie”,1000,”FlyFood”));

root.add(new Barang(“K31”,

“Kopi cap API”,”Kopi”,2700,”Obor”));

root.add(new Barang(“T01”,

“Teh Aroma Wangi”,”Teh”,4500,”UniClean”));

root.add(new Barang(“M02”,

“Soto Mie”,”Mie”,1100,”Fastfood”));

root.add(new Barang(“M51”,

“Mie Kari”,”Mie”,1300,”FlyFood”));

root.add(new Barang(“K21”,

“Kopi cap Wangi”,”Kopi”,7500,”Uniclean”));

root.add(new Barang(“T05”,

“Teh T-Melati”,”Teh”,5500,”Obor”));

root.add(new Barang(“M82”,

“Mie Bakso”,”Mie”,1200,”Fastfood”));

System.out.println(“Object sudah persistent dalam Database”);

Iterator iterator = root.iterator();

while (iterator.hasNext()) {

System.out.println(iterator.next());

}

db.close();

}

}

Hasil :

Object sudah persistent dalam Database

M33/Mie Goreng Ayam/Mie/1200.0/Fastfood

S03/Sun Silk/Shampo/6500.0/UniClean

M11/Mie Goreng Ayam/Mie/1000.0/FlyFood

K31/Kopi cap API/Kopi/2700.0/Obor

T01/Teh Aroma Wangi/Teh/4500.0/UniClean

M02/Soto Mie/Mie/1100.0/Fastfood

M51/Mie Kari/Mie/1300.0/FlyFood

K21/Kopi cap Wangi/Kopi/7500.0/Uniclean

T05/Teh T-Melati/Teh/5500.0/Obor

M82/Mie Bakso/Mie/1200.0/Fastfood

Resources:

Download Perst from McObject’s Web site : www.mcobject.com/perst.

Referensi

Perst TM Introduction and Tutorial, McObject, 2008

Comments are closed.

Scroll to top
error: Salam TIF-UAD