Anda di halaman 1dari 11

KONSEP SISTEM MANAJEMEN BASIS DATA BERORIENTASI OBJEK

(OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM/


OODBMS)

Oleh : Yusup
Fakultas Ilmu Komputer, Universitas AKI Semarang

Abstract
This technology integrates the capability of database ( DBMS ) with the ones of object oriented
program ( OPP ). Object Oriented Database Management System ( ODBMS ) makes the object
of database is visible as the object of program at various OOP program. ODMBS is able to
widen the capability of program terminologies with the capability of database as transparancy
persistent data, competition control, data recovery, associate query and many other database
capabilities.

Keywords : OODB, OODBMS.

Pendahuluan state dan behavior. State terdiri dari nilai


Objek merupakan kesatuan entitas object properties. Properti dari sebuah object
(baik), baik yang berwujud nyata ataupun dapat berupa atribut atau relasi antar object.
hanya satu sistem yang memodelkan dunia Sedangkan behavior dispesifikasikan oleh
nyata. Setiap object diidentifikasi oleh operasi atau method yang dapat dieksekusi
object identifier(OID), dan juga memiliki oleh sebuah object melalui propertinya.

-11-
Majalah Ilmiah INFORMATiKA Vol. 1 No. 2 Mei 2010

Karakteristik Objek Pada object-oriented database , nilai


Sebuah object, mempunyai: dari sebuah object terdiri dari nilai dari
1. identifier : unique id beberapa atribut dan relasi antar object. Nilai
2. name : unique name dalam DB (optional) dari suatu atribut dapat bersifat kompleks,jadi
3. lifetime : menetapkan apakah object sebuah atribut dapat dibentuk dari object lain
persistent atau transient atau menggunakan tipe data yang telah
4. structure : pembangunan object tersedia. Relasi merupakan hubungan antara
menggunakan type constructors dua object atau lebih. Object model hanya
Struktur Objek mendukung binary relationship, relasi antar
State (current value) dari object bias dibangun dua object. Sedangkan untuk
dari object lain (other values) dengan mengimplementasikan hubungan satu ke
menggunakan type constructors tertentu. banyak atau banyak ke banyak dapat
Constructors : menggunakan set atau list.
Basic types : atom, tuple dan set Object Behavior
Collection type : list, bag dan array Object dalam object-oriented database
Object Identity dimanipulasi melalui methods. Method adalah
Hal yang paling penting dari properti prosedur atau fungsi yang dimiliki oleh
sebuah object yaitu memiliki identity. Object sebuah object dimana sebuah method akan
Identifier (OID)biasanya tidak terlihat secara mengolah/mengubah data yang terdapat
langsung dan tidak dapat diakses oleh didalam object sesuai dengan operasi yang
database user. OIDdirepresentasikan dengan telah ditentukan.
sebuah nama yang unik atau lebih. Berbeda Kelas
dengan primary key pada relational database, Kelas merupakan pemodelan dari
OID bersifat independent dari nilai yang sebuah object yang berisi informasi (aturan)
dihasilkan object state. OID yang digunakan tentang sifat karakteristik (data) dan behavior
pada object-oriented database digunakan (method) yang dimiliki oleh object tersebut.
untuk mengidentifikasi object dan Object types
mensupport hubungan antar object melalui Object types dapat digunakan untuk
nilai object properties. membuat object tables. Dalam object
tables, setiap instance darituples memiliki obj
Object State ect identifier. Object types yang digunakan

-12-
Konsep Sistem Manajemen Basis Data Berorientasi Objek (Yusup)

