• Tidak ada hasil yang ditemukan

MODUL WORD GRAPH KATA BENDA PADA KG_EDITOR BERBASIS JAVA DESKTOP RANI DWIJAYANTI

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL WORD GRAPH KATA BENDA PADA KG_EDITOR BERBASIS JAVA DESKTOP RANI DWIJAYANTI"

Copied!
59
0
0

Teks penuh

(1)

MODUL WORD GRAPH KATA BENDA PADA KG_EDITOR

BERBASIS JAVA DESKTOP

RANI DWIJAYANTI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2012

(2)

DEPARTEMEN ILMU KOMPUTER

MODUL WORD GRAPH KATA BENDA PADA KG_EDITOR

BERBASIS JAVA DESKTOP

RANI DWIJAYANTI

Skripsi

sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2012

(3)

on Java Desktop. Supervised by SRI NURDIATI and AHMAD RIDHA.

One natural language processing method that can represent result of semantic analysis of a text as a graph is Knowledge Graph (KG). BogorDelftConstruct is a software developed to analyze a text and visualize it as a graph using KG. BogorDelftConstruct was developed using MATLAB programming language, which is not freely accessible. Because of that, in this reseach we develop a system using Java programming language, so everyone can run this system freely. The objective of this research is to add a word graph module for Indonesian noun in the system. Indonesian nouns comprise of 20 word graph patterns. All but one of them are formed by affixation. The process of forming word graph is started by getting root word and affix contained in input word using stemming based on Kamus Besar Bahasa Indonesia (KBBI). The root word is used to determine the part-of-speech in KBBI, which is used as a parameter to determine which pattern is appropriate. The pattern containing the meaning of the word would then be generated by the system. In this word graph module, only 19 patterns can be implemented. From 176 words used in testing, there were only 4 errors, equivalent to an accuracy of more than 97%.

(4)

Menyetujui:

Pembimbing 1, Pembimbing 2,

Dr Ir Sri Nurdiati MSc Ahmad Ridha SKom MS NIP. 19601126 198601 2 001 NIP. 19800507 200501 1 001

Mengetahui: Ketua Departemen,

Dr Ir Agus Bouno MSi MKom NIP. 19660702 199302 1 001

(5)

kasih sayang-Nya penulis bisa menyelesaikan penelitian ini dengan baik. Shalawat serta salam penulis sampaikan kepada junjungan Nabi Muhammad Shallallahu ‘alaihi wa sallam, juga kepada keluarganya, sahabatnya, dan pengikutnya yang setia hingga akhir zaman. Pada pengerjaan tugas akhir ini, penulis melakukan penelitian mengenai word graph kata benda. Penelitian ini dilakukan sejak Maret 2010 sampai dengan Desember 2011.

Penulis menyampaikan terima kasih kepada

1 Kedua orang tua penulis, yaitu Arie Djunianto dan Endeh Nahdiah. Terima Kasih atas segala doa, dukungan, motivasi, pengertian, dan doa yang tidak pernah putus sehingga penulis akhirnya dapat menyelesaikan penelitian ini,

2 Dr. Ir. Sri Nurdiati, M.Sc dan Ahmad Ridha, S.Kom, M.S sebagai pembimbing bagi penulis dalam penyusunan skripsi. Terima kasih atas bimibingan, nasihat, motivasi, kritik, serta saran yang sering diberikan kepada penulis selama mengerjakan penelitian ini,

3 Bapak Sony Hartono Wijaya, S.Kom, M.Kom sebagai penguji. Terima kasih atas segala kritik dan saran yang diberikan kepada penulis terhadap penelitian ini,

4 Kakak dan adik penulis, yaitu Teguh Arif Wicaksana dan Leni Novitasari. Terima kasih atas kasih sayang dan dukungan yang telah diberikan,

5 Roby Ginanjar. Terima kasih atas kasih sayang, semangat, dukungan, bantuan, serta doa yang diberikan selama penulis mengerjakan penelitian ini,

6 Teman-teman satu bimbingan. Ria, Ichonx, Made, Topa, dan Dean, terima kasih atas bantuan, dukungan, serta motivasi yang selalu diberikan,

7 Teman-teman Laboratorium Computer Intelligence. Wido, Dimpy, Benz, Laras, Deka, terima kasih atas kegembiraan, masukan, dan semangat yang diberikan,

8 Teman-teman seperjuangan Ilkom 44, dan

9 Semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu penulis dalam menyelesaikan penelitian ini.

Karya ilmiah ini masih jauh dari kesempurnaan, namun penulis berharap semoga penelitian ini dapat memberikan manfaat.

Bogor, Februari 2012

(6)

Djunianto dan Ibu Endeh Nahdiah. Penulis merupakan anak kedua dari tiga bersaudara. Penulis menempuh pendidikan formal di SDN Panaragan 2 Bogor dan lulus pada tahun 1998. Penulis kemudian melanjutkan pendidikan menengah di SMP Negeri 4 Bogor dan lulus pada tahun 2004. Pada tahun 2004, penulis diterima sebagai murid Sekolah Menengah Atas (SMA) Negeri 2 Bogor. Penulis lulus dari SMA Negeri 2 Bogor pada tahun 2007 dan diterima sebagai mahasiswi di Departemen Ilmu Komputer, Fakultas Matematika dan Pengetahuan Alam, Institut Pertanian Bogor melalui Jalur Undangan Seleksi Masuk IPB (USMI).

Selain pendidikan formal, penulis juga pernah mengikuti beberapa kegiatan ekstrakurikuler selama masa SMA dan perkuliahan. Penulis merupakan anggota paduan suara SMA Negeri 2 Bogor pada tahun 2004 - 2007. Penulis juga pernah menjadi salah satu anggota pasukan pengibar bendera (paskibra) dalam organisasi Pasukan Khusus Caraka Muda (PKCM) SMA Negeri 2 Bogor pada tahun 2004 - 2007. Pada tahun 2004, penulis meraih juara ke-3 pada Lomba Ketangkasan Baris Berbaris (LKBB) tingkat Kota Madya Bogor dan pada tahun 2005 penulis juga meraih juara ke-2 dalam lomba baris berbaris Gema Paksina SMA Regina Pacis Bogor tingkat Kota Madya Bogor. Selama masa perkuliahan, penulis dipercaya untuk menjadi anggota Divisi Kesekretariatan dalam organisasi Himpunan Mahasiswa Ilmu Komputer (Himalkom) pada tahun 2008 - 2009 dan menjadi penanggung jawab pada Subdivisi Surat Menyurat dalam divisi yang sama pada tahun 2009 - 2010.

(7)

v

DAFTAR TABEL ... vi

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vii

PENDAHULUAN Latar Belakang ... 1 Tujuan ... 1 Ruang Lingkup ... 1 Manfaat Penelitian ... 1 TINJAUAN PUSTAKA Kata Benda ... 1 Java ... 2

Metode Pengembangan Prototype ... 2

Graph ... 2 Knowledge Graph (KG) ... 2 Word Graph ... 3 Stemming ... 3 Aspek-aspek Ontologi ... 3 METODE PENELITIAN Studi Literatur dan Analisis Pola Pembentukan Word Graph Kata Benda... 3

Penambahan Modul Word Graph Kata Benda pada KG_EDITOR ... 3

1 Listen to Customer... 4

2 Build or Revise Mock-up ... 4

3 Customer Test Drives Mock-up ... 4

HASIL DAN PEMBAHASAN Analisis Pola Word Graph Kata Benda ... 4

Penambahan Modul Word Graph Kata Benda pada KG_EDITOR ... 5

1 Iterasi Pertama... 5

1.1 Listen to Customer ... 5

1.2 Build Mock-up ... 6

1.3 Customer Test Drives Mock-up ... 14

2 Iterasi Kedua ... 14

2.1 Listen to Customer ... 14

2.2 Revise Mock-up ... 14

2.3 Customer Test Drives Mock-up ... 15

Kekurangan dan Kelebihan Sistem ... 16

KESIMPULAN DAN SARAN Kesimpulan ... 16

Saran ... 17

DAFTAR PUSTAKA ... 17

(8)

vi

1 Contoh isi tabel „entry‟ pada database „kamus‟ ... 7

2 Contoh isi tabel „polabenda‟ ... 7

3 Data hasil kueri dengan input „pertanian‟ untuk pengecekan KBBI ... 8

4 Hasil dari proses stemming KBBI menggunakan input kata benda „pertanian‟ ... 8

5 Hasil dari proses stemming KBBI menggunakan input kata benda „pertanian‟ ... 9

6 Contoh isi tabel „polabenda‟ sebelum field „Pola‟ diberikan nilai default ... 15

7 Contoh isi tabel „polabenda‟ setelah field „Pola‟ diberikan nilai default ... 15

DAFTAR GAMBAR

Halaman 1 Diagram metode pengembangan prototype ... 4

2 Use Case Diagram untuk modul word graph kata benda ... 6

3 Kueri pengecekan KBBI ... 8

4 Kueri pencarian jenis kata dasar ... 8

5 Proses pencarian akhiran pada class Akhiran ... 9

