Sabtu, 17 Desember 2016

PEMROSESAN ANTARMUKA BAHASA ALAMI KE DALAM DATABASE (NATURAL LANGUAGE INTERFACE TO DATABASE)


Assalaamu'alaikum all. Kita lanjut lagi ke pembahasan selanjutnya yang berjudul PEMROSESAN ANTARMUKA BAHASA ALAMI KE DALAM DATABASE (NATURAL LANGUAGE INTERFACE TO DATABASE). Langsung aja kita ke pembahasannya :


A. Pengertian Dasar


1. Bahasa Alami


Bahasa alami adalah bahasa yang dipelajari manusia dari lingkungannya yang digunakan untuk berkomunikasi dengan manusia yang lain. Pengertian bahasa alami jika dikaitkan dengan intelegensia semu adalah bahasa yang dibuat oleh manusia untuk berkomunikasi dengan teknologi komputer dengan menggunakan bahasa manusia.

Belajar suatu bahasa sudah dilakukan manusia pada usia yang masih relatif muda. Manusia belajar berasosiasi dengan suara dan frase yang berhubungan dengan suatu kejadian dan bentuk obyek yang ditemukannya. Proses komunikasi dan pengembangan bahasa ini tidak dapat dijelaskan dengan baik, karena proses tersebut berlangsung secara alami, juga karena bahasa yang digunakan untuk berkomunikasi senantiasa berkembang. Dengan alasan ini maka untuk membuat komputer yang mengerti bahasa alami sangat sulit. Bahasa alami sangat berbeda dengan bahasa program pada komputer. Bahasa komputer merupakan bahasa buatan yang dibuat dalam bentuk format tertentu, dan setiap kata hanya memiliki satu arti (tidak ambigu).

Natural Language Processing (NLP) merupakan suatu formulasi dan investigasi (penelitian) terhadap mekanisme perhitungan yang efektif pada komputer agar dapat berkomunikasi dengan menggunakan bahasa alami mekanisme ini juga melibatkan natural language generation dan understanding. Sebuah arsitektur yang memuat minimal salah satu natural language generator (NLG) maupun Natural Language Understanding (NLU) dapat dikatakan memuat Natural Language Processing. NLP sering dianggap sebagai cabang dari kecerdasan buatan dan bidang kajiannya bersinggungan dengan linguistik komputasional. Apabila pemakai dapat berkomunikasi dengan komputer dengan menggunakan bahasa alami maka terbukti bahwa arsitektur tersebut memiliki Natural Language Processing. Secara teori berbagai arsitektur dapat diterapkan dalam program dengan cara tertentu agar dapat mendukung Natural Language Processing. Hanya dengan adanya potensi secara mengimplementasikan arsitektur yang ada untuk menunjukan bahwa arsitektur tersebut dapat mendukung Natural Language Processing.


Tahapan Natural Language Processing

Menurut Rich dan Knight (1991, pp379-380) tahapan Natural Language Processing terdiri dari beberapa level analisis. Level analisis tersebut adalah:

a. Morphological Analysis

Kata-kata secara individu dianalisa berdasarkan komponennya, dan token yang tidak tennasuk kata, seperti tanda baca, dipisahkan dari kata-kata tersebut. Analisis ini memperhatikan arti. dari setiap komponen yang membentuk suatu kata. Analisis morfologi ini penting untuk menentukan aturan kata yang ada dalam suatu kalimat, tennasuk tata bahasa.

b. Sylltax Analysis

Urutan-mutan linear dari kata-kata diubah menjadi struktur yang menunjukkan bagaimana satu kata berhubungan dengan kata yang lain. Analisis ini mempelajari aturan untuk menggabungkan kata menjadi frase dan kalimat, dan menggunakan aturan tersebut untuk menguraikan (parse) dan membentuk kalimat. Level anal isis yang lebih banyak berhasil.

c. Semantic Analysis

Struktur yang diciptakan dari analisa sintaksis akan diperiksa arti sebenarnya. Kalau struktur tersebut tidak memenuhi persyaratan kaidah bahasa maka kalimat tersebut dianggap anomali semantik.

d. Discourse Integration

Arti dari suatu kalimat mungkin saja bergantung dari kalimat sebelumnya dan mungkin mempengaruhi kalimat-kalimat selanjutnya.

e. Pragmatics Analysis