untuk membuat object tables dapat digunakan merupakan deskripsi satu objek atau
sebagai tipe atribut untuk menghubungan lebih dengan sekumpulan atribut dan
antara tabel. Oracle mensupport beberapa tipe layanan yang seragam, termasuk
data baru yaitu : deskripsi penciptaan objek baru di
1. Varrays atau Nested Table kelas itu. Kelas merupakan blok
Dua tipe data baru yang memperbolehkan pembangun di pendekatan berorientasi
koleksi data menjadi tipe data dari sebuah objek. Perlu menspesifikasikan
atribut. semantik dari kelas. Kelas adalah tipe
2. REFs (object references) data abstraks dilengkapi dengan
Digunakan untuk menyimpan logical implementasi parsial atau total.
pointer pada object. Perbedaan kelas dan objek adalah
Pendekatan berorientasi objek adalah objek merupakan entitas konkrit yang
cara memandang persoalan menggunakan ada secara ruang dan waktu sedangkan
model-model yang diorganisasikan seputar kelasa hanya merupakan representasi
konsep objek yang mengkombinasikan abstraksi. Objek adalah bukan kelas,
struktur data dan perilaku suatu entitas. meski kelas boleh jadi menjadi objek.
Coud-Yourdan mendefinisikan 2. Abstraksi
pendekatan berorientasi objek dengan Abstraksi merupakan cara manusia
persamaan : yang paling dasar dalam menangani
Berorientasi Objek = Objek + kompleksitas. Abstraksi adalah
Klasifikasi + Pewarisan + Komunikasi. kemampuan manusia untuk mengenali
keserupaan di antara objek-objek,
Konsep-konsep yang penting dalam Orientasi situasi-situasi, atau proses-proses di
Objek antara lain : dunia nyata serta keputusan untuk
1. Kelas berkonsentrasi pada keserupaan-
Kelas merupakan suatu tipe baru yang keserupaan dan mengabaikan yang
didefinisikan oleh programmer. disebut sebagai perbedaan-perbedaan
Dengan kata lain, Kelas adalah kecil yang ada. Abstraksi adalah
cetakan objek, suatu kelas bisa prinsip mengabaikan aspek-aspek dari
memiliki banyak objek. Setiap kelas subjek yang tidak relevan dengan
memiliki atribut dan method. Kelas

-13-
Majalah Ilmiah INFORMATiKA Vol. 1 No. 2 Mei 2010

maksud tertentu untuk berkonsentrasi esensi. Umumnya struktur dari objek


lebih penuh padanya. adalah tersembunyi, juga
Abstraksi adalah pemodelan dunia implementasi dari metode, yang
nyata (real), fokus pada kualitas- tampak hanyalah layanan-layanan
kualitas esensi, mengabaikan rincian- yang dapat diminta dari objek.
rincian, penekanan pada “apa” bukan 5. Pewarisan
“bagaimana”. Pewarisan atau Inheritance adalah
3. Modularitas proses penciptaan kelas baru dengan
Modularitas merupakan sesuatu yang mewarisi karakteristik kelas yang
esensi untuk memecah program sudah ada, ditambah karakteristik unik
menjadi modul-modul kecil dimana kelas yang baru itu. Pewarisan
masing-masing modul saling mendukung penggunaan kembali
berinteraksi dengan lainnya lewat (reusability) suatu kode. Pewarisan
antar muka sempit yang terdefinisi merupakan sarana untuk
bagus. Modularitas berhubungan menghilangkan penulisan ulang
dengan pengabstraksian. Masing- terhadap kode yang dapat digunakan
masing modul seharusnya berulang kali yang menyiakan banyak
berkorespondensi dengan satu waktu, menimbulkan
abstraksi dan hanya satu-satunya. ketidakkonsistenan, dan meningkatkan
4. Enkapsulasi (penyembunyian resiko menimbulkan kesalahan.
informasi-informasi hiding) Pewarisan memberi fasilitas untuk
Enkapsulasi adalah pemisahan aspek- menstrukturkan kelas menjadi lebih
aspek eksternal objek yang dapat ringkas, apa yang serupa dan apa yang
diakses dari rincian-rincian berbeda di antara kelas-kelas.
implementasi internal. Enkapsulasi Pewarisan adalah abstraksi ampuh
meredam ketergantungan yang begitu untuk berbagi keserupaan di antara
besar dengan objek kelas lainnya. kelas-kelas sambil tetap menjaga
Pengkapsulan sering diperoleh lewat perbedaan-perbedaan di kelas-kelas
penyembunyian informasi, yaitu itu.
proses penyembunyian semua rahasia
objek yang tidak berkontribusi pada

-14-
Konsep Sistem Manajemen Basis Data Berorientasi Objek (Yusup)

6. Polimorfisme lain dan produk-produk baru lainnya terus


