MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan...

13
MENGENAL BASIS DATA BERORIENTASI OBJEK Oleh: Ir. M. Ramadhan, MT

Transcript of MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan...

Page 1: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

MENGENAL BASIS DATA BERORIENTASI OBJEK

Oleh: Ir. M. Ramadhan, MT

Page 2: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

Pendahuluan Yang akan dipelajari: • Kebutuhan aplikasi basis data lanjut • Mengapa RDBMS kurang cocok untuk aplikasi basis data lanjut • Konsep yang berkaitan dengan orientasi objek • Menyimpan objek dalam basis data relasional • Sistem basis data generasi berikutnya Aplikasi Basis Data Lanjut • Computer-Aided Design (CAD)

Basis data CAD menyimpan data yang berkaitan dengan rancangan mekanis atau elektronis misalnya bangunan, pesawat terbang, IC chip. Perancangan memiliki karakteristik sbb: o Rancangan sangat besar, terdiri atas jutaan bagian dengan banyak

keterkaitan antar subsistem o Desain tidak statis. Perubahan desain berimplikasi pada representasi

desain secara keseluruhan o Banyak alternatif desain yang layak dipertimbangkan untuk setiap

komponen o Cooperative engineering. Ratusan staf bekerja secara paralel pd banyak

versi desain yg besar. Produk akhir harus konsisten dan berkoordinasi.

Page 3: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

• Computer-Aided Manufacturing (CAM) Basis data CAM mirip dengan CAD, datanya terkait dengan produksi yang bersifat diskrit (misalnya mobil) atau menerus (misalnya sintesis kimia)

• Computer-Aided Software Engineering (CASE) Basis data CASE terkait dengan tingkatan siklus pengembangan software: perencanaan, analisis kebutuhan, desain, implementasi, pengujian, pemeliharaan dan dokumentasi. Sama halnya dg CAD, desain boleh jadi sangat besar dan memerlukan cooperative engineering.

• Office Information System (OIS) Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, inventaris, dsb. Dibutuhkan penanganan teks free-form, foto, diagram, suara, video, dsb.

• Digital Publishing Digital Publishing menangani dokumen multimedia yang terdiri atas teks, suara, citra, video, animasi. Dalam beberapa kasus, jumlah informasi dapat mencapai petabyte (1015byte).

• Geographic Information System (GIS) GIS digunakan untuk pengelolaan daratan eksplorasi bawah laut. Datanya sangat besar, diperoleh dari survey dan foto satelit.

• Situs Web Dinamis dan Interaktif Perlu penanganan multimedia dan secara interaktif memodifikasi tampilan berdasarkan preferensi user.

Page 4: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

Kelemahan RDBMS • Representasi entitas ‘dunia nyata’.

Proses normalisasi fragmentasi entitas ‘dunia nyata’ ke banyak relasi, tidak efisien, memerlukan banyak join selama proses query.

• Semantic overloading – Tak ada mekanisme untuk membedakan antara entitas dan relationship – Tak ada mekanisme untuk membedakan jenis relationship antar entitas.

• Integritas dan enterprise constraint – Integritas dibutuhkan untuk validasi dan konsistensi data – Tak ada dukungan aturan enterprise pada model relasional

• Data homogen – Horizontal: setiap tuple dlm sebuah relasi terdiri atas atribut yang sama – Vertikal: harga dalam kolom tertentu berasal dari domain yang sama – Objek ‘dunia nyata’ memiliki struktur yang kompleks – Binary Large Object (BLOB): informasi biner merepresentasikan citra,

video, suara, atau objek yang tidak terstruktur – Bd tidak mengelola BLOB secara langsung, hanya mengacu padanya.

Tak ada proteksi, BLOB tak dapat berisi BLOB, tak dapat dimanipulasi • Keterbatasan operasi

– Operasi terbatas pada operasi himpunan dan tuple-oriented. (SQL-92) – SQL-92 tidak memungkinkan operasi baru

Page 5: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

Konsep Object-Oriented Abstraksi dan Enkapsulasi • Abstraksi: proses identifikasi aspek penting sebuah entitas dengan

mengabaikan properti yang tidak penting • Enkapsulasi (penyembunyian informasi)

– memisahkan aspek eksternal sebuah objek dari detail internal – perubahan detil internal tak mempengaruhi aplikasi yg menggunakannya – memberikan data independence

Objek dan Atribut • Objek: sebuah entitas yg dapat diidentifikasi scr unik, memiliki atribut & aksi • Status sebuah objek dideskripsikan oleh sebuah atribut atau lebih

– Atribut sederhana, tipe primitif: integer, real, string, dsb – Atribut kompleks: sekumpulan objek dan atau acuan – Atribut acuan mirip dengan foreign key pada model relasional

• Objek yg berisi sebuah atribut kompleks atau lebih disebut objek kompleks Identitas Objek • Setiap objek memiliki OID (Object Identifier) yg unik, tersembunyi dari user • OID tak dapat diubah, tak digunakan lagi oleh objek lain

