• Tidak ada hasil yang ditemukan

MODUL WORD GRAPH KATA KERJA PADA KG_EDITOR BERBASIS DESKTOP NI MADE FEBRYANTINI DWI ARINY

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL WORD GRAPH KATA KERJA PADA KG_EDITOR BERBASIS DESKTOP NI MADE FEBRYANTINI DWI ARINY"

Copied!
49
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

(4)

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

(5)

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

(6)

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.

(7)

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 ... 2

Verba (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

(8)

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. ... 3

2 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 ... 18

2 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

(9)

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

(10)

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 merupakan

penghubung 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).

(11)

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- -an

Gambar 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

(12)

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

(13)

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

(14)

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

(15)

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.

(16)

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

(17)

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 - - -

(18)

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

(19)

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‟.

(20)

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

(21)

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.

Gambar

Gambar 3  Use case diagram pada modul word  graph kata kerja.
Tabel  tersebut  terdiri  atas  empat  field,  yaitu
Gambar 6  Tampilan peringatan masukan bukan  kata kerja.

Referensi

Dokumen terkait

Jika kedua huruf tidak terletak pada baris dan kolom yang sama, maka. huruf pertama menjadi huruf yang sebaris dengan huruf pertama

1) Jika pada papan permainan belum terdapat kata maka system langsung melakukan searching kata mulai dari root pada kamus data dawg dari 7 kata acak yang didapat sehingga