6 Contoh aturan pembentukan awalan ... 10

7 Contoh aturan pembentukan awalan dan kata dasar pada class Luluh ... 11

8 Kueri penentuan pola word graph kata benda ... 11

9 Kode program pada class PolaKataBenda ... 12

10 Kode program pada class KataBenda15 ... 12

11 Hasil pembangkitan Pola 15 dengan contoh input „pertanian‟ ... 13

12 Bentuk antarmuka menu bar ... 13

13 Bentuk antarmuka panel kanvas... 13

14 Bentuk tampilan input dialog box untuk kata benda ... 13

15 Output dari pengujian dengan input kata „pemecahan‟ ... 14

(9)

vii

1 Pola word graph kata benda yang digunakan ... 19

2 Diagram alir pembuatan modul word graph kata benda pada sistem KG_EDITOR ... 23

3 Class diagram modul word graph kata benda ... 24

4 Sequence diagram modul word graph kata benda ... 28

5 Pesan peringatan KG_EDITOR pada tahap praproses ... 29

6 Diagram alir stemming manual ... 30

7 Diagram alir stemming meluruh ... 31

8 Hasil pengujian pola 1 ... 32

9 Hasil Pengujian pola 2 ... 33

10 Hasil pengujian pola 3 ... 34

11 Hasil pengujian pola 4 ... 35

12 Hasil pengujian pola 5 ... 36

13 Hasil pengujian pola 6 ... 37

14 Hasil pengujian pola 7 ... 38

15 Hasil pengujian pola 8 ... 39

16 Hasil pengujian pola 9 ... 40

17 Hasil pengujian pola 10 ... 41

18 Hasil pengujian pola 11 ... 42

19 Hasil pengujian pola 12 ... 43

20 Hasil pengujian pola 13 ... 44

21 Hasil pengujian pola 14 ... 45

22 Hasil pengujian pola 15 ... 46

23 Hasil pengujian pola 16 ... 47

24 Hasil pengujian pola 17 ... 48

25 Hasil pengujian pola 18 ... 49

(10)

PENDAHULUAN

Latar Belakang

Natural language processing (NLP) adalah teknologi yang memungkinkan untuk melakukan pemrosesan berbagai macam bahasa alami yang digunakan manusia untuk berkomunikasi (Hulliyah 2007). Tantangan terbesar dalam NLP adalah ambiguitas. Ambiguitas banyak sekali ditemukan terutama dalam pemrosesan teks. Ambiguitas disebabkan oleh adanya perbedaan pemahaman terhadap teks akibat interpretasi yang subjektif. Salah satu metode yang digunakan untuk memecahkan masalah ambiguitas dalam teks adalah dengan metode Knowledge Graph (KG).

Knowledge Graph (KG) merupakan salah satu metode dalam NLP yang digunakan untuk menjelaskan atau menggambarkan bahasa dengan berfokus pada aspek semantis (makna) kata daripada aspek sintaksis (Zhang 2002). Metode ini dapat merepresentasikan suatu informasi kata berdasarkan maknanya dan menampilkannya dalam bentuk graf. Salah satu perangkat lunak yang telah dikembangkan untuk menganalisis teks dan menampilkan visualisasi dalam bentuk graf menggunakan metode KG adalah BogorDelftConstruct. Perangkat lunak ini merupakan hasil penelitian Romadoni (2009) yang dapat menganalisis teks bahasa Indonesia dan merupakan hasil pengembangan dari penelitian terdahulu yang dilakukan oleh Mark van Koningsveld pada tahun 2003 - 2008. Beliau berhasil menciptakan sistem yang dapat menganalisis teks bahasa Inggris dan menampilkannya dalam bentuk graf yang diberi nama DelftConstruct.

BogorDelftConstruct dikembangkan dengan menggunakan bahasa pemrograman MATLAB. MATLAB bersifat closed platform sehingga sistem ini tidak dapat dijalankan tanpa adanya MATLAB. Oleh karena itu, pada penelitian ini sistem akan dikembangkan menggunakan bahasa pemrograman Java. Java merupakan bahasa pemrograman yang bersifat open source sehingga pengguna dapat mengakses sistem secara bebas. Pengguna dapat mengakses kode program dari sistem yang dibuat bahkan memodifikasinya sehingga pengguna dapat memanfaatkan sistem sesuai kebutuhan. Sistem ini terdiri atas beberapa modul jenis kata. Penelitian kali ini hanya akan mengembangkan modul word graph kata benda. Modul ini berfungsi untuk menampilkan word graph kata benda sesuai dengan input yang diberikan pengguna.

Tujuan

Tujuan dari penelitian ini adalah menambahkan modul word graph jenis kata benda pada sistem KG_EDITOR dengan menggunakan bahasa pemrograman Java berbasis desktop.

Ruang Lingkup

Sistem word graph kata benda yang dikembangkan dalam penelitian ini didasarkan pada pola pembentukan word graph kata benda yang terdapat pada penelitian Saleh (2009) yang berjudul “Analisis Pembentukan Word Graph Kata Benda Menggunakan Teori Knowledge Graph”. Penelitian ini juga dibatasi hanya untuk kata benda bentuk tunggal, bukan merupakan paduan antar kata benda maupun antara kata benda dengan jenis kata lainnya.

Manfaat Penelitian

Penelitian ini diharapkan dapat memberikan pengetahuan mengenai makna suatu kata dari segi semantis, khususnya kata benda, dengan melihat pola dari kata tersebut yang divisualisasikan menggunakan word graph. Penggunaan Java sebagai bahasa pemrograman diharapkan dapat memberikan kemudahan pengaksesan oleh masyarakat.

TINJAUAN PUSTAKA

Kata Benda

Menurut Alwi et al. (2003), kata benda dapat dilihat dari tiga segi, yaitu segi semantis, segi sintaksis, dan segi bentuk. Bedasarkan segi semantis, kita dapat mengatakan bahwa kata benda adalah kata yang mengacu pada manusia, binatang, benda, dan konsep atau pengertian. Dari segi sintaksisnya, kata benda memiliki ciri-ciri tertentu, yaitu:

1 Dalam kalimat yang predikatnya kata kerja, kata benda cenderung menduduki fungsi subjek, objek, atau pelengkap.

2 Kata benda tidak dapat diingkarkan dengan kata tidak. Kata pengingkarnya adalah bukan.

3 Kata benda umumnya dapat diikuti oleh kata sifat, baik secara langsung maupun dengan diantarai oleh kata yang.

Dilihat dari segi bentuknya, kata benda terdiri atas dua macam, yaitu kata benda yang berbentuk kata dasar dan kata benda turunan.

(11)

1 Kata Benda Dasar

Kata benda dasar adalah kata benda yang hanya terdiri atas satu morfem. Kata benda terdiri atas kata benda dasar umum dan kata benda dasar khusus (Alwi et al. 2003).

2 Kata Benda Turunan

Kata benda turunan adalah kata benda yang terbentuk dari kata benda dasar dengan menambahkan afiks tertentu pada kata dasar. Penurunan kata benda ini dilakukan berdasarkan afiksasi, perulangan, dan pemajemukan.

Dalam tata bahasa baku bahasa Indonesia pada dasarnya ada tiga prefiks dan satu sufiks yang dipakai untuk menurunkan kata benda, yaitu prefiks ke-, per-, peng-, dan sufiks -an. Prefiks dan sufiks dapat bergabung. Jadi, secara keseluruhan terdapat tujuh macam afiksasi dalam penurunan kata benda, yaitu:

1 Afiksasi kata benda dengan ke-. 2 Afiksasi kata benda dengan per-.

Prefiks per- memiliki tiga alomorf, yaitu pel-, per-, dan pe-.

3 Afiksasi kata benda dengan peng-.

Prefiks peng- memiliki enam alomorf, yaitu pem-, pen-, peny-, pe-, peng-, dan penge-. 4 Afiksasi kata benda dengan -an.

5 Afiksasi kata benda dengan peng-an. Kata benda dengan afiksasi peng-an memiliki beberapa alomorf : peng-an, pen-an, pem-pen-an, penge-pen-an, peny-pen-an, dan pe-an. 6 Afiksasi kata benda dengan per-an. 7 Afiksasi kata benda dengan ke-an.

Berdasarkan penelitian sebelumnya yang dilakukan oleh Saleh (2009), diperoleh 20 pola pembentukan word graph kata benda yang terdiri atas 19 pola pembentukan word graph berdasarkan afiksasi dan masing-masing sebuah pola kata benda dasar (KBD) dan kata benda turunan (KBT) yang belum dapat dimasukkan ke dalam pola yang telah terbentuk sesuai dengan makna katanya.

Java

Java adalah bahasa pemrograman dan platform komputasi yang pertama kali dirilis oleh Sun Microsystem pada tahun 1995. Java merupakan bahasa pemrograman berorientasi objek yang dapat dijalankan pada berbagai platform sistem operasi. Selain itu, Java memiliki library yang cukup besar sehingga dapat memudahkan dalam membuat sebuah aplikasi dengan cepat (Cornell & Horstmann 2008).

Abstract Window Toolkit

