4 Listen to customer Build or revise mock-up 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: Customer test drives mock-up 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 kebutuhankebutuhan, 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 x 100% Ʃ Kata yang diuji 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), polapola 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 ke19. 5 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 fungsifungsi 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 6 kata benda dapat dilihat melalui diagram alir sistem yang terdapat pada Lampiran 2. sementara jika tidak terdaftar dalam KBBI akan melalui tahap stemming manual. 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, 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 7 juga akan menggambarkan input dan kata dasarnya dalam satu kesatuan pola word graph kata benda. Pola-pola yang dibangkitkan merupakan hasil kombinasi dari komponenkomponen 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‟ EntryId 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 8 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. SELECT * FROM `entry` WHERE `Word` LIKE '"+input+"' and `Category` LIKE 'n' 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. EntryID Word Category SELECT * FROM `entry` WHERE `Word` LIKE '"+input+"' and `Stem` LIKE '"+input+"' Gambar 4 Kueri pencarian jenis kata dasar. Data 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. 48420 Tabel 4 Tabel 3 Data hasil kueri dengan input „pertanian‟ untuk pengecekan KBBI Field 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. pertanian 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 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. 9 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 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. Data 11 Awalan pem 26 Akhiran an 40 41 42 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 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 10 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 11 34 34 64 64 65 66 65 66 68 68 69 70 69 70 public class Awalan { .... public Awalan(String input) { .... if(("pen".equals(aw)) && kd1.matches("[cdjtz]+")){ awalan=aw; kdasar=kd; } .... if(("pem".equals(aw) )&& kd1.matches("[bfvp]+")){ awalan=aw; 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 11 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 masingmasing 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 masingmasing disimpan di dalam variabel a dan b. Proses keempat adalah penentuan kata dasar dan awalan. Berdasarkan nilai pada masingmasing 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. Nilainilai 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. SELECT `Pola` FROM `polabenda` WHERE `Awalan` LIKE '" + awalan + "' and `KategoriKD` LIKE '"+jnsKD+"' and `Akhiran` like '"+akhiran+"' and `Qty` like '"+qty+"' 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 peKK 1 memiliki makna “orang yang KK”, 12 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 public class KataBenda15 { Ali AK, AA; .... public KataBenda15(int x, int y, String kata){ .... AK = new Ali(x+60, y+30); .... } 38 46 47 48 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. 13 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 12 Bentuk antarmuka menu bar. Gambar 13 Bentuk antarmuka panel kanvas. 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 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. Peringatanperingatan 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: 14 a Lingkungan perangkat keras Processor AMD Turion(tm) X2 DualCore Mobile RM-74 2.20 GHz RAM 2 GB HDD 250 GB Monitor Keyboard dan mouse b Lingkungan perangkat lunak Windows 7 Professional sebagai sistem operasi Netbeans 6.8 sebagai IDE (Integrated Development Environment) XAMPP sebagai server control panel Java 6.0 sebagai bahasa pemrograman 1.3 Customer Test Drives Mock-up Tahap ini merupakan tahap evaluasi sistem. Tahap ini dilakukan melalui proses pengujian menggunakan metode black box. Pengguna menguji sistem dengan memasukkan berbagai kemungkinan input untuk mengetahui apakah sistem memberikan output yang sesuai tanpa memerhatikan proses yang terjadi di dalamnya. Hasil pengujian menunjukkan kesesuaian antara hasil yang seharusnya dengan hasil yang didapat melalui proses pengujian. Hasil tersebut kemudian dievaluasi oleh pengembang. Setiap kekurangan sistem yang ditemukan dalam tahap ini selanjutnya diperbaiki hingga kebutuhan pengguna dapat dipenuhi. Pengujian sistem dilakukan dengan menggunakan 173 kata benda uji yang terdiri atas 4-10 kata uji untuk setiap bentuk pola word graph kata benda. Hasil pengujian menunjukkan terdapat 9 kata benda uji yang tidak dapat ditemukan bentuk word graph-nya. Beberapa kata tersebut di antaranya adalah „pemecahan‟, „pendugaan‟, „penjaring‟, „penyemangat‟, „pengharum‟, „binaan‟, „aliran‟, „kritikan‟, dan „pendamaian‟. Hal ini terjadi karena sistem modul word graph kata benda belum dapat menampilkan word graph dari sejumlah kata yang tidak terdapat di dalam KBBI dan merupakan kata yang termasuk dalam jenis pola yang memiliki nilai „Qty‟. Hasil stemming manual selalu menghasilkan nilai null untuk „Qty‟ sehingga sistem tidak dapat menentukan jenis pola untuk kata tersebut. Misalnya, kata „pemecahan‟ yang tidak terdaftar di dalam KBBI. Kata „pemecahan‟ seharusnya termasuk dalam pola pe-KK-an 1 yang bermakna “perbuatan atau hal memecahkan”, namun karena nilai „Qty‟ yang dihasilkan dari proses stemming manual adalah null, sistem tidak dapat mengenali pola untuk kata „pemecahan‟. Oleh karena itu, output yang dihasilkan adalah berupa pesan peringatan bahwa pola tidak ditemukan. Output dari pengujian terhadap kata „pemecahan‟ dapat dilihat pada Gambar 15. Gambar 15 Output dari pengujian dengan input kata „pemecahan‟. 2 Iterasi Kedua Iterasi kedua dilakukan untuk memperbaiki kekurangan-kekurangan sistem yang terdapat pada iterasi pertama. Kekurangan yang diperbaiki dalam iterasi kedua ini yaitu dalam tahap penentuan pola word graph kata benda. 2.1 Listen to Customer Berdasarkan hasil evaluasi yang diperoleh dari iterasi pertama, pengguna menginginkan agar pengembang melakukan perbaikan terhadap kekurangan yang dihasilkan pada iterasi pertama. Pengguna menginginkan agar pengembang melakukan penentuan pola word graph untuk sejumlah kata yang melalui proses stemming manual. Penentuan pola ini berlaku untuk kata-kata yang memiliki struktur imbuhan dan jenis kata yang sama persis, namun memiliki makna yang berbeda. 2.2 Revise Mock-up Perbaikan terhadap sistem pada iterasi kedua dilakukan sesuai dengan permintaan pengguna pada tahap listen to customer. Tahap ini merupakan perbaikan terhadap proses penentuan pola word graph kata benda. Penentuan pola dilakukan dengan memberikan nilai default terhadap pola bagi sejumlah kata yang memiliki struktur imbuhan dan jenis kata yang sama, namun maknanya berbeda. Perbaikan ini dilakukan untuk mencegah tidak ditemukannya bentuk word graph suatu kata benda yang tidak terdaftar di dalam tabel „entry‟. Nilai „Qty‟ untuk seluruh kata yang terdaftar di dalam tabel „entry‟ telah ditentukan sehingga sistem pasti akan menemukan bentuk word graph untuk kata-kata tersebut. Nilai „Qty‟ untuk kata-kata yang melalui tahap stemming manual belum ditentukan. Semua nilai „Qty‟ untuk kata-kata yang melalui tahap ini diberi nilai null. Contoh isi tabel „polabenda‟ sebelum diberikan nilai default terhadap pola dapat dilihat pada Tabel 6. 15 Tabel 6 Contoh isi tabel „polabenda‟ sebelum field „Pola‟ diberikan nilai default Awalan KategoriKD Akhiran Qty Pola pe a null 1 7 pe a null 2 8 Penentuan nilai default dilakukan terhadap tabel „polabenda‟ di dalam database „Kamus‟. Penentuan tersebut dilakukan dengan melihat persentase jumlah kata pada tabel „entry‟ untuk masing-masing imbuhan. Nilai default ditentukan dengan terlebih dahulu melihat jumlah kata terbanyak untuk setiap imbuhan. Misalnya pada pola kata pe-KS, jumlah kata terbanyak di dalam tabel „entry‟ antara pola word graph pe-KS 1 dan pe-KS 2 adalah kata dengan pola pe-KS 1, maka sistem akan secara otomatis memasukkan setiap kata yang tidak terdaftar di dalam tabel „entry‟ ke dalam pola pe-KS 1 jika kata tersebut memiliki imbuhan „pe‟ dan jenis kata dasarnya adalah kata sifat. Penentuan nilai default terhadap pola word graph kata benda diberikan pada tabel „polabenda‟ yang dapat dilihat pada Tabel 7. Tabel 7 Contoh isi tabel „polabenda‟ setelah field „Pola‟ diberikan nilai default Awalan KategoriKD Akhiran Qty Pola pe a null 1 7 pe a null 2 8 pe a null null 8 2.3 Customer Test Drives Mock-up Pengujian pada iterasi kedua dilakukan dengan memberikan input berupa kata benda yang tidak terdaftar di dalam tabel „entry‟. Contoh input yang diberikan pengguna adalah „pemecahan‟. Sistem tidak dapat menemukan bentuk word graph untuk kata „pemecahan‟ pada iterasi pertama karena belum diberikan nilai default terhadap pola pada tabel „polabenda‟. Setelah dilakukan perbaikan, sistem sekarang sudah dapat menentukan bentuk word graph untuk kata „pemecahan‟. Output yang dihasilkan oleh sistem jika contoh input yang diberikan adalah „pemecahan‟ dapat dilihat pada Gambar 16. Gambar 16 Output yang dihasilkan dari input kata „pemecahan‟. Perbaikan sistem dengan memberikan nilai default terhadap pola tidak sepenuhnya dapat menghasilkan word graph yang sesuai. Kesalahan terjadi pada proses penentuan pola word graph untuk kata benda „penyemangat‟ dan „penjaring‟. Kata „penyemangat‟ tidak terdaftar di dalam tabel „entry‟ sehingga harus melalui proses stemming manual. Makna dari kata „penyemangat‟ seharusnya adalah “orang atau sesuatu yang berhubungan dengan semangat” sehingga seharusnya kata tersebut masuk ke Pola 6, yaitu pola pe-KB 2. Namun, sistem memasukkan kata „penyemangat‟ ke dalam Pola 5, yaitu pola pe-KB 1 yang bermakna “orang yang berhubungan dengan KB”. Kesalahan tersebut terjadi akibat pemberian nilai default terhadap pola pe-KS. Sistem secara otomatis akan memasukkan setiap kata dengan struktur pe-KS dan tidak terdaftar di dalam tabel „entry‟ ke dalam pola 5. Tingkat akurasi yang diperoleh dari 176 kata uji yang digunakan adalah sebesar 97,16%. Akurasi = 172 x 100% = 97,16% 176 Selain kesalahan penentuan pola pada kata „penyemangat‟ dan „penjaring‟, sistem juga melakukan kesalahan pembangkitan pola pada kata „pemerah‟ dan „pengemas‟. Kesalahan pembangkitan pola word graph kata benda terjadi karena kata dasar yang dihasilkan dari proses stemming lebih dari satu kata dasar. Jika hasil dari proses stemming menghasilkan lebih dari satu kata, kemungkinan kata dasar yang terpilih adalah yang pertama kali dikenali polanya walaupun pilihan tersebut belum tentu benar. Kata „pemerah‟ yang terdaftar di dalam tabel „entry‟ memiliki dua kata dasar, yaitu „merah‟ dan „perah‟. Posisi kata „merah‟ di dalam tabel „entry‟ berada di atas kata „perah‟. Oleh karena itu, sistem akan mengambil kata dasar „merah‟ sebagai kata dasar dari kata „pemerah‟. Hal ini