antarmuka bahasa indonesia pengakses basis data dengan

advertisement
ANTARMUKA BAHASA INDONESIA PENGAKSES BASIS DATA
DENGAN PEMBANGKITAN INPUT QUERY ALTERNATIF
MENGGUNAKAN KAIDAH SINTAKSIS DAN SEMANTIK
KOMPETENSI KOMPUTASI
SKRIPSI
I WAYAN SAFIRA SRI ARTHA
NIM. 1208605040
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
BUKIT JIMBARAN
2016
ii
Judul
Nama
NIM
Pembimbing I
Pembimbing II
: Antarmuka Bahasa Indonesia Pengakses Basis Data dengan
Pembangkitan Input Query Alternatif Menggunakan Kaidah
Sintaksis dan Semantik
: I Wayan Safira Sri Artha
: 1208605040
: I Gede Santi Astawa, S.T., M.Cs.
: I Dewa Made Bayu Atmaja Darmawan, S.Kom., M.Cs.
ABSTRAK
Instansi-instansi
kesekretariatan
menggunakan
basis
data
untuk
menyimpan data-data arsip surat. Untuk mengakses dan mengolah data pada basis
data diperlukan pemahaman mengenai bahasa kode terstruktur SQL. Namun, tidak
semua orang mampu memahami dan memiliki waktu untuk mempelajarinya.
Antarmuka form memudahkan end user seperti sekretaris ataupun pegawai
administrasi surat untuk mengakses basis data arsip surat tanpa perlu memahami
sintaks kode SQL. Bidang ilmu Natural Language Processing menjadi akar
pengembangan antarmuka bahasa alami pengakses basis data/Natural Language
Interface to Database (NLIDB) untuk mempermudah pencarian data dengan
hanya mengetikkan sebuah kalimat perintah bahasa alami dan tanpa perlu mengisi
form satu-persatu seperti pada antarmuka form. Dalam penelitian ini,
dikembangkan sebuah NLIDB berbahasa Indonesia untuk domain basis data arsip
persuratan. NLIDB Bahasa Indonesia ini bekerja dengan tahapan utama: (1)
mengenali bahasa query input; (2) Membentuk logic form; (3) translasi ke SQL;
(4) eksekusi untuk mendapatkan data pada database. Tahap pengenalan bahasa
dilakukan dengan analisis sintaksis menggunakan kaidah-kaidah gramatikal
Bahasa Indonesia. Sedangkan, tahap pembentukan logic form menggunakan
kaidah-kaidah semantik kata. Pada proses translasi menjadi SQL, diterapkan pula
fitur pembangkitan query alternatif untuk mengurangi risiko kesalahan output.
Sejumlah 57 query Bahasa Indonesia diujikan terhadap sistem, mulai dari query
dengan hanya SELECT expression, WHERE expression, hingga query beroperator.
Hasilnya adalah precision sebesar 89,7 % dan recall 77,2 %.
Kata Kunci: Natural Language Processing, Natural Language Interface to
Database, Bahasa Indonesia, SQL, basis data, kaidah sintaksis &
semantik.
iii
Title
: An Indonesian Language Interface to Database with
Alternative Input Query Generation using Syntactic and
Semantic Rules
Name
: I WayanSafira Sri Artha
Student Number : 1208605040
Main Supervisor : I GedeSantiAstawa, S.T., M.Cs.
Co-Supervisor : I Dewa Made BayuAtmajaDarmawan, S. Kom., M.Cs.
ABSTRACT
Secretariatal agencies use databases to store data of archival letters. To
access and process data in the database requires understanding regarding
structured code language called SQL. However, not every people is able to
understand the language and has time to learn it. A form interface allows end
users such as secretaries or administrative staff to access databases and archives
without the need of understanding the syntax of SQL code. Natural Language
Processing instantiates an interface that translates the natural language into SQL
language so can access the database, known as Natural Language Interface to
Database (NLIDB). The aim is to facilitate the data search by simply typing a
command/sentence in natural language without the need of filling out the form
one by one like on the form interface. This study develops an Indonesian NLIDB
for the domain of correspondence archive database. The Indonesian NLIDB works
with the following major phases: (1) recognition of the input query language; (2)
Establishment of the logic forms; (3) translation to SQL; (4) the execution to
obtain data on the database. The introduction stage of language syntactic analysis
is done by using the rules of Indonesian grammar. Meanwhile, logic formation
stage form uses the rules of semantic words. In the process of translation into
SQL, it also applied the features of alternative query generation to reduce the risk
of error output. A number of Indonesian 57 queries were tested against the system,
starting from only a SELECT query expression, WHERE expression, and query
with operators. The result was a precision of 89.7% and recall of 77.2%.
Keywords: Natural Language Processing, Natural Language Interface to
Database, Indonesian, SQL, databases, syntactic and semantic rules.
iv
KATA PENGANTAR
Penelitian yang berjudul “Antarmuka Bahasa Indonesia Pengakses Basis
Data dengan Pembangkitan Input Query Alternatif Menggunakan Kaidah
Sintaksis dan Semantik” ini disusun dalam rangkaian kegiatan pelaksanaan Tugas
Akhir di jurusan Ilmu Komputer FMIPA UNUD.
Penulis mengucapkan terimakasih kepada pihak-pihak yang telah
membantu dalam terselesaikannya penelitian ini, antara lain:
1.
Bapak I Gede Santi Astawa, S.T., M.Cs. sebagai Pembimbing I yang telah
banyak membantu menyempurnakan penelitian ini.
2.
Bapak I Dewa Made Bayu Atmaja Darmawan, S.Kom, M.Cs. sebagai
Pembimbing II yang telah banyak membantu penulisan laporan penelitian
ini.
3.
Bapak Agus Muliantara, S.Kom, M.Kom., sebagai Ketua Jurusan Ilmu
Komputer Universitas Udayana sekaligus pembimbing akademik yang
yang selalu membimbing, memberi masukan dan saran.
4.
Bapak/Ibu para dosen di lingkungan Ilmu Komputer Universitas Udayana
yang telah memberikan ilmu yang sangat berguna bagi penyusunan
proposal ini.
5.
Teman-teman yang telah mendukung secara moral dan material.
Tugas akhir ini masih jauh dari sempurna, untuk itu penulis mengharapkan
masukan dan saran demi kesempurnaan tugas akhir ini.
Bukit Jimbaran, Januari 2016
Penyusun
I Wayan Safira Sri Artha
v
DAFTAR ISI
LEMBAR PENGESAHAN TUGAS AKHIR ........................................................ ii
ABSTRAK ............................................................................................................. iii
ABSTRACT ........................................................................................................... iv
KATA PENGANTAR ............................................................................................ v
DAFTAR ISI .......................................................................................................... vi
DAFTAR TABEL .................................................................................................. ix
DAFTAR GAMBAR .............................................................................................. x
BAB I PENDAHULUAN ....................................................................................... 1
1.1
Latar Belakang ......................................................................................... 1
1.2
Rumusan Masalah .................................................................................... 3
1.3
Batasan Masalah ....................................................................................... 3
1.4
Tujuan Penelitian ...................................................................................... 4
1.5
Manfaat Penelitian .................................................................................... 4
1.6
Metodologi Penelitian .............................................................................. 5
1.6.1
Desain Penelitian ............................................................................... 5
1.6.2
Pengumpulan Data ............................................................................ 5
1.6.3
Persiapan Query Input ....................................................................... 6
1.6.4
Metode yang Digunakan ................................................................... 6
BAB II TINJAUAN PUSTAKA............................................................................. 7
2.1
Tinjauan Empiris ...................................................................................... 7
2.2
Tinjauan Teoritis ...................................................................................... 9
2.2.1
Basis Data ......................................................................................... 9
2.2.2
Structured Query Language ............................................................ 10
2.2.3
Text Processing ............................................................................... 10
vi
2.2.4
Natural Language Processing ........................................................ 13
2.2.5
Natural Language Interface to Database (NLIDB) ......................... 17
BAB III PERANCANGAN DAN IMPLEMENTASI .......................................... 21
3.1
Konsep Dasar ......................................................................................... 21
3.2
Arsitektur Sistem .................................................................................... 21
3.3
Kebutuhan Fungsional Sistem ................................................................ 22
3.3.1
Filtering .......................................................................................... 23
3.3.2
Membedakan Tipe Kata .................................................................. 23
3.3.3
Pelabelan Kelas Kata....................................................................... 23
3.3.4
Mengenali Bahasa ........................................................................... 24
3.3.5
Membentuk Logic Form ................................................................. 24
3.3.6
Translasi ke Format SQL dan Eksekusi .......................................... 25
3.4
Rancangan Basis Data Arsip Surat ......................................................... 25
3.5
Rancangan Aturan Gramatikal ............................................................... 26
3.6
Rancangan Aturan Semantik .................................................................. 26
3.7
Rancangan Query Input Bahasa Indonesia ............................................. 27
3.8
Rancangan Antarmuka Sistem ............................................................... 27
3.9
Pengolahan Query Bahasa Indonesia ..................................................... 28
3.9.1
Filtering ........................................................................................... 28
3.9.2
Pelabelan Tipe dan Kelas Kata ....................................................... 29
3.9.3
Pengenalan Bahasa .......................................................................... 31
3.9.4
Pembentukan Logic Form ............................................................... 36
3.9.5
Translasi ke Format SQL dan Eksekusi Query ............................... 37
3.10
Pengujian dan Evaluasi ....................................................................... 37
3.10.1
Skenario Pengujian.......................................................................... 37
3.10.2
Evaluasi Sistem ............................................................................... 38
vii
BAB IV HASIL DAN PEMBAHASAN .............................................................. 39
4.1
Pengumpulan Dataset ............................................................................. 39
4.2
Persiapan Awal ....................................................................................... 39
4.3
Implementasi Filtering ........................................................................... 39
4.4
Implementasi Pelabelan Kata ................................................................. 40
4.5
Implementasi Pengenalan Bahasa .......................................................... 41
4.6
Implementasi Parsing............................................................................. 43
4.7
Implementasi Pemetaan Semantik.......................................................... 44
4.8
Implementasi Translasi ke Format SQL dan Eksekusi .......................... 47
4.9
Tampilan Antarmuka Sistem .................................................................. 48
4.10
Hasil dan Pengujian Sistem ................................................................ 50
4.10.1
Analisis Sintaksis ............................................................................ 50
4.10.2
Analisis Semantik ........................................................................... 53
4.10.3
Pembangkitan Query Input Alternatif ............................................. 58
4.10.4
Pengujian Query Bahasa Indonesia ................................................. 59
4.10.5
Analisis Faktor Kesalahan Lain ...................................................... 60
BAB V KESIMPULAN DAN SARAN ................................................................ 62
5.1
Kesimpulan ............................................................................................. 62
5.2
Saran ....................................................................................................... 62
DAFTAR PUSTAKA ........................................................................................... 63
LAMPIRAN .......................................................................................................... 65
viii
DAFTAR TABEL
Tabel 2.1 Pseudocode Levenshtein Edit Distance ................................................ 11
Tabel 2.2 Algoritma Stemming Nazief & Adriani ................................................ 12
Tabel 2.3 Algoritma Cocke-Younger-Kasami (CYK) .......................................... 16
Tabel 3.1 Kelas kata dan frase penyusun pola kalimat inversi ............................. 26
Tabel 3.2 Cuplikan aturan semantik yang digunakan sistem ................................ 27
Tabel 4.1 Sintaks filtering query input .................................................................. 39
Tabel 4.2 Sintaks pelabelan kelas dan tipe kata .................................................... 40
Tabel 4.3 Sintaks stemming (algoritma Nazief-Adriani) ...................................... 41
Tabel 4.4 Sintaks pengenalan bahasa metode CYK.............................................. 41
Tabel 4.5 Sintaks parsing...................................................................................... 43
Tabel 4.6 Sintaks pemetaan semantik-1 ................................................................ 44
Tabel 4.7 Sintaks pemetaan semantik-2 ................................................................ 46
Tabel 4.8 Sintaks translasi logic form ke format SQL .......................................... 47
Tabel 4.9 Grammar bantu ..................................................................................... 51
Tabel 4.10 Aturan semantik untuk SELECT expression ....................................... 53
Tabel 4.11 Aturan semantik untuk WHERE expression ....................................... 55
Tabel 4.12 Aturan semantik pada operator untuk SELECT expression ............... 56
Tabel 4.13 Aturan semantik pada operator untuk WHERE expression ................ 57
Tabel 4.14 Macam-macam format tanggal ........................................................... 58
Tabel 4.15 Perbedaan makna kata konjungsi ........................................................ 59
Tabel 4.16 Hasil pengujian dengan pembangkitan query alternatif ...................... 59
Tabel 4.17 Hasil pengujian tanpa pembangkitan query alternatif ........................ 60
ix
DAFTAR GAMBAR
Gambar 2.1 Alur mendapatkan informasi pada basis data .................................... 10
Gambar 2.2 Dua Fase Utama NLP ........................................................................ 13
Gambar 2.3 Contoh parse tree .............................................................................. 18
Gambar 2.4 Contoh semantic parse tree ............................................................... 19
Gambar 2.5 Arsitektur Intermediate Representation Language System ............... 19
Gambar 3.1 Arsitektur Sistem NLIDB Bahasa Indonesia .................................... 21
Gambar 3.2 Skema basis data arsip surat .............................................................. 25
Gambar 3.3 Struktur tabel view_surat .................................................................. 25
Gambar 3.4 Rancangan antarmuka sistem NLIDB Bahasa Indonesia .................. 28
Gambar 3.5 Flowchart proses filtering.................................................................. 29
Gambar 3.6 Flowchart proses pelabelan kata ....................................................... 30
Gambar 3.7 Proses CYK tahap inisialisasi ........................................................... 31
Gambar 3.8 Proses CYK hingga mencapai root ................................................... 33
Gambar 3.9 Hasil trace dari proses CYK .............................................................. 34
Gambar 3.10 Parse tree ........................................................................................ 34
Gambar 3.11 Flowchart proses CYK .................................................................... 35
Gambar 3.12 State pemrosesan query ................................................................... 38
Gambar 4.1 Ilustrasi parsing ................................................................................. 44
Gambar 4.2 Antarmuka sistem NLIDB Bahasa Indonesia ................................... 48
Gambar 4.3 Contoh tampilan input sistem............................................................ 49
Gambar 4.4 Contoh tampilan informasi proses translasi ...................................... 49
Gambar 4.5 Contoh tampilan query alternatif ...................................................... 49
Gambar 4.6 Contoh tampilan output sistem.......................................................... 50
x
Download