Sistem windowing memiliki tantangan terbesar untuk portabilitas. Ketika pengguna memindahkan aplikasi dari Windows ke Machintosh, pengguna mungkin dapat menyelamatkan sebagian besar sistem komputasi, tetapi pengguna harus menuliskan kembali kode program antarmuka untuk window secara lengkap. Tantangan ini ditangani oleh sebuah package pada Java yang disebut Abstract Window Toolkit (AWT). AWT dapat mempertahankan tampilan lokal dan nuansa lingkungan pengguna. Akibat dari adanya AWT, suatu aplikasi yang sama dapat terlihat sesuai di semua lingkungan implementasi. Kode program yang sama dapat bekerja di semua platform. Selain menyediakan sekumpulan set bagi komponen antarmuka, AWT juga memiliki fasilitas untuk memanipulasi gambar dan menghasilkan grafis (Zukowski 1997).

Metode Pengembangan Prototype

Metode prototype merupakan salah satu metode perangkat lunak yang sering digunakan ketika seorang pengguna hanya mendefinisikan secara umum mengenai apa yang dikehendakinya tanpa menjelaskan dengan detail input, proses, serta output yang dibutuhkan. Sebaliknya, pengembang kurang memperhatikan efisiensi algoritme, serta kemampuan sistem operasi dan antarmuka yang menghubungkan manusia dan komputer (Pressman 2001).

Metode prototype berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Ketika suatu prototype dibangun, pihak pengembang akan berusaha untuk menggunakan bagian-bagian dari program tersebut atau menggunakan suatu tools yang memungkinkan program dapat dihasilkan dengan cepat (Pressman 2001).

Graph

Menurut Deo (2009), graf G = (V,E) adalah pasangan terurut dengan V adalah himpunan berhingga dan tak kosong dari elemen graf yang disebut vertex dan E adalah himpunan pasangan tak terurut dari vertex V yang disebut edge E. Vertex disebut juga node atau titik, sedangkan edge disebut juga garis atau sisi.

Knowledge Graph (KG)

Teori KG adalah suatu pandangan baru, yang digunakan untuk menggambarkan bahasa manusia. Teori ini berfokus lebih kepada aspek semantis daripada aspek sintaksis (Zhang 2002). KG dapat digunakan untuk

(12)

merepresentasikan suatu informasi dalam bentuk graf berarah, sehingga diharapkan dapat dengan mudah dipahami (Rusiyamti 2008).

KG tersusun dari concept dan relationship (Zhang 2002). Concept dapat dibedakan menjadi tiga jenis, yaitu token, type, dan name. a Token

Token mengekspresikan sesuatu yang dialami dalam dunia nyata atau konsep dari dalam persepsi manusia (Zhang 2002). Token bersifat subjektif karena merupakan konsep yang dipahami seseorang menurut cara pandang masing-masing (Rusiyamti 2008). Sebuah token dinyatakan dengan menggunakan simbol “”. b Type

Type adalah konsep berupa informasi umum dan bersifat objektif karena merupakan kesepakatan yang dibuat sebelumnya (Rusiyamti 2008). Contoh type adalah buah, binatang, dan manusia.

c Name

Name adalah suatu konsep yang bersifat individual. Sesuatu dapat diberi name dengan banyak cara. Contoh name adalah fuji. Fuji merupakan name dari apel.

Word Graph

Word graph adalah graf dari sebuah kata atau frasa kata. Setiap kata dalam teori KG yang berhubungan dengan word graph menyatakan makna dari kata dan oleh karena itu disebut semantic word graph. Gabungan beberapa word graph dari kata-kata dalam sebuah kalimat disebut sentence graph. Graf yang merepresentasikan kombinasi beberapa sentence graph dalam sebuah teks disebut text graph (Nurdiati & Hoede 2008).

Stemming

Stemming merupakan proses pemotongan imbuhan pada kata untuk mendapatkan kata dasar. Proses ini mempunyai dua tujuan. Tujuan yang pertama adalah efisien. Stemming mengurangi jumlah kata unik di dalam indeks. Tujuan yang kedua adalah efektif. Stemming memperbaiki recall dengan mengurangi semua bentuk dari kata dasar (Liddy 2001).

Aspek-aspek Ontologi

Ontologi merupakan gambaran dari beberapa konsep dan relasi di antaranya untuk mendefinisikan ide-ide yang merepresentasikan konsep, relasi, dan logikanya (Saleh 2009). Menurut Nurdiati dan Hoede (2008), sampai saat ini ontologi terdiri atas 9 binary relationship dan 4 jenis frame relationship.

Binary relationship merupakan penghubung antara dua concept yang membentuk sebuah graf. Berikut ini merupakan jenis-jenis binary relatonship:

1 Similarity of sets, alikeness : ALI 2 Causality : CAU 3 Equality : EQU 4 Subset relationship : SUB 5 Disparateness : DIS 6 Attribution : PAR 7 Ordering : ORD 8 Informational dependency : SKO 9 Ontologi F (Focus)

Frame merupakan vertex berlabel dan digunakan untuk mengelompokkan beberapa konsep (Rahmat 2009). Satu objek terkadang tidak cukup terwakili oleh sebuah token sehingga diperlukan frame yang mengelompokkan token tersebut dalam sebuah pernyataan. Menurut Zhang (2002), terdapat empat frame relationship sebagai berikut: 1 Focusing on a situation : FPAR 2 Negation of a situation : NEGPAR 3 Possibility of a situation : POSPAR 4 Necessity of a situation : NECPAR

METODE PENELITIAN

Studi Literatur dan Analisis Pola Pembentukan Word Graph Kata Benda

Penelitian ini diawali dengan melakukan studi literatur. Studi literatur merupakan kegiatan mengumpulkan dan mempelajari berbagai bahan pustaka yang relevan dengan topik penelitian. Penelitian ini didasarkan pada penelitian sebelumnya, yaitu tesis Saleh (2009) yang berjudul “Analisis Pembentukan Word Graph Kata Benda Menggunakan metode Knowledge Graph”. Selain itu, pada penelitian ini juga akan dilakukan analisis pola word graph kata benda yang telah dibentuk. Berdasarkan penelitian Saleh (2009), diperoleh 20 pola pembentukan word graph kata benda. Hasil analisis tersebut kemudian akan digunakan untuk membuat modul word graph kata benda menggunakan bahasa pemrograman Java.

Penambahan Modul Word Graph Kata Benda pada KG_EDITOR

Penambahan modul word graph kata benda dilakukan dengan menggunakan metode prototype. Menurut Pressman (2001), metode prototype terdiri atas 3 tahap seperti yang terdapat pada Gambar 1.

(13)

Gambar 1 Diagram metode pengembangan prototype.

1 Listen to Customer

Tahap listen to customer merupakan tahap untuk melakukan pengumpulan kebutuhan pengguna (requirements gathering). Pihak pengembang dan pengguna bertemu dan mendeskripsikan tujuan keseluruhan dari perangkat lunak, mengidentifikasi kebutuhan-kebutuhan, dan menguraikan permintaan pengguna (Pressman 2001).

2 Build or Revise Mock-up

Tahap build or revise mock-up merupakan tahap perencanaan dan perancangan prototype yang berfokus pada representasi aspek-aspek dari perangkat lunak yang terlihat oleh pengguna (contoh: pendekatan input dan format output) (Pressman 2001).

3 Customer Test Drives Mock-up

Customer test drives mock-up merupakan tahap evaluasi yang dilakukan oleh pengguna untuk mengetahui apakah prototype yang dibangun telah sesuai dengan kebutuhan pengguna (Pressman 2001). Tahap ini dilakukan melalui proses pengujian. Pengujian pada penelitian ini dilakukan dengan menggunakan metode black box. Metode pengujian black box menitikberatkan pengujian sistem pada fungsi kebutuhan software. Model pengujian ini tidak memperhatikan bagaimana proses yang terjadi di dalam sistem, melainkan hanya mempertimbangkan hasil keluaran saja (Pressman 2001).

Sistem yang telah selesai dibangun selanjutnya dihitung tingkat akurasinya. Sejumlah kata benda dimasukkan ke dalam skenario pengujian untuk selanjutnya dihitung tingkat akurasinya. Penghitungan akurasi dilakukan dengan menghitung jumlah kata yang dikenali dan sesuai dengan pola word graph.

Akurasi = Ʃ Kata yang benar

Ʃ Kata yang diuji x 100%

HASIL DAN PEMBAHASAN

Analisis Pola Word Graph Kata Benda

Penelitian ini didasarkan pada penelitian Saleh (2009). Hasil penelitian Saleh (2009) adalah 20 pola pembentukan word graph kata benda berikut:

1 Pola kata benda dasar (KBD).

2 Pola pe-kata kerja (KK) 1, yang bermakna orang yang KK.

3 Pola pe-KK 2, yang bermakna orang yang KK, sesuatu yang KK atau alat KK.

4 Pola pe-KK 3, yang bermakna orang atau sesuatu yang di-KK atau dijadikan KK. 5 Pola pe-kata benda (KB) 1, yang bermakna