Struktur yang merepresentasikan apa yang dikatakan diinterpretasikan lagi untuk menentukan apa yang dimaksud sebenarnya.

Batasan-batasan dari kelima fase ini kadang-kadang belum jelas. Fase tersebut kadang dieksekusi secara bertahap, rapi kadang dilaksanakan sekaligus.


2. Interface (Antarmuka)


Antarmuka (Interface) merupakan mekanisme komunikasi antara pengguna (user) dengan sistem. Antarmuka (Interface) dapat menerima informasi dari pengguna (user) dan memberikan informasi kepada pengguna (user) untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi.

Interface, berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem dan memberikan panduan pemakaian sistem secara menyeluruh / step by step sehingga pengguna mengerti apa yang akan dilakukan terhadap suatu sistem. Yang terpenting adalah kemudahan dalam memakai / menjalankan sistem, interaktif, komunikatif, sedangkan kesulitan dalam mengembangkan / membangun suatu program jangan terlalu diperlihatkan.

Interface yang ada untuk berbagai sistem, dan menyediakan cara :
  • ·         Input, memungkinkan pengguna untuk memanipulasi sistem.
  • ·         Output, memungkinkan sistem untuk menunjukkan efek manipulasi pengguna.


Tujuan Interface

Tujuan sebuah interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua (barangkali kedua tertua setelah gesture) yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis, semua pengguna komputer dan Internet (kecuali mungkin anak kecil yang memakai komputer untuk belajar membaca) dapat mengerti tulisan.

Meski pada umumnya panduan interface menyarankan agar ikon tidak diberi tulisan supaya tetap mandiri dari bahasa, namun elemen interface lain seperti teks pada tombol, caption window, atau teks-teks singkat di sebelah kotak input dan tombol pilihan semua menggunakan bahasa. Tanpa bahasa pun kadang ikon bisa tidak jelas maknanya, sebab tidak semua lambang ikon bisa bersifat universal.

Meskipun penting, namun sayangnya kadang penggunaan bahasa, seperti pemilihan istilah, sering sekali dianggap kurang begitu penting. Terlebih dari itu dalam dunia desain situs Web yang serba grafis, bahasa sering menjadi sesuatu yang nomor dua ketimbang elemen-elemen interface lainnya.

Tujuan sebuah interface adalah mengkomunikasikan fitur-fitur sistem yang tersedia agar user mengerti dan dapat menggunakan sistem tersebut. Dalam hal ini penggunaan bahasa amat efektif untuk membantu pengertian, karena bahasa merupakan alat tertua (barangkali kedua tertua setelah gesture) yang dipakai orang untuk berkomunikasi sehari-harinya. Praktis, semua pengguna komputer dan Internet (kecuali mungkin anak kecil yang memakai komputer untuk belajar membaca) dapat mengerti tulisan. Interface ada dua jenis, yaitu :

- Interface ada dua jenis, yaitu :

Graphical Interface : Menggunakan unsur-unsur multimedia (seperti gambar, suara, video) untuk berinteraksi dengan pengguna.

Text-Based : Menggunakan syntax/rumus yang sudah ditentukan untuk memberikan perintah.


- PERBANDINGAN INTERFACE

Graphical Interface

Ada 5 tipe utama interaksi untuk interaction:

1. Direct manipulation – pengoperasian secara langsung : interaksi langsung dengan objek pada layar. Misalnya delete file dengan memasukkannya ke trash. Contoh: Video games. Kelebihan :  Waktu pembelajaran sangat singkat, feedback langsung diberikan pada tiap aksi sehingga kesalahan terdeteksi dan diperbaiki dengan cepat. Kekurangan :  Interface tipe ini rumit dan memerlukan banyak fasilitas pada sistem komputer, cocok untuk penggambaran secara visual untuk satu operasi atau objek.

2. Menu selection – pilihan berbentuk menu :  Memilih perintah dari daftar yang disediakan. Misalnya saat click kanan dan memilih aksi yang dikehendaki. Kelebihan :   tidak perlu ingat nama perintah. Pengetikan minimal. Kesalahan rendah. Kekurangan : Tidak ada logika AND atau OR. Perlu ada struktur menu jika banyak pilihan. Menu dianggap lambat oleh expert   dibanding command language.