Secara harafiah, Polimorfisme berarti berkembang menggunakan OODB ini.Untuk
banyak bentuk. Dalam konsep OO, ODBMS sendiri, konsep yang ditekankan
objek-objek dikatakan polimorfik bila adalah persistensi yang dimiliki oleh bahasa
mempunyai antarmuka yang identik, pemograman objek. Produk komersial
namun mempunyai perilaku yang awalnya diintegrasikan dengan bahasa yang
berbeda. Contoh mudahnya adalah dua bermacam-macam seperti GemStone
buah objek dari kelas yang berbeda memakai bahasa Smalltalk, Gbase yang
dapat memiliki nama method yang menggunakan LISP, Vbase menggunakan
sama, namun algoritma methodnya COP, dan lain sebagainya. Di tahun 1990-an,
berbeda. Polimorfisme memungkinkan C++, Java, dan C# mendominasi pasaran
untuk mengenali dan mengeksploisasi ODBMS.
keserupaan-keserupaan di antara Objek database mulai populer pada
kelas-kelas berbeda. pertengahan tahun 1990 an. Bermula dari
Objek Oriented Programming(OOP) yang
Object Oriented Database Management kemudian dikembangkan menjadi Objek
System Oriented Design (OOD) dan pada akhirnya
Istilah OODB pertama kali muncul pada menjadi Objek Oriented Analysis (OOA).
tahun 1985. Proyek-proyek yang terkenal dari Didalam konsep objek oriented database kita
perkembangan OODB ini antara lain: dapat melakukan pemodelan data dari semua
 Encore-Ob/Server (Brown University) phenomena dan dapat dinyatakan dalam
 EXODUS (University of Wisconsin- bahasa umum (natural). Objek Oriented
Madison) Database pada dasarnya merupakan kosep
 IRIS (HP) dari pemrograman berorientasi objek secara

 ODE (Bell Labs) umum ditambah dengan database sebagai

 ORION (Microelectronic and Computer media penyimpanan datanya yang berbentuk

Technology Corporation) class-class, sehingga dalam hal ini masih

Produk komersial awal yang memakai berhubungan erat dengan E-R Model.

konsep OODB ini adalah Gemstone, Gbase, OODB muncul karena kekomplekan

dan Vbase. Pada awal sampai pertengahan dari penyimpanan objek-objek yang akan

tahun 1990-an, berkembang produk komersial disimpan didalam database sehingga konsep

-15-
Majalah Ilmiah INFORMATiKA Vol. 1 No. 2 Mei 2010

dari Relational Database Manejemen Sistem jika dilakukan perubahan dan perawatan tanpa
(RDBMS) masih tetap digunakan. Mekanisme mengganggu kinerja komponen sistem yang
penyimpanan objek-objek didalam Relational lain, antara pengguna dan pengembang dapat
Database Menejemen Sistem ini sering saling berkomunikasi sepanjang pembuatan
dikenal dengan istilah ORDBMS (Objek sistem karena sistem yang dibangun biasanya
Relational Database Managemen System). dilengkapi dengan bebarapa diagram (usecase
diagram, activity diagram, sequence diagram,
Kenapa OODB ? class diagram, object diagram, dan lain-lain)
Dilihat dari sisi industry, OODB dan visualisasi yang menjelaskan aktifitas-
memberikan pelayanan integrasi data dan data aktifitas yang dilakukan, dengan objek
sharing. OODB adalah kombinasi terintegrasi oriented lebih mencerminkan bagaimana kita
yang baik dari operating sistem, basis data, dapat menguraikan atau memecahkan sistem
bahasa pemograman, spreadsheets, word- yang komplek, mendukung semua aplikasi
processor, dan expert system intelegensia tidak seperti halnya RDBMS
buatan. OODB memungkinkan Referential Object Oriented Database adalah sebuah
Sharing, yaitu aplikasi, produk,atau objek sistem database yang menggabungkan semua
yang berbagai macam yang bisa dibagi konsep penting dari object oriented tersebut
menjadi sub-object. Referential sharing inilah dengan beberapa fitur tambahan antara lain :
yang mendukung diterapkannya identitas 1. Unique object identifiers
objek dan pewarisan. 2. Persistent object handling
Mengapa dibutuhkan Objek Oriented DBMS Teknologi ini mengintegrasikan
? kemampuan basis data (DBMS) dengan
Banyak sekali beberapa keuntungan kemampuan pemrograman berorientesi objek
(benefit) yang diberikan apabila (OOP). Sebuah Object Oriented Database
menggunakan konsep dari objek oriented Management System (ODBMS) membuat
database ini ketimbang menggunakan konsep objek sebuah basis data terlihat seperti objek
terstruktur, keuntungan-keuntungan itu pemrograman pada beberapa bahasa
diantaranya: context sistem yang dibangun pemrograman OOP. Sebuah ODBMS dapat
akan memberikan informasi yang jelas, memperluas kemampuan bahasa
mengurangi biaya maintenance, komponen pemrograman dengan kemampuan basis data
sistem lebih independent artinya lebih mudah seperti data yang persistent secara transparan,