orang yang berhubungan dengan KB. 6 Pola pe-KB 2, yang bermakna orang atau

sesuatu yang berhubungan dengan KB. 7 Pola pe-kata sifat (KS) 1, yang bermakna

orang yang KS.

8 Pola pe-KS 2, yang bermakna orang atau sesuatu yang me-KS.

9 Pola KK-an, yang bermakna objek atau akibat dari KK.

10 Pola KB-an, yang bermakna sesuatu yang bergantung pada KB.

11 Pola KS-an, yang bermakna sesuatu yang mempunyai sifat KS.

12 Pola kata bilangan.

13 Pola pe-KK-an 1, yang bermakna perbuatan atau hal KK, dengan KK adalah kata kerja transitif.

14 Pola pe-KK-an 2, yang bermakna perbuatan atau hal KK, dengan KK adalah kata kerja tak transitif.

15 Pola pe-KB-an 1, yang bermakna hal yang berkaitan dengan KB.

16 Pola pe-KB-an 2, yang bermakna perbuatan me-KB-kan.

17 Pola pe-KS-an, yang bermakna perbuatan me-KS-kan.

18 Pola ke-kata dasar (KD)-an. 19 Pola ke-KD.

20 Pola kata benda yang belum terpolakan (KBT).

Berdasarkan penelitian Saleh (2009), pola-pola pembentukan word graph kata benda dikelompokkan berdasarkan imbuhan dan kata dasar dari suatu kata benda. Setiap jenis imbuhan dan kata dasar yang membentuk suatu kata memiliki makna tertentu. Tidak semua pola word graph yang dihasilkan pada penelitian Saleh (2009) digunakan dalam penelitian ini. Penelitian ini hanya menggunakan 19 pola, mulai dari pola pertama sampai dengan pola ke-19. Build or revise mock-up Customer test drives mock-up Listen to customer

(14)

Penambahan Modul Word Graph Kata Benda pada KG_EDITOR

Proses penambahan modul word graph kata benda menggunakan metode pengembangan prototype. Proses ini dilakukan sebanyak dua kali iterasi. Iterasi pertama merupakan proses pembuatan sistem secara keseluruhan. Iterasi kedua merupakan perbaikan atas kesalahan yang terjadi pada iterasi pertama. Perbaikan sistem dilakukan berdasarkan hasil pengujian dan evaluasi yang dilakukan oleh pengguna.

1 Iterasi Pertama 1.1 Listen to Customer

Tahap pertama penambahan modul word graph kata benda adalah mendefinisikan keinginan pengguna. Tahapan ini dilakukan untuk mendapatkan spesifikasi KG_EDITOR berdasarkan kebutuhan pengguna. Analisis terdiri atas deskripsi umum sistem, kebutuhan sistem, batasan sistem, karakteristik pengguna, dan deskripsi proses sistem.

1.1.1 Deskripsi Umum

KG_EDITOR merupakan sebuah tools yang digunakan untuk menganalisis kata menggunakan metode KG (Walayatullah 2011). KG_EDITOR dikembangkan menggunakan bahasa pemrograman Java berbasis desktop dengan tujuan memperbaiki kekurangan dari sistem BogorDelftConstruct yang dikembangkan melalui penelitian sebelumnya. Sistem BogorDelftConstruct dikembangkan dengan bahasa pemrograman MATLAB yang bersifat close platform. Oleh karena itu, KG_EDITOR dikembangkan dengan bahasa pemrograman Java karena Java bersifat open source.

Modul word graph kata benda merupakan bagian dari sistem KG_EDITOR. Modul ini berfungsi untuk menampilkan word graph dari suatu kata benda sesuai dengan input yang diberikan pengguna.

1.1.2 Kebutuhan Sistem

Modul word graph kata benda untuk KG_EDITOR membutuhkan sebuah textfield agar pengguna dapat memasukkan input sehingga dapat diproses oleh sistem. Selain itu, sistem ini juga membutuhkan data yang terdapat di dalam Kamus Besar Bahasa Indonesia (KBBI) untuk dimasukkan ke dalam database. KBBI berfungsi dalam proses pengecekan input dan stemming kata untuk memperoleh word graph yang sesuai dengan pola kata benda yang telah disimpan di dalam sistem. Fungsi stemming juga dibutuhkan oleh sistem ini untuk menangani input kata berimbuhan. Selain itu,

KG_EDITOR ini juga membutuhkan fungsi-fungsi yang akan digunakan untuk menampilkan pola-pola word graph kata benda pada kanvas.

1.1.3 Batasan Sistem

Batasan-batasan yang terdapat pada sistem ini adalah sebagai berikut:

Input kata yang dapat diproses dalam sistem ini hanya berupa kata benda tunggal (satu kata).

Proses stemming manual tidak berlaku untuk kata-kata yang mengandung sisipan dan imbuhan asing.

 Sistem hanya mengimplementasikan 19 pola word graph kata benda dari 20 pola yang dihasilkan pada penelitian Saleh (2009). Pola word graph kata benda yang digunakan dalam penelitian ini dapat dilihat pada Lampiran 1.

Sistem hanya dapat menampilkan word graph kata benda, namun tidak dapat menyimpan dan memodifikasi hasil dari pembentukan word graph.

 Penggambaran relasi hanya dapat digambarkan secara vertikal dan horizontal.

1.1.4 Sasaran Pengguna

Pengguna sistem KG_EDITOR bukan orang awam yang tidak mengerti konsep KG, khususnya word graph, karena KG_EDITOR bukanlah sistem untuk mempelajari konsep KG. Sistem ini dibuat untuk orang-orang yang telah mengerti konsep KG karena output dari sistem ini adalah berupa word graph yang merupakan bagian dari konsep KG.

1.1.5 Deskripsi Proses Sistem

Tampilan awal KG_EDITOR ketika pertama kali dijalankan berupa kanvas kosong sebagai tampilan default sistem. Operasi pembentukan word graph kata benda dimulai dengan memilih menu „Modul‟ yang terdapat di sudut kiri atas sistem, kemudian memilih submenu „Kata Benda‟. Sebuah dialog box muncul sebagai respon pemilihan submenu „Kata Benda‟. Dialog box digunakan sebagai media bagi pengguna untuk memasukkan input yang berupa kata benda tunggal. Input kemudian diproses oleh sistem untuk melalui beberapa tahapan pembentukan word graph kata benda. Word graph yang dianggap sesuai bagi input kemudian akan ditampilkan pada sistem. Sementara itu, input yang tidak sesuai dengan pola pembentukan word graph kata benda akan diberikan pesan peringatan. Pesan peringatan yang dimunculkan adalah berupa dialog box. Mekanisme penambahan modul word graph

(15)

kata benda dapat dilihat melalui diagram alir sistem yang terdapat pada Lampiran 2.

1.2 Build Mock-up

Pada tahap ini, dilakukan proses perancangan dan implementasi berdasarkan spesifikasi yang diinginkan oleh pengguna. Perancangan dan implementasi terdiri atas dua jenis, yaitu perancangan dan implementasi secara fungsional dan antarmuka.

1.2.1 Perancangan Fungsional

Perancangan fungsional meliputi proses pembangkitan word graph kata benda yang didasarkan pada pola word graph kata benda hasil penelitian Saleh (2009). Proses pembangkitan modul word graph kata benda meliputi praproses, pengecekan KBBI, stemming, penentuan pola word graph kata benda, dan pembangkitan word graph kata benda. Berdasarkan spesifikasi pengembangan modul word graph kata benda, dibuatlah use case diagram, class diagram, dan sequence diagram.

Beberapa hal yang dapat dilakukan pengguna terhadap modul word graph kata benda di antaranya adalah memilih menu „Modul‟. Terdapat beberapa pilihan submenu di dalam menu „Modul‟. Pengguna memilih submenu „Kata Benda‟ untuk mengaktifkan modul word graph kata benda. Selain itu, pengguna juga dapat memasukkan input sesuai keinginan melihat bentuk word graph yang sesuai dengan input kata yang diberikan. Gambar 2 menjelaskan deskripsi modul word graph kata benda yang telah digambarkan dalam use case. Gambaran mengenai class diagram dan sequence diagram dari sistem modul word graph kata benda dapat dilihat pada Lampiran 3 dan Lampiran 4.

 Praproses

Tahap praproses dilakukan untuk membatasi input kata pada sistem. Pada tahap ini, kata yang dimasukkan akan diperiksa apakah bersifat tunggal atau tidak. Jika kata yang dimasukkan bersifat tunggal, kata tersebut akan diproses ke tahap selanjutnya. Tahap ini juga digunakan untuk memeriksa nilai masukan, apakah berupa karakter atau tidak.

 Pengecekan KBBI

Input yang telah melalui tahap praproses akan dilakukan pengecekan apakah input tersebut termasuk dalam jenis kata benda dan terdapat pada KBBI yang disesuaikan atau tidak. Input yang berupa kata benda dan terdaftar di dalam KBBI yang disesuaikan kemudian akan melalui tahap stemming KBBI,

sementara jika tidak terdaftar dalam KBBI akan melalui tahap stemming manual.

Gambar 2 Use case diagram untuk modul word graph kata benda.