3. Form fill-in – pengisian form : Mengisi area-area pada form. Contoh : Stock control. Kelebihan : Masukan data yang sederhana. Mudah dipelajari Kekurangan : Memerlukan banyak tempat di layar. Harus menyesuaikan dengan form manual dan kebiasaan.

4. Command language – perintah tertulis : Menuliskan perintah yang sudah ditentukan pada program. Contoh: operating system. Kelebihan : Perintah diketikan langsung pada system. Misal UNIX, DOS command. Bisa diterapkan pada terminal yang murah.Kombinasi perintah bisa dilakukan. Misal copy file dan rename nama file. Kekurangan : Perintah harus dipelajari dan diingat cara penggunaannya, tidak cocok untuk   biasa. Kesalahan pakai perintah sering terjadi. Perlu ada sistem pemulihan kesalahan.Kemampuan mengetik perlu.

5. Natural language – perintah dengan bahasa alami : Menggunakan bahasa alami untuk mendapatkan hasil. Contoh: search engine di Internet. Kelebihan: Perintah dalam bentuk bahasa alami, dengan kosa kata yang terbatas (singkat), misalnya kata kunci yang kita tentukan untuk dicari oleh search engine. Ada kebebasan menggunakan kata-kata. Kekurangan: Tidak semua sistem cocok gunakan ini. Jika digunakan maka akan memerlukan banyak pengetikan.


3. Database

Penggunaan teknologi dalam sebuah perusahaan, institusi ataupun organisasi mempunyai peranan penting guna mencapai tujuan. Suatu perusahaan dituntut untuk bekerja se-efisien mungkin supaya bisa bertahan di atas kerasnya persaingan. Salah satu teknologi yang harus dimiliki oleh sebuah perusahaan, institusi maupun organisasi adalah teknologi dalam memproses data sehingga menjadi informasi yang beguna, teknologi yang dimaksud adalah sistem pengolahan basis data atau database. Penggunaan database yang baik pada perusahaan retail misalnya, mampu membantu seorang kasir bekerja lebih cepat ketika mencari jumlah barang atau harga barang yang akan dijual. Begitupun dengan admin, database mempermudah ketika pencarian stok persediaan, barang paling laku dan banyak lagi yang lainnya.

Beberapa contoh aplikasi yang membutuhkan database sebagai landasannya antara lain: transaksi perbankan, pemesanan tiket, aplikasi pemrosesan penjualan dan pembelian pada perusahaan dagang, absensi perusahaan serta sistem penggajian karyawan pada perusahaan, aplikasi akademik, aplikasi pencatatan pajak, dan lain sebagainya. Selain dapat meningkatkan kinerja sebuah perusahaan, penggunaan database masih memiliki banyak keuntungan lain yang bisa kita dapatkan.

Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat mengorganisasi data, menghidari duplikasi data, hubungan antar data yang tidak jelas dan juga update yang rumit.

Proses memasukkan dan mengambil data ke dan dari media penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis data (database management system | DBMS). DBMS merupakan sistem perangkat lunak yang memungkinkan pengguna database (database user) untuk memelihara, mengontrol dan mengakses data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu mengolah pendefinisian data, menangani permintaan pemakai untuk mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk dan menangani unjuk kerja semua fungsi secara efisien.

Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada pengguna. Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara dan tetap bisa diambil (diakses) secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya.

Pembagian basis data menurut jenisnya:

  • ·         Basis data flat-file


Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Beberapa kendala dalam menggunakan basis data jenis ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi dan juga adanya duplikasi data yang mungkin sulit dihindari. Salah satu tipe basis data flat-file adalah file CSV yang menggunakan pemisah koma untuk setiap nilainya.

  • ·         Basis data relasional


Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih lambat karena perlu menghubungkan tabel-tabel terlebih dahulu apabila datanya tersebar di beberapa tabel. Beberapa contoh basis data relasional adalah Microsoft Access, MySQL, Oracle, Microsoft SQL Server dan PostgreSQL.

Manfaat Penggunaan Database

  • ·         Kecepatan dan Kemudahan

Database memiliki kemampuan dalam menyeleksi data sehingga menjadi suatu kelompok yang terurut dengan cepat. Hal inilah yang ahirnya dapat menghasilkan informasi yang dibutuhkan secara cepat pula. Seberapa cepat pemrosesan data oleh database tergantung pula pada perancangan databasenya.

  • ·         Pemakaian Bersama-sama

