penerapan fasilitas data definition language pad a attribute temporal

advertisement
PENERAPAN FASILITAS DATA DEFINITION LANGUAGE
PAD A ATTRIBUTE TEMPORAL DATABASE MANAGEMENT
SYSTEM
Sutrisno1), Aditya Rama Mitra2), dan Virginia Ravenska3'
Abstract
Attribute Temporal DBMS (ATDBMS) is a database management system that is
defined to support temporal database at attribute level. A temporal database simply
is one that maintains both past and current data. Regarding to its architecture, an
ATDBMS consists of 8 layers. One of its layers is database engine, which facilitates
DDL (Database Definition Language) and DML (Database Manipulation Language)
components. DDL facilitates database structure definition, which is creating,
modifying and deleting database structure. This thesis focuses on the development
of DDL facilities prototype that supports ATDBMS. In this research, most of those
facilities are dealt with, i.e. database structure creation, database structure opening,
database structure deletion, entity and attribute creation, entity and attribute deletion,
and entity and attribute opening.
1. PENDAHULUAN
Model basis data relasional snapshot {snapshot relational database) adalah model
basis data yang sedemikian populer di kalangan pengembang aplikasi basis data.
Sekalipun demikian, basis data tipe ini memiliki beberapa kelemahan, antara lain:
a. Data masa kini dan data masa lalu tidak dapat dipertahankan secara bersamasama. Pemutakhiran (update) data berarti penghapusan data sebelumnya (past
data). Akibatnya, tidak ada pengertian atas query terhadap data masa lalu.
b. Atribut waktu yang ditambahkan pada basis data relasional untuk
mengakomodasi pencatatan waktu suatu data ternyata memunculkan masalah
baru, yaitu sulitnya menentukan primary key, tabel menjadi lebih banyak dan
besar, dan query lebih rumit. Basis data relasional dengan atribut waktu ini
disebut basis data relasional yang diperluas.
Dengan adanya kelemahan pada model basis data relasional di atas, maka
dibutuhkan model basis data yang mampu mengelola data masa lalu dan data masa
kini. Basis data dimaksud adalah basis data temporal beserta sistem pengelolanya
(DBMS). Secara khusus, basis data yang dikaji dalam penelitian ini berurusan
secara dominan pada pengelollaan data di aras atribut, yang diperkenalkan dengan
sebutan Attribute Temporal Database (ATDBMS).
Penelitian dibatasi pada pembangunan sebagian fasilitas Attribute Temporal DBMS
untuk mendukung basis data temporal, meliputi lapisan mesin basis data (database
engine) dan sebagian besar lapisan pengelola basis data temporal (temporal
database manager), khususnya fasilitas DDL. Fasilitas ini digunakan untuk
mendefinisikan struktur basis data. Di samping itu, perancangan dibatasi pada
sebuah sistem yang berdiri sendiri (stand alone).
' Sutrisno, Dosen Tetap pada Fakultas llmu Komputer, UPH
Aditra Rama Mitra, Dosen Tetap pada Fakultas llmu Komputer, UPH
3)
Virginia Ravenska, Alumni Jurusan Teknik Informatika Fakultas llmu Komputer, UPH
2)
Penerapan Fasilitas Data Definition...(Sutrisno, Aditya R. Mitra, Virginia Ravenska)
141
2. RANCANGAN KONSEPTUAL,
TEMPORAL DBMS (ATDBMS)
LOGIKAL
DAN
FISIKAL
ATTRIBUTE
Attribute Temporal DBMS memuat sejumlah lapisan (lihat Gambar 1) yang saling
terkait, memiliki fungsi dan tugasnya masing-masing dalam mengelola basis data
temporal.
Query Processor
API Processor
Transaction Manager
M Concurrency Control Manager
V
TG
r I
Security Control Manager
eS
Integrity Control Manager
Temporal Database Manager
°ff
t
Database Engine
Gambar 1. Lapisan Attribute Temporal DBMS
Masing-masing lapisan atau komponen pada Gambar 1 di atas mempunyai tugas
masing-masing sebagai berikut: lapisan teratas, Query Processor, bertanggung
142 Jurnal llmiah llmu Komputer, Vol. 2 No. 2 April 2004:141 -148
jawab atas pengolahan dan pengenalan secara sintaktik (parsing) perintah SQL;
lapisan API Processor menangani pengelolaan, penginventarisasian dan
pengklasifikasian fungsi-fungsi yang ada; lapisan Transaction Manager bertanggung
jawab atas jalannya inventarisasi semua transaksi yang diinisiasi klien; lapisan
Concurrency menangani akses yang terjadi secara simultan untuk menjaga
konkurensi data; lapisan Security Control, untuk alasan sekuriti data, bertanggung
jawab melakukan pemeriksaan otentikasi klien terhadap data yang diaksesnya;
lapisan berikutnya, Integrity Control, bertanggung jawab untuk menjamin terjaganya
integritas data yang ada; lapisan Temporal Database Manager bertanggung jawab
untuk menangani semua tabel dan data yang digunakan oleh klien; lapisan
Database Engine bertanggung jawab terhadap penulisan dan pengambilan data dari
dan ke disk.
Selain komponen utama yang disebutkan di atas terdapat beberapa komponen
pendukung lainnya seperti Log Manager yang bertanggung jawab untuk melakukan
pencatatan setiap Iangkah transaksi yang terjadi selama sistem aktif; Recovery
Manager yang bertanggung jawab untuk melakukan operasi pemulihan sistem
(recovery) dalam hal terjadi crash; Buffer Manager yang bertanggung jawab untuk
mengelola buffer bagi kebutuhan transaksi.
ATDBMS memiliki terminologi sebagai berikut: atribut temporal, tuple temporal dan
entitas temporal. Atribut temporal adalah identifikasi dari obyek/benda yang dapat
membedakannnya dari obyek/benda lain disertai dengan adanya timestamp. Tuple
temporal merupakan kumpulan dari nilai atribut, id dari tuple berserta timestamp.
Dalam perancangannya, ATDBMS memiliki sejumlah kelas (lih. Gambar 3) untuk
mendukung operasi fasilitas yang tersedia. Kelas-kelas tersebut disusun
berdasarkan atas desain proxyfj], yaitu keadaan dimana user tidak akan
berhubungan langsung dengan kelas-kelas dalam ATDBMS dan data fisik
melainkan dengan satu kelas perantara, yaitu kelas STemporai.
Prototip Fasilitas DDL dari Attribute Temporal DBMS mengambil bentuk package
yang berisi fungsi-fungsi dari fasilitas yang disediakan oleh prototip. Untuk dapat
menggunakan fungsi-fungsi dari package ATDBMS (dalam penelitian ini, package
dari ATDBMS disebut dengan package ddlfunction) dipehukan suatu aplikasi
interaksi yang terpisah dari prototip ATDBMS (lihat Gambar 2). User cukup
melakukan "import package ATDBMS untuk dapat menggunakan fasilitas dari
ATDBMS.
Attribute Temporal DBMS
Aplikasi
Interaksi User
Gambar 2. Pandangan Cara Akses Secara Umum
Penerapan Fasilitas Data Definition...(Sutrisno, Aditya R. Mitra, Virginia Ravenska)
143
Aplikasi interaksi dari user hanya berhubungan dengan kelas STemporai yang
memfasilitasi penggunaan fungsi serta hasil {output) dari penggunaan fungsi yang
disediakan oleh lapisan database engine seperti terlihat pada Gambar 2.
STemporai akan berhubungan dengan SEntityBag dan commArea. Kelas
sEntityBag mewakili satu basis data dan memfasilitasi fungsi-fungsi yang
diperlukan untuk mengelola suatu basis data. Dalam tugasnya untuk mengelola
suatu basis data, kelas SEntityBag didukung oleh kelas s E n t i t y s e t dan kelas
sDBinstance. Kelas SEntityset mewakili satu entitas dan memfasilitasi fungsifungsi yang diperlukan untuk mengelola suatu entitas dari basis data. Dalam
tugasnya untuk mengelola entitas dari suatu basis data, kelas ini didukung oleh
kelas-kelas lain pada ATDBMS seperti terlihat pada Gambar 3.
SAssoc ration
SAssoc iati onM ember
r
eoid
SDBhstartce
SErtity
S Schema Version
Register
esid
SAttribute
1
f
SII ember Ertity
STuple Index
Sunk Attribute
SErtity Bag
CommArea
I
STemporai
Gambar 3. Rancangan Kelas Attribute Temporal DBMS
144 Jumal llmiah llmu Komputer, Vol. 2 No. 2 April 2004: 141 -148
Berikut ini adalah daftar kegunaan masing-masing kelas pada ATDBMS:
a. STemporal: sebagai proxy [1] antara aplikasi user dengan kelas-kelas dalam
Attribute Temporal DBMS. Kelas ini akan berhubungan dengan kelas
S E n t i t y B a g d a n CommArea.
b.
CommArea : mendefiniskan status transaksi (misal error) yang terjadi.
c.
SEntityBag: mewakili satu basis data; berhubungan dengan SEntitySet dan
SDBInstance.
d.
SEntitySet: mewakili satu entitas; berhubungan dengan kelas SEntity.
e.
SDBInstance: mengelola operasi-operasi pada basis data, misalnya membentuk
basis data.
f.
SEntity: mengelola entitas beserta daftar atribut yang dimiliki oleh entitas.
g.
SEntityMember: mengelola anggota entitas dari suatu basis data.
h. sschemaversion: mengelola pengubahan yang terjadi pada versi skema entitas.
i.
SAt t r i b u t e : mengelola infonmasi mengenai atribut dari suatu entitas.
j.
STupieindex: mengelola header dari informasi yang menunjukkan indeks dari
lokasi tuple pada tuple schema.
k.
sTupieLink: kelas ini digunakan untuk mengelola informasi yang menunjukkan
indeks lokasi tuple pada tuple schema.
I.
SBucket: kelas ini digunakan untuk mengelola header dari informasi mengenai
penyimpanan nilai dari tuple ke disk fisik.
m. SBucketvalue: kelas ini digunakan untuk mengelola infonmasi mengenai
penyimpanan nilai dari tuple ke disk fisik.
n. STupie: kelas ini digunakan untuk mengelola header dan informasi mengenai
tuple serta lokasi tuple pada bucket schema.
o.
STupieData: kelas ini digunakan untuk mengelola informasi mengenai tuple.
p.
SLinkAttribute: kelas ini digunakan untuk mengelola informasi mengenai
lokasi tuple pada bucket schema.
q.
SAssociation: kelas ini digunakan untuk mengelola header dari informasi
mengenai relasi/asosiasi yang terjadi antara 2 entitas.
r.
SAssociat ionMember: kelas ini digunakan untuk mengelola informasi mengenai
relasi/asosiasi yang terjadi antara 2 entitas.
s.
DateTime: kelas ini digunakan untuk mengelola pencatatan dan pengambilan
data waktu dari disk.
Tepatnya, kelas-kelas diatas digunakan untuk mengelola struktur basis data
temporal yang sesungguhnya terdiri dari beberapa komponen. Komponen struktur
basis data dimaksud beserta fungsinya masing-masing adalah sebagai berikut:
a. Database Instance: mencatat informasi mengenai basis data.
b. Entity Schema: mencatat informasi mengenai entitas.
c. Tuple Schema: mencatat infonmasi mengenai tuple.
Penerapan Fasilitas Data Definition.. (Sutrisno, Adrtya R. Mitra, Virginia Ravenska)
145
d.
Tuple Index Schema: mencatat informasi mengenai indeks tuple pada Tuple
Schema.
e. Bucket Schema: mencatat nilai dari tuple serta lokasi dari nilai tersebut
ditampung pada disk fisik.
3. RANCANGAN FASILITAS DDL PADA ATTRIBUTE TEMPORAL DBMS
Attribute Temporal DBMS, khususnya pada lapisan database engine, menyediakan
salah satunya fasilitas DDL, yaitu fasilitas untuk mendefinisikan struktur dari basis
data dan mengelola setiap pengubahan yang terjadi pada struktur entitas. Fasilitas
DDL yang disediakan antara lain:
1. Pendefinisian struktur basis data
a. Membuka basis data dan entitas-entitas dari basis data tersebut
b. Menutup basis data dan entitas-entitas dari basis data tersebut
c. Membentuk kerangka basis data
i. Membentuk basis data
ii. Membentuk entitas dari suatu basis data
iii. Membentuk atribut dari suatu entitas
d. Menghapus basis data, entitas dan atribut
2. Pengelolaan setiap pengubahan yang terjadi pada struktur entitas.
Struktur basis data dapat berubah, misalnya jumlah atribut yang bertambah
dan pengubahan struktur atribut. Dalam basis data temporal yang dikelola
oleh Attribute Temporal DBMS, setiap pengubahan yang terjadi pada
struktur basis data dicatat ke dalam basis data sebagai satu urutan historis.
Proses
pengubahan
struktur basis data
ini disebut
dengan
evolusi/perkembangan skema (schema evolution) seperti terlihat pada
Gambar 4.
Versi Skema 1
Atribut 1
)>-
Atribut 2
Versi skema 1
dari suatu entitas
dengan
kumpulan atribut
yang dimiliki
Versi Skema 2
Atribut 1
Atribut 2
P^
Versi skema 2
dari suatu entitas
dengan
kumpulan atribut
yang dimiliki
Atribut 3
Schema Evolution:
perkembangan
> skema entitas
J
Gambar 4. Schema Evolution -
4. IMPLEMENTASI PROTOTIP ATTRIBUTE TEMPORAL DBMS
Implementasi prototip fasilitas DDL dari Attribute Temporal DBMS dalam penelitian
ini merupakan implementasi tunggal dan belum terintegrasi dengan bagian prototip
Attribute Temporal DBMS khususnya yang menangani fasilitas DML. Adapun cara
146 Jumal llmiah llmu Komputer, Vol. 2 No. 2 April 2004: 141-148
implementasi yang dilakukan dalam prototip Attribute Temporal DBMS ini antara
lain:
1.
2.
Menggunakan lingkungan pengembangan berbasis Java 2 SDK 1.4.1.
Menggunakan kelas Gregorian Calendar [3] yang telah disediakan Java
untuk mengimplementasi kelas DateTime yang digunakan untuk mengelola
data waktu.
3. Instansisasi kelas menjadi obyek dilakukan dengan 2 cara, yaitu instansisasi
langsung dan instansisasi satu per satu kemudian dimasukkan ke dalam
vektor.
4. Penyimpanan data dilakukan dalam bentuk random access file dengan
menggunakan kelas RandomAccessFile yang telah disediakan oleh Java.
5. Penyimpanan berkas basis data dilakukan dalam direktori berbeda
berdasarkan nama dari basis data.
5.
PENGUJIAN PROTOTIP FASILITAS DDL DARI ATTRIBUTE TEMPORAL
DBMS (ATDBMS)
Pengujian prototip fasilitas DDL dari ATDBMS dilakukan dengan teknik white box
testing [2], dimana pengembang membangun sebuah aplikasi penguji berbasis teks
untuk keperluan tersebut. Tepatnya, aplikasi pengujian tersebut menguji fasilitasfasilitas DDL pada prototip ATDBMS dengan meng-import package prototip
ATDBMS.
6.
KESIMPULAN
Dari pembahasan sebelumnya dapat disimpulkan bahwa rancangan sistem yang
matang (well design) sangat diperlukan khususnya dalam hal integrasi sistem yang
dikerjakan secara kolaboratif (collaborative works). Salah satu kasus, sebagaimana
terkait dengan laporan ini, ialah integrasi DDL dengan fasilitas DML. Selain itu, hasil
pengujian menunjukkan bahwa prototip yang dibangun berkemampuan
menyediakan berbagai fasilitas dasar DDL seperti telah disebutkan dalam bahasan
di atas.
7.
SARAN
Sejumlah saran yang dapat dikemukakan berkenaan dengan pembangunan prototip
penyedia fasilitas DDL adalah sebagai berikut:
1.
Koordinasi dan integrasi yang lebih baik antara prototip fasilitas DDL dan
prototip fasilitas DML.
2. Implementasi fasilitas penanganan kesalahan (error handling) (prototip versi
2)
3. Implementasi rancangan fasilitas sinkronisasi waktu. Saran lanjut adalah
bahwa sinkronisasi waktu dirancang sedemikian rupa untuk dapat bekerja
secara otomatis.
4. Implementasi Multiple Database Instance yang memungkinkan satu user
untuk berinteraksi dengan satu obyek hasil instansiasi sTemporai, dimana
obyek tersebut mempunyai kemampuan mengelola beberapa database
instance dalam satu saat (prototip versi 2).
Penerapan Fasilitas Data Definition...(Sutrisno, Aditya R. Mitra, Virginia Ravenska)
147
5. Peningkatan kualitas contoh aplikasi interaksi user dengan ATDBMS
menjadi lebih baik dan beralih dari aplikasi berbasis teks ke aplikasi
berbasis GUI (Graphical User Interface) (prototip versi 2).
6. Penyempurnaan dan optimasi fungsi dan fasilitas yang telah dibangun pada
prototip ini.
DAFTAR PUSTAKA
[FRP2001]
Frank Buschmann, Regine Meunier, Peter Sommerlad, Pattern
Oriented Software Architecture: A System of Patterns, John Wiley &
Sons, 2001.
[Rog2001]
Roger S. Pressman, Software Engineering:
Approach, 5th Edition, McGraw-Hill, 2001.
[Sun 2002]
Sun Microsystem, Java 2 Standart Edition 1.4 API Reference, Sun
Microsystem, 2002.
148 Jumal llmiah llmu Komputer, Vol. 2 No. 2 April 2004:141 -148
A
Practitioner's
Download