PENGANTAR OODB

Standar

PENDAHULUAN

Beberapa tahun lalu sebuah konsep sistem basis data baru muncul dan menjadi perhatian dunia IT. Teknologi ini disebut Object-Oriented Database (OODB). Disebut sebut bahwa teknologi ini sangat cocok dengan era internet saat ini.

Teknologi ini mengintegrasikan kemampuan basis data (DBMS) dengan kemampuan pemrograman berorientesi kepada obyek (OOP). Sebuah Object Oriented Database Management System (ODBMS) membuat obyek sebuah basis data terlihat seperti obyek pemrograman pada beberapa bahasa pemrograman OOP. Sebuah ODBMS dapat memperluas kemampuan bahasa pemrograman dengan kemampuan basis data seperti data yang persistent secara transparan, kontrol konkurensi, recovery data, query asosiatif dan berbagai kemampuan basis data yang lain.

 OODB atau ODBMS dirancang untuk bekerja pada bahasa pemrograman OOP seperti java, C++ dan lain lain. Bila kita ingin menyimpan obyek pada program Java atau C++ ke dalam sebuah sistem basis data, kita dapat menggunakan basis data yang berorientasi kepada obyek (ODBMS).

 ODBMS sangat memudahkan pemrogram — terutama yang terbiasa dengan OOP — dalam mengolah data dan variabel dalam programnya. Kebanyakan pemrogram basis data menghabiskan cukup banyak waktu untuk merepresentasikan variabel atau obyek

Pada programnya ke dalam struktur basis data. Pada saat membuat penulisan ini penulis teringat satu kasus yang penulis alami sendiri pada suatu proyek, yaitu penulis merasa seandainya hasil query yang penulis dapatkan dapat direpresentasikan ke dalam sebuah obyek, maka permasalahan yang penulis hadapi saat itu akan mudah teratasi. Sayangnya pada saat itu penulis belum mengenal ODBMS ini.

 Letak perbedaan utama ODBMS dengan sistem basis data konvensional adalah pada sistem basis data konvensional data direpresentasikan ke dalam bentuk tabel-tabel dengan kolom yang mewakili kategori dari data, dan baris yang berisi data itu sendiri. Sedangkan dalam ODBMS, data direpresentasikan sebagai sebuah obyek, baik dalam hal pengaksesannya maupun dalam hal pemodelannya.

 PERKEMBANGAN ODBMS

 Pada saat diperkenalkan beberapa tahun lalu, ODBMS diberkirakan akan segera menjadi teknologi utama di bidang basis data menggantikan Sistem Basis Data Relasional (RDBMS). Utamanya karena RDBMS tidak dirancang untuk menangani tipe data multimedia yang banyak digunakan di internet.

 Kenyataan pada saat ini ramalan tersebut tidak mengenai sasaran. Saat ini terbukti RDBMS masih jauh lebih banyak dipergunakan. ODBMS hanya mendapatkan sebagain

kecil dari pasaran. Penjualan RDBMS mencapai 50 kali lipat penjualan ODBMS. Di sisi lain pembuat RDBMS menambahkan kemampuan penggunaan obyek ke dalam sistem buatannya menjadi oject-relational database management system (ORDBMS).

 BERBAGAI PENDAPAT TENTANG ODBMS

Banyak pihak yang meragukan perkembangan ODBMS diantaranya tersurat pada pendapat yang dikemukakan oleh Michael Stonebraker, CTO dari Informix yang mengeluarkan produk ORDBMS menyatakan bahwa ODBMS hanya memiliki pangsa pasar kecil yang tidak memiliki masa depan yang luas dan ORDBMS akan menggeser posisi ODBMS dalam waktu hanya lima tahun saja.

 Akan tetapi di lain pihak optimisme akan ODBMS tetap besar, diantaranya mengutip pendapat Rick Cattell dari Sun Mycrosystems yaitu perkembangan ODBMS masih cukup baik, walaupun skala penjualannya tidak besar, akan tetapi ODBMS akan tetap dipergunakan terutama pada bidang CAD (computer-aided design) dan telekomunikasi yang tidak cocok untuk menggunakan RDBMS.

 OODB sangat banyak digunakan dalam bidang CAD/CAM dan Intelegensia Buatan (AI) karena OODB mendukung tipe data yang kompleks dan relasi yang sulit. Juga OODB secara efisien mendukung tipe data multimedia yang banyak digunakan dalam aplikasi CAD/CAM

 Pada kesempatan lain Cattell dari Sun Microsystems menyatakan bahwa OODB juga digunakan pada sistem pendataan pasien rumah sakit karena bagi staf rumah sakit OODB lebih mudah dipergunakan daripada basis data relasional.

