1 BAB I PENDAHULUAN 1.1 Latar Belakang Basis data merupakan

advertisement
BAB I
PENDAHULUAN
1.1
Latar Belakang
Basis data merupakan kumpulan data yang berisi informasi yang sesuai
bagi sebuah institusi/perusahaan (Silberschatz, 2002). Data-data yang disimpan
dalam basis data dapat memberikan informasi yang dibutuhkan bagi orang-orang
dalam institusi tersebut. Untuk dapat mengakses dan mengolah basis data,
dibutuhkan suatu sistem yang disebut sistem manajemen basis data atau Database
Management System (DBMS). Sistem manajemen basis data diperkenalkan pada
tahun 1960 dan memiliki tujuan utama untuk menyediakan cara menyimpan dan
mengambil informasi basis data secara mudah dan efisien (Silberschatz, 2002).
Contoh DBMS adalah dBase, Microsoft Access, LibreOffice Base.
Seiring pesatnya perkembangan teknologi informasi, basis data menjadi
semakin besar dan kompleks sehingga DBMS menjadi tidak cukup cepat dalam
membaca data. Pada tahun 1970 diperkenalkan RDBMS, singkatan dari
Relational Database Management System. Contohnya adalah MySQL, MariaDB,
SQLite. RDBMS mendukung relasional antar tabel menggunakan primary key,
foreign key, dan index. Hal ini menjadikan RDBMS lebih cepat dalam menyimpan
dan mengambil data pada basis data. Hingga kini RDBMS paling banyak
digunakan karena mampu mengolah data yang besar dan kompleks.
RDBMS mengunakan bahasa standar (formal language) terstruktur untuk
mengolah basis data yang disebut Structured Query Language (SQL). SQL
dikembangkan oleh Donald D. Chamberlin dan Raymond F. Boyce pada
pertengahan tahun 1970. Dengan menggunakan perintah-perintah (query) SQL,
pengguna dapat melakukan operasi-operasi tertentu pada basis data, seperti
menampilkan, menambah, mengubah, dan menghapus data. Namun, tidak banyak
orang memahami sintaks query SQL dan struktur basis data dan tidak banyak
orang memiliki waktu untuk mempelajarinya (Gaori Rao, 2010). Agar pengguna
(khususnya end user) dapat mengakses basis data, maka digunakanlah antar muka
khusus berupa form (form-based interface). Dengan antarmuka form, end user
dapat mengakses basis data tanpa perlu tahu sintaks SQL atau mempelajari skema
basis data di dalamnya.
1
2
Seiring kemajuan ilmu kecerdasan buatan, pengolahan bahasa alami
(Natural Language Processing/NLP) mulai banyak diaplikasikan pada berbagai
bidang, salah satunya adalah pada pengolahan basis data. NLP merupakan bidang
ilmu
kecerdasan
buatan
yang
secara
khusus
mempelajari
bagaimana
mesin/komputer mampu “memahami” bahasa alami manusia (Bahasa Inggris,
Bahasa Indonesia, dsb.) dengan memberlakukan berbagai macam pendekatan
(Androutsopoulos, 1995). Dengan mengaplikasikan NLP pada pengolahan basis
data, pencarian data dapat dilakukan hanya dengan menggunakan sebuah perintah
tertulis dalam bahasa alami. Konsep ini dikenal dengan istilah Natural Language
Interface to Database (NLIDB). NLIDB adalah suatu antarmuka yang mampu
mengolah bahasa alami manusia menjadi SQL shingga dapat dieksekusi pada
suatu database tertentu yang diperuntukkan (Androutsopoulos, 1995). Hadirnya
NLIDB memberikan opsi lain bagi end user untuk mengakses basis data selain
pengisian form pada antarmuka berbasis form.
NLIDB pertama kali dikembangkan pada tahun 60 hingga 70an. NLIDB
yang terkenal terbaik pada saat itu adalah LUNAR, yang merupakan antarmuka
bahasa alami untuk mengakses basis data analisis kimia bebatuan di Bulan.
Beberapa NLIDB lainnya yang populer diantaranya adalah: INTELLECT,
LOQUI, PRECISE, MASQUE, dll. Kebanyakan NLIDB tersebut menggunakan
antarmuka Bahasa Inggris ke bahasa SQL.
Di Indonesia sendiri, penelitian mengenai NLIDB untuk Bahasa Indonesia
telah dilakukan sejak lebih dari sedekade terakhir. Andiyani (2002) menerapkan
query Bahasa Indonesia untuk basis data akademik, Hartati dan Zuliarso (2008)
dan Wibisono (2013) menerapkan aturan produksi pada pengolahan bahasa alami
untuk query basis data XML. Publikasi NLIDB Bahasa Indonesia dari tahun ke
tahun mengalami pasang surut. Hal ini disebabkan karena kompleksnya
bahasa/linguistik, seperti gramatikal, morfologi (pembentukan kata), sintaksis,
semantik, pragmatik, serta ambiguitas (kerancuan) atau makna ganda dari suatu
kata atau kalimat. Hingga saat ini, ambiguitas memang menjadi permasalahan
utama dalam NLP yang masih sulit ditangani (Pusphak, 2010).
Dengan cukup kompleksnya permasalahan dalam bidang NLP, tentu saja
pengolahan NLIDB dengan menggunakan pendekatan ataupun aturan produksi
3
dengan template tertentu seperti yang telah dilakukan pada penelitian-penelitian
berbahasa Indonesia sebelumnya, akan lebih sulit untuk menangani kesalahankesalahan struktural maupun makna. Oleh karena itu, penulis memberikan solusi
berupa fitur pembangkitan query alternatif yang dapat memberikan opsi query
yang lebih benar. Pembangkitan query alternatif ini akan mengurangi risiko
kesalahan output sistem dalam mentranslasikan query Bahasa Indonesia menjadi
SQL. Sebelum ditranslasikan, terlebih dahulu query input dianalisis menggunakan
kaidah-kaidah sintaksis dan semantik. Analisis sintaksis memastikan struktur
penulisan perintah yang diinputkan user sesuai dengan aturan gramatikal/
ketatabahasaan yang benar. Sedangkan, analisis semantik memetakan makna lain
yang terkandung dalam suatu kata sehingga arah translasi SQL tidak jauh dari
basis data yang digunakan.
Penelitian ini mengangkat ruang lingkup (domain) basis data administrasi
arsip surat yang digeneralisasi (secara umum digunakan oleh sebagian besar
instansi). Basis data arsip surat ini dipilih mengingat sistem pengarsipan surat bagi
instansi merupakan hal yang sangat penting. Banyak data yang tersimpan
sehingga banyak informasi penting yang bisa didapatkan oleh instansi tersebut
dan orang-orang di dalamnya, seperti sekretaris, pegawai administrasi surat, tata
usaha, dan lainnya.
1.2
Rumusan Masalah
Adapun rumusan masalah yang diangkat dalam penelitian ini adalah
sebagai berikut.
1. Bagaimana tahapan dan metode pengembangan NLIDB Bahasa Indonesia
dengan kaidah sintaksis dan semantik agar mampu mentranslasikan query
input menjadi SQL?
2. Bagaimana peranan fitur pembangkitan query alternatif pada sistem
NLIDB?
1.3
Batasan Masalah
Terdapat beberapa hal yang digunakan sebagai batasan permasalahan
dalam penelitian ini, yakni:
4
1. Bahasa alami yang digunakan pada penelitian ini dibatasi pada Bahasa
Indonesia baku yang sesuai dengan Ejaan Yang Disempurnakan (EYD).
2. Bahasa alami yang diolah menjadi format SQL dalam penelitian ini
dibatasi pada expression SELECT, FROM, dan WHERE, karena ketiga
expression ini dapat menjadi fungsi yang bisa mewakili fungsi lainnya
serta merupakan expression dasar yang paling sering digunakan.
3. Perintah bahasa alami yang digunakan dibatasi pada perintah untuk
menampilkan/menyeleksi data karena perintah ini dapat digunakan oleh
semua tingkatan user. Berbeda dengan perintah penambahan (insert),
pengubahan (update), maupun penghapusan (delete) yang umumnya hanya
bisa dilakukan oleh golongan user tertentu saja.
4. Bahasa alami yang akan diolah menjadi SQL berupa sebuah kalimat
perintah sederhana (kalimat diawali dengan kata kerja), baik perintah
bersyarat ataupun tidak, tidak berupa kalimat bertingkat/majemuk, serta
berpola kalimat inversi (predikat mendahului subjek).
5. Semantik yang digunakan pada penelitian ini terbatas pada domain arsip
surat. Kata-kata yang merepresentasikan data-data pada basis data surat
dibuatkan daftar padanan katanya untuk dijadikan rule semantik, semisal
“tanggal”
dapat
direpresentasikan
dengan
kata
“pada”,
alamat
direpresentasikan dengan kata “dari”, “tujuan”, “pengirim”, dan lain
sebagainya.
1.4
Tujuan Penelitian
Tujuan dari penelitian ini adalah sebagai berikut.
1. Mengetahui tahapan dan metode pengembangan NLIDB Bahasa Indonesia
menggunakan kaidah sintaksis dan semantik agar sistem mampu
mentranslasikan query input menjadi SQL.
2. Mengetahui peranan fitur pembangkitan query alternatif pada sistem
NLIDB.
1.5
Manfaat Penelitian
Manfaat yang bisa didapatkan dari penelitian ini adalah:
5
1. Membantu end user yang awam dengan bahasa SQL untuk dapat
memperoleh data surat pada basis data dengan hanya menginputkan
perintah dalam Bahasa Indonesia.
1.6
Metodologi Penelitian
Pada subbab metodelogi penelitian ini akan dijelaskan langkah-langkah
dalam penelitian. Adapun subbab bahasan yang akan dijelaskan adalah desain
penelitian, pengumpulan data, persiapan query input, dan metode yang digunakan.
1.6.1
Desain Penelitian
Penelitian ini dilakukan untuk mengetahui bagaimana langkah-langkah
dalam mentranslasikan suatu perintah Bahasa Indonesia menjadi query SQL
sehingga dapat mengakses basis data untuk mendapatkan data-data tertentu yang
diinginkan. Perintah bahasa alami yang diperlukan adalah perintah yang sesuai
aturan EYD yang benar.
Dalam proses pengolahan query bahasa alami tersebut akan diarahkan
menuju output yang diharapkan dengan memberikan opsi query alternatif jika
terdapat kesalahan baik pada pengejaan kata, struktur kalimat, maupun maknanya.
Pendekatan yang digunakan adalah dengan penerapan kaidah-kaidah sintaksis dan
semantik.
1.6.2
Pengumpulan Data
Data-data yang diperlukan dalam penelitian ini meliputi data kearsipan
surat masuk dan surat keluar, kamus kata (lexicon), daftar penggolongan kata,
aturan gramatikal, dan beberapa daftar sinonim kata. Semua data ini dikumpulkan
dari berbagai sumber literatur dan internet. Khusus data arsip surat diambil sampel
sejumlah 60 data yang terdiri dari 30 surat masuk dan 30 surat keluar yang
bersumber dari arsip surat Jurusan Ilmu Komputer Universitas Udayana pada
bulan Januari, September, dan Oktober tahun 2015.
Pada kata-kata tertentu, dilakukan penggolongan kata yakni sebagai kata
kunci (keyword), column word, operator, stopword serta unknown word agar
mempermudah proses pengolahan. Sedangkan, grammar yang disusun berupa
aturan-aturan penggabungan kata/frase menjadi kelompok frase ataupun kalimat.
Grammar ini dituliskan dalam format Chomsky Normal Form. Semua aturan
6
gramatikal yang digunakan dikhususkan untuk kalimat perintah, yakni dengan
pola kalimat inversi.
1.6.3
Persiapan Query Input
Query-query input yang akan diujikan pada sistem disusun atas dasar
perintah-perintah yang lumrah digunakan untuk mencari data surat di berbagai
instansi. Semua query tersebut diterjemahkan ke dalam format SQL secara manual
oleh penulis untuk kemudian dijadikan sebagai output goal yang harus dipenuhi
oleh sistem. Keberhasilan sistem menerjemahkan query bahasa Indonesia menjadi
SQL dapat diketahui dengan mengacu pada kesesuaiannya terhadap goal SQL
tersebut.
1.6.4
Metode yang Digunakan
Metode-metode yang digunakan pada sistem NLIDB Bahasa Indonesia ini
diantaranya:
tokenizing,
stemming,
spell
correction,
CYK
language
understanding, syntactic parsing, semantic mapping, dan beberapa metode
tertentu yang dikembangkan sendiri.
Tokenizing, stemming, dan spell correction digunakan saat mengolah
query input untuk kemudian di-parsing agar diketahui kesesuaian query input
terhadap aturan gramatikal Bahasa Indonesia yang sudah disusun. Hasil parsing
kemudian dijadikan acuan untuk mengelompokkan kata-kata dan menyusun
kombinasi keyword-value sehingga membentuk logical form/logic form (pseudo
SQL). Terakhir logic form akan ditranslasikan menjadi SQL dan dieksekusi pada
DBMS untuk mendapatkan data dari basis data. Keluaran dari beberapa metode di
atas akan ditampilkan oleh sistem sebagai informasi agar user mengetahui arah
translasi query input ke SQL yang dilakukan sistem. Begitupun dengan data pada
basis data yang berhasil di-retrieve akan ditampilkan juga sebagai output dari
sistem dengan bentuk tabel.
Download