Suatu database bisa digunakan oleh siapa saja dalam suatu perusahaan. Sebagai contoh database mahasiswa dalam suatu perguruan tinggi dibutuhkan oleh beberapa bagian, seperti bagian admin, bagian keuangan, bagian akademik. Kesemua bidang tersebut membutuhkan database mahasiswa namun tidak perlu masing-masing bagian membuat databasenya sendiri, cukup database mahasiswa satu saja yang disimpan di server pusat. Nanti aplikasi dari masing-masing bagian bisa terhubung ke database mahasiswa tersebut.

  • ·         Kontrol data terpusat

Masih berkaitan dengan point ke dua, meskipun pada suatu perusahaan memiliki banyak bagian atau divisi tapi database yang diperlukan tetap satu saja. Hal ini mempermudah pengontrolan data seperti ketika ingin mengupdate data mahasiswa, maka kita perlu mengupdate semua data di masing-masing bagian atau divisi, tetapi cukup di satu database saja yang ada di server pusat.

  • ·         Menghemat biaya perangkat

Dengan memiliki database secara terpusat maka di masing-masing divisi tidak memerlukan perangkat untuk menyimpan database berhubung database yang dibutuhkan hanya satu yaitu yang disimpan di server pusat, ini tentunya memangkas biaya pembelian perangkat.

  • ·         Keamanan Data

Hampir semua Aplikasi manajemen database sekarang memiliki fasilitas manajemen pengguna. Manajemen pengguna ini mampu membuat hak akses yang berbeda-beda disesuaikan dengan kepentingan maupun posisi pengguna. Selain itu data yang tersimpan di database diperlukan password untuk mengaksesnya.

  • ·         Memudahkan dalam pembuatan Aplikasi baru

Dalam poin ini database yang dirancang dengan sangat baik, sehingga si perusahaan memerlukan aplikasi baru tidak perlu membuat database yang baru juga, atau tidak perlu mengubah kembali struktur database yang sudah ada. Sehingga Si pembuat aplikasi atau programmer hanya cukup membuat atau pengatur antarmuka aplikasinya saja.


B. Pengertian Antarmuka Bahasa Alami Ke Dalam Database (Natural Language Interface To Database)

Penggunaan bahasa alami, bahasa keseharian seperti bahasa Indonesia dalam era internet sekarang bukan lagi merupakan domain ilmu sosial saja namun juga ilmu eksak seperti komputasi dengan tujuan interoperabilitas (Wicaksana,dkk, 2005). Semakin banyak dan beragamnya asal pengguna komputer dari berbagai negara yang terhubung dalam internet dan semakin besarnya data yang ada menjadikan kemudahan untuk mendapatkan data sesuai yang diharapkan oleh pengguna adalah sebuah keniscayaan. Sebagai contoh misalkan seorang pengguna internet dari Indonesia akan mengharapkan dapat menggunakan bahasa ibunya untuk mendapatkan informasi. Natural Language Processing (NLP) sebagai salah satu bidang ilmu komputer yang mempelajari interaksi komputer dengan bahasa yang digunakan secara umum dalam kehidupan sehari-hari. Pengembangan teknik yang bertujuan bagaimana komputer memahami bahasa alami manusia dipelajari dalam NLP. Bahasa alami yang digunakan oleh manusia  dari berbagai negara akan memiliki perbedaan dalam bentuk penulisan dan pengucapan. NLP dapat digunakan untuk melakukan pengambilan kembali informasi (information retrieval) (Lewis dan Jones, 1996), baik dengan menggunakan penulisan ataupun diucapkan. Penelitian ini melakukan implementasi NLP untuk mendapatkan informasi dari data yang tersimpan dalam sistem basis data relasional.