Akmal Chaudhri, seorang ahli sistem basis data dan doktor di The City University, London menyatakan bahwa beberapa perusahaan besar di London diantaranya J.P. Morgan, Chase Manhattan dan Citibank menggunakan teknologi ODBMS untuk pemodelan instrumen keuangan seperti obligasi. Hal ini disebabkan teknologi ini membantu mengolah instrumen yang dibutuhkan dalam pemodelan secara efektif.

 Teknologi berorientasi-obyek juga mendukung mekanisme penurunan (inheritance) untuk pemodelan instrumen berikutnya dengan cepat dan mudah.

 Juga menurut Akmal Chaudhri, jika kita ingin memodelkan sebuah Boeing 747 dengan ODBMS, maka hubungan antara komponen pesawat dikelola langsung oleh sistem basis data. Sedangkan jika kita menggunakan RDBMS, kita harus membagi-bagi pesawat tersebut ke dalam tabel-tabel dan menghubungkan lagi tabel-tabel tersebut bila kita ingin membangun kembali pesawat tersebut.

 KELEBIHAN DAN KEKURANGAN ODBMS

Walaupun OODB memiliki banyak keunggulan daripada RDB, OODB belum mampu menggoyahkan kedudukan RDB. OODB merupakan teknologi baru yang populer di kalangan ahli sistem basis data, tetapi pembuat aplikasi masih lebih memilih RDB daripada OODB.

Hal ini mungkin disebabkan para pembuat aplikasi tersebut belum mengenal lebih jauh OODB atau ODBMS. Untuk memilih mana yang lebih cocok — OODB atau RDB – untuk proyek yang kita kerjakan, ada baiknya kita perhitungkan faktor resiko, kebutuhan

teknis, kinerja yang diharapkan dan keseluruhan solusi teknis. Pada keadaan tertentu OODB merupakan suatu pilihan tepat, tapi pada keadaan yang salah pilihan ini dapat

berakibat besar.

 Berikut ini beberapa kelebihan dan kelemahan OODB.

 1. KELEBIHAN OODB

A. DESAIN YANG INDAH

Pada suatu sistem yang dinamis pemrogram sering harus menghabiskan banyak waktu dan tenaga untuk menagani masalah data. Dengan OODB, masalah ini tidak hilang, tetapi dapat dikurangi. Karena dengan orientasi obyek maka proses penyimpanan dan pengambilan data jauh lebih sederhana.

Dengan OOP, program dan data terintegrasi dengan baik. Dengan paradigma orientasi obyek dapat menyederhanakan aplication modelling, kebutuhan design tool dan visualisasi sisten dan desainnya. Dengan OODB tidak hanya kita mendapatkan persistensi data tapi keseluruhan obyek database, bahkan termasuk implemented behaviour-nya. Juga kita dapat memanggil suatu method dari obyek tertentu pada database di server sehingga distribusi aplikasinya lebih mudah.

 Dalam RDB untuk melaksanakan hal ini kita harus memasukkan stored procedure atau suatu komponen obyek. Sehingga arsitektur dari aplikasi jadi lebih rumit dan membutuhkan keahlian pemrograman lebih lanjut.

 B. PENYEDERHANAAN PEMBUATAN APLIKASI

 Dengan OODB kita dapat menyederhanakan pembuatan aplikasi dengan meminimalisasi penggunaan bahasa pemrograman dan implementasi teknologi yang dibutuhkan. Terkadang kita tidak menyadari bahwa suatu proyek menjadi lebih tinggi biayanya karena banyak faktor teknis seperti penggunaan beberapa tool, bahasa program dan lingkungan dari aplikasi yang berbeda-beda. Belum lagi biaya pelatihan dan lain-lain.

Dengan OODB maka kemampuan teknis yang dibutuhkan menjadi berkurang karena pemrogram cukup menguasai konsep orientasi obyek (object oriented) dengan sedikit tambahan mengenai koneksi ke database. Tentunya pemrogram harus juga menguasai bahasa pemrograman berorientasi obyek seperti C++ atau Java.

 Selain itu pemrogram tinggal memfokuskan pada persistensi obyek. Pemrogram tidak perlu lagi meguraikan obyek ke tabel, memikirkan relasi antar tabel, dan sebaliknya.

 C. KINERJA YANG TANGGUH

