Abstract:
Basis data merupakan sebuah media yang digunakan untuk menyimpan data secara sistematis
sehingga dapat diakses dengan mudah. Informasi dapat diperoleh dari basis data dengan
menggunakan query tertentu. Informasi yang ada pada basis data harus memiliki integritas
agar data yang diperoleh sesuai dengan keadaan sebenarnya. Constraint adalah aturan atau
batasan yang diterapkan pada basis data untuk menjaga konsistensi dan integritas data pada
basis data. Namun dalam penggunaannya, banyak tabel-tabel yang ada pada basis data tidak
diberikan constraint. Tidak dimanfaatkannya constraint menyebabkan banyak data yang masuk
tidak sesuai dengan aturan bisnis yang berlaku.
Aturan bisnis adalah sebuah pernyataan yang menjelaskan kebijakan bisnis atau keputusan
prosedur. Aturan bisnis dapat membantu penentuan constraint pada basis data. Tujuan dari
skripsi ini adalah membangkitkan sebuah Constraint Generator yang sesuai dengan aturan bisnis
yang berlaku. Generator ini memiliki masukan berupa aturan bisnis yang sudah ditulis dalam
bentuk formal. Aturan bisnis dituliskan dalam bentuk formal dengan memanfaatkan SBVR
(Semantics of Business Vocabulary and Rules) dengan memecah aturan bisnis dalam bentuk
term, fact, dan rule.
Kakas query generator yang dikembangkan dalam skripsi ini menerima input berupa aturan
bisnis yang sudah dinyatakan dalam bentuk formal sesuai dengan Domain Specific Language
(DSL) yang telah ditetapkan. Aturan bisnis tersebut diproses dengan ANTLR (ANother Tool for
Language Recognition). ANTLR akan melakukan parsing terhadap aturan bisnis berdasarkan
grammar yang dikembangkan dalam skripsi ini.
Hasil dari kakas query generator adalah sebuah query yang dapat digunakan untuk menerapkan
sebuah constraint pada tabel maupun kolom tertentu. Query tersebut dapat dieksekusi pada
basis data MySQL, Oracle, dan SQLServer. Domain yang digunakan dalam skripsi ini adalah
domain perpustakaan. Query database constraint yang telah dieksekusi pada basis data diuji
dengan mencoba menambahkan data yang melanggar aturan bisnis yang berlaku. Berdasarkan
hasil pengujian, query yang dihasilkan telah berhasil mencegah data tersebut masuk ke basis
data.