-16-
Konsep Sistem Manajemen Basis Data Berorientasi Objek (Yusup)

kontrol konkurensi, recovery data, query Struktur Object di OODB


asosiatif dan berbagai kemampuan basis data Paradigma OODB didasarkan pada
yang lain. enkapsulasi data dan kode. Seperti yang telah
OODB atau ODBMS dirancang untuk diketahui, enkapsulasi menyebabkan isi dari
bekerja pada bahasa pemrograman sebuah objek tidak terlihat di dunia luar objek
berorientasi objek seperti Java, C++ dan lain- tersebut. Secara konsep, semua interaksi
lain. Bila kita ingin menyimpan objek pada antara objek dan sistem di luar dirinya
program Java atau C++ ke dalam sebuah dilakukan viamessages. Interface antara objek
sistem basis data, kita dapat menggunakan dan sistem di luar dirinya inilah yang
basis data yang berorientasi kepada objek dinamakan kumpulan dari pesan (set of
(ODBMS). messages).
ODBMS sangat memudahkan Secara umum, sebuah objek berasosiasi
programmer terutama yang terbiasa dengan dengan
OOP dalam mengolah data dan variabel 1. Sebuah himpunan variable (a set of variables)
dalam programnya. Kebanyakan programmer yang mengandung data untuk objek dan
basis data menghabiskan cukup banyak waktu variable yang berkorespondensi dengan
untuk merepresentasikan variabel atau objek atribut di model E-R.
pada programnya ke dalam struktur basis 2. Sebuah himpunan pesan (a set of variables);
data. kesinilah objek member respon. Tiap pesan
Letak perbedaan utama ODBMS bisa mempunyai 0, 1 atau banyak parameter.
dengan sistem basis data konvensional adalah 3. Sebuah himpunan method (a set of variables) ;
pada sistem basis data konvensional data masing-masingnya adalah badan kode untuk
direpresentasikan ke dalam bentuk tabel-tabel mengimplementasikan pesan. Method
dengan kolom yang mewakili kategori dari mengembalikan nilai sebagai respon pesan.
data, dan baris yang berisi data itu sendiri. Diilustrasikan dengan mengambil contoh
Sedangkan dalam ODBMS, data entitas employee dalam basis data bank.
direpresentasikan sebagai sebuah objek, baik Misalnya gaji tahunan karyawan dihitung
dalam hal pengaksesannya maupun dalam hal dengan cara yang berbeda untuk tiap
pemodelannya. karyawan. Manajer mendapatkan bonus
sesuai dengan performa bank, sedangkan
teller mendapat bonus berdasarkan jumlah

-17-
Majalah Ilmiah INFORMATiKA Vol. 1 No. 2 Mei 2010

