25 tabel dalam basisdata. Model yang digunakan untuk menspesifikasi aturan
basisdata aktif adalah model ECA Event-Condition-Action.
Aturan dalam model ECA memiliki tiga komponen yaitu : a. Event [WHEN]
→ Event yang memicu suatu rule tersebut biasanya berupa operasi perubahan basisdata yang secara eksplisit ditambahkan ke
basisdata. Tipe event yakni : INSERT, DELETE, atau UPDATE. b. Condition [IF]
→ Condition menentukan apakah suatu rule dijalankan atau tidak. Ketika suatu trigger dijalankan, maka bagian condition
bersifat optional akan dievaluasi jika didefinisikan oleh yang membuat trigger. Jika evaluasi bagian condition bernilai TRUE maka aksi suatu rule
dijalankan. c. Action [THEN]
→ Aksi yang dilakukan. Action biasanya berupa statemen sql yang dieksekusi secara otomatis.
Fasilitas –fasilitas yang dimiliki oleh basisdata aktif antara lain
logika pengolahan ada di dalam database dan dikelola oleh DBMS dan tidak dikelola oleh program aplikasi, bentuk monitoring event dan kondisi
yang mempengaruhi data disediakan oleh DBMS, serta sarana untuk men- trigger logika ada di dalam DBMS.
2.5.1 Perbedaan Basisdata Aktif dan Pasif
Sistem basisdata konvensional disebut basisdata pasif dalam arti manipulasi data bisa dijalankan oleh database hanya dengan perintah yang
diberikan langsung oleh pengguna atau program aplikasi yang terletak di
26 luar basisdata. Sedangkan basisdata aktif merupakan pengembangan dari
database yang memindahkan sifat reactive program ke dalam database. Salah satu contoh fungsi yang secara efisien dapat dilakukan oleh
basisdata aktif, akan tetapi di dalam basisdata pasif harus diprogram di dalam aplikasi adalah integrity constraint dan triggers. Basisdata pasif
memiliki keterbatasan untuk mengontrol bentuk-bentuk integrity constraint seperti adanya data tertentu yang harus memenuhi nilai unik
atau beberapa data yang harus berisi keterhubungan dengan data lain. Selain itu pada penggunaan triggers pada basisdata pasif, jika terjadi
perubahan pada konstrain atau triggers itu sendiri maka harus bisa menemukan dan memodifikasi program atau kode yang relevan di setiap
aplikasi. Sedangkan pada basisdata aktif, memiliki kemampuan untuk mengontrol integrity constraint pada keseluruhan database dan
penggunaan triggers yang mampu menjalankan suatu aksi ketika mendeteksi suatu kejadian tertentu tanpa mencari kode-kode yang relevan
pada program aplikasi untuk ikut diubah.
2.5.2 Arsitektur Basisdata Aktif
Arsitektur basisdata aktif yang sering digunakan termasuk dalam sistem arsitektur berlapis layered architecture dimana semua komponen
basisdata aktif terletak “di atas” basisdata konvensional. Pada sistem
arsitektur ini, basisdata konvensional bisa diubah menjadi basisdata aktif tanpa perlu memodifikasi basisdata pasif secara keseluruhan.
27 Bentuk dari arsitektur basisdata pasif digambarkan sebagai berikut :
Gambar 2.1 Passive Database
Sedangkan bentuk dari arsitektur basisdata aktif digambarkan sebagai berikut :
Gambar 2.2 Active Database
ACTIVE DATABASE
DATA TABLE,OBJECT
PROGRAM DB TOOLS
OPERASI MANAJEMEN DAN FUNGSI
RULE BASE COVERING ACTION : TRIGGER PASSIVE DATABASE
DATA TABLE,OBJECT
PROGRAM DB TOOLS
OPERASI MANAJEMEN DAN FUNGSI
28 Keterangan gambar pada arsitektur database aktif :
a. Data Tables, Object : Tabel yang berisikan data –data objek yang akan
digunakan pada database. b. Progam
: Aplikasi sistem report. c. DB Tools
: Power Designer, yang nantinya administratornya yakni userpengguna dan DBMS Database Management System sendiri yakni
mySQL. d. Rule Base
: Aturan yang nantinya akan dijalankan pada aplikasi web dimana akan menyesuaikan dengan Conditionkondisi yang ada. Dimana
akan dijalankan dengan Action UPDATE, misalnya setelah trigger nanti diaktifkan.
Beberapa hal yang perlu diperhatikan yang menjadi sifat dari tingkah laku rule dalam sebuah basisdata aktif yaitu :
a. Termination, suatu eksekusi dari aksi dapat menyebabkan terjadinya event yang lain dan bisa jadi event ini merupakan rule lain yang
dijalankan. Apabila tidak ada suatu kondisi terminal, maka hal ini akan terus berulang menjadi loop tanpa akhir.
b. Priority, jika beberapa rule di-trigger oleh event yang sama, maka harus dieksekusi berdasarkan urutan rule-nya.
c. Error handling, jika eksekusi dari rule menghasilkan error maka sistem harus bisa menangani.
Basisdata aktif sebagai basisdata dengan rule memiliki beberapa ciri-ciri tertentu, antara lain :
29 a. Secara alami bersifat algoritmik, dimana rule tersebut dijalankan sesuai
dengan kondisi yang berlaku. b. Kondisi yang ditetapkan adalah data pengguna.
c. Deskripsi kerjanya adalah mengubah dan meng-query data oleh pengguna sesuai dengan rule yang dijalankan.
4. Output yang ditentukan secara lengkap oleh spesifikasi dari query perubahan yang dilakukan.
3
Library IT Telkom : Active Database. 2008.
2.6 Trigger