• Tidak ada hasil yang ditemukan

INTERFACE BAHASA ALAMI UNTUK QUERY BASIS DATA RELASIONAL : APLIKASI PADA BASIS DATA MEDIS

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 112-116)

1Rusdah, 2Sri Hartati

1Program Studi Sistem Informasi, Fakultas Teknologi Informasi

Universitas Budi Luhur, Jakarta, Indonesia

2Jurusan Ilmu Komputer dan Elektronika, Fakultas Matematika dan Ilmu Pengetahuan Alam

Universitas Gadjah Mada, Yogyakarta, Indonesia

1rusdah@budiluhur.ac.id, 2shartati@ugm.ac.id

ABSTRAK

Aplikasi pada dunia medis memerlukan akses database dengan jumlah data yang sangat besar. Dengan demikian, proses pencarian informasi yang efektif, efisien dan mudah kini menjadi kebutuhan. Sayangnya hanya sedikit tenaga medis yang memiliki kemampuan untuk mengakses sistem manajemen basis data. Bahasa adalah hambatan terbesar dalam interaksi antara manusia dengan komputer. Untuk itu diperlukan sebuah interface yang memungkinkan manusia menggunakan bahasa alami dalam berinteraksi dengan komputer. Aplikasi pengolah bahasa alami untuk query pada basis data relasionaltelah dibangun untuk memungkinkan komunikasi antara tenaga medis dan komputer tanpa harus mengerti perintah dan prosedur yang kompleks.Terdapat 9 kalimat permintaan sederhana sesuai aturan produksi yang dapat diuji. Pengujian dilakukan dengan menggunakan 428 record data medis. Hasil menunjukkan bahwa pengolah bahasa alami dapat memberikan keluaran sesuai dengan permintaan user.

Kata Kunci : Natural Language Interface, Query, Relational Database, Aplikasi Pengolah Bahasa Alami,

Natural Language Processing

1. Pendahuluan

Dunia medis memiliki cakupan data yang sangat besar, berisi berbagai rekaman medis tentang pasien, anamnese, diagnosa, tindakan yang dilakukan tenaga medis hingga data obat- obatan yang diberikan. Simpanan data yang sangat besar tersebut seringkali diakses berulang-ulang bagi para tenaga medis baik sebagai dasar pengambilan keputusan dalam menangani pasien atau pengambilan keputusan lain yang berhubungan dengan kebijakan penanganan kesehatan.

Sayangnya bahasa menjadi kendala bagi tenaga medis dalam mencari informasi karena kurangnya pengalaman berinteraksi dengan aplikasi atau sistem manajemen basis data. Salah satu solusi yang memungkinkan adalah penggunaan Natural Language Interfaceuntuk mengakses basis data tanpa perlu keahlian khusus.Natural Language Processing (NLP) menggunakan bahasa natural sehingga tidak memerlukan pelatihan khusus bagi penggunanya[1]

Pengembangan sistem query dengan menggunakan pengolah bahasa alami sebagai interfaceuntuk database telah dilakukan oleh beberapa peneliti sebelumnya, baik untuk database XML maupun database relasional [1-4]

Penelitian [5]bertujuan untuk merancang dan mengimplementasikan sebuah sistem query database relasional yang menggunakan interface bahasa alami untuk bahasa Spanyol dengan sudut pandang sistem informasi. Syntax Checker-nya mampu menangani 10 pola kalimat sederhana dan kompleks.

2. PengolahBahasa Alami (NLP)

Tujuan NLP adalah untuk memungkinkan komunikasi antara manusia dan komputer tanpa harus mengerti perintah dan prosedur yang kompleks. Dengan kata lain, NLP adalah sebuah teknik yang membuat komputer mengerti bahasa alami manusia, tetapi bukan bahasa buatan manusia seperti bahasa pemrograman [6].

Struktur pengolah bahasa alami yang akan digunakan dalam penelitian ini mengikuti Gambar 1 berikut:

NLIDB

Natural Language Interface to a Database

(NLIDB) adalah sebuah sistem yang memungkinkan user mengakses informasi yang tersimpan dalam sebuah database dengan cara menuliskan permintaan dalam bahasa alami (misalnya dalam bahasa Inggris) [7]. Dalam [8], dirangkum bahwa NLIDB telah diterapkan untuk tujuan translasi bahasa alami ke SQL, untuk interpretasi dari query yang diinput, termasuk proses parsing dan semantic yang ambigu, interpretasi semantic dan transformasi dari query menjadi bentuk logis.

3. Metode Penelitian

