Indonesia
Dengan Natural Language Processing
Fahmi Fu’adi
Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi
Luhur
Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260
Telp. (021) 5853753, Fax. (021) 5866369
E-mail : fahmi.fuadi93@gmail.com
ABSTRAK
Bahasa memegang peranan yang penting dalam proses komunikasi, sama halnya dengan bahasa query yang
digunakan untuk komunikasi dengan DBMS(Database Management System) dalam mendapatkan informasi pada
database yang tersedia. Permasalahan ini dialami oleh pengguna awam dalam mencari informasi yang ada pada
database. Hal ini membutuhkan penerapan proses bahasa alami khususnya sebagai pengganti bahasa query
kedalam bahasa lainnya, sehingga memungkinkan pengguna dapat berkomunikasi dengan komputer menggunakan
bahasa sehari-hari pengguna. Hal ini membutuhkan penerapan proses bahasa alami khususnya sebagai pengganti
bahasa query kedalam bahasa lainnya, sehingga memungkinkan pengguna dapat berkomunikasi dengan komputer
menggunakan bahasa sehari-hari pengguna. Tujuan karya ilmiah ini yaitu untuk menerjemahkan bahasa query ke
Bahasa Indonesia dengan menyajikan ringkasan informasi dari suatu basis data yang ramah untuk
pengguna. Dalam hal ini penulis melakukan pembuatan aplikasi pencarian informasi dengan perintah query dalam
Bahasa Indonesia menggunakan natural language processing metode top-down parsing. Aplikasi ini dikembangkan
dengan menggunakan bahasa pemrograman PHP, dan basis data yang akan digunakan yaitu MySQL, serta user
interface dikembangkan dengan menggunakan HTML, CSS dan Javascript. Spesifikasi software yang mendukung
jalannya program yaitu PHP version 5.3.8, MySQL Database Version 5.0.8-dev, Apache Webserver 2.2.21 dan
browser. Agar dalam keadaan yang optimal, maka dijelaskan bagaimana aplikasi menerjemahkan perintah dari
Bahasa Indonesia menjadi Bahasa Query MySQL. Hasil pengujian menunjukan aplikasi bekerja dengan baik,
walaupun ada beberapa kelemahannya antara lain, ada beberapa sintaks yang diharuskan menggunakan spasi atau
tidak bisa menggunakan spasi, kondisi mempunyai dari group by (having). Manfaat yang diperoleh dengan adanya
aplikasi ini antara lain, pengguna dapat dengan mudah membuat perintah query dengan Bahasa Indonesia tanpa
ada kendala bahasa, pengguna dapat mencari dengan berbagai cara seperti halnya menggunakan query MySQL.
Kata kunci : Natural Language Processing, Artificial Intelligence, Recursive Descent, Top-Down Parsing,
Query
1. dapat berkomunikasi dengan komputer menggunakan
PENDAHULUAN bahasa sehari-hari pengguna. Tujuan karya ilmiah ini
yaitu untuk menerjemahkan bahasa query ke Bahasa
Bahasa memegang peranan yang penting dalam Indonesia dengan menyajikan ringkasan informasi
proses komunikasi, sama halnya dengan bahasa query dari suatu basis data yang ramah untuk pengguna.
yang digunakan untuk komunikasi dengan
DBMS(Database Management System) dalam Natural language Processing adalah bagian dari ilmu
mendapatkan informasi pada database yang tersedia. kecerdasan tiruan yang digunakan untuk proses suatu
tata bahasa yang memungkinkan adanya interaksi
Namun masalah dapat terjadi jika pengguna tidak antara manusia dengan komputer. Dalam hal ini
mengetahui bahasa query dalam pencarian data yang penulis akan menggunakan metode top-down parsing
ada. Terlebih pengguna awam akan sulit untuk dalam melakukan penelusuran tata bahasa. Alasan
beradaptasi dengan tata bahasa dan tanda baca yang pengguna menggunakan metode ini yaitu proses
sesuai dengan perintah dari bahasa query. pengecekan bahasa dimulai dari simbol lalu rekursif
Permasalahan ini dialami oleh pengguna awam kiri untuk mendapatkan kalimat sesuai dengan aturan
dalam mencari informasi yang ada pada database. produksi yang ada, hal ini seperti pengecekan tata
Hal ini membutuhkan penerapan proses bahasa alami bahasa Indonesia umunya yang dimulai melalui kiri.
khususnya sebagai pengganti bahasa query ke dalam
bahasa lainnya, sehingga memungkinkan pengguna
2. LANDASAN c.
TEORI Understander
Understander bekerja sama dengan knowledge
base dalam menentukan makna suatu kalimat.
Natural Language Processing (NLP) merupakan
Untuk mengetahui makna dari suatu input
salah satu aplikasi Artificial Intelligence (AI) yang
kalimat, sistem harus mengetahui hal-hal
dikembangkan agar komputer mengerti dan
tentang kata tersebut dan bagaimana kata
memahami bahasa alami yang diberikan dan
tersebut digabung dan membentuk suatu kalimat
memberi respon hasil pengolahan sesuai yang
yang bermakna. Tujuan dari understander
diinginkan.[2]
adalah memanfaatkan parser tree yang telah
terbentuk sebelumnya agar mengacu pada
NLP tidak bertujuan untuk transformasi bahasa yang knowledge base.
diterima dalam bentuk teks atau suara menjadi data
digital dan/atau sebaliknya, melainkan bertujuan d. Knowledge Base
untuk memahami arti dari kalimat yang diberikan Knowledge base merupakan basis pengetahuan
dalam bahasa alami dan memberikan respon yang yang dijadikan acuan oleh understander dalam
sesuai. Misalnya dengan melakukan suatu aksi menentukan makna suatu kalimat. Knowledge
tertentu atau menampilkan data tertentu. Untuk base berisi sekumpulan informasi yang
mencapai tujuan ini dibutuhkan tiga tahap proses. terorganisasi dengan baik, yang secara unik
Proses yang pertama ialah parsing atau analisa diformat ke dalam bentuk struktur data.
sintaksis yang memeriksa kebenaran struktur kalimat
berdasarkan suatu grammar(tata bahasa) dan e. Generator
lexicon(kosakata) tertentu. Proses kedua ialah Generator berfungsi menghasilkan jawaban
semantic interpretation atau interpretasi semantic berdasarkan masukan yang telah ada
yang bertujuan untuk merepresentasikan arti dari sebelumnya yang tersimpan dalam memori.
kalimat secara context-independent untuk keperluan
lebih lanjut. Sedangkan proses ketiga ialah contextual
interpretation atau interpretasi kontekstual yang
bertujuan untuk merepresentasikan arti secara context
dependent dan menentukan maksud dari penggunaan
kalimat.[4]
c. Analisa Semantik
Analisis semantik merupakan kelanjutan dari
proses scanning dan parsing. Fungsi dari
analisis semantik adalah untuk menentukan
makna dari serangkaian instruksi yang terdapat
dalam program sumber atau masukan dari
penguna
3. RANCANGAN SISTEM
DAN APLIKASI
Gambar 3: Contoh analisis menggunakan
3.1. Analisa Masalah
metode
Recursive Descent.[6]
Dalam analisa ini penulis membuat langkah untuk
Kelas metoda tanpa backup, termasuk pemrosesan bahasa alami dari Bahasa Indonesia
metoda recursive descent, adalah kelas menjadi Query Language untuk mendapatkan data
metoda parsing yang tidak menggunakan yang sesuai dengan yang diinginkan pengguna, dari
produksi alternatif ketika hasil akibat mulai input perintah yang dilakukan sesuai dengan
penggunaan sebuah produksi tidak sesuai aturan yang akan dibuat, lalu perintah yang sudah
dengan simbol input. dimasukan akan di parsing dan melakukan
pengelompokan sesuai dengan token yang
terdaftar sebagai aturan produksi yang ada. Jika
program
menemukan kalimat atau urutan yang tidak sesuai
aturan produksi maka program akan memberi respon
error.
b. Parser
Parser adalah suatu proses untuk menentukan
rangkaian dari token ke dalam suatu tata bahasa
tertentu atau tidak. Proses ini tergantung pada
aturan produksi yang sudah didefinisikan.
Gambar 4: Alur Program Bahasa alami yang digunakan pada sistem ini
adalah bahasa Indonesia yang mempunyai tata
3.2. Metode aturan penulisan (grammar) tersendiri yang
dituliskan dalam bentuk Backus Naur
Algoritma yang akan dipakai yaitu dengan Form(BNF) sebagai aturan produksi yang bisa
metode Top Down parsing. Metode ini melakukan dimengerti oleh sistem. Aturan produksi
parsing secara menurun dari root menuju ke merupakan suatu kaidah yang dibentuk untuk
daun(leaf). mode yang diambil yaitu non menyusun suatu kata atau perintah. Bentuk
backtracking mode atau tidak mengambil token aturan produksi yang dihasilkan dari sebuah
secara mundur. proses pencarian dengan cara kalimat bahasa Indonesia yang dituliskan dalam
menurun secara rekursif untuk semua variabel. Untuk bentuk BNF. Berikut definisi aturan produksi
langkah yang akan digunakan dalam mengolah dalam bentuk BNF :
bahasa alami penulis menggunakan tahapan sebagai
berikut : <kolom> ::= {field yang ada di db}
<table> ::= {table yang ada di db}
<S> ::= tampilkan | lihat
<KF> ::= semua data |
<data>{<koma><data>}
<data>::= <kolom> |
<FU><GS><kolom><GE>
<F> ::= dari
<T> ::= <table>
<K> ::= yang | dimana
<H> ::= dan | atau
<op_log> ::= > | < | = | !
1
<P> ::= <kolom> <op_log>{<op_log>} <val>
Gambar 5: Komponen pengolah bahasa alami
untuk operasi query data.
<kondisi> ::= <K> <P> {<H> <P>}
<grup> ::= <G><B><param>
1
<perintah>::=<S><KF><F><T>{<kondisi>}
a. Lexical 1
{<grup>}
Tugas utamanya adalah membaca karakter
input
dan memproduksi barisan dari token yang c. Understander
Understander bekerja sama dengan
digunakan oleh suatu pengurai untuk melakukan
knowledge
analisis sintaks. Penganalisis leksikal membaca
base dalam menentukan makna suatu kalimat.
karakter input sampai dijumpai token yang
Untuk mengetahui makna dari suatu input
berikutnya. Pada gambar 6. terdapat daftar token
kalimat, sistem dapat mengetahui hal-hal
yang digunakan oleh penulis.
tentang kata yang diproses dan bagaimana kata
tersebut membentuk suatu kalimat
yang
bermakna. Adapun hasil dari proses atau nilai agar dapat dieksekusi oleh fungsi
understander sebagai berikut: mysql_query dalam program.
d. Knowledge Base
Knowledge Base yaitu basis pengetahuan
yang
dijadikan acuan oleh understander dalam
menentukan makna suatu kalimat. Knowledge
base berisi sekumpulan informasi yang
terorganisir kedalam bentuk struktur data.
Berikut contoh dari knowledge base yang akan
disediakan :
a. Pengujian Skenario 1
Berikut adalah contoh penulisan kalimat
perintah yang berfungsi untuk menampilkan
semua data yang terdapat pada tabel
yang terpilih.
c. Pengujian Skenario 3
Adapun contoh kalimat perintah jika semua
kolom ditampilkan tetapi dengan kondisi data
yang ditampilkan sesuai dengan parameter yang
dibutuhkan.