Pada produk ODBMS yang tepat dan sesuai dengan aplikasi yang dibuat, OODB dapat meningkatkan kinerja aplikasi dengan peningkatan yang tinggi.

 Seperti yang beberapa kali penulis sebutkan, dengan RDB seorang pemrogram harus menghabiskan waktu untuk memetakan data dengan obyek, menguraikan tabel-tabel ke dalam obyek dan sebagainya. Terkadang hal ini mencapai sepertiga atau bahkan separuh dari program itu sendiri. Hal ini menyebabkan juga kinerja program lebih lambat karena harus melaksanakan pemetaan obyek tersebut. Belum lagi program harus melaksanakan beberapa query yang makin memperlambat kinerja program tersebut.

 Dengan OODB tentu kinerja program dapat lebih baik karena hal-hal di atas tidak lagi diperlukan. Karena program langsung mengakses data dengan obyeknya.

 Pada beberapa produk ODBMS bahkan dimungkinkan adanya client caching. Bayangkan kecepatan yang dapat dihasilkan bila program hanya perlu mengakses chache dari database yang sudah ada di client.

 KELEMAHAN OODB

  1. TIGHT COUPLING

 Istilah tight coupling maksudnya antara aplikasi dengan data sedemikian rupa terikat hingga sulit dipisahkan satu dengan lainnya. Misalnya sistem database Microsoft Access dengan bahasa pemrograman MS-Visual Basic mempunyai hubungan loose couple karena kita dapat menggunakan banyak pilihan sistem basis data untuk program dalam MS-Visual Basic dan juga dapat menggunakan banyak pilihan bahasa pemrograman lainnya untuk mengakses data dalam MS-Access. Sementara bahasa COBOL dengan databasenya sangat tight couple karena sulit mengakses database COBOL dengan bahasa pemrograman lain.

Sementara tight coupling mempunyai keuntungan karena menyederhanakan program dan desainnya, akan tetapi hal ini memiliki kekurangan karena ini menghilangkan hijab* antara database dengan aplikasi. Juga menyebabkan suatu kendala baru bila kita ingin bermigrasi ke produk ODBMS yang berbeda atau kembali ke RDB.

 hijab* = batas/pemisah.

2. KINERJA YANG MUNGKIN KURANG BAIK

 Sebelumnya penulis telah memaparkan bagaimana keperkasaan kinerja OODB terutama dalam hal mengakses data. Tetapi di sini penulis perlu juga menyampaikan bahwa pada kondisi tertentu mungkin saja OODB menghasilkan kinerja yang buruk. Misalnya pelaksanaan ad-hoc query yang sangat lemah dalam OODB. Memang dalam beberapa hal produk ODBMS masih kalah dengan produk RDBMS yang telah lebih lama beredar di pasaran. Diantaranya masalah-masalah fungsionalisasi dan

optimalisasi query ini. Wajar saja mengingat usia OODB yang relatif muda.

3. KURANGNYA DUKUNGAN PLATFORM

 Pada dasarnya OODB dapat diterapkan pada bahasa pemrograman orientasi obyek apa saja, tapi produk ODBMS yang ada masih kebanyakan diorientasikan untuk digunakan dalam bahasa Java dan C++. Disamping itu juga belum banyak tersedia komponen untuk pengaksesan OODB untuuk bahasa pemrograman lainnya.

 Walaupun OODB dapat diimplementasikan dalam Java yang platform independent, belum tentu pada platform yang kita miliki mendukung implementasi Java. Selain itu Java juga memiliki aneka nuansa dan keanehan-keanehan bila diterapkan pada lingkungan yang berbeda.

4. SULIT BERMIGRASI

 Cara penyimpanan dan pengambilan data pada OODB sangat berbeda dengan RDB. Demikian juga cara pengaksesannnya. Oleh karena itu, bila kita bermigrasi ke OODB maka kita harus berkomitmen untuk terus menggunakan OODB. Setelah mengimplementasikan OODB, sangat sulit untuk kembali ke RDB.