Diawali dengan tahapan analisa mengenai beberapa kalimat berbahasa alami yang akan digunakan oleh tenaga medis, seperti yang ditunjukkan pada Tabel 1.Kemudian dilanjutkan dengan pembentukan aturan produksi untuk menghasilkan kalimat permintaan tersebut, seperti yang ditunjukkan pada Gambar3. Berdasarkan aturan produksi tersebut diperoleh daftar token. Daftar token tersebut akan diproses oleh komponen parser dan akan menghasilkan pohon sintaks, untuk kemudian diproses oleh translator sehingga menghasilkan Structured Query Language (SQL). Setelah itu evaluator akan mengeksekusi SQL tersebut menjadi keluaran NLP dalam bentuk yang dapat dimengerti oleh tenaga medis. Proses ini mengikuti struktur pengolah bahasa alami seperti yang ditunjukkan pada Gambar 1.Kemudian proses pengumpulan datamedis dilakukan.Setelah data diperoleh, dilanjutkan dengan pengujian.

Data yang digunakan dalam pengujian pada penelitian ini adalah data medis yang diperoleh dari sebuah rumah sakit ibu dan anak di Jakarta. Data set terdiri dari 11 atribut, yaitu nomor rekam medis, nomor registrasi, tanggal daftar, jam daftar, usia tahun, usia bulan, usia hari, jenis kelamin, poli, diagnosa dan memiliki 428 record.

Dalam penelitian ini dilakukan proses pengolahan permintaan dari user dengan bahasa alamimenjadi SQL yang dapat dimengerti oleh

Database Management System (DBMS) atau SQL

Generator, untuk kemudian hasil disajikan dalam bentuk yang dapat dimengerti oleh user. Rincian dari proses pengolahan tersebut diilustrasikan dengan menggunakan Activity Diagram seperti

Gambar 2 berikut:

Gambar 2. Activity Diagram pemrosesan bahasa alami menjadi SQL dan hasil dalam bahasa alami 4. Aturan Produksi

Input yang digunakan dalam penelitian ini adalah permintaan dengan bahasa alami (dalam bahasa Indonesia) yang menyerupai bahasa percakapan sehari-hari. Input ini berupa permintaan untuk mengakses informasi yang tersimpan dalam database.Beberapa contoh bentuk kalimat alami yang dapat dimasukkan seperti pada tabel 1 berikut:

Tabel 1. Contoh kalimat permintaan

No. Kalimat Permintaan

1. Cari pasien yang diagnosanya TB

2. Tampilkan informasi pasien yang sakit TB 3. Tampilkan informasi pasien yang terdiagnosa

TB paru dan wanita

4. Hitung jumlah pasien yang menderita TB paru 5. Hitung jumlah pasien yang wanita

6. Hitung jumlah pasien yang menderita TB dan wanita

7. Berapa jumlah pasien yang terdiagnosa TB 8. Berapa jumlah pasien pada Poli Penyakit

Dalam

9. Berapa jumlah pasien pada Poli Penyakit Dalam dan wanita

Aplikasi ini memerlukan aturan produksi yang harus dipatuhi oleh user dalam memberikan input. Berdasarkan pola aturan dalam penulisan query, maka aturan produksi dengan simbol awal <S> ditentukan seperti pada Gambar 3 (Lampiran) 5. Hasil Pengujian

Berdasarkan aturan produksi yang telah ditentukan sebelumnya, maka sistem hanya akan memproses kalimat input yang sesuai dengan aturan produksi tersebut. Kalimat permintaan dalam bahasa alami yang diinput kemudian masuk ke dalam scanner untuk dijadikan daftar token.Daftar token yang terbentuk akan dibandingkan dengan daftar token yang tersimpan,

bila tidak ditemukan sistem akan menampilkan pesan kesalahan. Bila ditemukan, token-token ini akan diproses oleh parser, untuk kemudian diperiksa apakah struktur kalimat yang diinput sesuai dengan aturan produksi yang sudah ditetapkan. Bila tidak sesuai, sistem akan menampilkan pesan kesalahan.Bila sesuai dengan aturan produksi, maka translator akan menterjemahkan hasil keluaran dari parser menjadi bahasa query. Query tersebut selanjutnya akan diproses oleh evaluator agar dapat memberikan hasil dalam bahasa yang dapat dimengerti oleh user.

Berikut salah satu contoh pengolahan satu kalimat yang diminta user dengan menggunakan bahasa alami menjadi SQL hingga memberikan output sesuai dengan data yang diminta.

Scanner

