PENGEMBANGAN KG_EDITOR BERBASIS JAVA DESKTOP
UNTUK MODUL KATA KETERANGAN
MUSTHAFA TANFIZ SYARIAT WALAYATULLAH
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
PENGEMBANGAN KG_EDITOR BERBASIS JAVA DESKTOP
UNTUK MODUL KATA KETERANGAN
MUSTHAFA TANFIZ SYARIAT WALAYATULLAH
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
ABSTRACT
MUSTHAFA TANFIZ SYARIAT WALAYATULLAH. Development of Java Based KG_EDITOR for Adverbs. Supervised by SRI NURDIATI and AHMAD RIDHA
Knowledge Graph (KG) is one of natural languange processing representation methods in explaining and modeling natural languange. This method is able to cope with text ambiguity. BogorDelfConStruct is the first KG application developed in Indonesia using MATLAB; however, this application requires MATLAB which is a closed platform application. Previous research has produced 21 word graph patterns for adverbs. This research developed a Java desktop application called KG_Editor that can be used to analyze adverbs using KG. Modules needed by KG_EDITOR are word graph component module and adverb word graph generation module. Overally, KG_EDITOR development has been able to recognize 21 word graph patterns for adverbs in accordance with the previous research.
Judul skripsi : Pengembangan KG_EDITORBerbasis Java Desktop untuk Modul Kata Keterangan
Nama : Musthafa Tanfiz Syariat Walayatullah NRP : G64070024
Menyetujui,
Pembimbing I Pembimbing II
Dr. Ir. Sri Nurdiati, M.Sc Ahmad Ridha, S.Kom, MS NIP. 19601126 198601 2 001 NIP. 19800507 200501 1 001
Mengetahui, Ketua Departemen
Dr. Ir. Agus Buono, M.Si, M.Kom NIP. 19660702 199302 1 001
petolongan-Nya sehingga karya ilmiah ini berhasil diselesaikan. Penyusunan karya ilmiah ini juga tidak lepas dari bantuan berbagai pihak. Untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada:
1 Ibu Endah Wahidah yang telah memberikan kasih sayang, dukungan, doa, pengorbanan, dan nasihat yang senantiasa mengiringi perjalanan penulis selama ini; kakakku Siti Satia Rahayu; adik-adikku: Dina Thorifah Rahmani, Felly Citia Iradati Yusrina, Rani Faizah, Apifah Susanti, dan Siti Rabiyah atas semangat, doa dan dukungannya; keluarga besar Duduh Abdillah atas doanya dan dukungannya;
2 Ibu Dr. Ir. Sri Nurdiati, M.Sc. selaku dosen pembimbing I (atas semua ilmu, kesabaran, dan bantuan selama penulisan karya ilmiah ini);
3 Bapak Ahmad Ridha, S.Kom, MS. selaku dosen pembimbing II (atas semua ilmu, kesabaran, dan bantuan selama penulisan karya ilmiah ini);
4 Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku dosen penguji (atas semua ilmu, saran, dan motivasinya);
5 Semua dosen Departemen Ilmu Komputer (atas semua ilmu yang telah diberikan); 6 Lingga Divika Anggiruling atas kasih sayang, dukungan, semangat, dan doanya;
7 Anak-anak kontrakan Kuraba97: Imus, Daonk, Awi, Cumi, Rusak, Alan, Riza, Roto, Ridha, dan Cacing atas semangat, doa, dan perhatiannya. Kebersamaan kita akan selalu dikenang; 8 Anak-anak Warkop Bateng: Gamma Satria Kurniawan, Achmad Rifai, Wisnugroho Agung
Pribadi, Otri Delvi, Ridwan Agung Prasetya, Rilan M Fikri, Adi Gunarso, Ijot, Sendi, Aa Warkop, Mumu, dan yang lainnya atas kebersamaan selama ini;
9 Teman-teman satu bimbingan: Rani, Dean, Nisa, Made, dan Ria atas bantuan dan motivasinya;
10 Teman-teman Ilkomerz 44: Fauzi, Aan, Fani, Abay, Tito, Arif, Rahman, Ira, Romi, Raden, Fandi, dan teman-teman lainnya yang tak bisa disebutkan satu persatu atas semangat dan kebersamaan selama 3 tahun di Ilkomerz 44;
11 Teman-teman IKAMASI: Dinda, Rina, Lida, Yoga, Pam-pam, Teguh, Ari, Kornel, Hasan, dan lainnya atas doa, dukungan, dan semangatnya;
12 Semua pihak yang telah memberikan dorongan, doa, semangat, bantuan dan kerja sama selama pengerjaan karya ilmiah ini.
Karya ilmiah ini masih jauh dari kesempurnaan, namun penulis berharap semoga penelitian ini dapat memberikan manfaat.
Bogor, Januari 2012
iii
RIWAYAT HIDUP
Penulis dilahirkan di Sukabumi pada tanggal 14 April 1990 dari pasangan Bapak Bambang Imam dan Ibu Endah Wahidah. Penulis merupakan anak kedua dari tujuh bersaudara.
Pendidikan formal yang ditempuh penulis yaitu MI MWB (Madrasah Wajib Belajar) lulus pada tahun 2002, SMP Negeri 1 Cisaat lulus pada tahun 2005, SMA Negeri 1 Kota Sukabumi lulus pada tahun 2007. Pada tahun yang sama diterima di Institut Pertanian Bogor Fakultas Matematika dan Ilmu Pengetahuan Alam Departemen Ilmu Komputer melalui Undangan Seleksi Masuk IPB (USMI).
iv
DAFTAR ISI
Halaman
DAFTAR GAMBAR ... v
DAFTAR LAMPIRAN ... v
PENDAHULUAN Latar Belakang ... 1
Tujuan Penelitian ... 1
Ruang Lingkup ... 1
Manfaat ... 1
TINJAUAN PUSTAKA Knowledge Graph... 1
Aspek Ontologi ... 2
Java ... 2
Abstract Window Toolkit (AWT) ... 3
Metode Pengembangan Prototype ... 3
Kata Keterangan ... 3
Kata Keterangan dari Segi Perilaku Semantisnya... 3
METODE PENELITIAN Memahami Keinginan Klien ... 4
Membuat atau Memperbaiki Mock-up ... 4
Pengujian Mock-up ... 5
HASIL DAN PEMBAHASAN Analisis ... 5
Membuat atau Memperbaiki Mock-up ... 6
Pengujian Mock-up ... 8
KESIMPULAN DAN SARAN Kesimpulan ... 9
Saran ... 9
DAFTAR PUSTAKA ... 9
v
DAFTAR GAMBAR
Halaman
1 Word graph kata„kurang‟ ... 2
2 Word graph kata„sekarang‟ ... 2
3 Diagram metode pengembangan prototype ... 4
4 Use case untuk KG_EDITOR ... 6
5 Panelmenubar ... 8
6 Panel kanvas ... 8
7 Input dialog box kata keterangan ... 8
DAFTAR LAMPIRAN
Halaman 1 Pola aturan word graph kata keterangan ... 122 Diagram alir pengembangan KG_EDITORmodul kata keterangan ... 16
3 Class diagram KG_EDITOR ... 17
4 Sequence diagram KG_EDITOR ... 19
5 Antarmuka dan menu pada KG_EDITOR ... 20
PENDAHULUAN
Latar Belakang
Teks merupakan bahasa alami berupa tulisan. Ambiguitas dalam teks pun banyak dijumpai, sehingga pemahaman terhadap teks tersebut dapat bersifat subyektif. Metode yang digunakan untuk memecahkan masalah dalam teks salah satunya adalah dengan metode Knowledge Graph (KG).
Metode KG merupakan satu jenis dari representasi Natural Language Processing, yang mengarahkan pada cara baru dalam menjelaskan dan memodelkan bahasa alami dan juga sebagai langkah ke depan untuk pemahaman terhadap aspek semantik dari suatu kata (Zhang 2002). Dengan cara menganalisis teks diharapkan dapat menghasilkan sebuah pengetahuan baru. Berbagai penelitian KG yang dilakukan diharapkan mampu merancang suatu sistem yang dapat melakukan pembacaan terhadap sembarang dokumen yang diinginkan dan menginterpretasikan informasi yang didapat dalam bentuk graph.
Penelitian tentang KG teks bahasa Indonesia telah dikaji sebelumnya oleh beberapa mahasiswa di Departemen Matematika dan Departemen Ilmu Komputer Institut Pertanian Bogor. Romadoni (2009) mengembangkan BogorDelfConStruct, suatu sistem pembentuk word graph untuk teks bahasa Indonesia. Samba (2010) menganalisis pembentukan word graph kata keterangan menggunakan metode KG, yang menghasilkan pola aturan untuk kata keterangan.
BogorDelfConStruct adalah sebuah tools yang berguna untuk pembentukan word graph dan melakukan analisis terhadap teks bahasa Indonesia. BogorDelfConStruct merupakan aplikasi KG yang pertama kali dikembangkan di Indonesia menggunakan bahasa pemrograman MATLAB. Namun, aplikasi ini tidak dapat dinikmati oleh semua orang secara mudah, karena aplikasi ini hanya dapat dijalankan menggunakan perangkat lunak MATLAB yang merupakan sebuah aplikasi closed platform. Dengan demikian diperlukan suatu aplikasi BogorDelfConStruct yang dapat dijalankan tanpa perangkat lunak MATLAB.
Karena terdapat keterbatasan pemakaian pada aplikasi BogorDelfConStruct yang menyebabkan BogorDelfConStruct tidak mudah diakses dan adanya pola aturan word graph kata keterangan hasil penelitian Samba
(2010), penelitian yang dilakukan adalah mengembangkan sebuah aplikasi pembentuk word graph kata keterangan yang berbasis Java desktop. Aplikasi ini berfungsi menampilkan setiap word graph yang sesuai dengan masukan kata keterangan.
Tujuan Penelitian
Penelitian ini bertujuan merintis pengembangan KG_EDITOR untuk kata keterangan berbasis Java desktop yang membentuk word graph kata keterangan dan dapat merepresentasikan makna suatu kata keterangan secara otomatis sesuai dengan pola aturan kata keterangan berdasarkan hasil penelitian sebelumnya.
Ruang Lingkup
Ruang lingkup penelitian ini dibatasi pada pengembangan modul kata keterangan pada KG_EDITOR yang berbasis Java desktop dengan pola aturan kata keterangan dari hasil penelitian sebelumnya. Penelitian tersebut menghasilkan pola aturan word graph jenis kata keterangan dari segi perilaku semantisnya dan menghasilkan 9 jenis bentuk word graph menurut bentuknya (Samba 2010). Pola aturan word graph kata keterangan terdapat pada Lampiran 1.
Manfaat
Implementasi nyata dari manfaat jangka panjang penelitian ini yaitu terbentuknya suatu sistem yang dapat membaca input berupa teks dan menghasilkan output berupa ringkasan teks tersebut. Manfaat jangka pendek dari penelitian ini protoype sistem yang mampu memberikan pengetahuan atau mempresentasikan makna kata keterangan dalam bentuk word graph.
TINJUAN PUSTAKA
Knowledge GraphMenurut Zhang (2002), teori KG adalah jenis sudut pandang baru, yang digunakan untuk menggambarkan bahasa manusia saat lebih memfokuskan kepada aspek semantik daripada aspek sintaksis. KG mempunyai kemampuan lebih kuat untuk mengekspresikan dan menggambarkan pada lapisan semantis, meminimumkan penggunaan himpunan relasi, dan menirukan pengertian dari jalan pikiran manusia.
relationship (Zhang 2002). Concept terdiri atas token, type, dan name. Relationship terdiri atas binary relationship dan multivariate relationship.
Word graph merupakan graph dari kata. Dalam metode KG, setiap kata yang berhubungan dengan sebuah word graph menyatakan arti kata yang disebut dengan semantic word graph. Gabungan semantic word graph dalam sebuah kalimat akan membentuk sentence graph. Graph yang merepresentasikan gabungan dari sentence graph dalam sebuah teks disebut text graph yang terdapat pengetahuan di dalamnya (Hoede & Nurdiati 2008).
Aspek Ontologi
Ontologi adalah keterangan untuk menggambarkan beberapa konsep dan relasi-relasi di antaranya, dengan maksud untuk memberikan definisi yang cukup terhadap ide-ide yang dituangkan dengan komputer untuk merepresentasikan ide-ide tersebut dan logikanya (Hulliyah 2007). Sampai saat ini, ontologi word graph direpresentasikan dengan sebuah node, 8 binary relationships, ontologi F, dan 4 frame relationships. Berikut ini adalah gambaran dari 8 types relationship (Zhang 2002):
8 SKO (informational dependency)
Selain 8 binary relationships, ada ontologi F (Focus) yang digunakan untuk menunjukkan fokus dari suatu graph(Nurdiati & Hoede 2009). Ontologi F juga digunakan untuk menunjukkan kata atau kalimat yang diterangkan dalam suatu pernyataan (inti). Frame relationship merupakan verteks berlabel yang digunakan untuk mengelompokkan beberapa graph. Ada 4 frame relationships, yaitu Focusing on a situation (FPAR), Negation on a Situation (NEGPAR), Possibility on a Situation (POSPAR), Necessity on a Situation (NECPAR). Ada kalanya suatu objek tidak cukup direpresentasikan dengan sebuah token, sehingga diperlukan sebuah frame untuk pengelompokan tersebut. Gambar 1 dan Gambar 2 menunjukan bentuk word graph „kurang‟ dan „sekarang‟.
Gambar 1 Word graph kata„kurang‟.
Gambar 2 Word graph kata ‘sekarang‟.
Java
Java adalah bahasa pemrograman dan platform komputasi yang pertama kali dirilis oleh Sun Microsystem pada tahun 1995. Java merupakan bahasa pemrograman yang berorientasi objek dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya berfokus pada suatu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi yang bersifat open source. Menurut definisi dari Sun Microsystem, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone maupun pada lingkungan jaringan. Java memiliki karakteristik sebagai berikut (Horstmann & Cornell 2002):
Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan alokasi memori otomatis dan memory garbage collection.
Berorientasi objek
dalam objek dan melakukan interaksi di antara objek-objek tersebut.
Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
Robust
Java memiliki reliabilitas yang tinggi. Compiler pada Java memiliki kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java memiliki runtime exception handling untuk membantu mengatasi error pada pemrograman.
Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
Architecture neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.
Abstract Window Toolkit (AWT)
Java memiliki kumpulan class khusus untuk membuat aplikasi berbasis grafik dan membuat user interfaces. Class-class tersebut dikelompokkan ke dalam suatu package java.awt, java.awt.event, java.awt.image, java.applet, dan java.awt.datatransfer yang dinamakan AWT. Class-class pada AWT menyediakan platform independent, sehingga untuk setiap platform yang berbeda komponen AWT secara otomatis dipetakan ke komponen spesifik dari platform tersebut.
Metode Pengembangan Prototype
Metode prototype merupakan salah satu metode perangkat lunak yang sering digunakan ketika seorang pengguna hanya mendefinisikan secara umum mengenai apa yang dikehendakinya tanpa menjelaskan dengan detail input, proses, serta output yang
dibutuhkan. Sebaliknya, pengembang kurang memerhatikan efisiensi algoritme, serta kemampuan sistem operasi dan antarmuka yang menghubungkan manusia dan komputer (Pressman 2002).
Metode prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Apabila suatu prototype dibangun, pihak pengembang akan berusaha untuk menggunakan bagian-bagian dari program tersebut atau menggunakan suatu tools yang memungkinkan program dapat dihasilkan dengan cepat (Pressman 2002).
Kata Keterangan
Kata keterangan menurut tatarannya dapat dibedakan dalam tataran frasa dan tataran klausa. Kata keterangan dalam tataran frasa merupakan kata yang menjelaskan kata kerja, kata sifat, atau kata keterangan lainnya. Dalam tataran klausa, kata keterangan adalah kata yang membatasi atau menjelaskan fungsi-fungsi sintaks. Pada umumnya, kata atau bagian kalimat yang dijelaskan oleh kata keterangan itu berfungsi sebagai predikat (Alwi et al. 2003).
Kata Keterangan dari Segi Perilaku Semantisnya
Berdasarkan perilaku semantisnya, kata keterangan dapat dibedakan menjadi 10 jenis kata, yaitu:
1 Kata keterangan kualitatif 2 Kata keterangan kuantitatif 3 Kata keterangan limitatif 4 Kata keterangan frekuentif 5 Kata keterangan kewaktuan 6 Kata keterangan kecaraan 7 Kata keterangan kontrastif 8 Kata keterangan keniscayaan 9 Kata keterangan lokatif 10 Kata keterangan instrumental.
METODE PENELITIAN
Penelitian ini diawali dengan mengkaji lebih dalam tentang konsep dan cara mengimplementasikan KG dalam teks berbahasa Indonesia, serta menganalisis pembentukan pola word graph jenis kata keterangan. Beberapa literatur yang digunakan dalam konsep KG teks bahasa Indonesia di antaranya adalah tesis Samba (2010) yang
berjudul “Analisis Pembentukan Word Graph
(2009) dengan judul “Pengembangan Sistem
Pembentukan Word Graph untuk Teks Berbahasa Indonesia”. Hasil pengkajian ini kemudian digunakan untuk membangun sistem KG_EDITOR sesuai dengan konsep KG.
Data yang digunakan pada penelitian ini adalah kata keterangan berbahasa Indonesia dari segi perilaku semantisnya. Pola umum pembentukan word graph kata keterangan berdasarkan kelompok bentuk word graph berjumlah 9 jenis, dengan jumlah pola sebanyak 21 pola. Pola tersebut didapat dari penelitian yang dilakukan oleh Samba (2010).
Metode yang dilakukan dalam tahap pengembangan KG_EDITOR adalah metode prototype. Menurut Pressman (2002), terkadang klien mendefinisikan tujuan perangkat lunak secara umum, namun tidak menjelaskan secara detail kebutuhan masukan, proses, dan keluaran dari perangkat lunak tersebut. Pada metode prototype, langkah yang dilakukan dimulai dari komunikasi pengembang perangkat lunak dengan pengguna untuk mendiskusikan tujuan keseluruhan dari perangkat lunak tersebut, mengidentifikasi kebutuhan, dan menguraikan permintaan klien. Kemudian dilakukan perencanaan dan perancangan yang mengarah kepada pembuatan prototype dari perangkat lunak yang akan dibuat. Selanjutnya prototype tersebut diserahkan dan dievaluasi oleh klien. Feedback yang diberikan dari klien yang berupa kritik maupun saran akan digunakan untuk menyempurnakan permintaan kebutuhan dari perangkat lunak tersebut. Diagram metode pengembangan prototype dapat dilihat pada Gambar 3.
Gambar 3 Diagram metode pengembangan prototype.
Memahami Keinginan Klien
Memahami keinginan klien dilakukan dengan cara melakukan analisis terhadap kebutuhan, batasan, dan tujuan perangkat lunak. Analisis dilakukan terhadap BogorDelfConStruct dengan melihat fungsi yang sudah relevan maupun yang harus diperbaiki kembali. Analisis dilanjutkan dengan mendefinisikan kebutuhan yang seharusnya ada pada KG_EDITOR untuk modul kata keterangan.
Konsep penting dari graph sendiri adalah terdapatnya verteks dan edge. Verteks merepresentasikan sebuah token, sedangkan edge merepresentasikan relasi antar-token atau teks dari word graph. Kebutuhan sistem dalam membentuk word graph merupakan fungsi dari sistem ini. Pada KG_EDITOR yang dikembangkan ini, pembuatan komponen word graph sesuai dengan konsep KG yang akan digambarkan pada sebuah kanvas.
Analisis kebutuhan sistem dilakukan dengan melihat fungsi dari KG_EDITOR modul kata keterangan sebagai tools untuk menganalisis teks dalam bentuk word graph. Hal utama yang dibutuhkan adalah kemampuan sistem untuk merepresentasikan makna suatu kata keterangan secara otomatis dalam bentuk graph yang sesuai dengan konsep KG. Proses pembangkitan word graph kata keterangan pun didefinisikan sebagai kebutuhan sistem.
Membuat atau Memperbaiki Mock-up
Tahapan ini mencakup proses perancangan dan pemrograman perangkat lunak secara keseluruhan. Perancangan KG_EDITOR berdasarkan pendefinisian kebutuhan sistem adalah sebagai berikut:
1 Perancangan Fungsional
Perancangan fungsional pada KG_EDITOR meliputi 2 modul, yaitu:
a Pembuatan komponen word graph
b Pembangkitan word graph kata keterangan
Pembentukan pola word graph kata keterangan harus sesuai dengan aturan-aturan pembentukan kata keterangan dari hasil analisis Samba (2010). Pada penelitian ini diperoleh 10 jenis daftar pola kata keterangan berdasarkan maknanya. Proses praproses, tokenisasi, pengecekan KBBI, dan penentuan pola word graph menjadi satu kesatuan dalam modul ini.
2 Perancangan Antarmuka
Perancangan antarmuka utama KG_EDITOR yang akan ditampilkan, yaitu sebuah kanvas sebagai media visualisasi graph dan menubar sebagai menu utama yang terdapat menu “File” dan “Kamus”. Pada menu bar“kamus” terdapat menu item “kata
keterangan”, “kata benda”, dan “kata kerja”.
3 Lingkungan Pengembangan
Pada tahap ini, perancangan perangkat lunak diimplementasikan sebagai serangkaian program atau unit program. KG_EDITOR dikembangkan dengan menggunakan bahasa pemrograman Java. Hal tersebut dikarenakan Java cukup representatif digunakan untuk pengembangan algoritme dan visualisasi.
KG_EDITOR dikembangkan dalam lingkungan pengembangan perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut:
oWindows 7 Operating System oNetBeans IDE 7.0
Pengujian Mock-up
Pengujian Mock-up bertujuan menunjukkan bahwa sistem sesuai dengan spesifikasinya dan memenuhi harapan pengguna. Pada tahap ini, unit sistem diintegrasikan dan diuji sebagai suatu sistem yang sudah utuh. Pengujian dilakukan untuk mendeteksi kesalahan dan memastikan bahwa seluruh persyaratan yang telah didefinisikan sudah terpenuhi. Pengujian dilakukan menggunakan metode black box. Pemeliharaan terhadap sistem mencakup koreksi dari error, perbaikan implementasi
dan pengembangan, serta penambahan spesifikasi baru yang dianggap relevan.
Setelah sistem selesai dibangun, selanjutnya dilakukan proses penghitungan akurasi. Penghitungan akurasi dilakukan dengan menghitung jumlah kata yang dikenali dan sesuai dengan pola word graph.
Akurasi=Ʃ Kata yang benar
Ʃ Kata yang diuji x 100%
HASIL DAN PEMBAHASAN
Analisis
Tahap pertama pengembangan KG_EDITOR yang dilakukan adalah mencoba memahami keinginan klien. Tahapan ini dilakukan untuk mendapatkan spesifikasi KG_EDITOR. Analisis terdiri atas deskripsi umum sistem, batasan sistem, dan proses sistem. Berikut penjelasan dari masing-masing bagian tersebut:
1 Deskripsi Umum Sistem
KG_EDITORmerupakan perangkat lunak berbasis desktop yang dikembangkan dengan menggunakan bahasa pemrograman Java. KG_EDITOR adalah sebuah tools yang digunakan untuk menganalisis kata keterangan menggunakan metode KG. Pada awalnya telah dikembangkan BogorDelfConStruct sebagai tools yang sama tetapi dikembangkan dengan bahasa pemrograman MATLAB.
Pengguna KG_EDITOR adalah orang yang memahami konsep KG. Hal ini dikarenakan KG_EDITORmerupakan sistem untuk menganalisis word graph sesuai dengan konsep KG.
2 Deskripsi Batasan Sistem
KG_EDITOR dikembangkan untuk mendukung terbentuknya word graph yang sesuai dengan konsep KG. Beberapa perintah mungkin saja tidak sesuai dengan konsep KG, sehingga sistem menolak proses untuk perintah tersebut. Berikut ini dijelaskan batasan-batasan sistem dan beberapa kondisi yang akan ditolak sistem, yaitu:
a Sistem tidak membedakan huruf kapital atau bukan.
c Sistem tidak bisa memodifikasi pembentukan word graph.
d Sistem tidak bisa membedakan sifat kata benda alat dan tempat.
3 Deskripsi Proses Sistem
Pada saat dibuka, keadaan default KG_EDITOR hasil pengembangan adalah sebuah lembar kerja berupa kanvas kosong yang siap menampilkan sebuah word graph. Operasi pembentukan word graph kata keterangan dapat dilakukan dengan cara menekan tombol kiri mouse pada menu “Kamus” dan memilih menu item “kata keterangan”. Setelah itu, akan muncul input dialog box untuk memasukkan kata. Setelah kata dimasukkan, sistem akan memproses sesuai dengan pola aturan word graph kata keterangan. Tahapan proses KG_EDITOR kata keterangan secara detail dapat dilihat pada Lampiran 2.
Membuat atau Memperbaiki Mock-up
Membuat prototype dari sistem dilakukan setelah ada gambaran yang jelas mengenai sistem secara umum, pengguna sistem, batasan sistem, dan proses sistem. Pembuatan mock-up terbagi menjadi perancangan fungsional, implementasi fungsional dan implementasi antar muka.
1 Perancangan Fungsional
Modul yang dibutuhkan sebagai sebuah perancangan fungsional sistem yang memiliki fungsi-fungsi, yaitu:
a Modul komponen word graph
Berdasarkan konsep KG, word graph yang dibentuk mempunyai sebuah edge sebagai relasi yang menghubungkan antar-token dan juga menghubungkan antara token dengan kata. Komponen-komponen ini akan digambarkan dalam sebuah kanvas yang mempunyai kelas turunan JComponent. Fungsi-fungsi yang digunakan untuk menggambarkan komponen pada kanvas, yaitu:
Menggambarkan relasi
Fungsi ini melakukan penggambaran 8 binary relationship yang menunjukkan relasi antar-token dan relasi antara teks dengan token.
Menggambarkan token
Fungsi ini melakukan penggambaran token sebagai verteks dari sebuah graph dan ontologi F suatu token sebagai fokus token.
Menggambarkan frame
Fungsi ini melakukan penggambaran 4 frame relationships yang digunakan untuk mengelompokkan graph.
b Modul pembangkitan word graph kata keterangan
Modul pembangkitan word graph kata keterangan digunakan sebagai penentuan pola word graph kata keterangan yang akan digambarkan pada kanvas. Penggambaran pola kata keterangan ini disesuaikan dengan kata yang dimasukkan. Pembangkitan word graph kata keterangan meliputi:
Praproses
Fungsi ini sebagai langkah pertama untuk mendapatkkan pola pembangkitan word graph kata keterangan, yaitu kata yang tidak mengandung numerik, simbol, tidak boleh kosong, dan tidak boleh lebih dari dua kata. Pada langkah ini kata keterangan akan dipecah untuk proses selanjutnya.
KBBI
Fungsi KBBI dibuat sesuai kebutuhan penelitian sehingga mampu memeriksa apakah kata tersebut ada pada KBBI atau tidak dan memeriksa kata tersebut termasuk kata benda atau kata numerik. KBBI tersimpan di database kamus yang terdapat pada tabel entry. Selain tabel entry terdapat juga tabel kata_keterangan untuk memeriksa jenis kata keterangan.
Pola kata keterangan
Fungsi ini sebagai penentuan pola word graph kata keterangan yang akan menampilkan word graph dari pola yang membentuknya. Kata masukan yang memenuhi kondisi pola word graph kata keterangan tertentu akan memanggil fungsi untuk menggambarkan pola word graph kata masukan.
Gambar 4 Use case untuk KG_EDITOR.
Gambar 4 menjelaskan deskripsi KG_EDITOR yang telah dituangkan dalam use case. Class diagram dan sequence diagram dapat dilihat pada Lampiran 3 dan Lampiran 4.
2 Implementasi Fungsional
Implementasi fungsional KG_EDITOR untuk modul kata keterangan adalah sebagai berikut:
Implementasi modul komponen word graph
Hasil dari komponen word graph digunakan untuk pembentukan word graph kata keterangan. Setiap pola merupakan kumpulan dari class komponen ini. Pada setiap class, komponen word graph yang digunakan selalu berhubungan dengan data yang disimpan dalam 2 variabel bertipe integer. Hal tersebut dikarenakan penggambaran word graph dalam kanvas selalu menggunakan koordinat.
Setiap class komponen relasi terdapat pula method yang berfungsi menggambarkan arah panah relasi. Beberapa contoh method yang digunakan yaitu DrawAliAtas(), DrawCauBawah(), dan DrawParKiri(). Arah panah relasi digambarkan ke arah kiri, kanan, atas, dan bawah. Selain itu relasi juga bisa digambarkan tanpa panah tetapi hanya garis lurus horizontal dan vertikal.
Pada class komponen token terdapat 2 method, yaitu drawToken() dan drawTokenF. Kedua method tersebut berfungsi untuk menggambarkan token dan token fokus. Untuk menggambarkan teks digunakan method drawString(), yang terdapat pada class Graphic2D yang merupakan turunan dari class AWT.
Penggambaran frame relationships pada kanvas menggunakan method drawFrameFokus(), drawNegPar(), drawPosPar(), dan drawNecPar(). Selain koordinat, penggambaran frame pada kanvas ditentukan juga oleh 2 variabel bertipe integer yang berfungsi sebagai penyimpan data panjang dan lebar sebuah frame.
Implementasi modul pembangkitan word graph kata keterangan
Praproses merupakan tahap awal pengembangan KG_EDITOR untuk modul kata keterangan. Praproses dilakukan untuk membatasi nilai masukan pada sistem. Class yang digunakanuntuk memeriksa apakah nilai
masukan berupa numerik, simbol, atau kosong adalah classCekInputKata. Jika nilai masukan berupa numerik, simbol, dan kosong, sistem akan menampilkan peringatan pada user untuk memasukkan input yang berupa kata yang tidak mengandung numerik, simbol, dan tidak lebih dari dua kata. Setelah kata keterangan melakukan proses pembatasan masukan, kata keterangan akan ditokenisasi agar mendapatkan dua buah kata yang disimpan pada dua variabel bertipe String. Proses ini dilakukan oleh class Tokenisasi.
Kata keterangan yang telah melalui tahap praproses diperiksa ke dalam database kamus untuk mendapatkan datanya. Database ini adalah database KBBIyang telah disesuaikan. Data yang didapatkan pada tabel entry berupa jenis kata yang tersimpan dalam field ‘Category’. Proses pengecekan pada KBBI dilakukan oleh classCekKBBI. Selain mencari jenis kata pada database kamus, kata keterangan dasar akan diperiksa ke dalam tabel kata_keterangan untuk mendapatkan sifat kata keterangan tersebut. Data sifat kata keterangan diambil pada field ‘jenis’ di tabel kata_keterangan.
Sifat kata yang didapatkan akan digunakan untuk mengenali pola word graph pembentuk kata keterangan menggunakan class PolaKataKet. Untuk mengetahui sifat kata dasar dilakukan pengecekan terhadap kata dasar pada database kamus menggunakan class CekJenis.
Class PolaKataKet akan membandingkan apakah kata dasar yang terkandung dari kata masukan sesuai dengan pola word graph yang ada atau tidak. Jika ya, class akan mengembalikan salah satu nama pola dari 21 daftar pola word graph yang memenuhi
kondisi. Misalnya, kata masukan „di bogor‟ jika dilakukan tokenisasi akan menghasilkan kata „di‟ dan „bogor‟. Kata „bogor‟ akan dikenali sebagai kata benda, maka kata masukan akan dikenali sebagai pola di+lokasi. Pola di+lokasi termasuk salah satu pola word graph kata keterangan, yaitu pola „8a‟. Class PolaKataKet akan memeriksa jenis pola ada atau tidak. Jika ada, sistem akan menampilkan bentuk pola word graph. Jika tidak, maka akan menampilkan peringatan kata tersebut bukan merupakan kata keterangan.
Tabel 1 Pola pembentukan word graph kata
Kualitatif 1a KataKet1a 1b KataKet1b Limitatif 3 KataKet3 Frekuentif 4a KataKet4a
4b KataKet4b
Cara ajakan 6c KataKet6c Cara
pengingkaran / cara larangan
6d KataKet6d
Kontrastif 7 KataKet7 Lokatif
keberadaaan
8a KataKet8a
Lokatif tujuan 8b KataKet8b
Lokatif tempat asal
8c KataKet8c
Instrumental 9 KataKet9a
3 Implementasi Antarmuka
Antarmuka KG_EDITOR untuk kata keterangan terdiri atas menubar dan panel kanvas sebagai tempat menampilkan bentuk word graph. Menu bar terdiri atas menu “File” dan “Kamus” yang berada di bagian
atas, sedangkan panel kanvas berada di sebagian besar jendela aplikasi KG_EDITOR. Gambar kedua panel tersebut dapat dilihat pada Gambar 5 dan Gambar 6 yang memperlihatkan contoh sebuah word graph yang berhasil ditampilkan. Antarmuka KG_EDITORdilihat pada Lampiran 3.
Input dialog box digunakan sebagai masukan kata KG_EDITOR untuk kata keterangan. Gambar 7 menunjukkan input dialog box ketika menu item kata keterangan dipilih.
Gambar 5 Panelmenu bar.
Gambar 6 Panel kanvas.
Gambar 7 Input dialog box kata keterangan.
Pengujian Mock-up
Pengujian dilakukan menggunakan metode black box. Hasil pengujian menunjukkan kesesuaian antara hasil yang seharusnya dengan hasil pengujian. Analisis hasil pengujian KG_EDITOR untuk modul kata keterangan akan disajikan dalam bentuk persentase akurasi yang dihasilkan dari pengujian modul pembangkitan word graph kata keterangan.
ketidaksesuaian. Empat pola tersebut memiliki pola penulisan “di<spasi>lokasi”,
“ke<spasi>lokasi”, “dari<spasi>lokasi”, dan
“dengan<spasi>alat”. kata benda jenis lokasi dan alat termasuk kata benda. Hal ini menjadi salah satu kekurangan sistem yang tidak bisa membedakan jenis kata benda lokasi dan jenis kata benda alat. Kondisi terssebut disebabkan pada database KBBI tidak terdapat sifat jenis kata benda. Hasil pengujian KG_EDITOR dapat dilihat pada Lampiran 4.
Beberapa pola word graph kata keterangan yang telah berhasil dibuat dalam modul tidak persis sama dengan word graph yang ada pada penelitian Samba (2010). Misalnya, pola 4a menggunakan relasi ALI ke satu token secara berulang untuk menyatakan pengulangan
suatu kegiatan, yang disimbolkan dengan . Pada sistem, word graph tidak menghasilkan relasi seperti simbol tersebut melainkan
disimbolkan dengan pada token yang memiliki makna pengulangan suatu kegiatan.
Kelebihan dari sistem ini, yaitu telah berhasil mengimplementasikan 21 pola word graph kata keterangan sesuai dengan penelitian Samba (2010). Sistem ini belum dilengkapi dengan beberapa modul, yaitu modul pembangkitan word gaph dari masukan berupa sebuah frasa kata atau kalimat, modul untuk penggabungan word graph dari class yang sudah ada, dan pembentukan XML yang berguna untuk perpindahan, penyimpanan, dan pertukaran data sehingga menjadi suatu kekurangan dari sistem ini.
KESIMPULAN DAN SARAN
Kesimpulan
Pengembangan KG_EDITOR untuk modul kata keterangan telah mampu mengenali 21 pola aturan word graph kata keterangan sesuai dengan penelitian Samba (2010). Setiap pola aturan word graph telah dibentuk oleh komponen yang dikembangkan menurut aspek ontologi word graph dalam metode knowledge graph.
Pengujian modul untuk pola word graph kata keterangan secara keseluruhan menghasilkan akurasi 97,917%. Meskipun memiliki akurasi yang cukup baik, sistem ini masih memiliki kekurangan. Salah satunya adalah sistem ini tidak bisa membedakan jenis kata benda lokasi dan jenis kata benda alat
untuk digunakan pada pola word graph kata keterangan 8a, 8b, 8c, dan 9.
Sistem ini secara garis besar telah cukup berhasil karena telah mampu membangkitkan pola aturan word graph kata keterangan yang sesuai dengan hasil penelitian yang dilakukan Samba (2010).
Saran
Sebagai pengembangan dari penelitian ini beberapa hal yang dapat disarankan adalah:
1 Pengembangan editor word graph diharapkan lebih dinamis dalam pembentukan word graph.
2 Pengembangan modul untuk modifikasi bentuk word graph pada KG_EDITOR. 3 Penambahan bagian atau fungsi dalam
modul agar dapat membedakan jenis kata benda lokasi dan kata benda alat agar bisa menghasilkan word graph yang sesuai. 4 Pengembangan modul serupa untuk aturan
lain dalam bahasa Indonesia selain kata keterangan, seperti kata tugas, frasa kata, atau klausa.
5 Pembentukan XML sebagai penyimpanan, perpindahan, dan pertukaran data agar dapat menggabungkan antarpola.
DAFTAR PUSTAKA
Alwi H, Dardjowidjojo S, Lapowila H, Moeliono AM. 2003. Tata Bahasa Baku Bahasa Indonesia. Ed ke-3. Jakarta: Balai Pustaka.
Horstmann CS, Cornell G. 2002. Core Java™ 2: Volume I – Fundamentals. Ed ke-6. Kalifornia: Prentice Hall.
Hulliyah K. 2007. Rekayasa memahami teks menggunakan teori knowledge graph [tesis]. Bogor: Program Pascasarjana, Institut Pertanian Bogor.
Nurdiati S, C Hoede. 2009. Word graph construction of certain aspects of indonesian language. Di dalam: Rudolph S, editor. Supplementary Proceedings of The 17th International Conference on Conceptual Structures; Moskow, 26-31 Jul 2009. Moskow: CEUR-WS.org.
Romadoni D. 2009. Pengembangan sistem pembentukan word graph untuk teks berbahasa Indonesia [skripsi]. Bogor: Program Sarjana, Institut Pertanian Bogor.
Samba R. 2010. Analisis pembentukan word graph kata keterangan menggunakan metode knowledge graph [tesis]. Bogor: Program Pascasarjana, Institut Pertanian Bogor.
Lampiran 1 Pola aturan word graph kata keterangan
No
Pola Pembentukan
Kata Keterangan
Kata Pola Aturan Word graph
Kata Keterangan
1 1a kurang
2 1b lebih
3 1c paling, sangat, amat
4 2a
Kata keterangan kuantitatif dapat
dihitung
5 2b1 kira-kira
Lampiran 1 (lanjutan) Pola aturan word graph kata keterangan
No Pola Pembentukan
Kata Keterangan Kata
Pola Aturan Word graph
Kata Keterangan
7 3a hanya, saja
8 4a selalu, sering
9 4b jarang, kadang-kadang
10 5a sekarang, kini
11 5b nanti, besok, lusa
Lampiran 1 (lanjutan) Pola aturan word graph kata keterangan
No Pola Pembentukan
Kata Keterangan Kata
Pola Aturan Word graph
Kata Keterangan
13 6a pasti, sungguh, benar, betul, niscaya, tentu
14 6b
agaknya, entah, mungkin, rasanya,
kalau-kalau, jangan-jangan, barangkali, mudah-mudahan, moga-moga,
hendaknya
15 6c mari, silakan, sudilah
16 6d tak, tidak, jangan
17 7a bahkan, malahan, justru
18 8a di + lokasi
19 8b ke + lokasi
Lampiran 1 (lanjutan) Pola aturan word graph kata keterangan
No Pola Pembentukan
Kata Keterangan Kata
Pola Aturan Word graph
Kata Keterangan
20 8c dari + lokasi
Lampiran 3 Class diagram KG_EDITOR
Lampiran 3 (lanjutan) Class diagram KG_EDITOR
Lampiran 3 (lanjutan) Class diagram KG_EDITOR
Lampiran 5 Antarmuka dan menu pada KG_EDITOR
a Antramuka KG_EDITOR
b Dialog input kata
c Dialog peringatan bahwa input kata kosong
Lampiran 5 (lanjutan) Antarmuka dan menu pada KG_EDITOR
e Dialog peringatan bahwa input kata lebih dari dua kata
Lampiran 6 Hasil pengujian KG_EDITOR untuk modul kata keterangan
No Kata Jenis Kata Katerangan Pola Kata Hasil Pengujian
1 kurang
24 kadang-kadang sesuai
25 sekarang Kewaktuan sedang
Lampiran 6 (lanjutan) Hasil pengujian KG_EDITOR untuk modul kata keterangan
No Kata Jenis Kata Katerangan Pola Kata Hasil Pengujian
33 pasti
Cara kesungguhan / cara
keniscayaan 6a
39 agaknya Cara kesangsian / cara
keinginan 6b
Sesuai
40 entah Sesuai
41 mungkin
Cara kesangsian / cara
keinginan 6b
sesuai
42 rasanya sesuai
43 kalau-kalau sesuai
44 jangan-jangan sesuai
45 barangkali sesuai
46 mudah-mudahan sesuai
47 moga-moga sesuai
Cara pengingkaran / cara
larangan 6d
Lokatatif keberadaaan 8a
sesuai
59 di perpustakaan sesuai
Lampiran 6 (lanjutan) Hasil pengujian KG_EDITOR untuk modul kata keterangan
No Kata Jenis Kata Katerangan Pola Kata Hasil Pengujian
68 ke sungai
Lokatatif tujuan 8b
sesuai
69 ke kampus sesuai
70 ke kantor sesuai
71 ke bandung sesuai
72 ke pantai sesuai
73 ke peternakan sesuai
74 ke kebun sesuai
75 ke pasar sesuai
76 ke kandang sesuai
77 ke terminal sesuai
78 dari bogor
Lokatatif tempat asal 8c
sesuai
79 dari lapangan sesuai
80 dari sawah sesuai
81 dari kampung sesuai
82 dari kota sesuai
83 dari desa sesuai
84 dari gunung sesuai
85 dari hutan sesuai
86 dari laut sesuai
87 dari kolam sesuai
88 dengan pisau
Instrumental 9
sesuai
89 dengan cangkul sesuai
90 dengan pensil sesuai
91 dengan mata sesuai
92 dengan gunting sesuai
93 dengan palu sesuai
94 dengan piring sesuai
95 dengan lem sesuai
96 dengan bogor tidak sesuai
97 dengan gelas sesuai
Akurasi = Ʃ Kata yang benar
Ʃ Kata yang diuji × 100%=
94 kata
ABSTRACT
MUSTHAFA TANFIZ SYARIAT WALAYATULLAH. Development of Java Based KG_EDITOR for Adverbs. Supervised by SRI NURDIATI and AHMAD RIDHA
Knowledge Graph (KG) is one of natural languange processing representation methods in explaining and modeling natural languange. This method is able to cope with text ambiguity. BogorDelfConStruct is the first KG application developed in Indonesia using MATLAB; however, this application requires MATLAB which is a closed platform application. Previous research has produced 21 word graph patterns for adverbs. This research developed a Java desktop application called KG_Editor that can be used to analyze adverbs using KG. Modules needed by KG_EDITOR are word graph component module and adverb word graph generation module. Overally, KG_EDITOR development has been able to recognize 21 word graph patterns for adverbs in accordance with the previous research.
relationship (Zhang 2002). Concept terdiri atas token, type, dan name. Relationship terdiri atas binary relationship dan multivariate relationship.
Word graph merupakan graph dari kata. Dalam metode KG, setiap kata yang berhubungan dengan sebuah word graph menyatakan arti kata yang disebut dengan semantic word graph. Gabungan semantic word graph dalam sebuah kalimat akan membentuk sentence graph. Graph yang merepresentasikan gabungan dari sentence graph dalam sebuah teks disebut text graph yang terdapat pengetahuan di dalamnya (Hoede & Nurdiati 2008).
Aspek Ontologi
Ontologi adalah keterangan untuk menggambarkan beberapa konsep dan relasi-relasi di antaranya, dengan maksud untuk memberikan definisi yang cukup terhadap ide-ide yang dituangkan dengan komputer untuk merepresentasikan ide-ide tersebut dan logikanya (Hulliyah 2007). Sampai saat ini, ontologi word graph direpresentasikan dengan sebuah node, 8 binary relationships, ontologi F, dan 4 frame relationships. Berikut ini adalah gambaran dari 8 types relationship (Zhang 2002):
8 SKO (informational dependency)
Selain 8 binary relationships, ada ontologi F (Focus) yang digunakan untuk menunjukkan fokus dari suatu graph(Nurdiati & Hoede 2009). Ontologi F juga digunakan untuk menunjukkan kata atau kalimat yang diterangkan dalam suatu pernyataan (inti). Frame relationship merupakan verteks berlabel yang digunakan untuk mengelompokkan beberapa graph. Ada 4 frame relationships, yaitu Focusing on a situation (FPAR), Negation on a Situation (NEGPAR), Possibility on a Situation (POSPAR), Necessity on a Situation (NECPAR). Ada kalanya suatu objek tidak cukup direpresentasikan dengan sebuah token, sehingga diperlukan sebuah frame untuk pengelompokan tersebut. Gambar 1 dan Gambar 2 menunjukan bentuk word graph „kurang‟ dan „sekarang‟.
Gambar 1 Word graph kata„kurang‟.
Gambar 2 Word graph kata ‘sekarang‟.
Java
Java adalah bahasa pemrograman dan platform komputasi yang pertama kali dirilis oleh Sun Microsystem pada tahun 1995. Java merupakan bahasa pemrograman yang berorientasi objek dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya berfokus pada suatu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi yang bersifat open source. Menurut definisi dari Sun Microsystem, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone maupun pada lingkungan jaringan. Java memiliki karakteristik sebagai berikut (Horstmann & Cornell 2002):
Sederhana
Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan alokasi memori otomatis dan memory garbage collection.
Berorientasi objek
PENDAHULUAN
Latar Belakang
Teks merupakan bahasa alami berupa tulisan. Ambiguitas dalam teks pun banyak dijumpai, sehingga pemahaman terhadap teks tersebut dapat bersifat subyektif. Metode yang digunakan untuk memecahkan masalah dalam teks salah satunya adalah dengan metode Knowledge Graph (KG).
Metode KG merupakan satu jenis dari representasi Natural Language Processing, yang mengarahkan pada cara baru dalam menjelaskan dan memodelkan bahasa alami dan juga sebagai langkah ke depan untuk pemahaman terhadap aspek semantik dari suatu kata (Zhang 2002). Dengan cara menganalisis teks diharapkan dapat menghasilkan sebuah pengetahuan baru. Berbagai penelitian KG yang dilakukan diharapkan mampu merancang suatu sistem yang dapat melakukan pembacaan terhadap sembarang dokumen yang diinginkan dan menginterpretasikan informasi yang didapat dalam bentuk graph.
Penelitian tentang KG teks bahasa Indonesia telah dikaji sebelumnya oleh beberapa mahasiswa di Departemen Matematika dan Departemen Ilmu Komputer Institut Pertanian Bogor. Romadoni (2009) mengembangkan BogorDelfConStruct, suatu sistem pembentuk word graph untuk teks bahasa Indonesia. Samba (2010) menganalisis pembentukan word graph kata keterangan menggunakan metode KG, yang menghasilkan pola aturan untuk kata keterangan.
BogorDelfConStruct adalah sebuah tools yang berguna untuk pembentukan word graph dan melakukan analisis terhadap teks bahasa Indonesia. BogorDelfConStruct merupakan aplikasi KG yang pertama kali dikembangkan di Indonesia menggunakan bahasa pemrograman MATLAB. Namun, aplikasi ini tidak dapat dinikmati oleh semua orang secara mudah, karena aplikasi ini hanya dapat dijalankan menggunakan perangkat lunak MATLAB yang merupakan sebuah aplikasi closed platform. Dengan demikian diperlukan suatu aplikasi BogorDelfConStruct yang dapat dijalankan tanpa perangkat lunak MATLAB.
Karena terdapat keterbatasan pemakaian pada aplikasi BogorDelfConStruct yang menyebabkan BogorDelfConStruct tidak mudah diakses dan adanya pola aturan word graph kata keterangan hasil penelitian Samba
(2010), penelitian yang dilakukan adalah mengembangkan sebuah aplikasi pembentuk word graph kata keterangan yang berbasis Java desktop. Aplikasi ini berfungsi menampilkan setiap word graph yang sesuai dengan masukan kata keterangan.
Tujuan Penelitian
Penelitian ini bertujuan merintis pengembangan KG_EDITOR untuk kata keterangan berbasis Java desktop yang membentuk word graph kata keterangan dan dapat merepresentasikan makna suatu kata keterangan secara otomatis sesuai dengan pola aturan kata keterangan berdasarkan hasil penelitian sebelumnya.
Ruang Lingkup
Ruang lingkup penelitian ini dibatasi pada pengembangan modul kata keterangan pada KG_EDITOR yang berbasis Java desktop dengan pola aturan kata keterangan dari hasil penelitian sebelumnya. Penelitian tersebut menghasilkan pola aturan word graph jenis kata keterangan dari segi perilaku semantisnya dan menghasilkan 9 jenis bentuk word graph menurut bentuknya (Samba 2010). Pola aturan word graph kata keterangan terdapat pada Lampiran 1.
Manfaat
Implementasi nyata dari manfaat jangka panjang penelitian ini yaitu terbentuknya suatu sistem yang dapat membaca input berupa teks dan menghasilkan output berupa ringkasan teks tersebut. Manfaat jangka pendek dari penelitian ini protoype sistem yang mampu memberikan pengetahuan atau mempresentasikan makna kata keterangan dalam bentuk word graph.
TINJUAN PUSTAKA
Knowledge GraphMenurut Zhang (2002), teori KG adalah jenis sudut pandang baru, yang digunakan untuk menggambarkan bahasa manusia saat lebih memfokuskan kepada aspek semantik daripada aspek sintaksis. KG mempunyai kemampuan lebih kuat untuk mengekspresikan dan menggambarkan pada lapisan semantis, meminimumkan penggunaan himpunan relasi, dan menirukan pengertian dari jalan pikiran manusia.
dalam objek dan melakukan interaksi di antara objek-objek tersebut.
Interpreted
Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
Robust
Java memiliki reliabilitas yang tinggi. Compiler pada Java memiliki kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java memiliki runtime exception handling untuk membantu mengatasi error pada pemrograman.
Portable
Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
Architecture neutral
Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine.
Dynamic
Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa mengganggu program yang menggunakan class tersebut.
Abstract Window Toolkit (AWT)
Java memiliki kumpulan class khusus untuk membuat aplikasi berbasis grafik dan membuat user interfaces. Class-class tersebut dikelompokkan ke dalam suatu package java.awt, java.awt.event, java.awt.image, java.applet, dan java.awt.datatransfer yang dinamakan AWT. Class-class pada AWT menyediakan platform independent, sehingga untuk setiap platform yang berbeda komponen AWT secara otomatis dipetakan ke komponen spesifik dari platform tersebut.
Metode Pengembangan Prototype
Metode prototype merupakan salah satu metode perangkat lunak yang sering digunakan ketika seorang pengguna hanya mendefinisikan secara umum mengenai apa yang dikehendakinya tanpa menjelaskan dengan detail input, proses, serta output yang
dibutuhkan. Sebaliknya, pengembang kurang memerhatikan efisiensi algoritme, serta kemampuan sistem operasi dan antarmuka yang menghubungkan manusia dan komputer (Pressman 2002).
Metode prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Apabila suatu prototype dibangun, pihak pengembang akan berusaha untuk menggunakan bagian-bagian dari program tersebut atau menggunakan suatu tools yang memungkinkan program dapat dihasilkan dengan cepat (Pressman 2002).
Kata Keterangan
Kata keterangan menurut tatarannya dapat dibedakan dalam tataran frasa dan tataran klausa. Kata keterangan dalam tataran frasa merupakan kata yang menjelaskan kata kerja, kata sifat, atau kata keterangan lainnya. Dalam tataran klausa, kata keterangan adalah kata yang membatasi atau menjelaskan fungsi-fungsi sintaks. Pada umumnya, kata atau bagian kalimat yang dijelaskan oleh kata keterangan itu berfungsi sebagai predikat (Alwi et al. 2003).
Kata Keterangan dari Segi Perilaku Semantisnya
Berdasarkan perilaku semantisnya, kata keterangan dapat dibedakan menjadi 10 jenis kata, yaitu:
1 Kata keterangan kualitatif 2 Kata keterangan kuantitatif 3 Kata keterangan limitatif 4 Kata keterangan frekuentif 5 Kata keterangan kewaktuan 6 Kata keterangan kecaraan 7 Kata keterangan kontrastif 8 Kata keterangan keniscayaan 9 Kata keterangan lokatif 10 Kata keterangan instrumental.
METODE PENELITIAN
Penelitian ini diawali dengan mengkaji lebih dalam tentang konsep dan cara mengimplementasikan KG dalam teks berbahasa Indonesia, serta menganalisis pembentukan pola word graph jenis kata keterangan. Beberapa literatur yang digunakan dalam konsep KG teks bahasa Indonesia di antaranya adalah tesis Samba (2010) yang
berjudul “Analisis Pembentukan Word Graph
(2009) dengan judul “Pengembangan Sistem
Pembentukan Word Graph untuk Teks Berbahasa Indonesia”. Hasil pengkajian ini kemudian digunakan untuk membangun sistem KG_EDITOR sesuai dengan konsep KG.
Data yang digunakan pada penelitian ini adalah kata keterangan berbahasa Indonesia dari segi perilaku semantisnya. Pola umum pembentukan word graph kata keterangan berdasarkan kelompok bentuk word graph berjumlah 9 jenis, dengan jumlah pola sebanyak 21 pola. Pola tersebut didapat dari penelitian yang dilakukan oleh Samba (2010).
Metode yang dilakukan dalam tahap pengembangan KG_EDITOR adalah metode prototype. Menurut Pressman (2002), terkadang klien mendefinisikan tujuan perangkat lunak secara umum, namun tidak menjelaskan secara detail kebutuhan masukan, proses, dan keluaran dari perangkat lunak tersebut. Pada metode prototype, langkah yang dilakukan dimulai dari komunikasi pengembang perangkat lunak dengan pengguna untuk mendiskusikan tujuan keseluruhan dari perangkat lunak tersebut, mengidentifikasi kebutuhan, dan menguraikan permintaan klien. Kemudian dilakukan perencanaan dan perancangan yang mengarah kepada pembuatan prototype dari perangkat lunak yang akan dibuat. Selanjutnya prototype tersebut diserahkan dan dievaluasi oleh klien. Feedback yang diberikan dari klien yang berupa kritik maupun saran akan digunakan untuk menyempurnakan permintaan kebutuhan dari perangkat lunak tersebut. Diagram metode pengembangan prototype dapat dilihat pada Gambar 3.
Gambar 3 Diagram metode pengembangan prototype.
Memahami Keinginan Klien
Memahami keinginan klien dilakukan dengan cara melakukan analisis terhadap kebutuhan, batasan, dan tujuan perangkat lunak. Analisis dilakukan terhadap BogorDelfConStruct dengan melihat fungsi yang sudah relevan maupun yang harus diperbaiki kembali. Analisis dilanjutkan dengan mendefinisikan kebutuhan yang seharusnya ada pada KG_EDITOR untuk modul kata keterangan.
Konsep penting dari graph sendiri adalah terdapatnya verteks dan edge. Verteks merepresentasikan sebuah token, sedangkan edge merepresentasikan relasi antar-token atau teks dari word graph. Kebutuhan sistem dalam membentuk word graph merupakan fungsi dari sistem ini. Pada KG_EDITOR yang dikembangkan ini, pembuatan komponen word graph sesuai dengan konsep KG yang akan digambarkan pada sebuah kanvas.
Analisis kebutuhan sistem dilakukan dengan melihat fungsi dari KG_EDITOR modul kata keterangan sebagai tools untuk menganalisis teks dalam bentuk word graph. Hal utama yang dibutuhkan adalah kemampuan sistem untuk merepresentasikan makna suatu kata keterangan secara otomatis dalam bentuk graph yang sesuai dengan konsep KG. Proses pembangkitan word graph kata keterangan pun didefinisikan sebagai kebutuhan sistem.
Membuat atau Memperbaiki Mock-up
Tahapan ini mencakup proses perancangan dan pemrograman perangkat lunak secara keseluruhan. Perancangan KG_EDITOR berdasarkan pendefinisian kebutuhan sistem adalah sebagai berikut:
1 Perancangan Fungsional
Perancangan fungsional pada KG_EDITOR meliputi 2 modul, yaitu:
a Pembuatan komponen word graph
b Pembangkitan word graph kata keterangan
Pembentukan pola word graph kata keterangan harus sesuai dengan aturan-aturan pembentukan kata keterangan dari hasil analisis Samba (2010). Pada penelitian ini diperoleh 10 jenis daftar pola kata keterangan berdasarkan maknanya. Proses praproses, tokenisasi, pengecekan KBBI, dan penentuan pola word graph menjadi satu kesatuan dalam modul ini.
2 Perancangan Antarmuka
Perancangan antarmuka utama KG_EDITOR yang akan ditampilkan, yaitu sebuah kanvas sebagai media visualisasi graph dan menubar sebagai menu utama yang terdapat menu “File” dan “Kamus”. Pada menu bar“kamus” terdapat menu item “kata
keterangan”, “kata benda”, dan “kata kerja”.
3 Lingkungan Pengembangan
Pada tahap ini, perancangan perangkat lunak diimplementasikan sebagai serangkaian program atau unit program. KG_EDITOR dikembangkan dengan menggunakan bahasa pemrograman Java. Hal tersebut dikarenakan Java cukup representatif digunakan untuk pengembangan algoritme dan visualisasi.
KG_EDITOR dikembangkan dalam lingkungan pengembangan perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut:
oWindows 7 Operating System oNetBeans IDE 7.0
Pengujian Mock-up
Pengujian Mock-up bertujuan menunjukkan bahwa sistem sesuai dengan spesifikasinya dan memenuhi harapan pengguna. Pada tahap ini, unit sistem diintegrasikan dan diuji sebagai suatu sistem yang sudah utuh. Pengujian dilakukan untuk mendeteksi kesalahan dan memastikan bahwa seluruh persyaratan yang telah didefinisikan sudah terpenuhi. Pengujian dilakukan menggunakan metode black box. Pemeliharaan terhadap sistem mencakup koreksi dari error, perbaikan implementasi
dan pengembangan, serta penambahan spesifikasi baru yang dianggap relevan.
Setelah sistem selesai dibangun, selanjutnya dilakukan proses penghitungan akurasi. Penghitungan akurasi dilakukan dengan menghitung jumlah kata yang dikenali dan sesuai dengan pola word graph.
Akurasi=Ʃ Kata yang benar
Ʃ Kata yang diuji x 100%
HASIL DAN PEMBAHASAN
Analisis
Tahap pertama pengembangan KG_EDITOR yang dilakukan adalah mencoba memahami keinginan klien. Tahapan ini dilakukan untuk mendapatkan spesifikasi KG_EDITOR. Analisis terdiri atas deskripsi umum sistem, batasan sistem, dan proses sistem. Berikut penjelasan dari masing-masing bagian tersebut:
1 Deskripsi Umum Sistem
KG_EDITORmerupakan perangkat lunak berbasis desktop yang dikembangkan dengan menggunakan bahasa pemrograman Java. KG_EDITOR adalah sebuah tools yang digunakan untuk menganalisis kata keterangan menggunakan metode KG. Pada awalnya telah dikembangkan BogorDelfConStruct sebagai tools yang sama tetapi dikembangkan dengan bahasa pemrograman MATLAB.
Pengguna KG_EDITOR adalah orang yang memahami konsep KG. Hal ini dikarenakan KG_EDITORmerupakan sistem untuk menganalisis word graph sesuai dengan konsep KG.
2 Deskripsi Batasan Sistem
KG_EDITOR dikembangkan untuk mendukung terbentuknya word graph yang sesuai dengan konsep KG. Beberapa perintah mungkin saja tidak sesuai dengan konsep KG, sehingga sistem menolak proses untuk perintah tersebut. Berikut ini dijelaskan batasan-batasan sistem dan beberapa kondisi yang akan ditolak sistem, yaitu:
a Sistem tidak membedakan huruf kapital atau bukan.
c Sistem tidak bisa memodifikasi pembentukan word graph.
d Sistem tidak bisa membedakan sifat kata benda alat dan tempat.
3 Deskripsi Proses Sistem
Pada saat dibuka, keadaan default KG_EDITOR hasil pengembangan adalah sebuah lembar kerja berupa kanvas kosong yang siap menampilkan sebuah word graph. Operasi pembentukan word graph kata keterangan dapat dilakukan dengan cara menekan tombol kiri mouse pada menu “Kamus” dan memilih menu item “kata keterangan”. Setelah itu, akan muncul input dialog box untuk memasukkan kata. Setelah kata dimasukkan, sistem akan memproses sesuai dengan pola aturan word graph kata keterangan. Tahapan proses KG_EDITOR kata keterangan secara detail dapat dilihat pada Lampiran 2.
Membuat atau Memperbaiki Mock-up
Membuat prototype dari sistem dilakukan setelah ada gambaran yang jelas mengenai sistem secara umum, pengguna sistem, batasan sistem, dan proses sistem. Pembuatan mock-up terbagi menjadi perancangan fungsional, implementasi fungsional dan implementasi antar muka.
1 Perancangan Fungsional
Modul yang dibutuhkan sebagai sebuah perancangan fungsional sistem yang memiliki fungsi-fungsi, yaitu:
a Modul komponen word graph
Berdasarkan konsep KG, word graph yang dibentuk mempunyai sebuah edge sebagai relasi yang menghubungkan antar-token dan juga menghubungkan antara token dengan kata. Komponen-komponen ini akan digambarkan dalam sebuah kanvas yang mempunyai kelas turunan JComponent. Fungsi-fungsi yang digunakan untuk menggambarkan komponen pada kanvas, yaitu:
Menggambarkan relasi
Fungsi ini melakukan penggambaran 8 binary relationship yang menunjukkan relasi antar-token dan relasi antara teks dengan token.
Menggambarkan token
Fungsi ini melakukan penggambaran token sebagai verteks dari sebuah graph dan ontologi F suatu token sebagai fokus token.
Menggambarkan frame
Fungsi ini melakukan penggambaran 4 frame relationships yang digunakan untuk mengelompokkan graph.
b Modul pembangkitan word graph kata keterangan
Modul pembangkitan word graph kata keterangan digunakan sebagai penentuan pola word graph kata keterangan yang akan digambarkan pada kanvas. Penggambaran pola kata keterangan ini disesuaikan dengan kata yang dimasukkan. Pembangkitan word graph kata keterangan meliputi:
Praproses
Fungsi ini sebagai langkah pertama untuk mendapatkkan pola pembangkitan word graph kata keterangan, yaitu kata yang tidak mengandung numerik, simbol, tidak boleh kosong, dan tidak boleh lebih dari dua kata. Pada langkah ini kata keterangan akan dipecah untuk proses selanjutnya.
KBBI
Fungsi KBBI dibuat sesuai kebutuhan penelitian sehingga mampu memeriksa apakah kata tersebut ada pada KBBI atau tidak dan memeriksa kata tersebut termasuk kata benda atau kata numerik. KBBI tersimpan di database kamus yang terdapat pada tabel entry. Selain tabel entry terdapat juga tabel kata_keterangan untuk memeriksa jenis kata keterangan.
Pola kata keterangan
Fungsi ini sebagai penentuan pola word graph kata keterangan yang akan menampilkan word graph dari pola yang membentuknya. Kata masukan yang memenuhi kondisi pola word graph kata keterangan tertentu akan memanggil fungsi untuk menggambarkan pola word graph kata masukan.
Gambar 4 Use case untuk KG_EDITOR.