Pengambilan kembali informasi yang tersimpan dalam suatu basis data dapat dilakukan dengan menggunakan NLP. Natural language interface to a database (NLIDB) merupakan sebuah sistem yang digunakan untuk mendapatkan informasi yang tersimpan dalam basis data dengan menggunakan masukan yang menggunakan bahasa alami (Androutsopoulos, dkk, 1995). Sistem untuk mendapatkan informasi dalam basis data telah lama diteliti yakni di tahun 1961 dengan sistem yang bernama Green’s BASEBALL dan sistem LUNAR di tahun 1972 (Copestake dan Jones, 1989). NLP menawarkan banyak manfaat jika digunakan untuk mengambil informasi dalam sistem basis data namun diperlukan usaha untuk menterjemahkan bahasa query (Lewis dan Jones, 1996). Penggunaan NLP untuk mendapatkan informasi dalam basis data kini semakin banyak diharapkan karena semakin banyaknya pengguna yang ingin mendapatkan informasi dengan berbagai macam perangkat dari laptop sampai dengan telepon genggam. Dengan demikian memiliki sistem antarmuka NLP untuk sistem basis data yang dapat diandalkan merupakan hal yang pokok. Antarmuka NLP ke sistem basis data harus mampu mengerti apa yang diharapkan oleh pengguna (Popescu, dkk, 2005).

Antarmuka bahasa alami ke dalam database / natural language interface to a database (NLIDB) adalah sistem yang memungkinkan pengguna untuk mengakses informasi yang tersimpan dalam database dengan hanya mengetik permintaan dinyatakan dalam beberapa bahasa alami (misalnya bahasa Inggris, Indonesia, dll.). Semenjak dulu, pemrosesan antarmuka bahasa alami ke dalam database merupakan suatu bidang yang panas(rawan) didalam penelitian. Tujuannya adalah untuk menerima permintaan dalam bahasa Inggris atau bahasa lainnya yang mana akan berupaya untuk memahami bahasa-bahasa tersebut dan menerjemahkannya ke dalam query database (perintah yang ada di dalam database). Meskipun penelitian ini dimulai sejak akhir tahun enam puluhan, penelitian NLIDB tetap berlanjut hingga sekarang.

Menurut Androutsopoulos, Natural Language Interfaces to Databases (NLIDB) adalah suatu sistem yang mampu mentranslasikan perintah (senctence) bahasa alami manusia menjadi query basis data (Androutsopoulos dkk, 1995). Terdapat beberapa arsitektur NLIDB yang pernah dikembangkan di dunia, diantaranya adalah :


a) Pattern-matching systems

Pada arsitektur ini digunakan metode pattern-matching untuk menjawab pertanyaan/perintah user. Sebagai contoh:

pattern: … “capital” … <country>
action:  Report CAPITAL of row where COUNTRY = <country>

b) Syntax-based systems

Pada arsitektur ini, inputan user di-parsing (dianalisis secara sintaksis), kemudian hasil dari parse tree langsung dipetakan ke bahasa query basis data. Syntax-based system menggunakan grammar yang dapat mendeskripsikan kemungkinan struktur sintaksis pada pertanyaan user.

Sebagai contoh: sistem grammar pada NLIDB LUNAR:

S → NP VP
NP → Det N
Det → “what” | “which”
N → “rock”| “specimen” | “magnesium” | “radiation” | “light”
VP → V N
V → “contains” | “emits”

Keterangan:
(S) Sentence                 (Det) Determiner
(NP) Noun Phrase       (VP) Verb Phrase
(N) Noun                      (V) Verb



Gambar 1. Contoh parse tree

NLIDB dapat memetakan parse tree di atas menjadi query basis data berikut.
(for every X (is_rock X)
  (contains X magnesium) ;
  (printout X))

c) Semantic grammar systems

Pada arsitektur semantic grammar systems, tanya-jawab masih dilakukan dengan mem-parsing input lalu memetakan parse tree ke query basis data. Perbedaannya terletak pada kategori grammar (node yang bukan leaf pada parse tree) tidak begitu sesuai dengan konsep sintaksis. Contoh semantic grammar:

S → Specimen_question | spacecraft_question
Specimen_question → Specimen Emits_info | Specimen Contains_info
Specimen → “which rock” | “which specimen”
Emits_info → “emits” Radiation
Radiation → “radiation” | “light”
Contains_info → “contains” Substance
Substance → “magnesium” | “calcium”
Spacecraft_question → Spacecraft Depart_info | Spacecraft Arrive_info
Spacecraft → “which vessel” | “which spacecraft”
Depart_info → “was launched on” Date | “departed on” Date
Arrive_info → “returns on” Date | “arrives on” Date

Gambar 2. Contoh semantic parse tree

d) Intermediate representation languages system



Gambar 3. Arsitektur Intermediate Representation Language System