jam mereka bekerja. Dalam kasus ini, semua maksudnya mereka merespon message yang
objek employee berhubungan dengan message sama, menggunakan method yang sama, dan
gaji-tahunan, tapi mereka dihitung dengan mempunyai variable untuk nama dan tipe
cara yang berbeda. Dengan mengenkapsulasi yang sama. Akan sangat sia-sia jika kita harus
informasi bagaimana mendapatkan gaji mendefinisikan masing-masing objek secara
tahunan karyawan dalam terpisah. Oleh karena itu, kita
objekemployee, semua objek employee bisa menggabungkan objek-objek yang sama ini
menampilkan interface yang sama. Karena dalam sebuah class (kelas). Masing-masing
hanya interface external yang ditampilkan objek adalah instansiasi dari kelasnya.
oleh sebuah objek adalah a set of
message yang berhubungan dengan objek Kelebihan dan Kelemahan OODB
tersebut, maka dimungkinkan untuk OODB memang memiliki banyak
memodifikasi definisi method dan variable keunggulan dibandingkan dengan RDB
tanpa mempengaruhi sisa sistem lain. (Relational Database). Namun dewasa ini,
Dalam OODB, kita mengekspresikan atribut OODB masih belum dapat menggantikan
turunan dari entitas model E-R sebagai read- posisi RDB. Biarpun OODB memang
only message. Read-only message tidak teknologi baru yang sangat terkenal di
mempengaruhi nilai dari variable dalam kalangan ahli sistem basis data, namun para
objek. Setiap atribut pada entitas HARUS pembuat aplikasi yang belum begitu
mempunyai variable dan pasangan messages mengenal teknologi OODB ini masih lebih
dari objek yang berhubungan dalam model memilih menggunakan RDB yang sudah biasa
OO. Misalnya atribut address dari entitas mereka gunakan.
employee bisa direpresentasikan dengan: Para pembuat aplikasi harus menentukan akan
 Variable address memilih OODB atau RDB dalam proyek yang
 Message get-address akan mereka kerjakan. Sebab setiap
 Message set-address (dengan permasalahan memerlukan penanganan yang
parameter new-address untuk berbeda-beda. Bisa saja dalam suatu kasus,
mengupdate address). menggunakan OODB adalah pilihan yang
Object Classes dalam OODB terbaik, namun bisa juga sebaliknya.
Biasanya, ada banyak objek yang
sama dalam basis data. Sama di sini

-18-
Konsep Sistem Manajemen Basis Data Berorientasi Objek (Yusup)

Kelebihan OODB pembuatan aplikasi


1. Desain yang indah dengan mengurangi penggunaan
Banyaknya waktu dan tenaga yang bahasa pemrograman dan teknologi
terbuang dalam menangani data yang digunakan. Programmer cukup
memang menjadi masalah yang umum menguasai konsep OO dan bahasa
dalam suatu sistem basis data. Dalam pemrograman OO dengan sedikit
OODB masalah tersebut dapat tambahan mengenai konektivitas
diminimisasi dengan konsep aplikasi dengan database. Selain itu,
berorientasi objek yang dimilikinya programmer tinggal memfokuskan
sebab dengan konsep OO, proses pada persistensi objek.
penyimpanan dan pengambilan data 3. Kinerja yang tangguh
akan menjadi lebih sederhana. Selain Dengan RDB seorang programmer
mendapatkan persistensi data, dengan harus menghabiskan waktu dan tenaga
OODB kita juga mendapatkan untuk memetakan data dengan objek,
persistensi keseluruhan obyek database, menguraikan tabel-tabel ke dalam
bahkan termasuk implemented objek dan sebagainya. Terkadang hal
behaviour-nya. Kita juga dapat dengan ini mencapai sepertiga atau bahkan
mudah memanggil suatu method dari separuh dari program itu sendiri. Hal
objek tertentu pada database di server ini tentunya akan menyebabkan
sehingga distribusi aplikasinya lebih kinerja menjadi lambat karena harus
mudah. memetakan objek tersebut, belum lagi
2. Penyederhanaan pembuatan bila harus melaksanakan query-query
aplikasi yang kompleks. Masalah tersebut
Tanpa disadari, terkadang suatu tidak dijumpai dalam OODB, karena
proyek dapat melambung biayanya dalam OODB, program mengakses
karena faktor teknis seperti data dengan objek nya secara langsung
penggunaan beberapa tool, bahasa sehingga kinerja program akan lebih
program dan lingkungan dari aplikasi tinggi. Lebih dari itu, pada beberapa
yang berbeda-beda. Belum lagi biaya produk ODBMS bahkan
pelatihan dan lain-lain. Dengan dimungkinkan adanya client caching.
OODB kita dapat menyederhanakan Bayangkan kecepatan yang dapat

-19-
Majalah Ilmiah INFORMATiKA Vol. 1 No. 2 Mei 2010

