digilib@itb.ac.id +62 812 2508 8800

NLIDB (Natural Language Interface to Database) adalah sebuah solusi yang dapat memungkinkan pengguna untuk mengambil data dari basis data dengan bahasa alami. Terdapat berbagai penelitian yang telah dilakukan terhadap NLIDB, seperti penelitian Poetra (2019) terkait dengan NLIDB dengan kalimat perintah untuk data temporal. Namun, sistem NLIDB yang dibangun oleh Poetra belum dapat memfasilitasi masukan dalam bentuk kalimat tanya. Tujuan dari Tugas Akhir ini adalah untuk mengembangkan suatu NLIDB yang mampu mentranslasikan kalimat tanya yang memiliki unsur temporal menjadi kueri SQL yang dapat dieksekusi dan ditampilkan hasil eksekusinya. Proses translasi yang dilakukan adalah dengan terlebih dahulu melakukan masking pada kalimat masukan dan menguraikan kalimat menjadi kumpulan pohon sintaks. Kumpulan pohon sintaks yang dihasilkan akan diseleksi dengan tree similarity untuk menghasilkan pohon yang paling mirip dengan pohon yang telah dibangkitkan sebelumnya. Hasil penguraian kalimat ini akan dianalisis per komponennya berdasarkan node yang dihasilkan dalam pohon. Selanjutnya, entitas dari hasil pencarian kalimat tanya ini akan dicari di dalam ontologi dan menghasilkan daftar tabel dan relasi yang terlibat dalam pembentukan kueri SQL. Kueri SQL dibangun berdasarkan hasil analisis komponen pohon sintaks dan pemetaan entitas ke objek basis data. Kueri SQL akan dieksekusi dan pengguna dapat memberikan umpan balik terkait dengan pohon yang dipilih oleh sistem. Pohon yang dipilih pengguna akan disimpan sistem dalam suatu koleksi yang menyimpan pohon yang sudah pernah dibangkitkan dengan benar sebelumnya. Implementasi dilakukan dengan basis data MySQL dan PC-PATR sebagai pengurai sintaksis kalimat tanya. Dari pengujian yang dilakukan, NLIDB yang dibangun berhasil melakukan penerjemahan kalimat tanya dengan kata tanya apa, siapa, kapan, dimana, bagaimana, apakah, dan berapa. Untuk kalimat dengan kata tanya bagaimana, penerjemahan hanya dilakukan untuk kueri sejarah pada data temporal.