Page 6: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

. . . Identitas Objek • OID berbeda dg primary key: (a) pk hanya unik dlm sebh relasi, tdk dlm sis-

tem keseluruhan, (b) pk dipilih dr atribut relasi, bergantung pd status objek. • Beberapa keuntungan menggunakan OID:

– Efisien. OID membutuhkan storage minimal dalam objek kompleks, lebih kecil dari pada nama tekstual, foreign key atau acuan lainnya

– Cepat. OID menunjuk alamat atau lokasi aktual objek yang diacu. Ini berarti objek dapat ditempatkan secara cepat.

– Bebas content. OID tak bergantung pada data yang ada di dalam objek – Tersembunyi dari user.

• Dua objek dikatakan identik jika dan hanya jika memiliki OID yang sama. • Dua objek dikatakan sama (equal) jika statusnya sama. Primary key dapat

ditambahkan untuk memungkinkan user membedakan objek yang sama.

Metode dan Pesan • Metode mendefinisikan perilaku objek. Misalnya mengubah alamat pegawai • Metode terdiri atas nama dan body yang berisi sekumpulan kode untuk

melaksanakan aksi yang diperlukan. Contoh:

Method void UpdateGaji(float penambahan) { gaji = gaji + penambahan }

Page 7: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

. . . Metode dan Pesan • Pesan adalah permintaan dari sebuah objek (pengirim) ke objek lain

(penerima) untuk mengeksekusi satu dari metode yang dimilikinya • Pengirim dan penerima boleh jadi merupakan objek yang sama • Misalnya mengeksekusi metode UpdateGaji pada objek pegawai dengan

penambahan 75000, penulisan pesan: ObjekPegawai.UpdateGaji(75000) Pada pemrograman tradisional, ditulis: UpdateGaji(ObjekPegawai,75000)

Kelas • Objek yang memiliki atribut sama dan

merespons pesan sama dikelompok-kan ke dalam sebuah kelas

• Atribut dan metode didefinisikan satu kali untuk sebuah kelas, bukan untuk setiap objek.

• Objek-objek dalam sebuah kelas disebut instance dari kelas tersebut.

• Setiap instance memiliki harganya sdiri untuk setiap atribut, tetapi bersinstance lain pada kelasnya memakai

en-ama

nama atribut dan metode yang sama.

PEGAWAI

Atribut NIP Nama Telepon : :

Metode Cetak UpdateGaji

KELAS

NIP = 9182 Nama = Anta

… …

NIP = 4857 Nama = Ana

… …

Page 8: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

Me• Pada beberapa sistem berorientasi objek, kelas juga sebuah objek yang

memiliki atribut dan metodenya sendiri • Atribut kelas mendeskripsikan karakteristik kelas secara umum • Metode kelas digunakan untuk mengubah status atribut kelas • Konstruktor: metode kelas khusus untuk membuat instance baru • Destruktor: metode kelas untuk membuang objek • Pesan dikirim ke kelas dan bukan instance kelas. Ini berarti kelas adalah

sebuah instance dari kelas yang lebih tinggi yang disebut metakelas

Subkelas, Superkelas dan Inheritance • Inheritance memungkinkan sebuah kelas objek didefinisikan sebagai

subkelas (kasus khusus) dari kelas yang lebih umum (superkelas). • Generalisasi : proses pembentukan superkelas • Spesialisasi : proses pembentukan subkelas • Sebuah subkelas mewarisi semua properti superkelasnya dengan

tambahan propertinya sendiri yang unik • Semua instance subkelas juga merupakan

instance superkelas • Ada beberapa bentuk inheritance:

a. Single inheritance: subkelas diturunkan dari sebuah superkelas

takelas

Pegawai

Manajer StafPenjual

(a)

Page 9: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

b. Multiple inheritance: subkelas diturunkan

tode di-

• si (inclusion), dan parametric. si.

• ikan dalam super

• parameter yang umum. Metode ak ameter aktualnya.

Manajer StafPenjual dari beberapa superkelas.

c. Repeated inheritance: kasus khusus multiple inheritance dengan superkelas di- ManajerPenjualan turunkan dari superkelas yang lebih umum

d. Selective inheritance: subkelas mewarisi sejumlah properti (atribut dan metode) tertentu dari superkelas

Overriding: proses pendefinisian ulang properti warisan pada subkelas

• Overloading: memungkinkan nama mepakai kembali dlm kelas yg berbeda. Ini berarti sebuah pesan dpt memberikan fungsi berbeda bergantung pada objek yang menerimanya.

Polimorfisme dan Dynamic Binding

Ada tiga jenis polimorfisme: operasi, inklu• Overloading adalah tipe polimorfisme opera

Metode yang didefinis kelas diwariskan ke subkelas adalah contoh polimorfisme inklusi. Polimorfisme parametric menggunakan tipe

tualnya sesuai dengan tipe par

ManajerPenjualan