Stemming KBBI

Input yang telah melalui tahap pengecekan KBBI dan ternyata terdaftar di dalam KBBI selanjutnya akan dicari imbuhan dan kata dasarnya melalui proses stemming KBBI. Parameter-parameter tersebut kemudian digunakan untuk memperoleh pola word graph kata benda yang sesuai dengan input. Proses stemming yang dilakukan sistem disesuaikan dengan pola pembentukan word graph kata benda pada penelitian Saleh (2009).

Stemming Manual

Input yang telah melalui tahap pengecekan KBBI, namun tidak ditemukan di dalam KBBI, akan di-stemming secara manual. Stemming manual dilakukan untuk memperoleh kata dasar dan imbuhan. Jika terdapat lebih dari satu kata dasar, sistem akan mengambil kata dasar yang pertama kali ditemukan.

Penentuan Pola Word Graph Kata Benda Proses stemming, baik stemming KBBI maupun stemming manual, menghasilkan data yang berisi imbuhan, kata dasar, dan jenis kata dasar. Data tersebut kemudian digunakan untuk menentukan pola word graph kata benda. Penentuan pola dilakukan dengan mencocokkan imbuhan (awalan dan akhiran) dengan jenis kata dasar yang diperoleh pada proses stemming dengan data pada database.

Pembangkitan Word Graph Kata Benda Proses selanjutnya setelah pola word graph kata benda berhasil ditentukan adalah pembangkitan word graph kata benda. Pola word graph yang sesuai akan digambarkan dan ditampilkan pada sistem. Pembangkitan pola

(16)

juga akan menggambarkan input dan kata dasarnya dalam satu kesatuan pola word graph kata benda. Pola-pola yang dibangkitkan merupakan hasil kombinasi dari komponen-komponen word graph seperti token, binary relationship, dan frame relationship. Komponen-komponen tersebut telah dibuat pada penelitian sebelumnya oleh Walayatullah (2011) dan digunakan dalam penelitian ini untuk membentuk pola-pola word graph kata benda.

1.2.2 Perancangan Antarmuka

Antarmuka KG_EDITOR yang dirancang adalah sebuah kanvas, yang akan menjadi media untuk menampilkan word graph, dan menu bar sebagai menu utama yang terdapat pada menu items „File‟ dan „Modul‟.

1.2.3 Perancangan Database

Database yang digunakan pada penelitian ini bernama „kamus‟. Database „kamus‟ terdiri atas dua buah tabel, yaitu „entry‟ dan „polabenda‟. Data yang ada di dalam KBBI disimpan di dalam tabel „entry‟, sedangkan tabel „polabenda‟ berisi daftar imbuhan, jenis kata dasar, dan pola kata benda. Tabel „entry‟ memiliki sejumlah field, di antaranya adalah field „EntryId‟, „Word‟, „Category‟, „Stem‟, dan „Qty‟. Field „EntryId‟ merupakan primary key pada tabel „entry‟ sementara field „Word‟ berisi kata dalam bahasa Indonesia, baik kata dasar maupun kata berimbuhan. Field „Category‟ berisi jenis kata dasar yang berupa kata benda (n), kata kerja (v), kata sifat (a), dan sebagainya. Field „Stem‟ berisi kata dasar dari kata yang berada di dalam field „Word‟. Field „Qty‟ berisi sejumlah nilai untuk menentukan suatu kata termasuk pada word graph kata benda tertentu. Field ini bermanfaat untuk menentukan pola word graph bagi kata benda yang memiliki imbuhan serta jenis kata dasar yang sama persis. Berikut ini merupakan contoh isi dari tabel „entry‟ yang ditunjukkan pada Tabel 1.

Tabel 1 Contoh isi tabel „entry‟ pada database „kamus‟

Entry-Id Word Category Stem Qty 669 Air n air null 670 Berair v air null 671 mengairi v air null 672 perairan n air 1 673 pengairan n air 1

Tabel „polabenda‟ digunakan untuk proses pengecekan pola pembentukan word graph kata benda. Tabel tersebut berisi enam field, yaitu „PolaID‟, „Awalan‟, „KategoriKD‟, „Akhiran‟, „Qty‟, dan „Pola‟. Contoh dari tabel „polabenda‟ dapat dilihat pada Tabel 2.

Tabel 2 Contoh isi tabel „polabenda‟

PolaID Awalan KategoriKD Akhiran Qty Pola 11 pe v null 1 2 12 pem v null 2 3 13 peng v null 3 4 14 peny n null 1 5 15 per n null 2 6 1.2.4 Implementasi Fungsional  Praproses

Praproses merupakan tahap awal yang dilakukan sistem KG_EDITOR ketika pengguna memasukkan input. Class dalam KG_EDITOR yang digunakan untuk melakukan tahap praposes adalah class CekInputBenda. Input kata yang dimasukkan diperiksa apakah merupakan kata tunggal dan mengandung selain karakter. Jika input terdiri atas lebih dari satu kata atau kosong atau mengandung selain karakter, sistem akan menampilkan peringatan berupa message dialog kepada pengguna dan input tersebut tidak akan diproses ke tahap selanjutnya. Pesan peringatan yang diberikan sistem pada tahap praproses dapat dilihat pada Lampiran 5. Misalnya, pengguna memasukkan input „pertanian‟, maka pertama kali sistem akan melakukan pengecekan terhadap input tersebut dengan memeriksa bentuk karakter serta jumlah katanya pada class CekInputBenda. Jika dilihat dari kedua hal tersebut, input „pertanian‟ merupakan input yang valid untuk tahap praproses sehingga input ini lolos dan akan diproses ke tahap selanjutnya, yaitu tahap pengecekan KBBI.

 Pengecekan KBBI

Input kata benda yang telah melalui tahap praproses selanjutnya diperiksa apakah terdapat di dalam KBBI atau tidak. Class yang digunakan untuk pengecekan KBBI adalah class CekKBBI. Tabel yang berfungsi sebagai KBBI dalam penelitian ini adalah tabel „entry‟. Pengecekan dilakukan dengan memeriksa apakah input berada di dalam field „Word‟ atau tidak. Hal yang perlu diperhatikan dalam pengecekan KBBI adalah bahwa jenis input harus berupa kata benda. Input yang terdaftar di dalam KBBI kemudian akan diambil datanya

(17)

sebanyak satu record. Record tersebut memiliki atribut „EntryID‟, „Word‟, „Category‟, „Stem‟, dan „Qty‟. Jika input tidak terdaftar di dalam KBBI, input tersebut akan langsung masuk ke proses stemming manual.

Contoh input yang diberikan pengguna adalah „pertanian‟ yang telah lolos tahap praproses. Input ini kemudian akan dicek keberadaannya pada KBBI yang disesuaikan. Pertama, sistem akan mengecek keberadaan input „pertanian‟ di dalam tabel „entry‟ dengan menggunakan kueri seperti pada Gambar 3.

Gambar 3 Kueri pengecekan KBBI. Berdasarkan kueri tersebut, sistem akan mencari keberadaan input „pertanian‟ di dalam field „Word‟ pada tabel „entry‟ dengan „Category‟ yang digunakan adalah „n‟ (kata benda). Hasil pencarian menunjukkan bahwa „pertanian‟ terdaftar di dalam tabel „entry‟. Sistem akan mengambil data sebanyak satu record. Hasil dari kueri di atas ditunjukkan pada Tabel 3. Tabel 3 Data hasil kueri dengan input

„pertanian‟ untuk pengecekan KBBI Field Data EntryID 48420 Word pertanian Category n Stem tani Qty 1  Stemming KBBI

Input yang terdaftar di dalam KBBI akan diproses oleh class StemKBBI sementara input yang tidak terdaftar di dalam KBBI akan dilakukan proses stemming manual yang melibatkan beberapa class. Proses stemming KBBI pada penelitian ini berfungsi untuk memotong input kata, mengambil kata dasar dari input tersebut, serta mencari jenis dari kata dasar. Hasil dari pemotongan input kata adalah berupa imbuhan dan kata dasar.

Contoh input yang diberikan pengguna adalah „pertanian‟ yang telah terdeteksi di dalam KBBI. Kata „pertanian‟ akan masuk ke dalam proses stemming KBBI. Kata „pertanian‟ pada proses ini pertama kali akan diambil kata dasar, jenis input kata, dan nilai qty yang

terdapat di dalam KBBI yang disesuaikan (tabel „entry‟). Proses selanjutnya adalah pengecekan terjadinya peluruhan pada kata dasar. Kata „pertanian‟ merupakan contoh input kata yang kata dasarnya tidak meluruh sehingga sistem akan langsung memotong kata tersebut untuk mengambil awalan dan akhirannya, yaitu „per‟ dan „an‟. Proses selanjutnya setelah diperoleh awalan dan akhiran adalah pencarian jenis kata dasar dari input. Kata „pertanian‟ memiliki kata dasar „tani‟. Kata „tani‟ akan dicari jenis katanya oleh sistem. Proses pencarian jenis kata dasar dilakukan dengan menggunakan kueri yang dideskripsikan pada Gambar 4.