dihasilkan bila program hanya perlu pengaksesannya. Oleh karena itu,


mengakses cache dari database yang dibutuhkan komitmen yang kuat
sudah ada di client. dalam memilih DBMS yang akan
digunakan, sekali bermigrasi ke
Kelemahan OODB OODB, akan sulit untuk kembali ke
1. Tight coupling RDB.
Coupling berarti keterkaitan antara 4. Kebutuhan ketrampilan
aplikasi dan database. Tight coupling Karena OODB masih tergolong baru
berarti keterkaitan yang kuat antara dan masih relatif jarang
aplikasi dan database sehingga penggunaannya, cukup sulit
aplikasi dan database sulit dipisahkan. menemukan orang yang memiliki
Sebenarnya tight coupling dapat pemahaman OODB bila dibandingkan
menyederhanakan program dan dengan orang yang memiliki
desainnya, namun hal ini juga pemahaman RDB. Selain itu, untuk
dapat menyebabkan hilangnya batasan memahami OODB, diperlukan
antara aplikasi dan database, juga akan pelatihan khusus sebab terdapat
menimbulkan masalah baru bila akan banyak perbedaan pendekatan dengan
migrasi ke OODB lainnya atau RDB.
kembali ke RDB.
2. Kurangnya dukungan platform 5. Query yang kompleks
Pada dasarnya OODB diterapkan Kemampuan logika yang mendalam
untuk dapat berintegrasi dengan sangat diperlukan dalam OODB.
semua bahasa pemrograman Masing-masing OODB dapat memiliki
berorientasi objek, namun sampai cara pemanggilan query yang berbeda-
sekarang kebanyakan OODBMS beda. Selain menggunakan object ID-
hanya mendukung bahasa nya saja, pengaksesan suatu data dapat
pemrograman C++ dan Java saja. menggunakan range, pola, dan
3. Sulit bermigrasi berbagai kriteria lain yang mungkin
Cara penyimpanan dan pengambilan kelihatan tidak berhubungan.
data dalam OODB sangat berbeda Aplikasi yang cocok menggunakan
dengan RDB. Begitu juga dengan cara OODBMS:

-20-
Konsep Sistem Manajemen Basis Data Berorientasi Objek (Yusup)

 Aplikasi perancangan rekayasa. aplikasi lainnya OODB mungkin akan


 Aplikasi multimedia menjadi hambatan serius. Contohnya
 Aplikasi berbasis pengetahuan OODB tidak cocok digunakan untuk

 Aplikasi dengan kebutuhan tersebar menyimpan data transaksi yang besar

dan kongruen seperti data keuangan, kepegawaian

 Aplikasi yang memerlukan fitur-fitur dan data transaksi bank. OODB bagus

lanjut digunakan menggunakan tipe data

 Perangkat elektronik dengan multimedia dan data yang sifatnya

perangkat lunak tempelan. kompleks.

Kesimpulan:
Referensi :
1. OODB memodelkan data sebagai
sebuah objek sehingga jika Hariyanto, Bambang. 2004. Rekayasa Sisem
Berorientasi Objek. Penerbit Informatika,
programmer yang ingin menambahkan Bandung.
tipe data baru dengan membuat proyek
Hariyanto, Bambang. 2007. Esensi-Esensi
baru. Pengaksesan dan pengolahan Bahasa Pemrograman Java. Penerbit
data murni dilakukan dengan Informatika.

pemograman Orientasi Objek. http://wargabasdat2009.wordpress.com/2009/


2. Melihat masih cukup banyaknya 06/11/eksplorasi-object-oriented-database/

kekurangan OODB ini, sebelum http://en.wikipedia.org/wiki/Object_database


memutuskan untuk memakai ODBMS
http://www.geocities.com/a_alaydrus/oodb/in
ada baiknya mempertimbangkan dex.html
kekurangan dan juga
http://en.wikipedia.org/wiki/Object-
mempertimbangkan faktor kebutuhan relational_database
dan ketersediaan aplikasi serta
http://www.cs.pitt.edu/~chang/156/19oodb.ht
platform. ml
3. Pada beberapa aplikasi tertentu
penggunaan OODB mungkin sangat
tepat. Sebaliknya untuk beberapa

-21-

Anda mungkin juga menyukai