Manajer StafPenjual

Pegawai

(b)

(c)

Page 10: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

• rka• Bila penentuan tipe objek dilakukan pada waktu

isebut dynamic binding. • Contoh: mencetak detil objek dr 3 kelas berbeda:

Proses pemilihan metode yg sesuai berdasa n tipe objek disebut binding run dan bukan pada waktu

compile, proses pemilihan metodenya d

Pemrograman konvensional: Dynamic loading & overloading: for i = 1 to n do { for i = 1 to n do { switch (list[i].type) { list[i].print case Pegawai: PrintPegawai; } case Manajer: PrintManajer; case Penjual: PrintPenjual; } }

jek Kompleks Objek kompleks: sebuah objek tunggal dl ‘du

Ob• nia nyata’ tetapi berisi objek

lain (subobjek) yang boleh jadi juga merupakan objek kompleks

h bagian dari struktur objek

objek kompleks. Subobjek tidak disimpan

a objek induk .

• Ada dua cara penanganan subobjek:a. Subobjek dienkapsulasi dalam objek kompleks dan merupakan bagian

dari objek kompleks. Struktur subobjek adalakompleks dan dapat diakses hanya oleh metode objek kompleks.

b. Subobjek independen daridalam objek induk tetapi hanya OID-nya. Subobjek memiliki struktur dan metodenya sendiri dan dapat dimiliki oleh beberap

Page 11: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

• Objek kompleks di atas disebut juga objek kompleks terstruktur • Objek kompleks yang strukturnya hanya dapat diinterpretasi oleh program

aplikasi disebut objek kompleks tak terstruktur, dikenal sebagai BLOB

e isdata Relasion• P elas ke relasi, di

P

M nyimpan Objek dalam Bas

ubkal

emetaan setiap kelas/s peroleh empat relasi: egawai (NRP, Nama, Alamat, Telp, TglLahir, Gaji)

Manajer (NRP, Bonus) Salesman (NRP, AreaPenjualan) Sekretaris (NRP, KecMengetik)

• Pemetaan setiap subkelas ke si, diperoleh tiga relasi rela

Manajer (NRP, Nama, Alamat,

• Pe

Telp, TglLahir, Gaji, Bonus) Salesman (NRP,Nama,Alamat,Telp,

TglLahir, Gaji, AreaPenjualan) Sekretaris (NRP,Nama,Alamat,Telp,

TglLahir, Gaji, KecMengetik) metaan hirarki ke relasi tunggal:

Pegawai (NRP,Nama,Alamat,Telp,TglLahir,Gaji,Bonus,AreaPenjualan,KecMengetik,TipePegaePegawai

wai) Tip adalah atribut tambahan untuk membedakan tipe pegawai,

salnya berharga 1 untuk Manajer, 2 untuk Salesman, 3 untuk Sekrmi etaris.

NRP Nama Alamat Telp TglLahir Gaji

Pegawai

Bonus Manajer

AreaPenjualan Salesman

KecMengetik Sekretaris

Page 12: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

Generasi Sistem Basisdata 1960-an IMS (IBM)

• Generasi I memiliki kelemahan: – program rumit harus ditulis,

Model data hirarki Generasi I

Model data relasional

Model data network 1960-an CODASYL

Model data ER

Model data semantik

Model data relasional objek

Model data berorientasi objek

EF Codd,1970 Prod. komersial (akhir1980an)

Chen, 1976

Hammer,1981 Shipman, 1981

Su, 1983

Generasi II

Generasi III

bahkan utk query sederhana

• I

• l

• gkat-bd.

• Pend -i

utk a i kurang mendukung aplikasi yg kompleks. • im bahwa teknologi relasional adalah bagian

yang apa pun dan aplikasi rumit dapat ditangani ional

• • si

– miskin data independence – dasar teori tak diterima luas Generasi II mengeliminasi kelemahan generasiGenerasi III : – Object-oriented data mode– Object-relational data model Keduanya merespon meninnya kompleksitas aplikasi

ukung OODBMS mengklaim bahwa RDBMS memada

plikasi bisnis standar, tetapPendukung relasional mengkla

dibutuhkan oleh DBMS dengan pengembangan model relasHingga kini belum jelas, manakah yg akan tampil sbg pemenang / dominan. Selain untuk aplikasi rumit, OODBMS harus dapat mengakomodasi aplikabisnis standar dengan tool & kemudahan yang sama dengan relasional

Page 13: MENGENAL BASIS DATA BERORIENTASI OBJEK - … BD Objek (D3).pdf · Basis data OIS terkait dengan pengendalian informasi dalam bisnis: email, dokumen, ... Model data relasional Model

DAFTAR PUSTAKA

Database System. Wokingham Connolly, Thomas., et.al., 2002.

ley Publishing Company.

ntroduction to Database System. 7th Edition, esley Publishing Company.

England, Addison-Wes

0. An IDate, C.J, 200New York, Addison W

© 2006, M. Ramadhan