Input (bahasa alami) : cari info pasien yang terdiagnosa TB dan wanita

Output : <cari><info><pasien><yang><ter diagnosa><TB><dan><wanita>. Parser Input : <cari><info><pasien><yang><ter diagnosa><TB><dan><wanita>. Output : (<cari>),(<info>),(<pasien>),(<yan g><terdiagnosa><TB><dan><wani ta>). Translator

Input : (*, tabel datapasien), (<yang> (diagnosa, JK, tabel datapasien)) Output : select * from datapasien where

diagnosa like „%TB%‟ and JK = „wanita‟;

Evaluator

Input : select * from datapasien where diagnosa like „%TB%‟ and JK = „wanita‟;

Output : Hasil SQL.

Pada Gambar4 dapat dilihat bahwa bila user menginput kalimat permintaan dengan bahasa alami: “cari info pasien yang

terdiagnosa TB dan wanita” maka

sistem akan mengaktifkan komponen scanner dan menghasilkan daftar token, kemudian dilakukan

pos tagging pada komponen parser. Selanjutnya komponen translator akan menghasilkan SQL:

select from datapasien where JK =

‘wanita’ and diagnosa like

‘%tb%’dan evaluator akan mengeksekusi SQL tersebut untuk menghasilkan keluaran / output NLP.

Contoh kalimat lainnya adalah “Berapa

jumlah pasien yang terdiagnosa TB dan wanita” dan “Berapa jumlah pasien pada poli penyakit dalam dan wanita”. Melalui proses yang sama

dengan penjelasan Gambar 4, kalimat tersebut akan memberikat output NLP seperti yang ditunjukkan pada Gambar 5 dan Gambar 6 (Lampiran).

6. Kesimpulan

Interface bahasa alami mempermudah seorang user yang tidak memiliki kemampuan khusus untuk dapat mengakses informasi yang tersimpan dalam database dengan menggunakan kalimat sehari-hari.

Penelitian ini menggunakan domain khusus (data medis) dalam pengujiannya, tetapi tidak tertutup kemungkinan untuk digunakan pada domain lain. Sistem yang diusulkan memiliki kemampuan untuk diubah suaikan ke domain lain. Aplikasi ini masih terbatas pada penggunaan query dengan fungsi select dan agregat sederhana. Sehingga perlu dilakukan pengembangan agar aplikasi ini mampu menyelesaikan fungsi agregat tingkat lanjut.

Referensi

[1] M. Maragoudakis, B. Kladis, A. Tsopanoglou, K. Sgarbas, and N.

Fakotakis, “Human-Computer Interaction

using Natural Language . An Application

in the Medical Treatment Domain.”

[2] Kuspriyanto, H. Sujani, H. Tjahjono, and

S. Kusuma, “Perancangan Translator

Bahasa Alami ke dalam Format SQL

(Structured Query Language),”

TEKNOIN, vol. 10, no. 3, pp. 225–236, 2005.

[3] S. Hartati and E. Zuliarso, “Aplikasi

Pengolah Bahasa Alami untuk Query

Basisdata XML,” Jurnal Teknologi

informasi DINAMIK, vol. XIII, no. 2, pp. 168–175, 2008.

[4] X. Yiqiu, W. Liwei, and Y. Shi, “The

study on natural language interface of

relational databases,” 2010 The 2nd

Conference on Environmental Science and Information Application Technology, pp. 596–599, Jul. 2010.

[5] R. A. P. Rangel, A. Gelbukh, and J. J. G.

Barbosa, “Spanish Natural Language

Interface for a Relational Database

Querying System,” in 5th International

Conference, Text Speech and Dialog 2002, 2002, pp. 123–130.

[6] B.-B. Huang, G. Zhang, and P. C.-Y.

Sheu, “A Natural Language Database

Free Grammar,” IEEE International Workshop on Semantic Computing and Systems, pp. 155–162, Jul. 2008.

[7] I. Androutsopoulos, G. D. Ritchie, and P.

Thanisch, “Natural Language Interfaces to

Databases – An Introduction,” Natural Language Engineering, vol. 2, no. 1, pp. 28–81, 1995.

[8] C. Hallett, “Generic Querying of

Relational Databases using Natural Language Generation Techniques,” in

Proceedings of the Fourth International

Natural Language Generation

Conference, 2006, no. July, pp. 88–95.

Lampiran :

Gambar 3. Aturan Produksi

Gambar 5. Hasil pengujian

Gambar 6. Hasil pengujian

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 112-116)

Garis besar

Dokumen terkait