Gambar 4 Kueri pencarian jenis kata dasar. Parameter input pada kueri tersebut merepresentasikan kata dasar. Berdasarkan kueri tersebut dapat diketahui bahwa untuk mencari jenis kata dasar maka sistem akan mencari kata „tani‟ di dalam tabel „entry‟ yang memiliki nilai sama pada field „Word‟ dan „Stem‟, yaitu yang bernilai „tani‟. Sistem kemudian mengambil jenis kata dasar dari hasil kueri tersebut. Hasil dari proses stemming KBBI dengan contoh input kata „pertanian‟ dapat dilihat pada Tabel 4.

Tabel 4 Hasil dari proses stemming KBBI menggunakan input kata benda „pertanian‟

Parameter Data Awalan per Akhiran an Kata dasar tani Jenis kata n Jenis kata dasar n

Qty 1

Proses stemming KBBI untuk kata benda yang meluruh sedikit berbeda. Perbedaan tersebut terletak pada proses pemotongan imbuhan. Kata yang mengalami peluruhan akan diberi nilai -1 setelah didapatkan data mengenai kata dasar, jenis input kata, dan nilai quality („Qty‟). Sistem memberikan nilai -1 sebagai tanda bahwa kata dasar yang diperoleh dari KBBI yang disesuaikan tidak terdapat di dalam input kata. Kata yang meluruh kemudian akan dipotong imbuhannya.

SELECT * FROM `entry` WHERE `Word` LIKE '"+input+"' and `Stem` LIKE '"+input+"'

SELECT * FROM `entry` WHERE `Word` LIKE '"+input+"' and `Category` LIKE 'n'

(18)

Contoh stemming KBBI untuk input kata yang kata dasarnya meluruh terdapat pada kata „pemotongan‟. Kata ini dideteksi sebagai kata yang mengalami peluruhan karena kata dasar „potong‟ tidak berada di dalam kata „pemotongan‟ sehingga diberi nilai -1. Berbeda dengan kata „pertanian‟, kata dasar „tani‟ merupakan bagian dari kata „pertanian‟ sehingga tidak diberi nilai -1. Proses stemming selanjutnya adalah pemotongan kata dasar „potong‟ menjadi „otong‟. Kata dasar „potong‟ diperoleh melalui pencarian kata dasar di dalam tabel „entry‟. Kata „potong‟ kemudian dipotong sebanyak satu huruf dari depan menjadi „otong‟ dan disimpan sementara pada suatu variabel. Pemotongan tersebut dilakukan untuk mendapatkan awalan dan akhiran kata. Peluruhan kata juga berlaku untuk suatu kata yang kata dasarnya diawali oleh huruf k, p, t, dan s. Kata dasar „otong‟ yang merupakan bagian dari kata „pemotongan‟ selanjutnya dilakukan proses pemotongan untuk mengambil awalan dan akhiran. Proses stemming KBBI untuk kata pemotongan menghasilkan awalan „pem‟ dan akhiran „an‟. Hasil dari proses stemming KBBI dengan contoh input kata „pemotongan‟ dapat dilihat pada Tabel 5. Tabel 5 Hasil dari proses stemming KBBI

menggunakan input kata benda „pertanian‟

Parameter Data

Awalan pem

Akhiran an

Kata dasar potong Jenis kata n Jenis kata dasar v

Qty 1

Stemming Manual

Input kata yang tidak terdaftar di dalam KBBI yang disesuaikan akan dilakukan stemming secara manual. Proses ini dilakukan untuk memperoleh imbuhan dan kata dasar. Stemming manual yang dilakukan oleh modul word graph kata benda dikhususkan untuk jenis kata benda saja karena proses ini mengacu pada bentuk-bentuk imbuhan yang terdapat pada pola pembentukan word graph kata benda dalam penelitian Saleh (2009).

Stemming manual diawali oleh proses pencarian bentuk akhiran yang sesuai. Proses ini dilakukan oleh class Akhiran1. Bentuk akhiran yang terdapat pada proses ini adalah bentuk

akhiran -an. Input yang memiliki akhiran -an akan dipotong. Hasil pemotongan tersebut selanjutnya akan dianggap sebagai sebuah kata dasar. Kata tersebut kemudian akan dicek keberadaannya di dalam tabel „entry‟ oleh class CekKBBI. Jika kata dasar tersebut terdaftar di dalam tabel „entry‟, kata tersebut akan dianggap sebagai kata dasar. Namun, jika tidak, sistem akan menduga bahwa kata tersebut mengandung awalan. Nilai null pada akhiran akan diberikan jika input tidak mengandung akhiran -an. Nilai null pada akhiran menandakan bahwa input tidak mengalami pemotongan akhiran sehingga nilai input tidak berubah. Proses tersebut dapat dilihat pada Gambar 5.

Contoh kata yang memiliki akhiran -an dan tidak terdaftar di dalam tabel „entry‟ adalah kata „pendugaan‟. Kata „pendugaan‟ akan dipotong oleh class Akhiran menjadi kata „penduga‟ dan berakhiran -an. Kata „penduga‟ selanjutnya akan dicek keberadaannya di dalam tabel „entry‟ oleh class CekKBBI. Sistem akan mengecek apakah kata „penduga‟ merupakan kata dasar atau bukan. Hasil pengecekan menunjukkan bahwa kata „penduga‟ tidak termasuk dalam daftar kata dasar sehingga sistem menduga bahwa kata „penduga‟ memiliki awalan. Oleh karena itu, kata „penduga‟ akan masuk ke tahap selanjutnya, yaitu proses pencarian awalan yang sesuai.

11 26 40 41 42 44 45 46

public class Akhiran1 { ....

public Akhiran1(String input) { .... if("an".equals(akh)){ akhiran=akh; kdasar=kd; }else{ akhiran=null; kdasar=input; } .... } }

Gambar 5 Proses pencarian akhiran pada class Akhiran1.

Tahap kedua dari proses stemming manual adalah proses pencarian awalan. Pencarian awalan dilakukan oleh class Awalan dengan terlebih dahulu memotong beberapa huruf terdepan dari suatu input kata. Class Awalan mula-mula akan memotong dua huruf terdepan dari suatu input. Hasil pemotongan tersebut adalah berupa awalan dan kata dasar. Proses selanjutnya adalah pengecekan terhadap kedua hasil pemotongan tersebut. Proses ini akan mengecek apakah awalan dan kata dasar yang dihasilkan dari proses pemotongan kata sesuai

(19)

dengan aturan pembentukan awalan pada kata benda. Jika hasil pemotongan tersebut termasuk dalam salah satu aturan, sistem akan mengembalikan kedua nilai hasil pemotongan tersebut sebagai output. Sebaliknya, jika hasil pemotongan tersebut tidak cocok dengan aturan-aturan yang ada, sistem akan melakukan pemotongan terus menerus dengan batas tertentu hingga diperoleh awalan dan kata dasar yang paling sesuai dengan aturan pembentukan awalan. Class Awalan akan mengembalikan nilai null untuk awalan dan kata dasar menjadi tetap seperti sebelum awalan dipotong jika tidak ada satupun aturan yang sesuai dengan hasil pemotongan kata. Aturan pembentukan awalan terdiri atas dua parameter, yaitu awalan dan kata dasar.

Contoh kata yang memiliki awalan adalah kata „penduga‟ yang merupakan hasil pemotongan akhiran -an dari kata „pendugaan‟. Kata tersebut merupakan kata yang memiliki awalan pen- dan huruf pertama dari kata dasar „duga‟ adalah „d‟. Kedua nilai tersebut termasuk dalam salah satu aturan pembentukan awalan pada kata benda. Oleh karena itu, class Awalan akan mengembalikan nilai „pen‟ dan „duga‟ sebagai awalan dan kata dasar dari kata „penduga‟. Gambar 6 menggambarkan contoh aturan pembentukan awalan pada kata benda.

11 34 64 65 66 68 69 70