Kebanyakan NLIDB saat ini menggunakan arsitektur ini. Pertama-tama pertanyaan bahasa alami ditransformasikan ke intermediate logical query (query peralihan). Query ini mengekspresikan arti dari pertanyaan user dalam high level world concepts yang tidak bergantung pada struktur basis data.

  C.    Contoh Penerapan NLIDB

      1.      Aplikasi Pengolah Bahasa Alami untuk Query Basisdata Akademik dengan Format Data Xml

Program aplikasi pengolah bahasa alami untuk query basisdata akademik dengan format data XML adalah program aplikasi yang digunakan oleh staf administrasi akademik untuk membantu pekerjaan pencarian data dalam format XML yang berkaitan dengan data akademik mahasiswa dalam basisdata akademik. Dengan menggunakan program aplikasi ini, maka staf administrasi akademik yang tidak mempunyai dasar pengetahuan SQL tetap dapat melakukan pencarian data akademik dengan menggunakan bahasa alami yaitu bahasa Indonesia.

Implementasi aplikasi pengolah bahasa alami untuk query basisdata akademik dengan format data XML menyajikan suatu perangkat lunak aplikasi yang dapat digunakan sebagai alat bantu untuk kepentingan operasional bagian administrasi akademik dalam memperoleh informasi dari suatu basisdata akademik tanpa harus direpotkan dengan permasalahan struktur penulisan query dalam bentuk SQL standar. 

Antarmuka aplikasi pengolah bahasa alami untuk query basisdata akademik dengan format XML dibuat dalam bentuk sederhana, seperti terlihat pada gambar 10, hanya terdiri dari empat bagian yaitu :

1. Bagian untuk memasukkan query dalam bentuk kalimat tanya atau kalimat perintah.
2. Bagian tombol “RUN QUERY !!!” untuk memerintahkan untuk melakukan pemrosesan terhadap query 
3. Bagian untuk menampilkan hasil query dalam bentuk tabel, 
4. Bagian tombol “LIHAT CONTOH” untuk menampilkan contoh yang berisi aturan produksi dan contoh pola pertanyaan yang dapat dijadikan sebagai query.


Gambar 4. Tampilan awal progam

Pada saat aplikasi dijalankan pertama kali maka akan langsung muncul contoh query yaitu Tampilkan Nama Mahasiswa dan tampilan hasil query dalam tabel hasil. Selanjutnya pemakai memasukkan query yang diinginkan dan kemudian menekan tombol " RUN QUERY !!! ", maka hasilnya akan ditampilkan di bagian tabel hasil. Bila data penulisan query tidak sesuai dengan aturan produksi, maka akan ditampilkan pesan kesalahan, seperti terlihat pada gambar 5.



Gambar 5. Tampilan pesan kesalahan

Bila menginginkan untuk terlebih dahulu melihat pola pertanyaan dan contoh pertanyaan yang dapat menghasilkan jawaban, maka bisa menekan tombol "LIHAT CONTOH ", dengan tampilan seperti gambar 6.


Gambar 6. Tampilan pola dan contoh

Untuk lebih lengkapnya, kita dapat melihat contoh pengaplikasiannya :


Gambar 7. Tampilan daftar dosen


Gambar 8. Tampilan daftar Nim, nama dan alamat mahasiswa


Gambar 9. Tampilan daftar mahasiswa dengan nama ayu


    D.    Kelebihan dan Kekurangan

1.      Kelebihan dan Kekurangan NLIDB

Kelebihan NLIDB :

a) Pengguna (user) sistem NLIDB tidak perlu mempelajari bahasa query basis data (SQL, dll.) melainkan cukup melakukan perintah dengan bahasa alami.
b) Perintah negasi (tidak, bukan, dll.) lebih mudah diekspresikan dalam bahasa alami dibandingkan dengan menggunakan antarmuka form.
c) Sudah dibuat aplikasi mobile-nya.

Kekurangan NLIDB :

