(modul 1)
KELOMPOK 23
Errystiana N (L2H009042)
Ayu Febrina (L2H009132)
Lutfi Maulana (L2H009134)
PERANCANGAN TRANSLATOR BAHASA ALAMI KE DALAM FORMAT SQL (STRUCTURED QUERY LANGUAGE)
Kuspriyanto, Herry Sujani, Hary Tjahjono, Shofyan Kusuma
ABSTRACT
Untuk dapat menggunakan SQL (Structured Query Language) dengan benar, pengguna harus memahami struktur SQL. Dalam penelitian ini, sebuah prototipe penerjemah dari bahasa alami ke format SQL dikembangkan untuk memudahkan pengguna pemula untuk mendapatkan informasi dari database. Menggunakan tiga database, hasil pengujian menunjukkan bahwa penerjemah memberikan akurasi 86%.
PENDAHULUAN
Basis data pada umumnya diaplikasikan dengan arsitektur Client-Server, dimana pada arsitektur ini terdapat dua komponen utama, yaitu client dan server. Client berisi aplikasi basis data sedangkan server berisi DBMS dan basis data. Setiap aktifitas yang dikehendaki pemakai akan lebih dahulu ditangani oleh client. Jika ada proses yang harus melibatkan data pada basis data, barulah client melakukan kontak permintaan terhadap server dan selanjutnya server mengeksekusi permintaan tersebut terhadap basis data yang terdapat di dalamnya [7].
Permintaan data oleh client terhadap server dinyatakan dengan bahasa basis data. Dari sekian banyak bahasa basis data yang pernah ada seperti SQL, dbase, QUEL dan lain-lain, yang menjadi standar pada saat ini adalah SQL (Stuctured Query Language).
Untuk melihat informasi dengan kriteria tertentu dalam suatu database dengan menggunakan SQL, maka pemakai harus memahami struktur SQL, dimana setelah diolah dalam "SQL engine", informasi pada database dapat dikeluarkan sebagai hasil query.
Untuk memudahkan pemakai mendapatkan informasi dalam suatu database, cukup menggunakan bahasa alami yang biasa digunakan sehari-hari. Agar hal ini dapat terjadi maka diperlukan suatu sub sistem lain diantara user dan sistem yang dapat mentranslasi bahasa alami ke dalam format SQL. Sub sistem yang dimaksud adalah "Translator bahasa alami ke SQL"
Struktur dasar dari SQL terdiri dari tiga klausa yaitu select, from, where. Klausa select digunakan untuk menetapkan daftar atribut (file), yang diinginkan hasil query, klausa from digunakan untuk menetapkan tabel (gabungan tabel) yang akan ditelusuri selama query data dilakukan, sedangkan klausa where bersifat opsional, digunakan sebagai kriteria yang dipenuh dalam memperoleh hasil query.
Sintaks (cara penulisan) dari struktur SQL dasar dengan tiga klausa tersebut adalah [2]:
Select select_list
from teble[ ,table…]
[where condition]
dimana
- select_list merupakan daftar atribut(field)
- table merupakan daftar tabel
- condition merupakan predikat query
- [ ] merupakan tanda optional (boleh digunakan atau tidak)
NLP (NATURAL LANGUAGE PROCESSING)
Secara umum NLP dapat didefinisikan sebagai kemampuan suatu komputer untuk memproses bahasa lisan atau tulisan yang digunakan oleh manusia dalam percakapan sehari-hari [5].
Bahasa merupakan fenomena yang rumit yang melibatkan proses sesukar pengenalan bunyi atau huruf, sintaksis kalimat, inferensi semantik tingkat tinggi, bahkan komunikasi emosi lewat irama bicara. Untuk mengelola kerumitan ini para ahli bahasa telah mendefinisikan tingkat analisis yang berbeda untuk bahasa alami yaitu persanjakan, phonologi, morfologi, sintaks, semantik, fragmantik, dan pengetahuan tentang dunia sekitar.
POLA KALIMAT BAHASA INDONESIA
Pola kalimat bahasa indonesia yang akan dipaparkan disini dibatasi hanya pada pola kalimat yang berkaitan dengan permintaan menunjukkan data atau pertanyaaan terhadap suatu informasi yang terdapat dalam suatu bahasa basis data.
Kalimat permintaan dapat diekspresikan sebagai kalimat perintah biasanya dimulai dengan kata (verb) yang tidak berawalan, seringkali juga predikat yang menyatakan perintah ditandai oleh partikel –lah [6]. Sedangkan pertanyaan terhadap suatu data dapat diekspresikan sebagai kalimat tanya yang diawali dengan kata tanya, seperti apa, siapa, berapa, bagaimana dan sebagainya [6].
METODE TRANSLASI
Metode yang digunakan untuk mentranslasi bahasa alami adalah dengan melihat kata-kata yang ada pada kalimat alami tanpa melihat struktur kalimatnya. Kata-kata tersebut kemudian dibandingkan dengan daftar keyword untuk mendapatkan fiekd yang dimaksudkan.
Selain terhadap daftar keyword, kata-kata alami tersebut juga dibandingkan dengan daftar kata pengantar yang berisi daftar kata-kata alami yang mungkin digunakan sebagai kriteria seperti kata-kata diawali, diakhiri, lebih dari, kurang dari, dan lainnya untuk mendapatkan kriterianya. Selanjutnya keterangan kriteria akan didapatkan dari hasil perbandingan kata-kata alami dengan daftar kata
pengantar yang berisi kata-kata pengantar keterangan kriteria seperti kata, huruf, karakter dan lain-lain.
Sebelum memasuki tahap translasi, kata-kata pada kalimat bahasa alami terlebih dahulu diperiksa untuk dibenarkan dan disesuaikan.
Pada tahap ini ada dua proses yang dilakukan, yaitu membenarkan kata-kata yang salah dan pengubahan bentuk karakter ke bentuk numerik.
Pembetulan dan Penyesuaian Kata
Kata-kata dalam kalimat alami tidak semuanya diperiksa untuk dibetulkan jika terjadi kesalahan, pemeriksaan hanya dilakukan terhadap kata-kata yang diperlukan untuk proses pentranslasian seperti kata-kata pada keyword, daftar kriteria dan daftar kata pengantar. Dengan kata lain kata-kata pada kalimat alami dibandingkan dengan kata-kata pada daftar di atas, jika terjadi kesalahan pengetikan maka kata-kata tersebut akan dibetulkan.
Beberapa kesalahan pengetikan yang mungkin terjadi seperti berikut ini:
• Kekurangan huruf (contoh: Gajah ditulis Gjah)
• Kelebihan huruf (contoh: Gajah ditulis Ganjah)
• Kesalahan letak huruf (contoh Gajah ditulis Gajha)
Setiap kata dalam kalimat alami dibandingkan dengan kata-kata dalam daftar keyword, daftar kriteria dan daftar kata pengantar yang selanjutnya disebut sebagai kata-kata pembanding.
Karena hasil proses translasi memerlukan bentuk numerik bagi kata-kata yang menunjukkan nilai bilangan, maka kata-kata tersebut harus diubah terlebih dahulu ke bentuk numerik. Misalnya kata seribu dalam kata alami akan disesuaikan menjadi 1000.
Kata yang menunjukkan bilangan dalam bahasa Indonesia kata pertama menunjukkan bilangan puluhan dan kata terakhir menunjukkan bilangan satuan, diantara kata tersebut terdapat kata “puluh”. Misalnya dua puluh sembilan, kata pertama adalah dua (2) dan kata terakhir adalah sembilan (9), dan di antara kata-kata tersebut terdapat kata puluh. Jika satuannya sama dengan nol (0), maka kata terakhir dihilangkan.
PERANCANGAN SISTEM
Sistem yang dimaksud dalam tulisan ini adalah sistem pentranslasisan dari bahasa alami menjadi bahasa dalam format SQL untuk proses pencarian pada suatu basis data. Sistem tersebut berupa perangkat lunak (software) komputer dengan input teks bahasa Indonesia sebagai bahasa alami dan output berupa SQL
Selain harus memenuhi persyaratan input dan output, sistem juga harus memenuhi syarat-syarat. Syarat-syarat sistem secara lengkap harus dapat:
Menerima input berupa teks bahasa Indonesia
Menampilkan hasil output berupa teks format SQL
Menampilkan tabel terhadap format SQL yang dihasilkan
Menampilkan tahap-tahap proses translasi
mengaplikasikan basis data yang berbeda-beda.
Perancangan harus meliputi persiapan sistem yang terdiri dari persiapan tabel, penyusunan daftar kriteria, penyusunan daftar kata pengantar, dan penyusunan keyword terhadap format SQL serta unit-unit sistem yang terdiri dari unit antar muka, unit translasi, unit I/O file, dan unit restruktur kata.
IMPLEMENTASI
Sistem ini diimplementsikan pada sebuah program dengan menggunakan software Delphi yang dijalankan dengan sistem operasi Windows.
Saat mulai dijalankan program melakukan inisialisasi awal mempersiapkan sistem dan melakukan pengambilan data-data yang diperlukan pada file-file pendukung.
Pada program ini terdapat dua perintah utama yang dapat dieksekusi oleh pemakai. Kedua perintah tersebut diimplementasikan ke dalam dua prosedur yaitu “Translate” dan “Run” . Translate digunakan untuk mentranslasi kalimat dalam bahsa Indonesia menjadi format SQL sedangkan prosedur Run digunakan untuk mengeksekusi format SQL dengan SQL engine terhadap tabel basis data.
PENGUJIAN METODE
Pengujian metode yang dipakai dalam perancangan sistem ini dilakukan dengan mengimplementasikan program yang menggunakan metode tersebut terhadap tiga buah basis data.
Input berupa teks kalimat dalam bahasa Indonesia, dapat dituliskan secara bebas dalam kotak teks, demikian juga output berupa teks dalam format SQL. Setelah mengetikkan kkalimat dalam bahasa Indonesia, proses pentranslasian dapat dimulai dengan menklik tombol translate.
Pengujian metode dilakukan dengan program yang dibuat sesuai dengan metode pendeteksian kata. Pengujian ini dilakukan terhadap 50 (lima puluh) kalimat bahasa Indonesia yang berbeda untuk suatu contoh basis data akademik.
Agar kalimat uji terbagi rata diantara sepuluh jenis format SQL yang mungkin pada basis data pengujian, masing-masing jenis format diberikan lima kalimat uji. Untuk basis data kendaraan dan propinsi masing-masing dilakukan pengujian terhadap 25 dan 40 kalimat uji. Jumlah kalimat pengujian untuk setiap basis data disesuaikan berdasarkan jumlah format SQL yang mungkin untuk masing-masing basis data.
Input pengujian terdiri atas pasangan kata alami dan format SQL yang diharapkan, sedangkan outputnya adalah hasil format SQL.
Input = (N1,SI1; N2,SI2;…;NN, SIN)
Output =(SO1; SO2;…;SOn)
di mana:
N = jumlah kalimat yang diuji
N = Kalimat alami
SI = Format SQL yang diharapkan
SO =Format SQL yang didapatkan
Pemberian nilai terhadap keakuratan metode adalah dengan melihat prosentase kebenaran hasil terhadap yang diharapkan. Kebenaran hasl berarti kalimat alami dapat ditranslasi tanpa konfirmasi dan sesuai dengan hasil yang diharapkan sedngakan kegagalan berarti tidak diperoleh satupun format SQL atau diperoleh satu format SQL tetapi tidak sesuai dengan hasil yang diharapkan, jadi penilaianya adalah:
Score =
Jika 1 SIn = SOn
Jika 0 Sin tidak sama dengan SOn
Total nilainya adalah %100 = total score x 100%
n
Dari data pengujian, dengan sampel sebanyak 50 kalimat diperoleh hasil sebagai berikut:
a. 24 kalimat berhasil pada penyaringan proses satu.
b. 21 kalimat berhasil pada penyaringan proses dua
c. 4 kalimat yang memerlukan konfirmasi (memiliki lebih dari satu kemungkinan)
d. 1 kalimat gagal ditranslasi
Dari hasil yang didapatkan berarti kalimat yang berhasil ditanslasi adalah sebanyak 24+21 = 45 kalimat atau sebesar 90% dari 50 kalimat.
Dari tabel hasil pengujian tiga basis data dapat diketahui rata-rata keakuratan hasil sebesar 86%.
SIMPULAN
Metode pendeteksian kata yang dikembangkan pada penelitian ini dapat berfungsi untuk mentranslasikan kalimat bahasa alami menjadi format SQL untuk mencarian data dengan keberhasilan rata-rata sebesar 86% terhadap tiga basis data yang digunakan dalam pengujian.
Pentranslasian dari bahasa Indonesia menjadi format SQL dapat dilakukan dengan memfokuskan pada kata-kata yang terdapat pada kalimat tanpa memperhatikan struktur kalimatnya.
PUSTAKA
.
Beyon, P., dan Davies. (1991) Expert Database System: A Gentle Introduction, McGraw-Hill.
Colburn, R. (1999) Using SQL, Que, Indianapolis.
Fathansyah. (1999) Basis Data, Informatik, Bandung.
Krulee, G.K. (1991) Computer Processing of Natural LanguageI, Prentice-Hall. New Jersey.
Obermeier, K.K. (1989) Natural Language Processing Technologies in Artificial Intelligence, Ellis Horwood Limited, Chichester.
Sugono, D. (1999) Berbahasa Indonesia dengan Benar, Puspa Swara, Jakarta.
Teixeira, S., dan Xavier, P. (1999) Delphi 5 Developer’s Guide, Sams Publishing, Indianapolis.
SUMBER : http://journal.uii.ac.id/index.php/jurnal-teknoin/article/viewFile/213/209