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