11 public class Awalan { ....

34 public Awalan(String input) { .... 64 if(("pen".equals(aw)) && kd1.matches("[cdjtz]+")){ 65 awalan=aw; 66 kdasar=kd; } .... 68 if(("pem".equals(aw) )&& kd1.matches("[bfvp]+")){ 69 awalan=aw; 70 kdasar=kd; } .... }

Gambar 6 Contoh aturan pembentukan awalan pada class Awalan.

Tahap ketiga dari proses stemming manual adalah proses pencarian kata dasar di dalam KBBI yang disesuaikan. Kata yang telah melalui proses penentuan akhiran dan awalan selanjutnya akan masuk ke tahap ini untuk menentukan kata dasar dari kata tersebut. Proses ini dilakukan oleh class Stemm. Kata dasar yang diperoleh dari proses kedua, yaitu proses pencarian awalan, akan dicari keberadaannya di dalam tabel „entry‟ oleh class CekKBBI. Kata dasar yang ditemukan di dalam tabel „entry‟

kemudian akan dikembalikan sebagai output kata dasar beserta awalan dan akhiran yang diperoleh dari proses sebelumnya. Kata dasar yang tidak terdapat di dalam tabel „entry‟ akan dikembalikan nilai input awalnya seperti pada saat sebelum mengalami pemotongan akhiran.

Contoh kata dari proses sebelumnya yaitu „pendugaan‟. Hasil pemotongan akhiran adalah awalan untuk kata tersebut adalah akhiran -an, awalan „pen‟, dan kata dasar „duga‟. Kata dasar „duga‟ yang diperoleh dari proses pencarian awalan selanjutnya akan dicek keberadaannya di dalam tabel „entry‟. Hasil pencarian menunjukkan bahwa kata „duga‟ terdapat di dalam tabel „entry‟ sehingga sistem menentukan kata „duga‟ sebagai kata dasar dari kata „pendugaan‟.

Sebagian kata benda mengalami proses peluruhan. Kata benda yang meluruh masuk ke proses stemming meluruh setelah melalui tahap ketiga, yaitu proses pencarian kata dasar. Proses stemming meluruh diawali dengan proses pencarian akhiran, kemudian pencarian awalan, dan proses terakhir adalah pencarian kata dasar.

Proses pencarian akhiran untuk kata benda yang meluruh sama seperti proses pencarian untuk kata benda yang tidak meluruh. Sistem akan mengecek apakah input mengandung akhiran -an atau tidak, kemudian sistem akan mengecek keberadaan kata dasar hasil pemotongan akhiran ke dalam tabel „entry‟. Contoh kata benda yang meluruh dan tidak terdapat di dalam tabel „entry‟ adalah „pemecahan‟. Kata „pemecahan‟ pertama kali akan masuk ke class Akhiran1 untuk dilakukan proses pencarian akhiran yang sesuai. Proses tersebut menunjukkan bahwa kata „pemecahan‟ memiliki akhiran -an sehingga kata tersebut dipotong menjadi „pemecah‟, lalu sistem akan menyimpan akhiran -an dari hasil pemotongan tersebut. Kata „pemecah‟ selanjutnya akan masuk ke proses pencarian awalan yang sesuai.

Proses pencarian awalan untuk kata benda yang meluruh dilakukan oleh class Luluh. Tahap awal pada proses ini adalah pemotongan input kata yang dimulai dari depan. Pertama, class Luluh akan memotong satu huruf dari depan. Huruf hasil pemotongan akan disimpan oleh class Luluh sebagai awalan, sementara sisa huruf hasil pemotongan akan disimpan sebagai kata dasar. Proses kedua adalah pemotongan huruf pertama dan kedua dari kata dasar. Huruf yang telah dipotong kemudian masing-masing disimpan pada sebuah variabel. Huruf kedua disimpan pada variabel kd1 dan huruf ketiga disimpan pada variabel kd2. Proses ketiga

(20)

adalah pengecekan terhadap isi variabel kd1 dan kd2, apakah masing-masing variabel tersebut adalah huruf vokal (a, i, u, e, o) atau bukan. Hasil pengecekan huruf vokal terhadap masing-masing variabel tersebut adalah berupa nilai boolean. Variabel yang berisi huruf vokal akan diberi nilai true, sementara variabel yang berisi selain huruf vokal akan diberi nilai false. Proses keempat adalah penentuan awalan dan kata dasar yang paling sesuai berdasarkan aturan pembentukan awalan. Hasil pemotongan yang berupa awalan, kata dasar, serta nilai boolean hasil dari pengecekan nilai variabel kd1 dan kd2 kemudian akan dijadikan sebagai parameter penentu nilai awalan dan akhiran yang akan diambil. Keempat proses tersebut dilakukan sebanyak lima iterasi hingga diperoleh awalan dan kata dasar yang paling sesuai dengan salah satu aturan pembentukan awalan untuk kata yang meluruh. Misalnya, jika nilai aw adalah „pem‟ dan variabel a bernilai true, nilai aw dianggap sebagai awalan dan nilai kd dianggap sebagai kata dasar dengan ditambahkan huruf „t‟ pada awal kata. Gambar 7 mengilustrasikan contoh aturan pembentukan awalan dan kata dasar untuk kata yang meluruh.

11 31 56 57 58 62 63 64

public class Luluh { ....

public void Luluh(){

....

if(("men".equals(aw)|| "pen".equals(aw)) && a){ awalan=aw;

KDasar = "t"+kd; }

....

else if (("mem".equals(aw) || "pem".equals(aw)) && a){ awalan = aw; KDasar = "p"+kd; } .... }}

Gambar 7 Contoh aturan pembentukan awalan dan kata dasar pada class Luluh. Kata „pemecah‟ yang telah lolos dari tahap pencarian akhiran selanjutnya akan masuk ke proses pencarian awalan. Tahap pertama adalah pemotongan huruf pertama dari kata „pemecah‟, yaitu „p‟. Huruf „p‟ kemudian disimpan di dalam variabel aw sebagai awalan, sementara huruf-huruf sisanya, yaitu „emecah‟ disimpan di dalam variabel kd sebagai kata dasar. Tahap kedua adalah pemotongan huruf pertama dan kedua dari kata dasar „emecah‟. Huruf pertama dari kata dasar „emecah‟ adalah „e‟, sementara huruf keduanya adalah „m‟. Kedua huruf ini masing-masing disimpan didalam variabel kd1 dan kd2. Tahap ketiga adalah pengecekan huruf

vokal terhadap variabel kd1 dan kd2. Dilihat dari isi kedua variabel tersebut, kd1 berisi huruf vokal „e‟ sehingga diberi nilai true, sedangkan kd2 berisi huruf konsonan „m‟ sehingga diberi nilai false. Kedua nilai boolean tersebut masing-masing disimpan di dalam variabel a dan b. Proses keempat adalah penentuan kata dasar dan awalan. Berdasarkan nilai pada masing-masing variabel aw, kd, a, dan b, dapat disimpulkan bahwa tidak ada nilai parameter yang sesuai dengan aturan pembentukan awalan. Class Luluh kemudian akan menambah iterasi hingga diperoleh nilai yang sesuai pada iterasi ke-4. Nilai-nilai variabel yang diperoleh pada iterasi ke-4 yaitu aw=‟pem‟, kd=‟ecah‟, kd1=‟e‟, kd2=‟c‟, a=true, dan b=false. Nilai-nilai tersebut sesuai dengan aturan kedua yang mensyaratkan nilai aw=‟pem‟ dan a=true sehingga diperoleh awalan „pem‟ dan kata dasar „pecah‟. Urutan proses stemming manual dapat dilihat pada Lampiran 6.

Penentuan Pola Word Graph Kata Benda Kata yang telah berhasil melalui tahap stemming, baik stemming KBBI maupun stemming manual, selanjutnya akan masuk ke proses pengecekan pola word graph kata benda. Proses pengecekan pola dilakukan oleh class PolaBenda dengan mencocokkan antara output dari proses stemming dengan data pada tabel „polabenda‟ dalam database „kamus‟. Output yang dihasilkan dari proses stemming di antaranya adalah kata, kata dasar, jenis input, jenis kata dasar, awalan, akhiran, dan quality. Empat dari tujuh output yang dihasilkan melalui proses stemming akan digunakan sebagai parameter untuk menentukan pola yang sesuai. Penentuan pola dilakukan dengan menggunakan kueri seperti pada Gambar 8.

Gambar 8 Kueri penentuan pola word graph kata benda.

Beberapa pola pembentukan word graph kata benda dipecah menjadi beberapa bagian karena memiliki makna yang berbeda walaupun strukturnya sama. Misalnya, pola pe-Kata Kerja (KK) dipecah menjadi tiga bagian, yaitu pe-KK 1, pe-KK 2, dan pe-KK 3. Ketiga pola tersebut memiliki imbuhan dan jenis kata dasar yang sama persis, yaitu awalan ‘pe‟ dengan jenis kata dasarnya adalah kata kerja, namun ketiga pola tersebut memiliki arti yang berbeda. Pola pe-KK 1 memiliki makna “orang yang pe-KK”,

SELECT `Pola` FROM `polabenda` WHERE `Awalan` LIKE '" + awalan + "' and `KategoriKD` LIKE '"+jnsKD+"' and `Akhiran` like '"+akhiran+"' and `Qty` like '"+qty+"'

(21)

sementara pola pe-KK 2 memiliki makna “orang yang KK, sesuatu yang KK, atau alat KK”. Hal berbeda juga terjadi pada pola pe-KK 3 yang memiliki makna “orang atau sesuatu yang di-KK atau dijadikan KK”. Perbedaan makna tersebut menyebabkan bentuk word graph yang dihasilkan untuk masing-masing pola berbeda. Pola lain yang dipecah adalah pola pe-KB. Pola pe-KB dibedakan menjadi pola pe-KB 1 dan pola pe-KB 2. Begitu juga dengan pola pe-KS, pola pe-KK-an, dan pola pe-KS-an yang masing-masing dibedakan menjadi dua bentuk pola.

Parameter „Qty‟ merupakan parameter pembeda yang menentukan bentuk word graph bagi suatu kata yang memiliki struktur sama, namun maknanya berbeda. Parameter „Qty‟ diberi nilai satu sampai tiga, disesuaikan dengan jumlah perbedaan makna untuk setiap pola pembentukan. Misalnya, pola pe-KS yang dibagi menjadi pola pe-KS 1 dan pola pe-KS 2. Nilai „Qty‟ yang diberikan adalah „1‟ untuk pola pe-KS 1 dan „2‟ untuk pola pe-KS 2. Nilai yang sama juga diberikan kepada pola lainnya.

Contoh proses penentuan pola word graph kata benda untuk kata yang memiliki struktur sama, namun maknanya berbeda terdapat pada kata benda „penyayang‟ dan „penyejuk‟. Kata „penyayang‟ dan „penyejuk‟ memiliki imbuhan dan jenis kata dasar yang sama, yaitu „peny‟ dan kata sifat (a). Berdasarkan KBBI, kedua kata ini memiliki makna yang berbeda. Kata „penyayang‟ bermakna “orang yang memiliki sifat belas kasih”, sedangkan kata „penyejuk‟ bermakna “alat untuk menyejukkan”. Berdasarkan perbedaan tersebut, kata „penyayang‟ masuk ke Pola pe-KS 1 yang bermakna “orang yang memiliki sifat KS” dengan nilai „Qty‟ adalah 1, sedangkan kata „penyejuk‟ masuk ke Pola pe-KS 2 karena sesuai dengan maknanya yaitu “orang atau sesuatu yang me-KS” dengan nilai „Qty‟ adalah 2.

Pembangkitan Pola Word Graph Kata Benda

Tahap ini merupakan visualisasi pola word graph yang telah ditentukan. Output dari proses penentuan pola word graph kata benda adalah nama pola word graph kata benda. Nama pola tersebut kemudian akan diperiksa keberadaannya oleh class PolaKataBenda. Nama pola adalah berupa nilai satu hingga 19, sesuai dengan jumlah pola word graph kata benda yang diimplementasikan. Jika nama pola tersebut terdapat di dalam class PolaKataBenda, sistem akan menampilkan

bentuk word graph-nya. Jika tidak ada, sistem akan memunculkan pesan peringatan. Misalnya, output yang dihasilkan dari tahap penentuan pola word graph untuk kata „pertanian‟ adalah „15‟. Hal ini bermakna bahwa kata „pertanian‟ termasuk ke dalam pola „15‟. Sistem kemudian memeriksa keberadaan pola „15‟ ada di dalam class PolaKataBenda. Karena pola tersebut ada, sistem lalu memanggil class KataBenda15 yang berisi aturan-aturan untuk menggambarkan pola pe-KB-an 1 dan memvisualisasikan bentuk word graph-nya. Bentuk kode program untuk class PolaKataBenda dan KataBenda15 dapat dilihat pada Gambar 9 dan Gambar 10.

18 19 41 54 55 116 117 119 197 198

public class PolaKataBenda { public String kata;

.... KataBenda19 KB19; public PolaKataBenda(String kata){ .... if(pola==1){ KB1 = new KataBenda1(50,50, kata); } .... }

public void drawPola(Graphics2D gd){ if(pola==1){ .... KB1.drawKataBenda1(gd); } .... else{ gd.drawString("Pola tidak ditemukan.", 10, 20); }}

Gambar 9 Kode program pada class PolaKataBenda. 19 20 31 38 46 47 48

public class KataBenda15 { Ali AK, AA;

....

public KataBenda15(int x, int y, String kata){

....

AK = new Ali(x+60, y+30); .... }

public void drawKataBenda15 (Graphics2D gd){

AK.drawAliKanan(gd); FP.drawFrameFokus(gd); ....

}}

Gambar 10 Kode program pada class KataBenda15.

Setiap bentuk pola word graph kata benda digambarkan dalam satu class sehingga terdapat 19 class pola pembentukan word graph kata benda pada penelitian ini, yaitu mulai dari class KataBenda1 sampai class Katabenda19.

(22)

Penggambaran pola word graph seperti pada Gambar 10. Penggambaran pola word graph ditentukan oleh variabel integer yang menyimpan nilai koordinat untuk setiap komponen word graph. Variabel ini yang akan menentukan letak penggambaran untuk setiap komponen tersebut pada sistem. Setiap komponen word graph yang telah ditentukan letak penggambarannya kemudian akan digambarkan dalam bentuk dua dimensi. Sistem akan menampilkan pesan peringatan ketika ia tidak dapat mengenali pola pembentukan word graph kata benda dari input yang diberikan pengguna. Hasil pembangkitan Pola 15 dari contoh input „pertanian‟ dapat dilihat pada Gambar 11.

Gambar 11 Hasil pembangkitan Pola 15 dengan contoh input „pertanian‟.

1.2.5 Implementasi Antarmuka

Antarmuka perangkat lunak KG_EDITOR terdiri atas dua bagian, yaitu menu bar dan panel kanvas. Menu bar memiliki dua pilihan menu item, yaitu menu „File‟ dan „Modul‟. Menu „File‟ hanya memiliki satu sub menu, yaitu „Exit‟ yang digunakan untuk keluar dari perangkat lunak KG_EDITOR. Menu „Modul‟ memiliki lima pilihan sub menu, yaitu „Kata Keterangan‟, „Kata Benda‟, dan „Kata Kerja‟. Bagian panel kanvas digunakan sebagai media untuk memvisualisasikan bentuk word graph kata benda. Tampilan awal kanvas pada saat perangkat lunak pertama kali dijalankan adalah berupa kanvas kosong berwarna putih. Bentuk antarmuka untuk menu bar dan panel kanvas dapat dilihat pada Gambar 12, sedangkan contoh antarmuka panel kanvas yang dapat menampilkan sebuah bentuk word graph dapat dilihat pada Gambar 13.

Input dialog box merupakan antarmuka yang muncul ketika pengguna memilih salah satu sub menu pada menu „Kamus‟. Input dialog box digunakan sebagai media untuk memasukkan input kata. Gambaran mengenai input dialog box diilustrasikan pada Gambar 14.

Gambar 12 Bentuk antarmuka menu bar.

Gambar 13 Bentuk antarmuka panel kanvas.

Gambar 14 Bentuk tampilan input dialog box untuk kata benda.

KG_EDITOR juga menyediakan fasilitas shortcut sebagai pilihan lain bagi pengguna yang ingin mengaktifkan salah satu sub menu pada menu „Kamus‟. Shortcut yang digunakan untuk modul word graph kata benda pada KG_EDITOR adalah dengan menekan tombol CTRL+B pada keyboard.

KG_EDITOR untuk kata benda akan memberikan suatu peringatan untuk memberitahu pengguna jika terjadi kesalahan pada input kata atau tidak ditemukannya pola yang sesuai bagi input kata. Peringatan-peringatan tersebut ditampilkan dalam bentuk dialog box.

1.2.6 Lingkungan Implementasi

Modul word graph kata benda dibangun dengan bahasa pemrograman Java. Lingkungan implementasi perangkat lunak dan perangkat keras yang digunakan untuk pembuatan modul kamus word graph kata benda adalah sebagai berikut:

Gambar

Gambar  2  menjelaskan  deskripsi  modul  word  graph  kata  benda  yang  telah  digambarkan  dalam  use  case
Gambar 3  Kueri pengecekan KBBI.
Tabel  5    Hasil  dari  proses  stemming  KBBI  menggunakan  input  kata  benda
Gambar 9  Kode program pada class  PolaKataBenda.  19  20  31  38  46  47  48
+4

Referensi

Dokumen terkait

Spongebob Squarepants bukanlah serial kartun yang khusus bertemakan imajinasi bagi anak-anak, namun serial kartun ini dapat memberikan ajaran mengenai persahabatan yang

EFEKTIVITAS MODEL PEMBELAJARAN MISSOURI MATHEMATICS PROJECT (MMP) TERHADAP KEMAMPUAN BERPIKIR KREATIF MATEMATIS DAN PRESTASI BELAJAR PESERTA DIDIK PADA MATERI HIMPUNAN KELAS

Besarnya tarif retribusi jasa pengelolaan pasar tradisional disesuaikan dengan kelas pasarnya, sebagaimana yang tertuang pada Peraturan Bupati Bogor Nomor 12 Tahun

Untuk itu, para ahli CBT (NACBT, 2007) menganggap bahwa aspek kognitif harus menjadi aspek yang utama dalam melakukan terapi. Hal ini dikarenakan suatu kondisi psikis

MASHUR Qur'an Hadist MI Swasta Darul Hikmah Sawahan KAB.. MANBA'UL

PENGARUH PENDIDIKAN KESEHATAN TENTANG DISMENORE MELALUI MEDIA BOOKLET TERHADAP TINGKAT.. PENGETAHUAN, PERILAKU,

Hasil penelitian terdahulu menunjukkan dengan jumlah biomassa sebesar 5 gr, kondisi pH limbah cair berkisar antara 7,1 – 7,8 dengan lamanya waktu kontak 15 menit terlihat

Berdasarkan hasil wawancara di atas bahwa telah terjadi komunikasi yang aktif antara anak dengan orang tua, dimana orang tua tidak ingin mencampuri urusan anaknya dan