5. KEBUTUHAN KETERAMPILAN

 Mencari seseorang yang memiliki kemampuan spesifik pada salah satu ODBMS jauh lebih sulit daripada mencari seseorang yang memiliki pemahaman RDB dan penguasaan salah satu database seperti MS-Access, MS-SQL server, Oracle dan lainlain. Lebih sulit lagi mencari seorang yang benar-benar menguasai administrasi sistem OODB.

 Peralihan dari paradigma RDB ke OODB juga membutuhkan pelatihan khusus karena banyaknya perbedaan pendekatan diantaranya performa, locking, join dan lain lain.

6. QUERY YANG KOMPLEKS

 Pada masing-masing ODBMS terkadang memiliki cara query yang berbeda. Selain itu terkadang kita tidak mengakses data dengan cara memanggil ObjectID-nya saja, tetapi kadang berdasarkan range, pola dan beragam kriteria lain yang mungkin kelihatannya tidak berhubungan. Ini berakibat penggunaan OODB membutuhkan kemampuan logika yang mendalam.

OODB memang sebuah teknologi yang mengagumkan dan menyuguhkan berbagai kemampuan yang telah lama diidam-idamkan. Tapi sayangnya masing-masing produk OODB atau ODBMS memiliki kelebihan dan kekurangan yang berbeda-beda. Kita harus hati-hati mengevaluasi suatu produk ODBMS untuk kebutuhan kita.

 db4o untuk OODBMS

 Db4o merupakan OODBMS yang hadir dalam 2 versi yaitu versi Komersial dan GPL, serta berjalan di dua platform Java dan dotNet.

 Keunikan dari Db4o adalah Db4o sebagai native object database sehingga sangat ideal untuk di-embed ke dalam equipment atau device, baik mobile, desktop, dan server platform.

Footprint Db4o dapat dibilang cukup kecil sehingga membuat Db4o lebih efektif untuk diembed ke dalam device yang memiliki kapasitas memori yang kecil.

 Walaupun memiliki footprint yang kecil, namun class library Db4o menyediakan fitur fitur yang lengkap. Seperti Concurrency control, replikasi data, dan native query. System Db4o tidak banyak membutuhkan administrasi sehingga db4o cocok jika Diembed ke dalam aplikasi.

 Instalasi OODBMS Db4o pada NetBeans IDE

 Buka website Db4o di alamat http://www.Db4o.com, kemudian download db4o serta Object Manager. Untuk Setting IDE dengan Db4o Engine Class Library, karena penulis menggunakan Java NetBeans, maka dalam hal ini dilakukan setting NetBeans IDE. Membuat setting IDE dengan Db4o Engine Class Library merupakan kegiatan yang wajib dilakukan sebelum memulai pembuatan object. Begitu anda memulai project baru, pada bagian Librariesnya klik kanan folder tersebut dan pilih Add Jar…

 Setelah menu pop up Add Jar diklik, maka akan muncul dialog yang menanyakan dimana lokasi file jar berada. Langkah selanjutnya cari lokasi drive dan folder dimana Db4o diinstal. Setelah ketemu, masuklah ke folder tersebut dan cari ke dalam folder Lib dan akan ditemukan beberapa file JAR didalamnya. Pilihlah salah satu file jar Db4o Engine Class Library tersebut.

 OODBMS Db4o pada Eclipse IDE

 1. Buat fólder dengan nama lib pada Project directory, jika belum ada.

2. Copy db4o-*.jar pada folder tersebut.

3. Klik kanan pada Project anda pada Package Explorer dan Pilih Refresh

4. Klik kanan pada Project anda kembali pada Package Explorer dan

Pilih Properties

5. Pilih “Java Build Path” pada bagian dalam Treeview.

6. Pilih halam tab Libraries.

7. Klik “Add Jar”

8. Fólder Lib seharusnya tampil pada Project anda.

9. Pilih db4o-*.jar pada fólder tersebut.

10. Tekan OK dua kali….:-)

Db4o Object Manager

 Db4o Object Manager merupakan statu Tool GUI untuk membrowsing dan meng-Query isi dari setiap file database db4o. Object manager perlu didownload karena terpisah dari distribusi Db4o-nya. Distribusi Object manager yang disediakan antara lain:

 – db4o ObjectManager for Windows IKVM (Java VM included)

 – db4o ObjectManager for Windows no Java VM

 – db4o ObjectManager for Linux.

Penulis : Agus Darmawan

Semoga bermanfaat, kunjungi juga website baru Saya di agusdar.com

3 responses »

  1. Ping-balik: [Database] Tentang OODB | Ahsan Anwar Sandiah

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s