DEPARTEMEN ILMU KOMPUTER
MODUL WORD GRAPH KATA KERJA PADA
KG_EDITOR BERBASIS DESKTOP
NI MADE FEBRYANTINI DWI ARINY
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
MODUL WORD GRAPH KATA KERJA PADA
KG_EDITOR BERBASIS DESKTOP
NI MADE FEBRYANTINI DWI ARINY
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
ABSTRACT
NI MADE FEBRYANTINI DWI ARINY. Word Graph Module for Indonesian Verbs in Desktop-based KG_EDITOR. Supervised by SRI NURDIATI and AHMAD RIDHA
Knowledge Graph (KG) represents result of text-semantic analysis as a graph. KG_EDITOR is an application to generate KG. It is a desktop-based application developed using Java programming language. The purpose of this research is to create a module to generate a word graph of Indonesian verb using KG method based on user‟s input. Based on the recent research, there are ten types of word graph for Indonesian verb along with 31 formation patterns due to affixation process. KG generation process is started by input pre-processing. Afterwards the input is looked up in Kamus Besar Bahasa
Indonesia (KBBI). The word will be stemmed, if it is not found in KBBI. Then, data will be generated
in the form of basic word and affix. Those data are used to determine the word graph pattern to generate. In this research, the module can recognize 10 types of word graph of verb with more than 98% accuracy.
Judul skripsi :Modul Word Graph Kata Kerja pada KG_EDITOR Berbasis Desktop
Nama : Ni Made Febryantini Dwi Ariny
NRP : G64070066
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
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa-ta'ala karena hanya dengan berkat, rahmat, dan karunia-Nya penelitian ini dapat diselesaikan dengan baik. Selawat serta salam penulis sampaikan kepada junjungan Nabi Muhammad shallallahu’alayhi wasallam, juga kepada keluarganya, sahabatnya, dan para pengikutnya. Penyelesaian penelitian ini juga tidak lepas dari bantuan berbagai pihak, untuk itu penulis mengucapkan terima kasih yang sebesar-besarnya kepada: 1 Kedua orang tua penulis, Bapak Nyoman Teken dan Ibu Elly RM Pitaloka, terima kasih atas doa,
kasih sayang, dukungan, motivasi, pengertian, pengorbanan, dan nasihat yang selalu mengiringi perjalanan penulis.
2 Ibu Dr. Ir. Sri Nurdiati, M.Sc selaku dosen pembimbing I, terima kasih akan kesabaran, ilmu, waktu, motivasi, dan nasihat yang diberikan selama penyelesaian penelitian ini.
3 Bapak Ahmad Ridha, S.Kom, MS selaku dosen pembimbing II, terima kasih atas segala ilmu, saran, dan bantuan yang diberikan selama penyelesaian penelitian ini.
4 Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku dosen penguji, terima kasih atas segala ilmu, kritik, dan saran yang diberikan.
5 Kakak penulis, Ni Putu Desinthya Ayu Azhari, terima kasih atas kasih sayang dan dukungan yang telah diberikan, juga kepada adik penulis, almarhumah Ni Komang Deriska Tri Astuti, dengan mengingatnya turut memberikan motivasi dan semangat kepada penulis.
6 Segenap dosen dan staf pendukung Departemen Ilmu Komputer yang telah membantu penulis dalam berbagai kesempatan.
7 Gema Alief Utama, terima kasih atas kasih sayang, semangat, dukungan, bantuan, serta doa yang diberikan selama penyelesaian penelitian ini.
8 Teman-teman satu bimbingan, Rani Dwijayanti, Nur Nissa Amyati Dillyani, Ria Astriratma, Musthafa Tanfiz Syariat Walayatullah, dan Dean Apriana Ramadhan, terima kasih atas bantuan, dukungan, ilmu, serta motivasi yang selalu diberikan.
9 Teman-teman laboratorium Computer Intelligence: Windy Widowati, Dimpy Adira Ratu, Fani Wulandari, Yuridhis Kurniawan, Laras Mutiara, dan Dhieka Avrilia, terima kasih atas kegembiraan, bantuan, dan semangat yang diberikan.
10 Tri Setiowati, Arizal Notyasa, Nur Fitriana, Isna Mariam, Inne Larasati, dan seluruh Ilkom 44 yang tak bisa disebutkan satu persatu, terima kasih atas semangat dan kebersamaannya.
11 Chayrunnisa Nindita Sari, Amelia Ika, dan Szasza Hervanovriza sebagai sahabat penulis, terima kasih atas motivasi yang diberikan.
12 Semua pihak yang telah memberikan doa, semangat, dan bantuan selama penyelesaian penelitian. Penulis menyadari bahwa penelitian ini masih terdapat kekurangan. Penulis berharap semoga hasil penelitian ini dapat memberikan manfaat.
Bogor, Februari 2012
RIWAYAT HIDUP
Penulis dilahirkan di kota Bandung pada tanggal 20 Februari 1990. Penulis merupakan anak kedua dari tiga bersaudara. Penulis menempuh pendidikan formal di SDN Sempur Kaler (2001), SMP Negeri 8 Bogor (2004), dan SMA Negeri 5 Bogor (2007). Penulis lulus seleksi masuk Institut Pertanian Bogor (IPB) pada tahun 2007 melalui jalur Undangan Seleksi Masuk IPB dengan Program Studi Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam (FMIPA).
Selama aktif sebagai mahasiswa, penulis menjadi salah satu pengurus Himpunan Mahasiswa Ilmu Komputer (Himalkom) pada tahun 2009 dan menjabat sebagai anggota Divisi Kesekretariatan untuk periode 2009 - 2010. Penulis pun turut aktif mengikuti beberapa kegiatan kepanitian di FMIPA serta Departemen Ilmu Komputer, antara lain IT TODAY pada tahun 2008 dan 2009, Pesta Sains pada tahun 2009, dan Masa Pengenalan Departemen pada tahun 2009.
v
DAFTAR ISI
Halaman DAFTAR TABEL ... vi DAFTAR GAMBAR ... vi DAFTAR LAMPIRAN ... vi PENDAHULUAN Latar Belakang ... 1 Tujuan ... 1 Ruang Lingkup ... 1 Manfaat Penelitian ... 1 TINJAUAN PUSTAKA Graf ... 2 Knowledge Graph (KG) ... 2 Word Graph ... 2 Aspek-aspek Ontologi ... 2Verba (Kata Kerja) ... 2
Java ... 3
Abstract Window Toolkit (AWT) ... 3
Metode Pengujian Black Box ... 3
METODE PENELITIAN Metode Pengembangan Prototype... 4
Listen to Customer ... 4
Build/Revise Mock-up ... 4
Customer Test-drives Mock-up ... 4
HASIL DAN PEMBAHASAN Iterasi 1 ... 5
Listen to Customer ... 5
Build Mock-up ... 6
Customer Test-drives Mock-up ... 12
Iterasi 2 ... 12
Listen to Customer ... 12
Revise Mock-up ... 12
Customer Test-drives Mock-up ... 13
Iterasi 3 ... 14
Listen to Customer ... 14
Revise Mock-up ... 14
Customer Test-drives Mock-up ... 15
Analisis Hasil Pengujian Keseluruhan ... 15
KESIMPULAN DAN SARAN Kesimpulan ... 15
Saran ... 16
DAFTAR PUSTAKA ... 16
vi
DAFTAR TABEL
Halaman
1 Contoh isi tabel „Entry‟ ... 7
2 Contoh isi tabel 'PolaKataKer' ... 7
3 Data pencarian calon awalan ... 9
4 Data pencarian calon akhiran ... 10
5 Urutan pencarian calon kata dasar ... 10
6 Pola pembentukan kata berulang ... 13
DAFTAR GAMBAR
Halaman 1 Penggabungan awalan dan akhiran. ... 32 Metode pengembangan perangkat lunak prototype. ... 4
3 Use case diagram pada modul word graph kata kerja. ... 5
4 Tampilan menu „Modul‟ sistem. ... 7
5 Tampilan input dialog box. ... 7
6 Tampilan peringatan masukan bukan kata kerja. ... 8
7 Tampilan peringatan kata dasar tidak ditemukan. ... 8
8 Tampilan peringatan pada kanvas. ... 8
9 Diagram proses stemming. ... 9
10 Contoh hasil stemming pada kata „bertabrakan‟. ... 11
11 Contoh hasil pembangkitan Pola 1... 11
12 Contoh hasil stemming pada kata kedua „nari‟. ... 14
DAFTAR LAMPIRAN
Halaman 1 Pola word graph kata kerja ... 182 Diagram alir modul word graph kata kerja KG_EDITOR ... 20
3 Tampilan peringatan tahap praproses ... 21
4 Class diagram modul word graph kata kerja ... 22
5 Sequence diagram modul word graph kata kerja ... 23
6 Hasil pengujian Pola 1 pada iterasi pertama ... 25
7 Hasil pengujian Pola 2 pada iterasi pertama ... 26
8 Hasil pengujian Pola 3 pada iterasi pertama ... 28
9 Hasil pengujian Pola 4 pada iterasi pertama ... 29
10 Hasil pengujian Pola 5 pada iterasi pertama ... 30
11 Hasil pengujian Pola 6 pada iterasi pertama ... 31
12 Hasil pengujian Pola 7 pada iterasi pertama ... 33
13 Hasil pengujian Pola 8 pada iterasi pertama ... 34
14 Hasil pengujian Pola 9 pada iterasi pertama ... 35
15 Hasil pengujian Pola 10 pada iterasi pertama ... 36
16 Hasil pengujian Pola 4 pada iterasi kedua... 37
17 Hasil pengujian Pola 8 pada iterasi kedua... 38
18 Hasil pengujian Pola 9 pada iterasi kedua... 39
19 Hasil pengujian Pola 10 pada iterasi kedua... 40
PENDAHULUAN
Latar Belakang
Natural Language Processing (NLP) merupakan suatu bidang kajian yang mengkaji mengenai metode pengenalan bahasa alami oleh sistem komputer. Bahasa alami merupakan bahasa yang biasa digunakan oleh manusia untuk saling berkomunikasi. Komunikasi manusia dan komputer dapat dilakukan dengan bahasa buatan (bahasa pemrograman), namun tidak semua orang dapat menggunakannya karena diperlukan usaha untuk memahami suatu bahasa buatan. Tujuan utama NLP adalah melakukan proses pembuatan model komputasi dari bahasa, sehingga interaksi antara manusia dan komputer dapat dilakukan dengan perantara bahasa alami.
Knowledge graph (KG) adalah suatu metode
dalam NLP. Metode ini mencoba melakukan
tinjauan dalam menggambarkan atau
menjelaskan suatu bahasa dengan cara menganalisis teks secara harfiah dan diperkaya dengan latar belakang pengetahuannya sehingga menghasilkan sebuah pengetahuan baru. Teori KG lebih berfokus kepada aspek semantis daripada aspek sintaksis (Zhang 2002). Penelitian yang dilakukan kali ini yaitu mengenai graf kata (word graph) sebagai komponen terkecil dari KG. Pengetahuan baru yang dihasilkan kemudian dinyatakan dalam bentuk graf sebagai representasi visual yang
jelas dan bermakna serta memberikan
penekanan makna suatu kata.
Suatu pengetahuan ditunjukkan oleh bahasa. Oleh karena itu, pengetahuan harus dapat direpresentasi dalam berbagai bahasa (Zhang
2002). Mark van Koningsveld telah
mengembangkan sistem DelftConStruct yaitu
aplikasi penerapan metode KG dalam
menganalisis teks berbahasa Inggris pada tahun 2008 (Romadoni 2009), kemudian Romadoni
(2009) mengembangkan sistem
Bogor_Delft_Construct yang dapat
menganalisis teks berbahasa Indonesia.
Christian Henry, pada tahun 2011,
menambahkan modul pembentukan word graph kata kerja pada sistem Bogor_Delft_Construct. Kedua sistem tersebut dikembangkan dengan
menggunakan MATLAB dan merupakan
aplikasi yang berbasis desktop.
Pengembangan sistem sebelumnya memiliki kelemahan, yaitu sistem tidak dapat digunakan
secara bebas karena MATLAB bukan
merupakan perangkat lunak yang bersifat open
platform dan membutuhkan lisensi untuk
menggunakannya. Penelitian yang dilakukan kali ini adalah membuat modul pembangkit
word graph kata kerja bahasa Indonesia pada
KG_EDITOR dengan menggunakan bahasa pemrograman Java berbasis desktop yang bersifat open platform, agar semua orang dapat memanfaatkan sistem ini dengan maksimal. Sistem KG_EDITOR terdiri atas beberapa modul jenis kata, namun penelitian ini hanya membahas mengenai pembuatan modul word
graph untuk jenis kata kerja. Modul kata kerja
berfungsi untuk membangkitkan word graph jenis kata kerja berdasarkan masukan kata kerja yang diberikan pengguna. Word graph kata kerja yang terbentuk merupakan word graph dari makna kata kerja berdasarkan analisis yang telah dilakukan oleh Muslik (2009) di dalam tesis yang berjudul “Analisis Pembentukan
Word Graph Kata Kerja Menggunakan Metode Knowledge Graph”.
Tujuan
Tujuan dari penelitian ini adalah membuat modul pembangkitan word graph jenis kata kerja pada KG_EDITOR. Modul kata kerja dibuat menggunakan metode KG yang dapat menampilkan graf makna kata kerja sesuai dengan masukan kata kerja. Modul kata kerja dibuat menggunakan bahasa pemrograman Java yang berbasis desktop.
Ruang Lingkup
Ruang lingkup penelitian ini hanya difokuskan pada pembuatan modul word graph kata kerja pada KG_EDITOR, dengan masukan berupa kata kerja tunggal. Kata tunggal yang dimaksud yaitu kata yang hanya terdiri atas satu kata, namun kata tunggal dapat pula berupa kata berulang. Sistem tidak dapat membedakan jenis kata kerja dasar yang berupa transitif dan intransitif. Selain itu, sistem juga tidak dapat mengenali kata dasar yang berupa kata dasar terikat dan frasa preposisional. Makna kata kerja bahasa Indonesia yang digunakan pada modul word graph kata kerja diambil dari hasil penelitian Muslik (2009).
Manfaat Penelitian
Manfaat jangka panjang dari penelitian ini adalah terbentuknya suatu sistem yang dapat membaca input (masukan) berupa teks bahasa Indonesia dari pengguna yang kemudian menghasilkan output (keluaran) berupa abstraksi dari teks tersebut dalam bentuk text
graph. Manfaat jangka pendek yang dapat
dihasilkan langsung dari penelitian ini yaitu
terbentuknya suatu modul untuk
dapat dijadikan dasar pembuatan abstraksi suatu teks dalam bentuk text graph untuk penelitian selanjutnya.
TINJAUAN PUSTAKA
Graf
Suatu graf G = (V, E) terdiri atas himpunan berhingga dan tak kosong dari elemen graf objek V = {v1, v2, ...} yang disebut verteks dan himpunan pasangan tak terurut dari verteks V yang disebut edge E = {e1, e2, ...}. Verteks disebut juga node atau titik, sedangkan edge disebut juga garis atau sisi (Deo 2004).
Knowledge Graph (KG)
KG merupakan graf berarah yang terdiri atas verteks dan edge. Verteks merepresentasikan
concept, sedangkan edge merepresentasikan
hubungan antar-concept. KG memperluas metode representasi dengan menetapkan model penjelasan semantis bagi persepsi manusia dan
pemrosesan informasi. KG merupakan
kombinasi dan integrasi antargraf yang diekstrak dari berbagai teks sehingga dapat tergambarkan suatu relationship dan concept.
Teori KG terdiri atas relationship dan
concept. Relationship adalah suatu hubungan
yang menghubungkan antara concept yang satu dengan concept yang lain. Concept merupakan komponen penting dalam pemikiran manusia yang diinterpretasikan dengan verteks pada graf. Concept dapat dibedakan menjadi token,
type dan name.
1 Token
Token adalah concept yang dipahami oleh
seseorang menurut cara pandang masing-masing. Hal ini berakibat adanya unsur subjektivitas. Token mengekspresikan sesuatu yang dialami dalam dunia nyata atau concept dari dalam persepsi manusia. Sebuah token dinyatakan dengan menggunakan simbol “□”. Teori KG menyatakan semua hal yang ada dalam dunia nyata akan memiliki token yang terkait.
2 Type dan name
Type dan name memiliki kondisi yang
hampir sama. Keduanya dapat dibedakan dari relasi yang menghubungkannya dengan token.
Type adalah concept yang berupa informasi
umum dan bersifat objektif karena berdasarkan kesepakatan yang telah dibuat sebelumnya.
Name adalah suatu concept yang bersifat
individual (Muslik 2009). Sesuatu dapat diberi
name dengan banyak cara.
Word Graph
Text graph merupakan suatu representasi
pengetahuan baru yang terkandung dalam sebuah teks yang diringkas dari dokumen tertentu. Text graph merupakan gabungan dari beberapa sentence graph. Bagian terkecil dari
text graph adalah word graph, karena kata
merupakan unit terkecil yang membentuk suatu teks. Word graph merupakan graf dari kata yang menyatakan makna dari suatu kata (Muslik 2009).
Aspek-aspek Ontologi
Ontologi merupakan gambaran dari
beberapa concept dan relationship
antar-concept untuk mendefinisikan ide-ide yang
merepresentasikan concept, relationship, dan logikanya (Muslik 2009). Menurut Nurdiati dan Hoede (2008), ontologi terdiri atas delapan
binary relationship dan empat jenis frame relationship. Jenis ontologi lain yaitu ontologi Focus (F), yang digunakan untuk menunjukkan
fokus pada suatu graf. Ontologi F disimbolkan dengan „
■
‟. Binary relationship merupakanpenghubung antara dua concept yang
membentuk sebuah graf. Berikut adalah jenis-jenis binary relationship:
1 Relasi kesamaan (ALIKENESS/ALI) 2 Relasi kausalitas (CAUSALITY/CAU) 3 Relasi kesederajatan (EQUALITY/EQU) 4 Relasi kepemilikan (SUBSET/SUB) 5 Relasi perbedaan (DISPARATENESS/DIS) 6 Relasi yang berurutan (ORDERING/ORD) 7 Relasi atribut (ATTRIBUTE/PAR)
8 Relasi kebergantungan informasi
(SKOLEM/SKO)
Tidak semua hal dapat dinyatakan hanya dengan menggunakan binary relationship. Oleh karena itu, terdapat frame untuk menanganinya.
Frame merupakan verteks berlabel yang
digunakan untuk mengelompokkan beberapa graf. Keempat jenis frame relationship atau juga disebut multivariate relationship, yaitu: 1 Focusing on a situation (FPAR)
2 Negation of a situation (NEGPAR) 3 Possibility of a situation (POSPAR) 4 Necessity of a situation (NECPAR)
Verba (Kata Kerja)
Jenis kata yang dijadikan topik penelitian kali ini adalah verba (kata kerja). Kata kerja adalah kata yang menyatakan perbuatan atau tindakan, proses, dan keadaan yang bukan merupakan sifat atau kualitas. Kata kerja umumnya berfungsi sebagai predikat dalam suatu frasa atau kalimat (Finoza 2009).
Secara umum, kata kerja dapat dibedakan dari kelas kata yang lain terutama kata sifat karena beberapa hal, di antaranya yaitu kata kerja memiliki fungsi utama sebagai predikat atau inti predikat. Selain itu, terdapat makna inheren perbuatan (aksi), proses, atau keadaan yang bukan sifat atau kualitas pada kata kerja. Hal lain yang menjadi ciri-ciri kata kerja yaitu kata kerja yang bermakna keadaan tidak dapat diberi prefiks ter- yang memiliki arti „paling‟. Secara umum, kata kerja tidak dapat bersatu dengan kata yang bermakna kesangatan, seperti „agak menangis‟, „sangat melempar‟, dan „pergi sekali‟ (Alwi et al. 2003).
Kata kerja dapat dibedakan berdasarkan perilaku, objek, dan bentuknya. Kata kerja dari segi perilaku dibedakan menjadi semantis dan sintaksis. Perilaku semantis berarti makna inheren dari suatu kata. Sintaksis berarti studi mengenai hubungan kata dengan kata dalam bentuk yang lebih besar, yaitu frasa, klausa, dan kalimat. Berdasarkan objeknya, kata kerja dibagi menjadi kata kerja transitif dan kata kerja intransitif. Kata kerja transitif adalah kata kerja yang membutuhkan objek atau pelengkap seperti „melempar (batu)‟, sedangkan kata kerja intransitif adalah kata kerja yang tidak membutuhkan objek seperti „berlari‟ dan „menangis‟.
Awalan
Akhiran
meng- -kan -i ber- ter- di-ke- -anGambar 1 Penggabungan awalan dan akhiran. Kata kerja dari segi bentuknya terdiri atas kata kerja dasar dan kata kerja turunan. Kata kerja dasar merupakan kata kerja yang berdiri sendiri tanpa imbuhan (awalan, akhiran, atau gabungan keduanya). Kata kerja ini dapat mengetahui makna yang melekat pada kata (makna leksikal). Berbeda dengan kata dasar, kata kerja turunan dapat dibentuk dari transposisi (peralihan suatu kata dari kategori sintaksis yang satu ke kategori sintaksis yang lainnya), pengafiksan (penambahan imbuhan), reduplikasi (pengulangan), atau pemaduan (penggabungan dua kata dasar atau lebih menjadi satu kata yang memiliki makna). Salah satu cara memperoleh kata kerja turunan adalah dengan penggabungan awalan dan akhiran, namun tidak semua awalan dan akhiran dapat
digabungkan. Gambar 1 menunjukkan aturan penggabungan awalan dan akhiran.
Java
Java adalah bahasa pemrograman yang berorientasi objek dan dapat dijalankan pada berbagai platform sistem operasi. Java dikembangkan untuk berbagai sistem operasi dan bersifat open source, yaitu dapat digunakan, dimodifikasi, dan didistribusikan secara bebas. Program yang dikembangkan menggunakan Java terdiri atas class-class dan di dalam setiap
class terdapat method-method. Method
melakukan task yang diperintahkan dan mengembalikan informasi setelah task selesai dikerjakan (Deitel & Deitel 2007).
Abstract Window Toolkit (AWT)
Java menyediakan berbagai macam tool untuk mengembangkan aplikasi graphical user
interface (GUI) yang menarik dan interaktif,
salah satunya yaitu AWT. AWT menjamin tampilan aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Maksudnya, tampilan aplikasi akan tetap terlihat sama meskipun dijalankan pada sistem operasi berbeda. Contoh penggunaan AWT yaitu dapat membuat window, menggambar, manipulasi gambar, dan komponen seperti
Scrollbar, Checkbox, TextField, TextArea, Button, dan menu Pull-down (Zukowski 1997).
Metode Pengujian Black Box
Salah satu metode pengujian sistem yaitu metode pengujian black box atau yang dikenal dengan behavioral testing. Metode pengujian tersebut berfokus pada kebutuhan fungsional sistem. Pengujian dilakukan untuk memeriksa apakah masukan dari pengguna dapat diterima dengan baik oleh sistem sehingga memberikan hasil keluaran yang sesuai dengan tidak
memerhatikan proses di dalam sistem
(Pressman 2001).
METODE PENELITIAN
Penelitian ini diawali dengan mendalami konsep KG dan implementasinya dalam pembentukan word graph kata kerja bahasa Indonesia. Selain itu, analisis mengenai aturan umum kata kerja juga dilakukan pada penelitian ini. Data yang digunakan pada penelitian ini adalah kata kerja berbahasa Indonesia dalam bentuk tunggal sebagai masukan sistem. Word
graph kata kerja berdasarkan kelompok
imbuhannya berjumlah 10 word graph yang terdiri atas 31 aturan pembentukan kata kerja. Aturan tersebut didapat dari penelitian yang
dilakukan oleh Muslik (2009). Tahap selanjutnya yaitu pembuatan modul word graph
kata kerja pada KG_EDITOR. Metode
pengembangan sistem yang digunakan dalam pembuatan modul kata kerja ini yaitu prototype.
Metode Pengembangan Prototype
Model pengembangan prototype digunakan karena definisi tujuan perangkat lunak yang diberikan terlalu umum dan tidak menjelaskan kebutuhan masukan, proses, dan keluaran perangkat lunak secara spesifik. Metode pengembangan prototype dimulai dengan
mengumpulkan semua informasi tentang
kebutuhan, batasan, dan tujuan dalam membangun sistem (listen to customer). Setelah diperoleh kebutuhan inti perangkat lunak, selanjutnya dibuat mock-up atau desain ringkas sistem (build/revise mock-up). Mock-up dapat berbentuk sketsa ataupun kerangka perangkat lunak yang akan dibuat. Pengujian terhadap
mock-up dilakukan oleh pengguna untuk
mengetahui kekurangan sistem (customer
test-drives mock-up). Koreksi sistem dilakukan
berdasar pada hal-hal yang perlu diperbaiki pada mock-up. Iterasi berlangsung hingga
sistem memenuhi kebutuhan pengguna
(Pressman 2001). Proses pengembangan sistem
prototype dapat dilihat pada Gambar 2.
listen to
customer build/revisemock-up customer
test-drives mock-up
Gambar 2 Metode pengembangan perangkat lunak prototype.
Listen to Customer
Tahap awal pembuatan sistem yaitu dengan mendeskripsikan batasan dan kemungkinan kebutuhan sistem. Hal tersebut dapat diperoleh dari pengguna maupun berdasarkan analisis terhadap penelitian sebelumnya. Pengguna merupakan bagian terpenting pada metode
prototype karena pengguna merupakan komponen yang menentukan apakah prototype yang dibuat telah memenuhi spesifikasi untuk dikembangkan sebagai produk. Informasi yang dicari pada tahap ini, yaitu mengenai deskripsi umum, deskripsi proses, kebutuhan, dan batasan sistem serta karakteristik serta kebutuhan pengguna.
Build/Revise Mock-up
Tahap ini berfokus pada perencanaan dan perancangan prototype sistem. Sistem mulai dibuat sesuai informasi yang telah didapat setelah terkumpul informasi mengenai batasan dan kebutuhan sistem. Tujuan utama dari pembuatan mock-up adalah untuk menjawab
satu atau lebih pertanyaan mengenai
karakteristik fungsional dari produk. Mock-up yang dibuat berupa perancangan sementara yang berfokus pada penyajian kepada pengguna misalnya membuat format masukan dan keluaran sistem. Langkah-langkah pembuatan sistem meliputi perancangan antarmuka, perancangan kebutuhan fungsional, peran- cangan database, implementasi antarmuka, dan implementasi fungsional.
Customer Test-drives Mock-up
Tahap terakhir yaitu pengujian sistem oleh pengguna. Mock-up yang telah dibuat harus diuji untuk menentukan perilakunya dan mengumpulkan keluaran sehingga didapat
produk yang sesuai dengan keinginan
pengguna. Pengujian sistem bertujuan untuk melihat kesesuaian sistem dengan spesifikasi yang diberikan dan mencari kesalahan yang mungkin masih ada. Kesalahan yang ditemukan kemudian diperbaiki hingga sesuai dengan kebutuhan pengguna. Proses revisi dan pengujian terhadap mock-up dilakukan secara iteratif hingga didapatkan sistem yang sesuai dengan yang diinginkan oleh pengguna.
Metode pengujian yang digunakan pada KG_EDITOR adalah metode black box. Pengujian sistem terfokus pada pengujian masukan dan keluaran sistem. Perhitungan akurasi modul word graph kata kerja dilakukan dengan menghitung banyak kata yang dapat dibangkitkan pola word graph kata kerja yang sesuai dari keseluruhan masukan yang diberikan.
kurasi kata yang benar
kata yang diuji x
HASIL DAN PEMBAHASAN
Metode yang digunakan pada penelitian kali ini adalah metode prototype. Tahap awal metode tersebut yaitu membuat mock-up awal sesuai dengan kebutuhan pengguna. Mock-up yang telah dibuat kemudian dievaluasi dan kekurangan yang didapat dari hasil evaluasi kemudian diperbaiki untuk mendapatkan sistem yang sesuai dengan keinginan pengguna. Hal tesebut membuat keseluruhan proses pembuatan
modul word graph kata kerja terbagi atas beberapa iterasi. Penelitian mengenai pembuatan modul word graph kata kerja pada KG_EDITOR kali ini terbagi menjadi tiga iterasi.
Iterasi 1
Listen to Customer
Beberapa hal yang didapat berdasarkan komunikasi awal dengan pengguna dan analisis penelitian sebelumnya:
1 Deskripsi Umum Sistem
KG_EDITOR adalah sebuah sistem berbasis
desktop yang dikembangkan dengan
menggunakan bahasa pemrograman Java.
Sistem ini merupakan sebuah sistem yang digunakan untuk menganalisis teks dengan
menerapkan konsep KG. Pengembangan
KG_EDITOR dengan menggunakan bahasa pemrograman Java bertujuan untuk mengatasi kekurangan sistem Bogor_Delft_Construct pada penelitian sebelumnya, yaitu sistem dikembangkan dengan menggunakan MATLAB yang bersifat close platform.
Penelitian kali ini dilakukan untuk menambahkan sebuah modul pembangkit word
graph kata kerja pada sistem KG_EDITOR.
Modul pembangkitan word graph kata kerja
merupakan salah satu modul penyusun
KG_EDITOR. Modul ini berfungsi untuk menampilkan word graph jenis kata kerja sesuai masukan yang diberikan pengguna. Terdapat 10
word graph kata kerja berdasarkan penelitian
Muslik (2009) yang terdiri atas 31 aturan pembentukan kata kerja. Seluruh aturan pembentukan word graph kata kerja dapat dilihat pada Lampiran 1.
2 Deskripsi Proses Sistem
Sistem akan menampilkan lembar kerja berupa kanvas kosong sebagai default tampilan sistem. Proses pembentukan word graph kata kerja dapat dilakukan dengan memasukkan kata kerja sebagai masukan sistem, yaitu dengan memilih menu „Modul‟ kemudian memilih
submenu „Kata Kerja‟ untuk menjalankan
modul word graph kata kerja. Dialog box berisi
text field akan muncul sebagai sarana untuk
memasukkan kata kerja.
Kata masukan tersebut kemudian akan diproses melalui beberapa tahapan dan diperiksa termasuk word graph kata kerja yang mana. Word graph yang sesuai dengan kata
masukan kemudian digambarkan dan
ditampilkan pada kanvas KG_EDITOR. Pesan peringatan akan muncul jika kata masukan tidak sesuai dengan aturan pembentukan kata kerja
berdasarkan penelitian yang telah dilakukan oleh Muslik (2009) atau tidak sesuai dengan aturan yang diberikan sistem. Pesan peringatan tersebut terdapat pada dialog box ataupun pesan pada kanvas KG_EDITOR. Seluruh tahap pembuatan modul word graph kata kerja dapat dilihat pada Lampiran 2.
3 Karakteristik Pengguna
Sistem KG_EDITOR bukan merupakan sistem yang ditujukan sebagai alat pembelajaran mengenai KG. Oleh karena itu, pengguna sistem ini adalah orang yang sudah memahami konsep KG. Hal tersebut dikarenakan modul
word graph kata kerja pada sistem ini berfungsi
untuk menganalisis teks yang berupa kata kerja dengan menerapkan konsep KG. Pengguna dapat mengerti keluaran modul pada sistem yang berupa word graph kata kerja jika pengguna memahami konsep KG.
4 Kebutuhan Pengguna
Pengguna dapat memilih modul jenis kata yang ingin dibangkitkan dalam bentuk word
graph, dalam hal ini modul kata kerja.
Pengguna juga dapat memasukkan kata kerja
untuk mendapatkan word graph yang
diinginkan. Kata masukan kemudian diproses oleh sistem. Pengguna dapat melihat word
graph kata kerja sesuai dengan masukan yang
diberikan jika proses sistem berjalan dengan baik dan memenuhi kondisi yang diberikan. Pengguna dapat melihat pesan peringatan jika suatu kondisi tidak terpenuhi. Gambar 3 menjelaskan deskripsi kebutuhan pengguna KG_EDITOR dalam use case diagram.
Pengguna
Gambar 3 Use case diagram pada modul word
graph kata kerja.
5 Kebutuhan Sistem
Sistem dapat berjalan sesuai dengan fungsinya jika semua kebutuhan sistem terpenuhi. Sistem membutuhkan beberapa fungsi untuk menerima dan mengolah kata masukan, serta menampilkan word graph hasil pembangkitan dari kata masukan. Suatu sarana dibutuhkan agar pengguna dapat memasukkan
Memasukkan Input Kata Kerja
Melihat Word Graph Kata Kerja
Melihat Pesan Peringatan Sistem
kata kerja sebagai masukan dari sistem. Selain itu, modul word graph kata kerja pada KG_EDITOR membutuhkan data dari Kamus
Besar Bahasa Indonesia (KBBI) yang
disesuaikan, yang disimpan ke dalam database. KG_EDITOR juga membutuhkan fungsi
stemming untuk mengakomodasi kata masukan
yang tidak terdapat dalam KBBI. KBBI digunakan dalam proses pengecekan kata masukan dan pengecekan kata dasar pada proses stemming. Data lain yang diperlukan yaitu aturan pembentukan word graph kata kerja yang disimpan ke dalam database. Fungsi komponen dibutuhkan untuk menampilkan komponen-komponen pembentuk word graph kata kerja pada kanvas sistem. Komponen pembentuk tersebut didapat dari penelitian Walayatullah (2012).
Build Mock-up
Pembuatan mock-up dilakukan berdasarkan hasil komunikasi yang dilakukan dengan pengguna. Tahapan yang dilakukan pada pembuatan mock-up modul word graph kata kerja yaitu:
1 Perancangan Antarmuka
Antarmuka utama KG_EDITOR adalah sebuah kanvas sebagai media visualisasi word
graph. Kanvas berada dalam keadaan kosong
saat pertama kali sistem dijalankan. Terdapat
menu „File‟ dan „Modul‟ sebagai menu utama
sistem. Menu „File‟ berisi submenu „Exit‟ untuk keluar dari KG_EDITOR. Beberapa pilihan jenis kata terdapat pada menu „Modul‟. Pengguna dapat memilih jenis kata yang ingin ditampilkan dalam bentuk word graph.
2 Perancangan Kebutuhan Fungsional
Modul pembangkitan word graph kata kerja digunakan untuk menentukan word graph berdasarkan aturan pembentukan kata kerja sesuai dengan masukan yang diberikan pengguna. Aturan pembentukan terdiri atas imbuhan dan kategori kata dasar dari kata
masukan. Word graph yang didapatkan
kemudian ditampilkan pada kanvas. Proses pembangkitan word graph kata kerja meliputi: Praproses
Kata kerja masukan dari pengguna langsung diproses pada tahap ini untuk membatasi nilai masukan pada sistem. Batasan nilai masukan untuk word graph kata kerja, yaitu kata masukan harus berupa kata tunggal, tidak boleh kosong, dan tidak boleh mengandung simbol atau karakter numerik. Kata masukan kemudian akan diproses ke tahap selanjutnya jika keadaan tersebut terpenuhi.
Pengecekan KBBI
Kata masukan kemudian diperiksa apakah terdapat pada KBBI atau tidak, dan apakah kata masukan tersebut berupa kata kerja atau bukan. Kata masukan akan dipecah menjadi kata dasar dan imbuhan jika kata masukan merupakan kata
kerja dan terdapat dalam KBBI yang
disesuaikan. Kata dasar dari kata masukan didapat dari pencarian pada KBBI
Stemming
Kata masukan yang telah melalui praproses dan tidak terdapat dalam KBBI akan masuk ke dalam proses stemming. Proses stemming adalah
proses pencarian kata dasar dengan
menghilangkan kemungkinan imbuhan yang melekat pada kata dasar. Oleh karena itu, langkah awal proses stemming yaitu pencarian kemungkinan awalan dan akhiran yang melekat pada kata masukan.
Proses stemming akan mengolah kata masukan untuk mendapatkan kata dasar yang sesuai. Karena sistem tidak mengetahui imbuhan apa saja yang harus dihilangkan agar kata dasar ditemukan, berbagai kemungkinan awalan dan akhiran pada kata masukan dihilangkan. Tahap tersebut menghasilkan beberapa calon kata dasar.
Sistem melakukan pengecekan pada tiap calon kata dasar. Kata dasar yang didapat dari proses stemming harus berada pada KBBI. Jika tidak, proses tersebut tidak akan menghasilkan data imbuhan dan kategori kata dasar yang diperlukan untuk penentuan word graph. Proses
stemming pada modul word graph kata kerja
dibuat sesuai dengan aturan pembentukan word
graph kata kerja pada penelitian Muslik (2009).
Penentuan word graph kata kerja
Pengecekan word graph kata kerja
dilakukan setelah data yang diperlukan didapat. Data tersebut berupa imbuhan dan kategori kata dasar dari kata masukan. Data untuk penentuan
word graph kata kerja dapat berasal dari proses
pengecekan langsung pada KBBI ataupun melalui proses stemming terlebih dahulu. Penentuan word graph kata kerja dilakukan dengan mencocokkan kategori kata dasar dan
imbuhan yang didapat dengan aturan
pembentukan word graph kata kerja
berdasarkan penelitian Muslik (2009). Pembangkitan word graph kata kerja
Pembangkitan word graph kata kerja dilakukan jika kata masukan memenuhi kondisi aturan pembentukan kata kerja tertentu. Word
graph yang sesuai kemudian digambarkan dan
dasar masukan dan kata masukan juga termasuk dalam komponen penggambaran word graph kata kerja.
3 Perancangan Database
Database yang digunakan dalam sistem ini
bernama „kamus‟. Tabel yang digunakan untuk modul kata kerja terdiri atas dua buah tabel yaitu tabel „Entry‟ dan tabel „PolaKataKer‟. Data yang terdapat pada KBBI disimpan ke dalam tabel „Entry‟. Tabel „Entry‟ terdiri atas empat field yaitu „EntryId‟, „Word‟, „Category‟, dan „Stem‟.
Field „EntryId‟ sebagai primary key tabel
„Entry‟, sedangkan field „Word‟ berisi kata dalam bahasa Indonesia, baik yang berupa kata dasar maupun kata turunan yang sudah terdapat imbuhan di dalamnya. Field „Category‟ berisi kategori dari kata pada field „Word‟, seperti v (kata kerja), n (kata benda), dan sebagainya.
Field „Stem‟ berisi kata dasar dari kata pada field „Word‟. Beberapa kata turunan dapat
memiliki kata dasar yang sama. Contoh isi tabel „Entry‟ dapat dilihat pada Tabel .
Tabel 1 Contoh isi tabel „Entry‟
EntryId Word Category Stem
50637 tingkat n tingkat
50638 bertingkat v tingkat
50640 meningkat v tingkat
50642 meningkatkan v tingkat
50643 peningkatan n tingkat
Tabel „PolaKataKer‟ dalam database „kamus‟ digunakan dalam proses pengecekan aturan pembentukan word graph kata kerja. Tabel tersebut terdiri atas empat field, yaitu „ walan‟, „JenisKD‟, „ khiran‟, dan „Pola‟. Sesuai dengan nama field tersebut, masing-masing field berisi awalan, kategori kata dasar, akhiran, dan nama pola word graph dari suatu kata kerja. Contoh isi tabel „PolaKataKer‟ dapat dilihat pada Tabel 2.
Tabel 2 Contoh isi tabel 'PolaKataKer'
Awalan JenisKD Akhiran Pola
me v kan 2
di a kan 3
ber v an 5
ke n an 6
4 Implementasi Antarmuka
Antarmuka KG_EDITOR terdiri atas menu
bar dan kanvas sistem. Terdapat dua menu pada menu bar, yaitu menu „File‟ dan menu „Modul‟.
Tampilan awal KG_EDITOR pada saat
dijalankan adalah menu bar pada bagian atas
window dan di bawahnya terdapat kanvas yang
masih dalam keadaan kosong. Menu „File‟ hanya berisi satu submenu yaitu „Exit‟ untuk keluar dari sistem, sedangkan menu „Modul‟ terdiri atas tiga submenu yaitu „Kata
Keterangan‟, „Kata Benda‟, dan „Kata Kerja‟. Pengguna dapat memilih salah satu submenu jenis kata yang diinginkan, kemudian input
dialog box akan muncul. Pembangkitan word graph kata kerja dapat dilakukan dengan
memilih submenu „Kata Kerja‟ atau dengan menekan tombol shortcut CTRL + J pada
keyboard. Terdapat sebuah text field pada input dialog box sebagai media bagi pengguna untuk
memasukkan kata yang ingin ditampilkan dalam bentuk word graph. Tampilan submenu dan input dialog box sistem dapat dilihat pada Gambar 4 dan Gambar 5.
Gambar 4 Tampilan menu „Modul‟ sistem.
Gambar 5 Tampilan input dialog box. Peringatan sistem ditampilkan dalam bentuk
dialog box. Pesan peringatan pada dialog box
akan muncul bila kata masukan tidak memenuhi kondisi tertentu. Kondisi-kondisi tersebut adalah kata masukan tidak boleh kosong, berisi lebih dari satu kata (dipisahkan oleh spasi), ataupun terdapat simbol atau numerik. Tampilan peringatan pada dialog box untuk tahap praproses dapat dilihat pada Lampiran 3. Pesan peringatan untuk kata masukan dapat muncul setelah praproses terpenuhi, yaitu dalam pengecekan pada KBBI. Pesan peringatan akan muncul seperti Gambar 6 jika kategori kata masukan bukan merupakan „v‟ atau kata kerja.
Gambar 6 Tampilan peringatan masukan bukan kata kerja.
Pesan peringatan muncul tidak hanya pada kesalahan dalam memasukkan kata masukan ke sistem, tetapi pesan peringatan juga muncul setelah proses stemming dilakukan. Calon-calon kata dasar yang diperoleh kemudian dicek keberadaannya pada KBBI. Jika semua calon tidak memenuhi kondisi yang diberikan atau proses stemming tidak menghasilkan kata dasar yang sesuai, pesan peringatan seperti pada Gambar 7 akan muncul.
Gambar 7 Tampilan peringatan kata dasar tidak ditemukan.
Jika tidak terdapat kata dasar yang dikenali, aturan pembentukan word graph kata masukan juga tidak dapat ditemukan sehingga word
graph tidak dapat ditampilkan. Selain itu, jika
data yang didapat tidak memenuhi aturan pembentukan kata kerja, pola juga tidak dapat ditemukan. Pesan peringatan akan ditampilkan pada kanvas jika kondisi tersebut terjadi. Tampilan pesan peringatan tersebut dapat dilihat pada Gambar 8.
Gambar 8 Tampilan peringatan pada kanvas.
5 Implementasi Fungsional
Praproses
Tahap awal pembangkitan word graph kata kerja yaitu praproses yang bertujuan untuk membatasi nilai masukan. Kata masukan harus
berupa kata tunggal atau tidak mengandung spasi („ ‟). Kata tunggal juga dapat berupa kata berulang, baik berimbuhan maupun tidak, yang dihubungkan dengan tanda hubung (-). Kata masukan tidak boleh mengandung numerik atau simbol dan kata masukan tidak boleh kosong. Sistem dapat menerima kata masukan yang berupa huruf kapital, huruf kecil, atau gabungan keduanya karena kata masukan akan diubah ke dalam huruf kecil semua pada proses sistem.
Class yang digunakan pada tahap ini adalah class „CekInputKerja‟.
Kata masukan akan diproses ke tahap selanjutnya jika keadaan pada tahap praproses terpenuhi. Jika tidak terpenuhi, kata masukan tidak akan diproses ke tahap selanjutnya dan sistem akan menampilkan pesan peringatan. Contoh kata masukan yang diberikan pengguna adalah „mengairi‟. Kata tersebut akan melalui proses pengecekan apakah sesuai dengan
kondisi yang diperbolehkan sistem.
Berdasarkan pengecekan, kata „mengairi‟ memenuhi kondisi sistem dan dapat diproses ke tahap selanjutnya.
Pengecekan KBBI
Kata masukan yang telah lolos tahap praproses kemudian diperiksa apakah kata tersebut terdapat dalam KBBI yang disesuaikan. Proses pengecekan ini dilakukan oleh class „Kata‟. Proses yang terjadi ketika dilakukan pengecekan yaitu sistem akan memeriksa apakah kata masukan terdapat pada KBBI yang disesuaikan, yang dalam penelitian ini disimpan pada tabel „Entry‟.
Pemeriksaan kata masukan pada KBBI dilakukan dengan menggunakan method Kata(). Kata masukan diperiksa apakah terdapat dalam
field „Word‟ atau tidak. Kategori kata masukan
akan diperiksa jika kata tersebut terdapat dalam
field „Word‟. Kategori kata masukan didapat
dengan mencari dalam field „Category‟. Kategori kata masukan tersebut harus berupa „v‟ atau kata kerja jika kata masukan terdapat dalam KBBI. Kemudian, diambil data kata dasar dari kata masukan dalam field „Stem‟. Sistem akan menampilkan pesan peringatan jika kategori kata masukan bukan berupa kata kerja. Kata dasar tidak perlu dicari lagi karena jika kata masukan terdapat dalam KBBI, kata dasarnya langsung diperoleh. Kata dasar yang
didapat kemudian diperiksa kembali
kategorinya. Setelah itu, akan dicari imbuhan dari kata masukan berdasarkan kata dasarnya. Proses pencarian imbuhan dilakukan dengan menghilangkan kata dasar yang didapat dari kata masukan. Data yang didapat dari proses ini
adalah imbuhan, kata dasar, dan kategori kata dasar dari masukan.
Contoh kata masukan yang telah lolos tahap praproses adalah „mengairi‟. Kemudian, kata tersebut akan dicek keberadaannya pada KBBI. Kata tersebut terdapat dalam KBBI yang disesuaikan. Data kategori dan data kata dasar
dari kata masukan didapat dengan
menggunakan kueri "select Category,
Stem from entry where Word
='"+input+"'", sedangkan data kategori kata dasar didapat dengan menggunakan kueri
"select Category from entry where Word ='"+kata_dasar+"'".
Data awalan didapat dengan mengambil
substring kata masukan mulai dari indeks ke nol
sampai indeks kata dasar berada dan data akhiran didapat dengan mengambil substring kata masukan dari indeks kata dasar berada ditambah panjang kata dasar sampai akhir string kata masukan. Data yang didapat dari kata masukan „mengairi‟, yaitu kategori kata „v‟, kata dasar „air‟, kategori kata dasar „n‟, awalan „meng‟, dan akhiran „i‟.
Stemming
Kata masukan akan melalui proses stemming jika kata masukan tidak ditemukan dalam field „Word‟. Stemming adalah pencarian kata dasar dengan menghilangkan kemungkinan imbuhan pembentuk kata kerja yang melekat. Diagram proses stemming dapat dilihat pada Gambar 9.
Proses stemming dilakukan dengan
menggunakan class „Stem‟ pada method runStem(). Tahap awal proses stemming yaitu mencari calon awalan kemudian mencari calon akhiran dari kata masukan.
Kata Masukan Cari Calon Awalan Cari Calon Akhiran Calon Awalan 1, Calon Awalan 2, Calon Akhiran 1, Calon Akhiran 2, Buang, Luluh Cari Calon Kata Dasar
Cek Calon Kata Dasar di KBBI Semua CKD tidak ada pada KBBI? Tampilkan Pesan Peringatan Ya Pilih Kata Dasar
yang Paling Sesuai
Tidak
Gambar 9 Diagram proses stemming.
Pencarian calon awalan dilakukan dengan menggunakan method runAwalan(). Calon awalan didapat dengan melihat beberapa huruf pertama dari kata masukan. Terdapat dua calon
awalan yaitu calon_awalan1 dan
calon_awalan2, namun calon_awalan2 dapat berupa string kosong. Data lain yang didapat yaitu luluh dan buang. Kedua data tersebut didapat jika kata masukan memenuhi kondisi tertentu. Berikut adalah contoh kode program untuk mendapatkan awalan:
210 private void runAwalan(String input){ … 222 else if(input_kata.startsWith("me")){ 223 calon_awalan1 = "me"; 225 if(input.startsWith("men")){ 226 if(input.startsWith("meng")){ 227 calon_awalan2 = "meng"; 228 luluh = "k"; 229 buang = "ng"; 230 }… 241 }… 257 }… 302 }
Data yang didapat setelah menjalankan
method runAwalan() dapat dilihat pada Tabel 3.
Kolom „ walan Kata‟ berisi kemungkinan awalan dari kata masukan, kolom „C W ‟ berisi data calon_awalan1, kolom „C W2‟ berisi data calon_awalan2, kolom „B‟ berisi data buang, dan kolom „L‟ berisi data luluh. Data buang dan luluh digunakan untuk kata yang mengalami peluruhan.
Kata masukan diperiksa apakah kata tersebut diawali dengan salah satu substring pada kolom „ walan Kata‟, kemudian didapatkan data yang sesuai dengan kondisi kata masukan. Data yang didapat berdasarkan contoh kode program yang diberikan, yaitu calon_awalan „me‟, calon_awalan2 „meng‟, buang „ng‟, dan luluh „k‟.
Tabel 3 Data pencarian calon awalan
Awalan
Kata CAW1 CAW2 B L
diper- di diper - r di- di - - - meng- me meng ng k meny- me meny ny s men- me men n t memper- me memper - r mem- me mem m p ter- te ter r - ber- ber be r - ke- ke - - -
Calon akhiran didapat dengan melihat beberapa huruf terakhir dari kata masukan.
Pencarian akhiran dilakukan dengan
menggunakan method runAkhiran(). Akhiran untuk pembentukan kata kerja terdiri atas -i, -an, dan -kan. Calon akhiran dari tiap kata masukan juga dapat terdiri atas satu atau dua calon akhiran. Pencarian akhiran dengan
method runAkhiran() dapat dilihat pada contoh
kode berikut:
304 private void runAkhiran(String input){ 305 if(input.endsWith("an")){ 306 calon_akhiran1 = "an"; 307 if(input.endsWith("kan")){ 308 calon_akhiran2 = "kan"; 309 } 310 } … 314 }
Kata masukan yang memiliki dua calon akhiran hanya kata masukan dengan substring „kan‟ pada akhir kata, seperti yang ditampilkan pada Tabel 4. Sama seperti pencarian awalan, kolom „ khiran Kata‟ berisi kemungkinan akhiran dari kata masukan, kolom „C K ‟ berisi data calon_akhiran1, dan kolom „C K2‟ berisi data calon_akhiran2.
Tabel 4 Data pencarian calon akhiran
Akhiran Kata CAK1 CAK2
-an an -
-kan an kan
-i i -
Calon kata dasar didapat dari kata masukan yang telah dipotong berbagai kemungkinan imbuhan berdasarkan calon awalan dan calon akhiran. Urutan kemungkinan calon kata dasar yang diperoleh dapat dilihat pada Tabel 5. Urutan tersebut memengaruhi hasil dari proses
stemming. Hasil dari proses pemotongan
imbuhan pada kata masukan yaitu didapatkan beberapa calon kata dasar.
Calon kata dasar dapat terdiri atas enam atau sembilan kata, sesuai dengan jumlah calon akhiran. Calon kata dasar berjumlah enam jika calon akhiran hanya berjumlah satu, sedangkan jika calon akhiran berjumlah dua, calon kata dasar akan berjumlah sembilan. Baris nomor 4, 5, dan 6 pada Tabel 5 tidak dipakai jika calon kata dasar hanya berjumlah enam. Contoh cara pembacaan data tabel tersebut yaitu pada calon kata dasar baris kedua. Kata masukan dihilangkan substring calon_awalan2 pada awal kata dan substring calon_akhiran1 pada akhir kata untuk mendapat calon kata. Penambahan
substring luluh dilakukan pada awal calon kata.
Tabel 5 Urutan pencarian calon kata dasar
No Calon Kata Dasar
1 masukan - awalan 1 - akhiran 1
2 luluh + (masukan - awalan 2 - akhiran 1) 3 masukan - awalan 2 - akhiran 1
4 masukan - awalan 1 - akhiran 2
5 luluh + (masukan - awalan 2 - akhiran 2) 6 masukan - awalan 2 - akhiran 2
7 masukan - awalan 1
8 luluh + (masukan - awalan 2) 9 masukan - awalan 2
Semua calon kata dasar yang didapat kemudian diperiksa apakah terdapat dalam KBBI dan dicari kata dasarnya. Kemudian, dicari kategori dari kata dasar tersebut. Pengecekan calon kata dasar dilakukan oleh
method cekCalon(). Suatu status ditambahkan
untuk memeriksa hasil stemming. Status tersebut bernilai „yes‟ atau „no‟. Status akan bernilai „yes‟ jika calon kata dasar terdapat dalam KBBI, calon kata dasar sama dengan kata dasar yang didapat dari KBBI, dan kategori dari kata dasar memiliki suatu nilai tertentu. Status akan bernilai „no‟ jika keadaan tersebut tidak terpenuhi. Data yang didapat tersebut disimpan ke dalam array dua dimensi. Setiap kolom berisi calon kata dasar, calon awalan, calon akhiran, kata dasar, kategori kata dasar, dan status, sedangkan tiap baris berisi calon kata dasar yang dapat berjumlah enam ataupun sembilan.
Kata dasar yang didapat dianggap benar jika status bernilai „yes‟ dan akan disimpan untuk proses selanjutnya. Pesan peringatan akan muncul jika tidak terdapat calon kata dasar yang memenuhi kondisi yang diberikan. Kata dasar yang didapat melalui proses stemming harus terdapat dalam KBBI meskipun kata masukan tidak terdapat dalam KBBI, karena kategori kata dasar diperlukan untuk menentukan pola
word graph kata kerja dan data kategori kata
dasar tidak dapat diperoleh jika kata dasar tidak terdapat dalam KBBI.
Kata dasar akan diambil dan digunakan pada tahap selanjutnya jika terdapat lebih dari satu kata dasar dengan status bernilai „yes‟, yaitu kata pertama yang didapat sesuai dengan urutan baris yang terdapat pada array dua dimensi yang dibuat. Data yang didapat dari proses
stemming berupa imbuhan, kata dasar, dan
Contoh kata yang tidak terdapat dalam KBBI yaitu „bertabrakan‟. Pada pencarian
awalan dan akhiran diperoleh data
calon_awalan „be‟, calon_awalan2 „ber‟,
buang „r‟, calon_akhiran „an‟, dan
calon_akiran2 „kan‟. Calon kata dasar berjumlah sembilan karena terdapat dua calon akhiran. Gambar 10 memperlihatkan hasil dari proses stemming. Status yang bernilai „yes‟ ditemukan pertama kali pada baris kedua. Oleh karena itu, data yang didapat pada baris tersebut digunakan untuk tahap selanjutnya. Data yang didapat yaitu awalan „ber‟, akhiran „an‟, kata dasar „tabrak‟, dan kategori kata dasar „v‟.
Gambar 10 Contoh hasil stemming pada kata „bertabrakan‟.
Penentuan word graph kata kerja
Tahap selanjutnya yaitu pengecekan aturan pembentukan word graph kata kerja dengan menggunakan data yang telah didapat. Pengecekan dilakukan dengan mencocokkan data dengan tabel „PolaKataKer‟ dalam
database „kamus‟. Data imbuhan dan kategori
kata dasar dibandingkan dengan data yang terdapat dalam tabel, kemudian dikembalikan nama word graph kata kerja yang memenuhi kondisi tersebut.
Class yang digunakan dalam penentuan pola word graph kata kerja adalah class
„PolaKataKer‟. Pengecekan pola word graph langsung mengembalikan nama pola yang didapat dari database. Kueri untuk pengecekan pola pada method cekPola() yaitu "select Pola from polakataker where " + "Awalan ='"+ data1[4]+"' AND " +
"JenisKD ='"+ data1[3]+"' AND " + "Akhiran ='"+ data1[5]+"'". Sebagai
contoh, kata masukan „mengairi‟ yang telah diproses sebelumnya akan dicek pada tabel „PolaKataKer‟. Hasilnya, kata „mengairi‟ termasuk pada Pola 2.
Pembangkitan word graph kata kerja Pola word graph yang didapat tersebut kemudian digambarkan. Penggambaran pola terdiri atas komponen pembentuk word graph kata kerja. Kata dasar yang didapat juga
termasuk salah satu komponen dalam
penggambaran pola word graph kata kerja. Pola
word graph yang dihasilkan kemudian ditampilkan pada kanvas KG_EDITOR yang tersedia. Proses pembangkitan word graph kata kerja juga masih menggunakan class yang sama
dengan penentuan pola, yaitu class
„PolaKataKer‟. Setiap word graph kata kerja dibangkitkan pada method yang berbeda tetapi masih berada dalam satu class „PolaKataKer‟. Berikut adalah contoh pembangkitan Pola 1 yang terdapat pada method Pola1() dan drawPola() dalam class „PolaKataKer‟:
235 public void Pola1(int x, int y, Graphics2D gd){
236 FPar fr = new FPar (x-10, y-20,
240, 100);
237 Ali ali1 = new Ali(x+50, y+20);
238 Ali ali2 = new Ali(x+230, y+20);
239 TokenF f1 = new TokenF(x,y);
240
241 gd.drawString("WORD GRAPH KATA
KERJA - POLA 1", 10,15); 242 fr.drawFrameFokus(gd); 243 f1.drawTokenF(gd); 244 ali1.drawAliKiri(gd); 245 ali2.drawAliKiri(gd); 246 gd.drawString(data1[2], x+160, y+30); 247 gd.drawString(data1[0], x+335, y+30); 248 } …
440 public void drawPola(Graphics2D gd){ 441 if(A==1) { 442 Pola1(50,50,gd); 443 } … 471 else {
472 gd.drawString("Pola tidak dapat
ditemukan", 10,20);
473 }
474 }
Penggambaran word graph ditentukan oleh variabel integer berisi koordinat tiap komponen
yang menentukan posisi penggambaran
komponen pada kanvas. Selain itu,
penggambaran frame juga ditentukan oleh variabel integer berisi data panjang dan lebar
frame. Kemudian, pola digambarkan oleh method drawPola(). Sistem akan menampilkan
pesan bahwa pola tidak ditemukan seperti pada Gambar 8 jika data yang didapat tidak sesuai dengan aturan pembentukan word graph kata kerja. Hasil pembangkitan Pola 1 tersebut dapat dilihat pada Gambar 11 dengan contoh kata masukan „berada‟.
Class diagram dan sequence diagram
keseluruhan modul word graph kata kerja dapat dilihat pada Lampiran 4 dan Lampiran 5.
6 Lingkungan Implementasi
Modul word graph kata kerja pada KG_EDITOR dikembangkan dalam lingkungan implementasi perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut: 1 Perangkat keras
• Intel® Core™ Duo CPU T8 @2. GHz • RAM 3 GB
• Monitor, keyboard dan mouse 2 Perangkat lunak
• Microsoft Windows 7 Ultimate sebagai sistem operasi
• Java 6.0 sebagai bahasa pemrograman • NetBeans 6.8 sebagai IDE (Integrated
Development Environment)
• XAMPP sebagai aplikasi penyedia database MySQL
Customer Test-drives Mock-up
Mock-up yang dibuat sudah sesuai dengan
kebutuhan pengguna. Sistem dapat
menampilkan word graph kata kerja baik yang terdapat dalam KBBI maupun yang tidak terdapat dalam KBBI. Kata masukan sudah dapat dicek bentuk word graph-nya didasarkan pada aturan pembentukan kata kerja. Word
graph yang didapat dari pengecekan aturan
pembentukan kata kerja kemudian digambarkan dan ditampilkan pada kanvas.
Kesalahan muncul pada saat pengguna
memasukkan kata kerja yang berupa
pengulangan. Sistem tidak dapat memproses kata masukan berupa pengulangan. Oleh karena itu sistem juga tidak dapat memperoleh word
graph kata kerja kata masukan yang dimaksud.
Terdapat empat word graph yang memiliki aturan pembentukan berupa kata kerja berulang, yaitu Pola 4, Pola 8, Pola 9, dan Pola 10. Keempat pola tersebut tidak dapat dibangkitkan oleh mock-up hasil iterasi pertama. Hasil pengujian mock-up iterasi pertama dapat dilihat lebih rinci pada Lampiran 6 sampai dengan Lampiran 15.
Iterasi 2
Listen to Customer
Hal yang dilakukan pada iterasi kedua yaitu memperbaiki kesalahan yang didapat pada
mock-up sebelumnya. Kesalahan tersebut didapat dari hasil pengujian mock-up oleh pengguna. Kesalahan yang didapat pada
mock-up hasil dari iterasi pertama yaitu sistem tidak
dapat menampilkan word graph kata kerja
dengan kata masukan berupa kata kerja berulang, baik yang terdapat dalam KBBI maupun tidak.
Sistem membutuhkan suatu fungsi yang dapat mengakomodasi kata masukan berupa kata berulang sehingga kata masukan dapat diproses dan word graph kata kerja dapat
dibangkitkan. Sistem harus dapat
mengakomodasi kata berulang, baik yang terdapat dalam KBBI maupun yang tidak. Kata berulang yang tidak terdapat dalam KBBI harus dapat dilakukan proses stemming.
Revise Mock-up
Revisi dilakukan terhadap mock-up yang dibuat sebelumnya berdasarkan hasil evaluasi pada iterasi pertama. Tahap awal proses pembangkitan word graph adalah tahap
praproses yang sudah sesuai dengan kebutuhan pengguna, namun agar dapat mengakomodasi kata kerja berulang ditambahkan fungsi untuk mengecek apakah terdapat tanda hubung pada kata masukan.
Kata masukan yang telah lolos tahap praproses kemudian dilakukan pengecekan pada KBBI pada class „Kata‟. Kata masukan yang terdapat tanda hubung atau berupa pengulangan akan dipecah menjadi dua kata, yaitu kata pertama dan kata kedua. Tanda hubung sebagai pemisah antara kata pertama dan kata kedua. Tiap kata kemudian dilakukan pengecekan pada KBBI. Data dari kedua kata langsung didapat jika kedua kata terdapat dalam KBBI, sama seperti pengecekan langsung kata masukan pada KBBI yang dilakukan pada iterasi pertama. Pada salah satu atau kedua kata, akan dilakukan proses stemming dengan memanggil class „Stem‟ jika kata tidak ditemukan pada KBBI. Proses stemming tiap kata sama seperti proses
stemming pada kata tidak berulang yang telah
dijelaskan sebelumnya. Data tiap kata yang dihasilkan sama dengan data yang dihasilkan pada iterasi pertama.
Data yang didapat digunakan untuk pengecekan word graph berdasarkan aturan pembentukan kata kerja. Pengecekan dilakukan dengan mencocokkan data dengan tabel „PolaKataKer‟, namun tidak semua aturan pembentukan word graph kata kerja terdapat dalam tabel tersebut. Kata kerja yang berupa pengulangan tidak dapat langsung dicek. Kemudian, pada kata yang telah dipecah menjadi dua bagian, dilakukan pengecekan
word graph untuk masing-masing kata.
Beberapa aturan pembentukan word graph kata kerja memiliki struktur yang sama
sehingga dikelompokkan dalam satu pola, tetapi untuk mengakomodasi kata kerja yang berupa pengulangan diperlukan penanda pada suatu pola pembentukan. Beberapa pola kemudian dipecah menjadi beberapa subpola, seperti Pola 1 yang dibedakan menjadi Pola 1a dan Pola 1b yang menghasilkan word graph yang sama. Pola 1a yaitu pola Kata Kerja Dasar (KKD) dan Pola 1b yaitu pola ber-KKD. Pola lain yang dipecah yaitu Pola 2, dibedakan menjadi Pola 2a dan Pola 2, sedangkan Pola 6 dibedakan menjadi Pola 6a, Pola 6b, dan Pola 6. Pola 2a yaitu pola meng-/mem-/me-KKD, Pola 6a yaitu pola meng-/mem-/me-KS, dan Pola 6b yaitu
pola meng-/mem-/me-KB. Hal tersebut
dilakukan sebagai penanda suatu word graph tertentu saja, namun tetap akan menghasilkan
word graph yang sama. Misalnya, Pola 1a dan
Pola 1b tetap menghasilkan word graph yang sama jika dibangkitkan,yaitu wordgraphkata kerjaPola1.
Word graph kata berulang didapat dengan
memeriksa aturan pembentukan masing-masing kata (Pola1 dan Pola2). Pengecekan pola word
graph tiap kata, sama dengan pengecekan pola word graph kata tidak berulang pada iterasi
pertama. Pola pembentukan tiap kata tersebut kemudian dijadikan sebagai kondisi untuk pengembalian salah satu nama pola word graph kata kerja. Pengecekan Pola1 sama seperti kueri pada pengecekan pola kata tidak berulang, sedangkan untuk kata kedua digunakan kueri
"select Pola from polakataker where " + "Awalan ='"+ data2[4]+"' AND " + "JenisKD ='"+ data2[3]+"' AND " + "Akhiran ='"+ data2[5]+"'".
Tabel 6 Pola pembentukan kata berulang
Pola1 Pola2 Pola Word Graph
Pola 2a Pola 1a Pola 4
Pola 6a Pola Adj Pola 4
Pola 6b Pola Nou Pola 4
Pola 1a Pola 1a Pola 8
Pola 1a Pola 2a Pola 9
Pola 1b Pola 1a Pola 10
Pola 5 Pola Adj Pola 10
Pola 5 Pola Nou Pola 10
Aturan pembentukan kata berulang dapat dilihat pada Tabel 6. Pola Adj dan Pola Nou
merupakan pola tambahan untuk
mengakomodasi kata berulang yang berisi kata sifat dan kata benda dasar. Kedua pola tersebut tidak akan menghasilkan word graph pada
modul kata kerja. Nama pola word graph kata kerja dikembalikan jika Pola1 dan Pola2 memenuhi kondisi yang diberikan. Sistem akan menampilkan pesan peringatan jika tidak terdapat pola yang sesuai dengan pola
pembentukan word graph kata kerja
berdasarkan penelitian Muslik (2009).
Contoh kata masukan berulang yaitu „tembak-menembak‟. Kata tersebut tidak terdapat dalam KBBI sehingga kata akan masuk ke dalam proses stemming. Kata pertama „tembak‟ terdapat dalam KBBI, setelah dilakukan pengecekan didapat data berupa data kategori kata „v‟, kata dasar „tembak‟, kategori kata dasar „v‟, awalan „‟, dan akhiran „‟. Kata kedua „menembak‟ juga terdapat dalam KBBI. Data yang didapat dari kata tersebut, yaitu kategori kata „v‟, kata dasar „tembak‟, kategori kata dasar „v‟, awalan „men‟, dan akhiran „‟. Berdasarkan data tersebut didapatkan pola kata pertama atau Pola1 berupa Pola 1a, dan kata kedua atau Pola2 berupa Pola 2a. Sesuai dengan pola pembentukan kata berulang pada Tabel 3, jika Pola1 merupakan Pola 1a dan Pola2 merupakan Pola 2a maka pola word graph kata masukan „tembak-menembak‟ yang dihasilkan yaitu Pola 9.
Customer Test-drives Mock-up
Mock-up pada iterasi kedua dibuat sesuai
kebutuhan pengguna berdasarkan evaluasi pada hasil iterasi pertama. Sistem sudah dapat memproses kata masukan yang berupa kata berulang dengan cara memecah kata menjadi dua bagian. Pengecekan pola word graph tiap kata sudah dapat dilakukan dan menghasilkan
word graph kata kerja yang sesuai dengan kata
berulang sebagai masukan.
Pengujian dengan kata masukan yang termasuk word graph Pola 8, Pola 9, dan Pola 10 sudah sesuai dengan aturan pembentukan
word graph kata kerja. Beberapa kata masukan
berulang yang temasuk Pola 4 tidak dapat
dibangkitkan word graph kata kerja
berdasarkan aturan pembentukannya. Pola 4 tidak dapat dibangkitkan jika kata masukan yang diberikan berupa kata berulang dengan kata kedua meluruh dan tidak memiliki imbuhan. Proses pencarian data kata kedua baik
pada pengecekan KBBI maupun proses
stemming tidak mendapatkan hasil yang sesuai. Word graph beberapa kata masukan yang
termasuk pada Pola 4 tidak dapat dibangkitkan oleh mock-up hasil iterasi kedua. Hasil pengujian mock-up iterasi kedua untuk kata berulang dapat dilihat lebih rinci pada Lampiran 16 sampai dengan Lampiran 19.