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.