a) Perintah-perintah yang dapat dilakukan user bersifat terbatas dan user sulit mengetahui perintah seperti apa yang tidak boleh diinputkan ke sistem.
b) Ketika sistem NLIDB tidak mengerti perintah user, seringkali sistem langsung menolak perintah tersebut sehingga user tidak mengetahui dengan jelas pada bagian mana dari inputan perintahnya yang salah/tidak diterima sistem.
c) Bersifat domain-dependent yang artinya satu sistem hanya akan bekerja dengan baik pada satu kasus/domain tertentu. Jika digunakan pada domain lain biasanya akan sulit melakukan konfigurasi yang sesuai.
d) Aplikasinya tidak mudah didapat.

         2.      Kelebihan dan Kekurangan Aplikasi Pengolah Bahasa Alami untuk Query Basisdata Akademik dengan Format Data Xml

Sebetulnya, kekurangan dan kelebihan aplikasi tersebut tidak jauh berbeda dengan kekurangan dan kelebihan NLIDB, hanya saja ada beberapa hal yang dapat kita ambil dari aplikasi tersebut, seperti :

Kelebihan :

a)      Sudah termanage dengan baik.
b)      Menyediakan contoh pengaplikasiannya.
c)      Menyediakan semua perintah dasar yang terdapat pada aplikasi tersebut.
d)      Bahasa yang digunakan mudah dimengerti oleh user.

Kekurangan :

             a)      Bahasanya masih sangat kaku atau kurang fleksible walaupun mudah dimengerti.
             b)      Perintahnya hanya mencakup beberapa perintah saja.
             c)      Tidak terlihat ada penggunaan relasi antar table.
             d)      Belum mencakup bahasa dari negara lain / belum Internasional.

   E.     Kesimpulan dan Saran

1.      Kesimpulan

Bahasa alami adalah bahasa yang dipelajari dan dikuasai manusia sedari lahir yang bersumber dari lingkungannya dan digunakan untuk berkomunikasi dengan manusia yang lain. Belajar suatu bahasa sudah dilakukan manusia pada usia yang masih relatif muda berdasarkan apa yang dilihat dan didengar olehnya. Proses penguasaan bahasa ini sangat sulit dijelaskan, karena proses tersebut berlangsung secara alami, juga karena bahasa yang digunakan untuk berkomunikasi senantiasa berkembang. Oleh karena itu, membuat komputer yang mengerti bahasa alami sangatlah sulit disamping bahasa alami sangat berbeda dengan bahasa program pada komputer, karena bahasa komputer dibuat dalam bentuk format tertentu, dimana setiap kata hanya memiliki satu arti (tidak ambigu).

Antarmuka (Interface) merupakan suatu cara berkomunikasi antara pengguna (user) dengan sistem, yang mana dapat menerima informasi dari pengguna (user) lalu memberikannya lagi untuk membantu mengarahkan alur penelusuran masalah sampai ditemukan suatu solusi. Bisa dikatakan, Interface adalah pemrograman yang bertugas untuk memecahkan masalah user tetapi dijalankan dengan tampilan yang menarik. Interface juga berfungsi untuk menginput pengetahuan baru ke dalam basis pengetahuan sistem pakar (ES), menampilkan penjelasan sistem tersebut dan memberikan panduan untuk penggunaannya secara menyeluruh / step by step sehingga pengguna mengerti apa yang akan dilakukan terhadap suatu sistem. Tujuan sebuah interface adalah mengkomunikasikan fitur-fitur sistem yang ada agar user mengerti dan dapat menggunakannya.

Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Data yang dimaksud dapat berupa angka, huruf, gambar, dll. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur data dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat mengorganisasi data, menghidari duplikasi data, hubungan antar data yang tidak jelas dan juga update yang rumit. Singkatnya, basis data adalah sebuah tempat penyimpanan data yang digunakan untuk membantu memenuhi kebutuhan user, yang mana data tersebut dimanage dengan sangat baik sehingga terhindar dari permasalahan data.

Pemrosesan Antarmuka Bahasa Alami Ke Dalam Database (Natural Language Interface To Database) adalah gabungan dari fungsi aplikasi pada pemrograman bahasa alami, interface(antarmuka), dan juga database yang juga dapat disingkat NLIDB. NLIDB dapat diartikan sebagai suatu wadah atau penyedia bahasa untuk mengendalikan database tetapi digunakan dengan bahasa masing-masing yang dikuasai seperti bahasa Indonesia, yang mana program tersebut disajikan secara menarik. Lazimnya basis data, ada perintah untuk menyimpan, menampilkan, menghapus, dll. Akan tetapi, tidak semua orang menguasai bahasa Query / bahasa yang dimengerti oleh database. Oleh karena itu, semua dapat dipermudah dengan adanya NLIDB. Karena dengan NLIDB, Query tersebut dapat diterjemahkan kedalam bahasa yang kita mau dengan tampilan yang atraktif. Sistem untuk mendapatkan informasi dalam basis data telah lama diteliti yakni di tahun 1961 dengan sistem yang bernama Green’s BASEBALL dan sistem LUNAR di tahun 1972 (Copestake dan Jones, 1989).

Dengan adanya NLIDB, pengguna tidak perlu mempelajari bahasa query basis data (SQL, dll.) melainkan cukup melakukan perintah dengan bahasa alami. Sayangnya, Bahasa yang kita masukan tidaklah seperti lazimnya bahasa yang kita gunakan sehari-hari. Karena, bahasa yang terdapat pada NLIDB hanya mencakup apa-apa yang sudah ditentukan. Dalam artian, bahasanya sangatlah kaku dan terbatas sehingga membuat user sulit mengetahui perintah seperti apa yang tidak boleh diinputkan ke sistem. Sehingga, sering terjadi masalah seperti ketika sistem NLIDB tidak mengerti perintah user, seringkali sistem langsung menolak perintah tersebut sehingga user tidak mengetahui dengan jelas pada bagian mana dari inputan perintahnya yang salah/tidak diterima sistem. Selain itu, NLIDB bersifat domain-dependent yang artinya satu sistem hanya akan bekerja dengan baik pada satu kasus tertentu. Jika digunakan pada kasus lain biasanya akan sulit melakukan konfigurasi yang sesuai. Dan walaupun NLIDB sudah tersedia dalam aplikasi mobile (HP), aplikasi serta programnya masih sulit ditemukan.

Pada contoh program diatas, kita bisa melihat penerapan NLIDB dalam Bahasa Indonesia. Dimana basis data akademik yang biasanya menggunakan Query database yang bermacam-macam, dapat diterapkan dengan bahasa Indonesia. Mulai dari menyimpan data, menampilkan, menghapus, dan mencari data dengan kriteria tertentu seperti database pada umumnya. Namun seperti yang sudah saya jelaskan tadi, bahasanya masih sangat kaku dan terbatas. Tidak sefleksible bahasa yang kita gunakan sehari-hari.

2.      Saran

Jika ingin menemukan apa kekurangan NLIDB, sebenarnya hampir tidak ada. Karena jujur saja, menurut saya pengaplikasian NLIDB sangatlah luar biasa. NLIDB sangat termanage dengan baik dan sedikit sekali kekurangan yang terlihat. Walaupun dari referensi dan pengamatan yang saya dapatkan pada NLIDB ada beberapa, sebenarnya semua itu hanya mencakup kurangnya pengembangan dari NLIIDB yang juga disebabkan karena kurang terkenalnya NLIDB. Seandainya saya tidak mendapatkan tugas inipun saya belum tentu mengetahui tentang NLIDB. Jadi bisa diambil kesimpulan, seandainya NLIDB mendapatkan banyak perhatian seperti layanknya pemrograman komputer, pastilah kekurangannya hanya sedikit sekali. Saran saya hanya seputar pengembangan dari NLIDB saja. NLIDB ini sebenarnya suatu program yang sangat dibutuhkan di berbagai negara, seperti database pada umumnya. Mungkin kita dapat lebih memperkenalkan lagi NLIDB kepada khalayak. Sehingga dengan dikenalnya NLIDB, maka proses untuk pengembangannya akan lebih mendapatkan perhatian. Agar kekurangan terbesar NLIDB yang berupa Bahasa yang masih kaku dan terbatas dapat diatasi.


Referensi :

http://metode1.blogspot.co.id/2013/07/pengertian-bahasa-alami.html
http://muhamadjaelani35.blogspot.co.id/2013/04/pengertian-interface.html
https://id.wikipedia.org/wiki/Pemrosesan_bahasa_alami
http://www.mandalamaya.com/pengertian-database/
http://www.termasmedia.com/65-pengertian/69-pengertian-database.html
https://arxiv.org/pdf/cmp-lg/9503016.pdf
http://ijcsi.org/papers/IJCSI-8-2-600-608.pdf
http://jurtek.akprind.ac.id/sites/default/files/12-19-Raharjo.pdf