Pencarian Kata dan Sinonim Kata Dalam Dokumen Dengan Menggunakan Algoritma Two Sliding Windows

(1)

DENGAN MENGGUNAKAN ALGORITMA TWO SLIDING WINDOWS

SKRIPSI

FRANS OCTAVIANUS

091402089

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(2)

DENGAN MENGGUNAKAN ALGORITMA TWO SLIDING WINDOWS

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

FRANS OCTAVIANUS 091402089

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2015


(3)

Judul : PENCARIAN KATA DAN SINONIM KATA DALAM DOKUMEN DENGAN MENGGUNAKAN ALGORITMA TWO SLIDING WINDOWS

Kategori : SKRIPSI

Nama : FRANS OCTAVIANUS

Nomor Induk Mahasiswa : 091402089

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

Diluluskan di

Medan, 22 Oktober 2015 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dedy Arisandi, ST.M.Kom Dr. Erna Budhiarti Nababan, M.IT NIP. 19790831 200912 1 002 NIP. -

Diketahui/ Disetujui Oleh

Program Studi Teknologi Informasi Ketua,

Muhammad Anggia Muchtar, ST.,MM.IT NIP. 19800110 200801 1 010


(4)

PENCARIAN KATA DAN SINONIM KATA DALAM DOKUMEN DENGAN MENGGUNAKAN ALGORITMA TWO SLIDING WINDOWS

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 22 Oktober 2015

FRANS OCTAVIANUS 091402089


(5)

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa dan Maha Penyayang, dengan segala rahmat dan karuniaNya penulisan tugas akhir ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Selama penyelesaian tugas akhir ini, banyak bantuan dan kerja sama serta doa dan dukungan dari berbagai pihak, oleh karena itu penulis sampaikan ucapan terima kasih sedalam - dalamnya dan penghargaan kepada :

1. Kedua orang tua dan sanak saudara penulis yang telah memberikan dukungan dan motivasi baik materil dan spiritual selama penulis mengikuti pendidikan hingga selesainya tugas akhir ini.

2. Ibu Dr. Erna Budhiarti Nababan, M.IT dan Bapak Dedy Arisandi, S.T., M.Kom selaku pembimbing yang telah banyak meluangkan waktu dan pikiran beliau, memotivasi, memberikan arahan, kritik dan saran kepada penulis.

3. Bapak Romi Fadillah Rahmat, B.Comp.Sc, M.Sc dan Ibu Amalia, ST.,M.T yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen di Fakultas Ilmu Komputer dan Teknologi Informasi.

5. Kepada Bang Manap, Kakak Umi, dan Ibu Mega dan semua staff dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi yang tidak dapat saya sebutkan satu-persatu.

6. Kepada sahabat seperjuangan dan rekan – rekan mahasiswa Program Studi Teknologi Informasi USU yang telah memberikan dukungan dan semangat untuk saya.

Semoga segala kebaikan dan bantuannya dibalas oleh Tuhan Yang Maha Esa dan semoga tugas akhir ini dapat bermanfaat bagi semua pihak yang memerlukannya.


(6)

ABSTRAK

Saat ini informasi mudah didapatkan terutama informasi yang tersimpan di dalam dokumen. Di dalam dokumen terutama artikel sering dijumpai kata-kata yang masih jarang digunakan seperti beranda, telaga, bilik, misai, dan jeram. Kata-kata tersebut mengandung persamaan kata dengan kata-kata umum yang sudah sering digunakan dalam pembicaraan sehari-hari. Akan tetapi, kata kunci pencarian yang umumnya dicari oleh user, dominan berupa kata-kata umum yang sering dijumpai. Oleh karena itu, diperlukan suatu metode untuk mempermudah pengguna dalam mencari informasi yang berhubungan dengan kata dan sinonim kata pada dokumen. Peneliti menggunakan metode stemming yaitu Porter Stemming yang digunakan untuk mengolah kata-kata berimbuhan menjadi kata dasar. Selanjutnya diproses lebih lanjut untuk dicari kecocokan persamaan makna kata yang sesuai. Kata dan sinonim kata yang telah diproses akan dicari menggunakan algoritma Two Sliding Windows sebagai metode pencarian teks pada dokumen. Pencarian menjadi lebih cepat karena TSW melakukan pengecekan dengan menggunakan dua sisi (windows) yaitu sisi kiri dan kanan secara paralel. Hasil pengujian menunjukkan metode yang dipakai bisa menyelesaikan permasalahan mencari sinonim kata baik kata dasar maupun kata majemuk. Tingkat keakuratan tidak mencapai 100% karena adanya perbedaan kata imbuhan baik serapan maupun sisipan yang menimbulkan makna berbeda.

Kata kunci : Sinonim kata, Pencocokan pola, Two Sliding Windows (TSW), Porter Stemming.


(7)

Words and Synonym Searching in Documents using Two Sliding Windows Algorithm

ABSTRACT

Nowadays information is obtained easily, especially information stored in the document. In the document, especially the article often found words that are rarely used such as porches, pond, walk, whiskers, and rafting. These words contain a synonym with common words that have been frequently used in everyday conversation. However, the search keywords are generally searched by the user, the form of common words that are often encountered. Therefore, a method is needed in order to facilitate the user while searching the information in the document. the application uses stemming method namely Porter Stemming used to process from much affix words into root words. Then processed further to look for the meaning of the equation match several appropriate word. Word and synonym that has been processed will be searched by Two Sliding Windows algorithm as a method of text searching in the document. Search becomes faster because TSW check by using double-sided (windows) that the left and right being searched in parallel. The test results showed that the method can be used to solve the problems of searching for a synonym both basic words and compound words. The accuracy does not reach 100% because of different affixes; “serapan” as well as

“sisipan” which giving several different meanings.

Keyword : Synonym, Pattern Matching, Two Sliding Windows (TSW), Porter Stemming.


(8)

DAFTAR ISI

ABSTRAK i

ABSTRACT ii

DAFTAR ISI iii

DAFTAR TABEL iv

DAFTAR GAMBAR v

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 1

1.4 Tujuan Penelitian 2

1.3 Batasan Masalah 2

1.5 Manfaat Penelitian 2

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI 6

2.1 Sinonim Kata 6

2.2 Stemming 8

2.3 Stopword 13

2.4 Pattern Matching 14

2.5 Penelitian Terdahulu 16

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 17

3.1 Data Yang Digunakan 17

3.2 Arsitektur Umum 17

3.3 Analisis Data 18

3.4 Rancangan Antar Muka 33

BAB 4 IMPLEMENTASI DAN PENGUJIAN 37

4.1 Implementasi Sistem 37

4.2 Tahapan Operasi Aplikasi 40


(9)

BAB 5 KESIMPULAN DAN SARAN 49

5.1 Kesimpulan 49

5.2 Saran 50


(10)

DAFTAR TABEL

Hal.

Tabel 2.1Aturan untuk Infection Particle 11

Tabel 2.2 Aturanuntuk Possesive Pronoun 12

Tabel 2.3 Aturan untuk First Order Derivational Prefix 12 Tabel 2.4 Aturan untuk Second Order Derivational Prefix 13

Tabel 2.5 Aturan untuk Derivation Suffix 13

Tabel 2.6 Penelitian Terdahulu 18 Tabel 4.1 Pengujian terhadap variasi jumlah kata pada kalimat baku 44

Tabel 4.2 Hasil pencocokan dengan kata kunci 45

“pelaku,pasar,jibaku,reda,polemic,krisis,ekonomi”

Tabel 4.3 Hasil pencocokan dengan sinonim kata kunci 47 “aktor,nekat,surut,reda,perdebatan,berhenti,darurat,krisis”


(11)

DAFTAR GAMBAR

Hal.

Gambar 2.1 Desain Porter Stemmer 10

Gambar 2.2 Bad character shift a dan b (nextl) 15 Gambar 2.3 Bad character shift a dan b (nextr) 15

Gambar 3.1 Arsitektur Umum Sistem 18

Gambar 3.2 Proses Stopwords 19

Gambar 3.3 Algoritma Porter dalam proses stemming 21

Gambar 3.4 Proses Pencarian Teks 24

Gambar 3.5 Ilustrasi posisi penentuan letak pada bagian kiri teks 25 Gambar 3.6 Aturan Operasi Hitung Nilai shift kiri 26 Gambar 3.7 Ilustrasi posisi penentuan letak pada bagian kanan teks 27 Gambar 3.8 Aturan Operasi Hitung Nilai shift kanan 28 Gambar 3.9 Pre-processing bad character shift algoritma Berry-Ravindran 29 Gambar 3.10 Algoritma Two Sliding Windows (TSW) 33

Gambar 3.11 Perancangan Sistem 34

Gambar 4.1 Tampilan halaman input 38

Gambar 4.2 Tampilan database file 39

Gambar 4.3 Tampilan halaman kamus kata 39

Gambar 4.4 Tampilan saat menuliskan kata-kata pada textbox 40 Gambar 4.5 Tampilan hasil pencarian sinonim kata pada dokumen 41

Gambar 4.6 Tampilan saat memilih berkas 42

Gambar 4.7 Tampilan hasil penyimpanan berkas 43

Gambar 4.8 Tampilan saat menambah kata dan sinonim kata 43 Gambar 4.9 Hasil pengujian dengan kata kunci “para pelaku pasar berjibaku 45


(12)

ABSTRAK

Saat ini informasi mudah didapatkan terutama informasi yang tersimpan di dalam dokumen. Di dalam dokumen terutama artikel sering dijumpai kata-kata yang masih jarang digunakan seperti beranda, telaga, bilik, misai, dan jeram. Kata-kata tersebut mengandung persamaan kata dengan kata-kata umum yang sudah sering digunakan dalam pembicaraan sehari-hari. Akan tetapi, kata kunci pencarian yang umumnya dicari oleh user, dominan berupa kata-kata umum yang sering dijumpai. Oleh karena itu, diperlukan suatu metode untuk mempermudah pengguna dalam mencari informasi yang berhubungan dengan kata dan sinonim kata pada dokumen. Peneliti menggunakan metode stemming yaitu Porter Stemming yang digunakan untuk mengolah kata-kata berimbuhan menjadi kata dasar. Selanjutnya diproses lebih lanjut untuk dicari kecocokan persamaan makna kata yang sesuai. Kata dan sinonim kata yang telah diproses akan dicari menggunakan algoritma Two Sliding Windows sebagai metode pencarian teks pada dokumen. Pencarian menjadi lebih cepat karena TSW melakukan pengecekan dengan menggunakan dua sisi (windows) yaitu sisi kiri dan kanan secara paralel. Hasil pengujian menunjukkan metode yang dipakai bisa menyelesaikan permasalahan mencari sinonim kata baik kata dasar maupun kata majemuk. Tingkat keakuratan tidak mencapai 100% karena adanya perbedaan kata imbuhan baik serapan maupun sisipan yang menimbulkan makna berbeda.

Kata kunci : Sinonim kata, Pencocokan pola, Two Sliding Windows (TSW), Porter Stemming.


(13)

Words and Synonym Searching in Documents using Two Sliding Windows Algorithm

ABSTRACT

Nowadays information is obtained easily, especially information stored in the document. In the document, especially the article often found words that are rarely used such as porches, pond, walk, whiskers, and rafting. These words contain a synonym with common words that have been frequently used in everyday conversation. However, the search keywords are generally searched by the user, the form of common words that are often encountered. Therefore, a method is needed in order to facilitate the user while searching the information in the document. the application uses stemming method namely Porter Stemming used to process from much affix words into root words. Then processed further to look for the meaning of the equation match several appropriate word. Word and synonym that has been processed will be searched by Two Sliding Windows algorithm as a method of text searching in the document. Search becomes faster because TSW check by using double-sided (windows) that the left and right being searched in parallel. The test results showed that the method can be used to solve the problems of searching for a synonym both basic words and compound words. The accuracy does not reach 100% because of different affixes; “serapan” as well as

“sisipan” which giving several different meanings.

Keyword : Synonym, Pattern Matching, Two Sliding Windows (TSW), Porter Stemming.


(14)

BAB 1

PENDAHULUAN

1.1.Latar Belakang

Saat ini informasi sangat mudah didapatkan terutama melalui media internet. Dengan banyaknya informasi yang terkumpul atau tersimpan dalam jumlah yang banyak, user akan kesulitan mendapatkan informasi berbentuk dokumen yang diinginkan.

Semakin bertambahnya dokumen, penggunaan sistem pencarian pola teks ataupun informasi yang terdapat di dalamnya menjadi penting. Dengan adanya sistem pencarian teks banyak menghemat waktu pengerjaan untuk menemukan informasi yang terdapat dalam dokumen.

Sistem tersebut menerima kata kunci (keyword) yang ditulis oleh user dan melakukan pencocokan dengan database. Selama ada penyimpanan dan pencarian kembali dokumen, sistem dapat bekerja dengan baik.

Tiap dokumen teks bisa diolah untuk menemukan informasi baru. Di dalam dokumen tersebut terkadang terdapat kata penghubung yang saling berhubungan dan menimbulkan makna yang berbeda, sedangkan dalam bahasa seringkali terdapat sinonim kata yang sama maknanya dengan kata kunci pencarian.

Dalam beberapa dokumen seperti artikel bahasa terkadang memiliki kata-kata yang masi jarang digunakan atau dijumpai seperti beranda, telaga, bilik, misai, dan jeram. Kata-kata tersebut mengandung persamaan kata dengan kata-kata umum yang sudah sering digunakan dalam pembicaraan sehari-hari.Akan tetapi, kata kunci pencarian yang umumnya dicari oleh user, dominan berupa kata-kata umum yang sering dijumpai. Beberapa penelitian telah dilakukan berhubung dengan sistem pencarian kata antara lain Februariyanti, et al membuat prototipe mesin pencari dokumen teks, algoritma yang diuji menggunakan algoritma indeks inverted untuk proses indeks kata


(15)

(term) dan menghitung cosine similaritas untuk menghitung kesamaan kata dalam dokumen. (Februariyanti, et al. 2010). Hasil uji menunjukan bahwa algoritma dapat digunakan untuk menghitung tingkat similaritas (kesamaan) dokumen berdasarkan kata kunci yang diinputkan oleh pengguna tetapi tidak berdasarkan persamaan makna kata yang sering muncul di dalam dokumen .

Bari, et al (2010) menerapkan pencarian kata dengan vector space model untuk melakukan perhitungan kemiripan data berdasarkan kata yang diinput. Kemiripan data dipertimbangkan berdasarkan tingkat kemunculan data tersebut.

Oleh karena itu, apabila dihadapkan dengan jumlah dokumen yang banyak dan kemunculan kata baku yang masih jarang dijumpai, diperlukan adanya suatu metode untuk menyelesaikan permasalahan tersebut. Metode yang diajukan didalam penelitian ini adalah metode stemming yang merupakan salah satu teknik text mining untuk mendapatkan kata dasar dan diakhiri dengan eliminasi kata-kata umun yang muncul dalam jumlah besar dan dianggap tidak memiliki makna (stopword).

Dalam implementasinya, metode ini akan menggunakan algoritma pattern matching sebagai algoritma pencarian kata dalam dokumen. Salah satu metode yang digunakan dalam pencocokan pola (pattern matching) yaitu algoritma two sliding windows (TSW) yang mempunyai keunggulan dalam fase pencarian (searching phase).

Berdasarkan penelitian yang dilakukan oleh Hudaib et al, algoritma TSW mempunyai performasi yang lebih unggul khususnya jika pola tersebut berada diakhir teks. Hasil pengujian menunjukkan percobaan dan perbandingan dengan algoritma lainnya seperti algoritma Knuth-Morris-Pratt dan Boyer-Moore lebih cepat dan membutuhkan usaha yang lebih sedikit. Pada mulanya, algoritma ini memulai pre-processing phase untuk membagi string menjadi dua bagian (two windows) sebanyak n/2 ukuran string. Kemudian, dilakukan scanning pada fase pencarian dari kiri dan kanan secara paralel dan bersamaan( Hudaib et al, 2008 ).

Dengan demikian, dalam skripsi ini penulis akan menggunakan algoritma two sliding windows pada pencarian sinonim kata dalam dokumen.


(16)

1.2.Rumusan Masalah

Terdapat kesulitan dalam memahami kata dalam bahasa Indonesia yang jarang digunakan dalam pembicaraan sehari-hari misalnya kata baku yang terdapat di dalam artikel atau jurnal. Oleh karena itu, dibutuhkan suatu pendekatan untuk mengatasi permasalahan persamaan kata dalam dokumen.

1.3.Tujuan Penelitian

Penelitian ini bertujuan untuk mencari makna kata dan sinonim kata dalam dokumen dengan menggunakan algoritma two sliding windows.

1.4.Batasan Masalah

Agar penelitian dapat berjalan dengan baik dan terarah, maka penelitian ini akan menggunakan batasan sebagai berikut:

1. Dokumen yang diproses berupa artikel atau jurnal ilmiah. 2. Pencarian kata menggunakan bahasa Indonesia.

3. Sinonim kata yang dipakai hanya dibatasi pada kata benda dan kata kerja. 4. Referensi kata dasar dari KBBI ( Kamus Besar Bahasa Indonesia ). 5. Referensi sinonim kata dari thesaurus Indonesia.

1.5.Manfaat Penelitian

Hasil dari penelitian ini diharapkan dapat memberikan manfaat, yaitu :

1. Menambah referensi penelitian mengenai berbagai sistem yang menyangkut pencarian kata atau informasi.

2. Memberikan pendekatan hasil yang lebih optimal dengan penerapan algoritma two sliding windows.

3. Menambah pengetahuan mengenai penggunaan algoritma TSW yang lebih cepat dalam menghadapi jumlah data yang kompleks.

4. Menjadi salah satu alternatif algoritma pencarian bagi sistem temu daya informasi.


(17)

1.6.Metodologi Penelitian

Penelitian akan dilakukan dengan tahapan-tahapan metodologi penelitian sebagai berikut :

1. Studi Literatur

Pada tahap ini dilakukan studi kepustakaan dengan melakukan pengumpulan referensi melalui berbagai macam buku, jurnal, artikel, dan sumber referensi lainnya yang berkaitan dengan penelitian ini.

2. Pengumpulan Data

Pada tahap ini dilakukan pengumpulan data dan informasi berupa kamus data dan sejumlah jurnal ilmiah yang akan diperlukan dalam penelitian ini.

3. Analisis dan Perancangan

Pada tahap ini dilakukan analisis terhadap studi literatur untuk mendapatkan pendekatan kata dalam dokumen. Setelah itu, dilakukan perancangan arsitektur sistem yang akan dibangun berdasarkan analisis yang telah dibuat sebelumnya. 4. Implementasi

Pata tahap ini, perancangan sistem yang telah dibuat akan diimplementasikan ke dalam suatu aplikasi yang dibuat dengan menggunakan bahasa pemrograman PHP dan database MySQL.

5. Pengujian

Pada tahap ini dilakukan pengujian aplikasi yang telah dibuat untuk mengetahui apakah aplikasi tersebut sudah berjalan dengan benar dan sesuai dengan perancangan yang telah dilakukan sebelumnya.

6. Penyusunan Laporan

Pada tahap ini diakukan penyusunan dokumentasi dari hasil analisis dan implementasi dari aplikasi yang telah dibuat.

1.7.Sistematika Penulisan


(18)

Bab 1: Pendahuluan

Bab ini akan menjelaskan tentang latar belakang penelitian, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

Bab 2: Landasan Teori

Bab ini berisi tentang teori dan penelitian terdahulu yang digunakan untuk menyelesaikan permasalahan yang akan dibahas dalam penelitian ini.

Bab 3: Analisa dan Perancangan Sistem

Pada bab ini penulis menjelaskan arsitektur sistem yang akan dibangun dan pemrosesan stemming dengan menggunakan algoritma Porter serta pencarian teks dibantu dengan algoritma two sliding windows.

Bab 4: Implementasi dan Pengujian Sistem

Pada bab ini dibahas implementasi dari metode yang digunakan serta pengujian hasil penelitian dengan kriteria yang telah ditentukan.

Bab 5: Kesimpulan dan Saran

Bab ini memuat kesimpulan dari penelitian yang dilakukan serta saran yang diharapkan dapat bermanfaat untuk pengembangan penelitian selanjutnya.


(19)

BAB 2

LANDASAN TEORI

2.1 Sinonim kata

2.1.1. Definisi Sinonim

Menurut Chaer (2009), “Relasi makna adalah hubungan kemaknaan atau relasi semantik antara sebuah kata atau satuan bahasa lainnya dengan akta atau satuan bahasa

lainnya lagi”. Hubungan relasi kemaknaan ini menyangkut hal misalnya sinonim.

Secara etimologi, kata sinonimi atau disingkat sinonim berasal dari bahasa Yunani kuno, yaitu onoma yang berarti ‘nama’, dan syn yang berarti ‘dengan’. Untuk mendefinisikan sinonim, ada tiga batasan yang dapat dikemukakan. Batasan atau definisi itu ialah: (i) kata-kata dengan acuan ekstra linguistik yang sama, misalnya kata mati dan mampus; (ii) kata-kata yang mengandung makna yang sama, misalnya kata memberitahukan dan kata menyampaikan; dan (iii) kata-kata yang dapat disubtitusikan

dalam konteks yang sama misalnya “ kami berusaha agar pembangunan berjalan terus.

“, “ kami berupaya agar pembangunan berjalan terus.” Kata berupaya bersinonim dengan kata berusaha (Pateda, 2010).

2.1.2. Kemunculan Sinonim

Menurut Aminuddin (2008), ada lima cara yang dapat digunakan dalam menentukan kemungkinan adanya sinonim. Kelima cara yang dimaksud adalah:

1. Seperangkat sinonim itu mungkin saja merupakan kata-kata yang digunakan dalam dialek yang berbeda-beda. Kata pena dan rika dalam bahasa Jawa dialek Surabaya memiliki terjemahan kedalam bahasa Indonesia yang persis sama dengan koen atau kowe dalam bahasa Jawa dialek Malang. Akan tetapi, apabila dalam setiap dialek masing-masing


(20)

2. kata tersebut memiliki makna dasar berbeda-beda, kata-kata tersebut tidak dapat ditentukan sebagai sinonim.

3. Suatu kata yang semula dianggap memiliki kemiripan atau kesamaan makna, setelah berada dalam berbagai pemakaian ada kemungkinan membuahkan makna yang berbeda-beda. Kata bisa dan dapat, misalnya, meskipun secara leksikal merupakan sinonim, dalam konteks pemakaian

“Saya nanti bisa datang” dan “Saya nanti dapat datang” tetap pula dapat dianggap sinonim. Sewaktu berada dalam konteks pemakaian “Bisa ular itu berbahaya”, kedua kata tersebut tidak dapat lagi disebut sinonim.

4. Suatu kata, apabila ditinjau berdasarkan makna kognitif, makna emotif, maupun makna evaluatif, mungkin aja akhirnya menunjukkan adaya karakteristik tersendiri meskipun dalam pemakaian sehari-hari semula dianggap memiliki kesinoniman dengan kata lainnya. Bentuk demikian misalnya dapat ditemukan dalam pasangan kata ilmu dan pengetahuan, mengamati dan meneliti serta antara mengusap dengan membelai. Apabila hal itu terjadi, maka kata-kata yang semula dianggap sinonim itu harus dianggap sebagai kata yang berdiri sendiri-sendiri.

5. Suatu kata yang semula memiliki kolokasi sangat ketat, misalnya antara kopi dengan minuman maupun pohon dengan batang, seringkali dipakai secara tumpang tindih karena masing-masing dianggap memiliki kesinoniman. Hal itu tentu saja tidak benar karena masing-masing kata tersebut jelas masih memiliki makna sendiri-sendiri. Sebab itu, pemakaian yang tumpang tindih dapat mengakibatkan adanya salah pengertian. 6. Kekurangtahuan terhadap nilai makna suatu kata maupun kelompok kata,

seringkali bentuk kebahasaan yang berbeda-beda begitu saja dianggap sinonim, misalnya antara bentuk kembali ke pangkuan ilahi dengan meninggalkan dunia kehidupan, antara merencanakan dengan menginginkan, serta antara gambaran dengan bayangan.

2.1.3. Jenis - jenis Sinonim

Menurut pendapat Muniah et al. (2000) dalam bahasa Indonesia terdapat lima bentuk sinonim berikut ini.


(21)

1. Kata dasar bersinonim dengan kata dasar. cantik : anggun, ayu, elok

hidup : jiwa, nyawa, tumbuh

2. Kata dasar tunggal bersinonim dengan kata majemuk Gelandangan : tunawisma

Pembantu : pramuwisma

3. Kata tunggal bersinonim dengan frasa asmara : cinta berahi, cinta kasih muhibah : cinta kasih, rasa sahabat 4. Kata majemuk bersinonim dengan kata tunggal

awan hitam : mendung sakit hati : kecewa 5. Frase bersinonim dengan frase

tinggi hati : besar kepala merah jambu : merah muda

2.2. Stemming

2.2.1. Definisi Stemming

Stemming merupakan suatu proses yang terdapat dalam sistem IR yang mentransformasi kata-kata yang terdapat dalam suatu dokumen ke kata-kata akarnya (root word) dengan menggunakan aturan-aturan tertentu. Sebagai contoh, kata bersama, kebersamaan, menyamai, akan distem ke root word-nya yaitu “sama”. Proses stemming pada teks berbahasa Indonesia berbeda dengan stemming pada teks berbahasa Inggris. Pada teks berbahasa Inggris, proses yang diperlukan hanya proses menghilangkan sufiks. Sedangkan pada teks berbahasa Indonesia, selain sufiks, prefiks, dan konfiks juga dihilangkan.


(22)

2.2.2. Metode Stemming

Metode stemming memerlukan input berupa term yang terdapat dalam dokumen. Sedangkan outputnya berupa stem. Ada tiga jenis metode stemming, antara lain : 1. Successor Variety (SV) : lebih mengutamakan penyusunan huruf dalam kata

dibandingkan dengan pertimbangan atas fonem. Contoh untuk kata-kata : corpus, able, axle, accident, ape, about menghasilkan SV untuk kata apple:

a. Karena huruf pertama dari kata “ apple” adalah “a”, maka kumpulan kata yang ada substring“a” diikuti “b”, “x”, “c”, “p” disebut SV dari “a” sehingga “a” memiliki 4 SV.

b. Karena dua huruf pertama dari kata “apple” adalah “ap”, maka kumpulan kata yang ada substring “ap” hanya diikuti “e” disebut SV dari “ap” sehingga “ap” memiliki 1 SV.

2. N-Gram Conflation : ide dasarnya adalah pengelompokan kata-kata secara bersama berdasarkan karakter-karakter (substring) yang teridentifikasi sepanjang N karakter.

3. Affix Removal (penghilangan imbuhan) : membuang prefix (awalan) dan suffix (akhiran) dari term menjadi suatu stem. Yang paling sering digunakan adalah algoritma Porter Stemmer karena modelnya sederhana dan efisien.

a. Jika suatu kata diakhiri dengan “ies” tetapi bukan “eies” atau “aies”, maka “ies”

di-replace dengan “y”

b. Jika suatu kata diakhiri dengan “es” tetapi bukan “aes” atau “ees” atau “oes”, maka “es” di-replace dengan “e”

c. Jika suatu kata diakhiri dengan “s” tetapi bukan “us” atau “ss”, maka “s” di -replace dengan “NULL”


(23)

2.2.3. Porter Stemming

Porter Stemming merupakan salah satu teknik stemming yang umum digunakan. Algoritma Porter adalah cara pencarian root word (kata dasar) yang dilakukan secara stripping imbuhan dan akhiran tanpa memperhatikan sisipin dan tanpa pengecekan kamus kata dasar. Porter Stemmer for Bahasa Indonesia dikembangkan oleh Fadillah Z. Tala pada tahun 2003.

Awal mula Porter Stemmer for Bahasa Indonesia berdasarkan English Porter Stemmer yang dikembangkan oleh W.B. Frakes pada tahun 1992. Karena bahasa Inggris datang dari kelas yang berbeda, beberapa modifikasi telah dilakukan untuk membuat algoritma Porter dapat digunakan sesuai dengan bahasa Indonesia seperti pada gambar 2.1.

word

Remove Particle Remove Possesive Pronoun

Remove 1st Order Prefix

Remove 2nd Order Prefix Remove Suffix

fall A rule if fired

Remove Suffix Remove 2nd Order Prefix

A rule is fired

stem fall

Gambar 2.1. Desain Porter Stemmer (Tala, 2003)

Adapun tahap-tahap algoritma ini adalah : 1. Hapus partikel.

2. Hapus kata ganti kepunyaan. (-ku, -mu, -nya)

3. Hapus awalan pertama. Jika tidak ada, lanjutkan ke langkah 4a, jika ada hapus awalan dan lanjutkan ke langkah 4b.


(24)

b. Hapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai root word. Jika ditemukan maka lanjutkan ke langkah 5b.

5. a. Hapus akhiran. Kemudian kata akhir diasumsikan sebagai root word. b. Hapus awalan kedua. Kemudian kata akhir diasumsikan sebagai root word.

Ada lima kumpulan aturan pada algoritma Porter Bahasa Indonesia. Aturan tersebut dapat dilihat pada table 2.1 sampai table 2.5. Acuan pemotongan partikel pada infleksi kata bahasa Indonesia dapat dilihat pada tabel 2.1, acuan kata ganti milik orang pertama pada tabel 2.2, kumpulan imbuhan awalan bahasa Indoensia pada tabel 2.3 dan tabel 2.4, serta kumpulan akhiran bahasa Indoneisa dapat dilihat pada tabel 2.5.

Tabel 2.1 Aturan untuk InfectionParticle (Tala, 2003)

Akhiran Replacement Additional Condition

Contoh

-lah Null null Pergilah

-kah Null null Mejakah

-tah null null Kursitah

-pun null null makanpun

Tabel 2.2 Aturan untuk InfectionPossesive Pronoun(Tala, 2003)

Akhiran Replacement Additional Condition Contoh

-ku null null Pensilku

-mu null null Punyamu

-nya null null miliknya


(25)

Tabel 2.3 Aturan untuk First Order Derivational Prefix(Tala, 2003)

Awalan Replacement Addtional Condition Contoh

meng- null null Mengambil

meny- S V...* Menyelesaikan

men- null null Mendaki

mem- P V...* Mempunyai

me- null null Melarang

peng- null null Penghijauan

peny- null null Penyiksaan

pen- null null pendaki

pem- P V.... Pemahat

pem- null null Pembantu

di- null null Diberi

ter- null null terlepas

ke- null null kelaparan

Tabel 2.4 Aturan untuk Second Order Derivational Prefix(Tala, 2003)

Awalan Replacement Additional Condition Contoh

ber- null null Bersalah

bel- null Ajar Belajar


(26)

Tabel 2.4 Aturan untuk Second Order Derivational Prefix (lanjutan , Tala, 2003) Akhiran Replacement Addtional Condition Contoh

per- null null Peralihan

pel- null ajar pelajar

pe- null null Pelatih

Tabel 2.5 Aturan untuk Derivation Suffix(Tala, 2003)

Akhiran Replacement Addtional Condition Contoh

-kan null Prefix bukan anggota ( ke, peng ) Salahkan

-an null Prefix bukan anggota ( di, meng, ter ) Makanan

-i null Prefix bukan anggota ( ber, ke, peng ) tandai

2.3. Stopword

2.3.1. Definisi Stopword

Penghilangan kata-kata yang frekuensinya terlalu banyak terdapat dalam dokumen. Frekuensi kata-kata yang terlalu banyak bukan merupakan kata kunci yang tepat. Faktanya sebuah kata yang frekuensi kemunculannya lebih banyak dari dokumen tidak berguna untuk tujuan retrieval. Kata-kata seperti itu dinamakan stopwords dan biasanya tidak dimasukkan ke dalam index terms. Kata depan dan kata penghubung biasanya menjadi kandidat sebagai stopwords.

Berikut ini adalah contoh stopwords dalam bahasa Indonesia : yang, juga, dari, dia, kami, kamu, aku, saya, ini, itu, atau, dan, tersebut, pada, dengan, adalah, yaitu, ke, tak, tidak, di, pada, jika, maka, ada, pun, lain, saja, hanya, namun, seperti, kemudian.


(27)

2.4. Pattern matching

2.4.1. Definisi Pattern Matching

Pattern Matching adalah suatu teknik pencarian string yang berisi teks atau data biner dari sekumpulan karakter berdasarkan pola yang ingin dicari. Berhubung pengenalan pola (pattern recognition), pencocokan biasanya harus mempunyai nilai yang tepat atau sama.

Beberapa algoritma pencocokan pola yang sering digunakan antara lain Knuth-Moris-Pratt algorithm, Boyer-Moore, Rabin-Karp, Two Sliding Windows dan lain sebagainya.

2.4.2. Algoritma Two Sliding Windows (TSW)

Pada umumnya, algoritma TSW mendeteksi teks dari dua sisi secara bersamaan. Algoritma ini membagi teks menjadi dua bagian (windows) dan tiap bagian memiliki panjang sebesar n/2 . Bagian kiri (left window) akan melakukan pemindaian dari kiri ke kanan dan bagian kanan (right window) melakukan pemindaiandari kanan ke kiri. Kemudian kedua windows tersebut bekerja bersamaaan secara paralel. Algoritma ini akan berhenti jika salah satu dari windows telah menemukan pola atau pola tersebut tidak ditemukan di dalam keseluruhan teks. Algoritma TSW mengimplementasikan ide dari algoritma Berry-Ravindran mengenai fungsi bad character shift untuk mendapatkan nilai shift pada saat fase pencarian. Disamping itu, algoritma BR juga digunakan oleh Hussain, et al (2010) untuk menentukan nilai pergeseran dan diterapkan pada algoritma pencarian Bidirectional. Perbedaan utama dari algoritma TSW dan algoritma BR antara lain :

1. TSW menggunakan dua slide sementara algoritma BR hanya menggunakan satu slide untuk melakukan pencarian teks.

2. TSW menggunakan dua array , tiap array merupakan array satu dimensi yang memiliki ukuran sebesar m – 1. Array tersebut digunakan untuk menyimpan nilai shift yang sudah terkalkulasi pada proses algoritma. Disamping itu, algoritma BR menggunakan array dua dimensi untuk menyimpan nilai shift pada pemrosesannya. Menggunakan array satu dimensi mempersingkat waktu pemrosesan dan mengurangi pemakaian memori yang diperlukan untuk menyimpan nilai shift.


(28)

2.4.2.1. Pre-processing Phase

Fase pre-processing menghasilkan dua array berupa nextl dan nextr. Nilai dari nextl dihitung berdasarkan algoritma bad character Berry-Ravindran (BR). Nextl berisi nilai shift yang diperlukan untuk mencari teks pada sisi kiri. Untuk menghitungnya, algoritma ini mempertimbangkan dua karakter a dan b berturut-turut yang didapat sesaat setelah pergeseran window selesai. Nilai indeks dari dua karakter tersebut dari dihitung dari sebelah kiri (m+1) dan (m+2) .

Bad char shiftl a, b = � { − �+ +

� [ − ] = � [�][� + ] =

� [ ] = ℎ ��

}

Gambar 2.2. Bad charactershift a dan b pada nextl (Ravindran et al, 1999)

Sedangkan nilai nextr berisi nilai shift yang diperlukan untuk mencari teks pada sisi kanan dan menyimpan nilai indeks dua karakter tersebut dari teks sebelah kanan ( n-m-1) dan (n-m-2).

shiftr a, b = � {

+

− − − � +

� [ − ] = � [�][� + ] =

� [ ] = ℎ ��

}

Gambar 2.3. Bad character shift a dan b pada nextr (Ravindran et al, 1999)

2.4.2.2. Searching Phase

Dalam fase ini, teks akan dideteksi dari dua arah, kiri ke kanan dan kanan ke kiri. Ketika fase pencarian dimulai dari kiri, bagian kiri ( left window ) akan bergeser satu persatu ke kanan dan bagian kanan ( right window ) akan bergeser ke kiri. Kedua window akan terus bergeser hingga pola yang dicari telah ditemukan atau window mencapai titik yang terletak di pertengahan teks.


(29)

2.5 Penelitian terdahulu

Berbagai penelitian telah dilakukan untuk menyelesaikan pencarian kata maupun persamaannya dengan algoritma pencarian antara lain :

1. Budhi et al. (2006) menggunakan algoritma Porter Stemmer for Bahasa Indonesia, untuk proses Stemmer pada langkah pre-processing yang merubah sebuah teks dalam bahasa Indonesia menjadi bentuk Compact Transaction. Compact Transaction digunakan sebagai masukan untuk proses Keyword-Based Association Analysis, sebuah metode Text Mining yang dikembangkan dari metode Market Basket Analysis, digunakan untuk membentuk rule-rule asosiasi dari data teks. Hasil pengujian terhadap kesalahan proses 'Stem' kata secara otomatis cukup kecil, yaitu 2% sehingga dapat diatasi dengan cepat menggunakan pemeriksaan kembali secara manual terhadap hasil Stemmer.

2. Hudaib et al. (2008) melakukan penelitian untuk menerapkan dan membuat sebuah algoritma pattern matching yang cepat.Algoritma tersebut dinamakan algoritma two sliding windows. Penelitian dilakukan dengan menerapkan ide dari algoritma Berry-Ravindran untuk menentukan nilai pergeseran dan menggunakan dua sisi (window) untuk melakukan scanning karakter. Hasil pengujian menunjukkan bahwa performansi terbaik algoritma TSW apabila kata-kata tersebut berada di akhir sebuah dokumen.

3. Tahitoe & Diana (2010) melakukan penelitian terhadap algoritma Enhanced Confix Stripping Stemmer dan mendapati adanya kesalahan yang dilakukan oleh algoritma tersebut karena ECS Stemmer tidak mengajukan perbaikan terhadap permasalahan overstemming dan understemming. Oleh karena itu, diajukan perbaikan dengan menggunakan metode corpus based stemming. Hasil pengujian menunjukkan kesalahan stemming yang dilakukan oleh ECS Stemmer dapat diperbaiki dan penggunaan data fusion dan metode condorcet dapat mempersingkat waktu yang dibutuhkan untuk pembentukan relevan set dalam proses efektifitas sistem temu kembali informasi.


(30)

4. Firdausiah et al. (2008) mencari sinonim kata berdasarkan pengukuran similaritas semantic berbasis WordNet pada sistem penilaian otomatis jawaban essay menggunakan ontologi moodle. Proses pencarian sinonim menghasilkan beberapa output sinonim berbeda pada level yang berbeda.

5. Putra, Hedryan K.(2013) menerepkan algoritma Karp Rabin dan metode pendekatan sinonim kata untuk mendapatkan tingkat duplikasi dengan tingkat ketelitian tinggi. Akurasi yang dihasilkan cukup tinggi karena pendeteksian dokumen diproses dengan membandingkan kata perkata yang terdapat di dalam dokumen dan membandingkan kata yang memiliki sinonim kata. Penjelasan penelitian sebelumnya dapat dilihat pada tabel 2.6.

Tabel 2.6 Penelitian terdahulu yang berkaitan dengan pencarian sinonim kata

No Judul Penulis Tahun Keterangan

1 Algoritma Porter Stemming for Bahasa Indonesia untuk pre-processing text mining berbasis metode Market Basket Analysis

Budhi et al

2006 Pada penelitian ini, Budhi dkk merubah data teks menjadi bentuk compact transaction yang akan dijasikan sebagai masukan pada metode market basket analysis 2 A Fast Pattern Matching

with Two Sliding Windows

Hudaib et al

2008 Pada penelitian ini, Hudaib dkk menerapkan algoritma pencarian baru menggunakan pre-processing algoritma BR dan deteksi dari dua sisi teks


(31)

Tabel 2.6 Penelitian terdahulu yang berkaitan dengan pencarian sinonim kata (lanjutan)

No Judul Penulis Tahun Keterangan

3 Implementasi modifikasi Enhanced Confix

Stripping Stemmer

Tahitoe & Diana

2010 Pada penelitian ini, Tahitoe dan Diana menggunakan algoritma ECS dan memperbaiki kinerja algoritma tersebut dengan metode corpus based stemming 4 Sistem Penilaian

Otomatis Jawaban Essay menggunakan Ontologi Moodle

Firdausiah et al

2008 Pada penelitian ini, Firdausiah dkk mengukur kemiripan kata dengan metode pendekatan sinonim kata untuk mendapatkan jawaban yang serupa


(32)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas data yang digunakan dan mengimplementasikan algortima pattern matching pada pencarian sinonim kata dalam dokumen.

3.1 Data yang digunakan

Data yang digunakan merujuk Kamus Besar Bahasa Indonesia (KBBI) yang berisi kumpulan kata-kata lengkap bahasa Indonesia dan makna persamaan kata merujuk kepada Thesaurus bahasa Indonesia.

3.2 Arsitektur Umum

Tahapan awal sistem dimulai dengan proses input yang berisi kata-kata yang ingin dicari oleh user. Sistem melakukan pengecekan tiap kata dan melakukan penghapusan kata yang tidak penting atau tepat untuk pencarian kata selanjutnya. Kemudian sistem akan memulai tahapan parsing yang diawali dengan stemming kata, pemisahan struktur kata antara imbuhan dengan kata dasarnya. Pada saat proses stemming berlangsung, sistem mencocokkan inputan user terhadap kata dasar yang sudah disimpan di database; penambahan persamaan kata yang relevan dengan makna kata tersebut baik kata tunggal maupun frasa untuk pencarian selanjutnya; pencarian kata atau sinonim kata yang sesuai dengan dokumen yang ada di database. Hasil berupa nama dan isi dari dokumen yang sesuai dengan sinonim kata yang ingin dicari oleh pengguna.

Adapun arsitektur umum yang menggambarkan tahapan yang digunakan dalam penelitian ini dapat dilihat pada gambar 3.1.


(33)

Input teks

- Memulai Porter Stemming - Penghilangan Stopwords - Pencocokan sinonim kata

Membandingkan kecocokan teks pada dokumen di sisi kiri dan kanan

Menampikan keluaran kata dan persamaan kata yang cocok dengan isi

dokumen

Database kamus

Database dokumen

Menentukan nilai geser sisi kiri (shiftl ) dan sisi kanan ( shiftr )

Two Sliding Windows Berry-Ravindran

Gambar 3.1 Arsitektur Umum Sistem

3.3 Analisis Data

Perincian proses pada gambar 3.1 dijelaskan dengan tahapan sebagai berikut :

1. User mengetikan input kalimat : Perangainya yang degil membuat orang segan untuk berteman dengannya.

Kalimat tersebut di-parsing menjadi [Perangainya] [yang] [degil] [membuat] [orang] [segan] [untuk] [berteman] [dengannya].

2. Proses Stopwords

Kata-kata yang telah dibagi menjadi kumpulan array, yakni arr_kata(), program akan memulai proses penghilangan kata-kata yang tidak relevan atau tidak tepat terutama tanda baca dan kata penghubung (stopwords). Program melakukan pendeteksian kata per kata berdasarkan stopword yang ada di database. Kemudian kata-kata tersebut dihapus berdasarkan kamus kata yang berisi kata-kata “tidak

relevan” ( stopwords ). Penghapusan kata tidak relevan dengan kalimat masukan menjadi :


(34)

[Perangainya][degil][orang][segan][berteman] Kata yang dihapus antara lain, :

[yang][membuat][untuk] [dengannya] Proses penghapusan stopwords dapat dilihat pada Gambar 3.2.

Gambar 3.2 Proses stopwords

3. Proses Stemming

Setelah selesai proses stopword, maka dilanjutkan proses stemming menggunakan algoritma Porter. Pada penelitian ini, algoritma Porter dimodifikasi agar sesuai dengan imbuhan Bahasa Indonesia (Tala, 2003). Aturan ditambahkan untuk memberikan hasil yang maksimal dan mempermudah proses stemming. Berikut adalah aturan yang ditambahkan dalam algoritma Porter.

1. Kata dasar yang dilekati partikel infleksional yang tidak mempunyai imbuhan apapun. Contoh : masalah.

2. Kata dasar yang dilekati partikel berprefiks yang tidak mempunyai imbuhan apapun. Contoh : menikah.

3. Kata dasar yang dilekati kata ganti milik yang tidak mempunyai imbuhan apapun. Contoh : bangku.

4. Kata dasar yang dilekati kata ganti milik berprefiks yang tidak mempunyai imbuhan apapun. Contoh : bersuku.

5. Kata dasar yang dilekati prefix pertama yang tidak mempunyai imbuhan apapun. Contoh : median.

Mulai

Hapus tanda baca;

Explode ( textfile, “spasi” );

For i=1 to jumlah kata

For j =1 to jumlah stopwords If teks[i] == stopword[j] { Hapus teks[i]; } End for

End for

Implode (teks,”spasi”); Akhir


(35)

6. Kata dasar yang dilekati prefix pertama bersufiks yang berarti kata dasar yang memiliki suku kata pertama awalan dan mempunyai akhiran. Contoh : terapan. 7. Kata dasar yang dilekati prefiks kedua yang tidak mempunyai imbuhan apapun .

Contoh : percaya.

8. Kata dasar yang dilekati prefiks kedua bersufiks yang berarti kata dasar yang memiliki suku pertama awalan kedua dan mempunyai akhiran. Contoh: perasaan. 9. Kata dasar yang dilekati sufiks yang tidak mempunyai imbuhan apapun. Contoh:

pantai.

Keseluruhan proses stemming menggunakan algoritma Porter dapat dilihat pada gambar 3.3.

Gambar 3.3 Algoritma Porter dalam proses stemming

Algoritma Porter dimulai dengan langkah-langkah antara lain :

1. Kata yang distemming mula-mula dicari di kamus data, jika ada kata dasar yang sesuai, maka algoritma berhenti, jika tidak ada, maka lanjutkan ke langkah 2. 2. Cek aturan tambahan yang bukan merupakan imbuhan Bahasa Indonesia, jika ada

yang sesuai, maka algoritma berhenti. Jika tidak ada, maka lanjutkan ke langkah 3. 3. Hilangkan partikel (“-lah”, “-kah”,” –tah”,” –pun”).

Mulai

Cek kata dasar;

If kata = kata dasar then return kata;

Else

If kata mengandung partikel then Hapus partikel;

If kata mengandung kata ganti milik then Hapus kata ganti milik;

If kata mengandung kata awalan pertama then Hapus kata awalan pertama;

If kata mengandung kata awalan kedua then Hapus kata awalan kedua;

If kata mengandung akhiran then Hapus akhiran;


(36)

4. Hilangkan kata ganti kepemilikan (“-ku”, “-mu”, “-nya” ).

5. Hilangkan awalan pertama (“meng-“, “meny-“, “men-“, “mem-“, “me-“, “peng-“,

“peny-“, “pen-“, “pem-“, “di-“, “ter-“, “ke-“ ). Jika tidak terdapat awalan pertama pada kata, maka lanjutkan ke langkah 7. Jika ada, maka lanjutkan ke langkah 6. 6. Hilangkan awalan kedua ( “ber-“, “bel-“, “be-“, “per-“, “pel-“, “pe-“ ). Algoritma

akan berhenti jika sebelumnya sudah melalui langkah 7 dan masih tidak menemukan adanya awalan kedua pada kata. Algoritma akan menggangap kata yang dimasukkan sebagai kata dasar.

7. Hilangkan akhiran ( “-kan”, “-an”, “-i” ). Jika tidak terdapat akhiran pada kata, maka lanjutkan ke langkah 6.

Berdasarkan kata yang telah dihapus melalui proses stopwords, maka sistem memulai stemming menggunakan algoritma Porter untuk bahasa Indonesia. Proses yang terjadi sebagai berikut :

 [perangainya] di-stemming, kamus kata tidak mendapati adanya kata dasar yang cocok dengan kata [perangainya] ,maka akan melalui tahapan berikut :

1. Hapus partikel ( -lah, -kah, -tah, -pun ), tidak ada kecocokan partikel dengan kata [perangainya], maka dilanjutkan ke langkah 2.

2. Hapus kata ganti kepunyaan(-ku, -mu, -nya), ada kecocokan kata ganti kepunyaan dengan kata [perangainya], maka dihapus menjadi [perangai]. 3. Hapus awalan pertama (First Order Derivational Prefix ) (meng-, meny-,

men-, me-, peng- ,dll ), tidak ada kecocokan awalan pertama dengan kata [perangai], maka dilanjutkan ke langkah 4.

4. Hapus akhiran (Derivation Suffix) ( -kan, -an, -i ), tidak ada kecocokan akhiran dengan kata [perangai], maka [perangai] sudah menjadi kata dasar.

 [degil] di-stemming, maka kata [degil] akan dikembalikan menjadi kata dasar.

 [orang] di-stemming, maka kata [orang] akan dikembalikan menjadi kata dasar.

 [segan] di-stemming, maka kata [segan] akan dikembalikan menjadi kata dasar.


(37)

 [berteman] di-stemming, kamus kata tidak mendapati adanya kata dasar yang cocok dengan kata [berteman] ,maka akan melalui tahapan berikut :

1. Hapus partikel ( -lah, -kah, -tah, -pun ), tidak ada kecocokan partikel dengan kata [berteman], maka dilanjutkan ke langkah 2.

2. Hapus kata ganti kepunyaan(-ku, -mu, -nya), tidak ada kecocokan kata ganti kepunyaan dengan kata [berteman], maka dilanjutkan ke langkah 3.

3. Hapus awalan pertama (First Order Derivational Prefix ) (meng-, meny-, men-, me-, peng- ,dll ), tidak ada kecocokan awalan pertama dengan kata [berteman], maka dilanjutkan ke langkah 4.

4. Hapus awalan kedua (Second Order Derivational Prefix ) (ber-, bel-, be-, per-, pel-, pe- ), pemenggalan awalan “ber-“ sesuai dengan [berteman], maka dihapus menjadi [teman].

5. Hapus akhiran (Derivation Suffix) ( -kan, -an, -i ), ), tidak ada kecocokan akhiran dengan kata [teman], maka [teman] sudah menjadi kata dasar.

4. Pencocokan Kata dan Sinonim Kata

Menurut Murad,et al(2007), pencarian relevansi kata yang satu dengan kata yang lain tidak memerlukan pencarian sinonim kata karena pencarian dilakukan dengan kemiripan kata yang diubah ke dalam fuzzy set. Pada penelitian ini, pencocokan langsung ditentukan berdasarkan makna kata nya itu sendiri. Kata yang telah di-stem dilanjutkan dengan mencari persamaan kata ( sinonim ) yang ada di dalam kamus sinonim kata. Tiap arr_kata[] (kata hasil stemming) dilakukan scanning dan hasil pencocokan persamaan kata akan dimuat ke dalam array baru,yaitu arr_Snmkata[]. Apabila hasil pencocokan terdapat lebih dari satu makna kata, maka program tetap akan memuat sinonim kata tersebut ke dalam arr_Snmkata[].

Kumpulan kata dasar [perangai][degil][orang][segan][teman] akan dicari persamaan kata pada kamus data yang memiliki makna serupa.

 [perangai] memiliki persamaan makna kata dengan [perilaku], maka dibentuk arr_Snmkata[i]= [perilaku].


(38)

Fase Pre-processing

Fase Pencarian

Algoritma Two Sliding Windows Algoritma Berry-Ravindran

 [degil] memiliki persamaan makna kata dengan [keras kepala], maka dibentuk arr_Snmkata[i+1] = [keras kepala].

 [orang] memiliki persamaan makna kata dengan [manusia], maka dibentuk arr_Snmkata[i+2] = [manusia].

 [segan] memiliki persamaan makna kata dengan [sungkan] dan [malu], maka dibentuk arr_Snmkata[i+3] = [sungkan] dan arr_Snmkata[i+4] = [malu].

 [teman] memiliki persamaan makna kata dengan [sahabat] dan [rekan], maka dibentuk arr_Snmkata[i+5] = [sahabat] dan arr_Snmkata[i+6] = [rekan].

5. Pencarian teks

Pada tahapan pencarian teks digunakan Algoritma Two Sliding Windows (TSW) yang mencakupi dua proses utama yaitu fase pre-processing dan fase pencarian. Pada dasarnya, algoritma TSW melakukan pencarian dari dua sisi ( windows ) yaitu sisi kiri ( left window ) dan sisi kanan( right window ) secara parallel( Hudaib et al, 2008 ). Fase pre-processing menggunakan algoritma Berry-Ravindran untuk menentukan nilai shift yang akan digunakan pada saat fase pencarian. Proses keseluruhan pencarian teks dapat dilihat pada gambar 3.4.

Gambar 3.4 Proses pencarian teks Pengecekan bagian kiri dan

kanan teks START

Kata dan sinonim kata

Get ( shiftl ); Get ( shiftr );

END Menentukan karakter a

dan b

Database dokumen

Ada di database dokumen ?

Ya


(39)

a b

 Fase Pre-Processing

Fase pre-processing menggunakan dua array yaitu nextl dan nextr. Nilai dari kedua array tersebut ditentukan oleh algoritma bad character Berry Ravindran (BR). Nilai dari kedua array tersebut akan dimasukkan ke dalam masing-masing variable shiftl dan shiftr. Kata-kata dasar [perangai] [degil] [orang] [segan] [teman] dan persamaan kata [perilaku] [keras kepala] [manusia] [sungkan] [malu] [sahabat][rekan] melalui proses penentuan nilai kedua shiftsebagai berikut : Variabel shiftl

Langkah – langkah pencarian nilai shiftl dijelaskan sebagai berikut :

1. Apabila pencarian dimulai pertama kalinya, maka nilai variabel shiftl adalah 0. Jika tidak, maka nilai awal shiftl = m+2 dimana m merupakan jumlah pola ( pattern ) yang ingin dicari.

2. Penetapan nilai a dan b yang merupakan dua karakter berurutan di hitung setelah posisi pola, antara lain :

Dimana, P = Pattern ; m = banyak pola yang dicari ; n = nilai tengah dari banyak pola yang dicari.

Pada contoh sebelumnya, berarti :

Kata “perangai” memiliki nilai a = “k” ; b = “a”

Kata “degil” memiliki nilai a = “s” ; b = “a”

Kata “orang” memiliki nilai a = “s” ; b = “a” Kata “segan” memiliki nilai a = “s” ; b = “a” Kata “teman” memiliki nilai a = “s” ; b = “a”

Proses penetapan nilai a dan b dapat dilihat pada gambar 3.5.

p e r a n g a i

b e r d a s a r k a n a n ...

d e g i l

b e r d a s a r k a n a n ...

a = P[m+1] b = P[m+2]

Pattern Text Pattern Text


(40)

shiftl a, b = � { − �+ + � [ − ] = � [�][� + ] = � [ ] = ℎ �� }

o r a n g

b e r d a s a r k a n a n ...

s e g a n

b e r d a s a r k a n a n ...

t e m a n

b e r d a s a r k a n a n ...

Gambar 3.5 Ilustrasi posisi penentuan letak pada bagian kiri teks

3. Lakukan loop yang dimulai dari awal sampai akhir karakter yang sebanyak m-2.

4. Pada saat terjadi looping, algoritma menghitung nilai array nextl yang akan dimasukkan kedalam variabel shiftl. Apabila hasil array nextl lebih dari satu nilai, maka algoritma memilih nilai terkecil dari hasil tersebut. Proses perhitungan nilai shiftl dapat dilihat pada gambar 3.5.

Gambar 3.6 Aturan Operasi Hitung Nilai shift kiri

Berdasarkan contoh sebelumnya, maka :

nilai shiftl(a,b) pada kata “perangai” = (“k”,”a”) = m + 2 = 8 + 2 = 10. nilai shiftl(a,b) pada kata “degil” = (“s”,”a”) = m + 2 = 5 + 2 = 7.

nilai shiftl(a,b) pada kata “orang” = (“s”,”a”) = m + 2 = 5 + 2 = 7.

nilai shiftl(a,b) pada kata “segan” = (“s”,”a”) = m + 2 = 5 + 2 = 7. nilai shiftl(a,b) pada kata “teman“ = (“s”,”a”) = m + 2 = 5 + 2 = 7.

Hal ini berarti bahwa algoritma melakukan penggeseran pada kata “perangai”

sebanyak 7 langkah ke kanan dan kata “degil”, “orang”, “segan”, “teman” sebanyak

7 langkah ke kanan. Penentuan nilai shiftl selanjutnya ditentukan oleh dua karakter berurutan (a,b) pada teks.

Pattern Text Pattern Text Pattern Text


(41)

a b

Variabel shiftr

Langkah – langkah penentuan nilai shiftr dijelaskan sebagai berikut :

1. Apabila pencarian dimulai pertama kalinya, maka nilai variabel shiftl adalah 0. Jika tidak, maka nilai awal shiftl = m+2 dimana m merupakan jumlah pola ( pattern ) yang ingin dicari.

2. Penetapan nilai a dan b seperti pada gambar 3.6 yang merupakan dua karakter berurutan di hitung setelah pola tersebut, antara lain :

Dimana, P = Pattern ; m = banyak pola yang dicari ; n = nilai tengah dari banyak pola yang dicari.

Pada contoh diatas, berarti :

Kata “perangai” memiliki nilai a = “a” ; b = “a” Kata “degil” memiliki nilai a = “g” ; b = “o” Kata “orang” memiliki nilai a = “g” ; b = “o” Kata “segan” memiliki nilai a = “g” ; b = “o” Kata “teman” memiliki nilai a = “g” ; b= “o”

Proses penetapan nilai a dan b dapat dilihat pada gambar 3.7.

a n g a i

b e d a a l g o r i t m a

...

r e p

s e g a n

b e d a a l g o r i t m a

...

d e g i l

b e d a a l g o r i t m a

...

o r a n g

b e d a a l g o r i t m a

... Pattern Text

a = P[n-m-1] b = P[n-m-2]


(42)

shiftr a, b = � {

+

− − − �

+

� [ − ] = � [�][� + ] =

� [ ] = ℎ ��

}

t e m a n

b e d a a l g o r i t m a

...

Gambar 3.7 Ilustrasi posisi penentuan letak pada bagian kanan teks

3. Lakukan loop yang dimulai dari awal sampai akhir karakter sebanyak m-2. 4. Pada saat terjadi looping, algoritma menghitung nilai array nextl yang akan

dimasukkan kedalam variabel shiftl. Apabila hasil array nextl lebih dari satu nilai, maka algoritma memilih nilai terkecil dari hasil tersebut. Proses perhitungan nilai shiftl pada gambar 3.8 sebagai berikut.

Gambar 3.8 Aturan Operasi Hitung Nilai shift kanan

Berdasarkan contoh sebelumnya, maka

nilai shiftr(a,b) pada kata “perangai” = shiftr (“a”,”a”) = m + 2 = 8 + 2 = 10 nilai shiftr(a,b) pada kata “degil” = shiftr (“g”,”o”) = m + 2 = 5 + 2 = 7 nilai shiftr(a,b) pada kata “orang” = shiftr (“g”,”o”) = m + 1 = 5 + 1 = 6 nilai shiftr(a,b) pada kata “segan” = shiftr (“g”,”o”) = m + 2 = 5 + 2 = 7 nilai shiftr(a,b) pada kata “teman” = shiftr (“g”,”o”) = m + 2 = 5 + 2 = 7

Hal ini berarti bahwa algoritma akan melakukan penggeseran kata “orang”

sebanyak 9 karakter ke kiri dan kata”segan” “perangai”, “degil”, “teman”

sebanyak 10 karakter ke kiri. Penentuan nilai shiftr selanjutnya ditentukan oleh dua karakter berurutan (a,b) pada teks. Keseluruhan proses penentuan nilai shift dapat dilihat pada gambar 3.8 sebagai berikut.


(43)

Gambar 3.9 Pseudocode Pre-processing bad character shift Algoritma Berry-Ravindran. Sumber : (Hudaib et al, 2008)

Fase Pencarian

Apabila nilai shiftl dan shiftr sudah didapatkan dari fase pre-processing, maka program akan memulai fase pencarian menggunakan algoritma Two Sliding Windows. Proses pencarian kata yang sesuai dengan dokumen adalah sebagai berikut :

1. Pencocokan string dari sebelah kiri teks dimulai dari posisi akhir string sampai posisi awal string. Jika terjadi kecocokan, maka algoritma akan berhenti. Jika tidak, maka lanjutkan ke langkah 3.

2. Pencocokan string dari sebelah kanan teks dimulai dari posisi awal string sampai posisi akhir string. Jika terjadi kecocokan, maka algoritma akan berhenti. Jika tidak, maka lanjutkan ke langkah 3.

3. Penentuan nilai shift kiri dan kanan dari algoritma BR.

4. Menggeser pattern sesuai nilai shift yang didapat dari langkah 3. Pada bagian kiri akan menggeser ke sebelah kanan dan bagian kanan menggeser ke sebelah kiri.

Seperti contoh sebelumnya,

Kata “perangai” dengan nilai shiftl = 10 ; shiftr = 10.

Begin

shiftl=shiftr=m+2

for (each character i=0 ….. i=m-2)

( Nextl[i] = m-I, nextr[i] = m-((m-2)-i)) if P[m-1] = a { shiftl=1, shiftr=m+1 } else if P[0] = b { shiftl = m+1, shiftr =1 }

else if P[i][i+1] = ab { shiftl=nextl[i], shiftr=nextr[i] } End


(44)

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7

1 2 3 4 5 6 7 Bagian kiri teks

p e r a n

e r d a s a r k a n a n

b

g a i

r

u g e

p e r a n

e r d a s a r k a n a n

b

g a i

r

u g e a h

a h

y ... y ...

Bagian kanan teks

b e d a a l g o r i t m a

p e r a n g a i

r b e d a a l g o r i t m a

p e r a n g a i

e b g n a y ... r e b g n a y ...

Kata “degil” dengan nilai shiftl = 7 ; shiftr = 7.

Bagian kiri teks

d e g i l

e r d a s a r k a n a n

b u g e r a ...

d e g i l

e r d a s a r k a n a n

b u g e r a ...

Bagian kanan teks

r b e d a a l g o r i t m a

d e g i l

e b g n a y ...

r b e d a a l g o r i t m a

d e g i l

e b g n a y ...


(45)

1 2 3 4 5 6 7

1 2 3 4 5 6

1 2 3 4 5 6 7

1 2 3 4 5 6 7 Kata “orang” dengan nilai shiftl = 7 ; shiftr = 6.

Bagian kiri teks

Bagian kanan teks

Kata “segan” dengan nilai shiftl = 7 ; shiftr = 7.

Bagian kiri teks

Bagian kanan teks

o r a n g

e r d a s a r k a n a n

b u g e r a ...

o r a n g

e r d a s a r k a n a n

b u g e r a ...

r b e d a a l g o r i t m a

o r a n g

e b g n a y ...

r b e d a a l g o r i t m a

o r a n g

e b g n a y ...

s e g a n

e r d a s a r k a n a n

b u g e r a ...

s e g a n

e r d a s a r k a n a n

b u g e r a ...

r b e d a a l g o r i t m a

s e g a n

e b g n a y ...

r b e d a a l g o r i t m a

s e g a n

e b g n a y ...


(46)

1 2 3 4 5 6 7

1 2 3 4 5 6 7 Kata “teman” dengan nilai shiftl = 7 ; shiftr = 7.

Bagian kiri teks

t e m a n

e r d a s a r k a n a n

b u g e r a ...

t e m a n

e r d a s a r k a n a n

b u g e r a ...

Bagian kanan teks

5. Kembali ke langkah 1 untuk melakukan pencocokan string dan posisi indeks pencarian yang baru ditentukan dari nilai shift pada proses pre-processing algoritma BR. Pencocokan terusdilakukan hingga pattern berada ditengah teks ( n / 2 ). Apabila masih tidak terdapat kecocokan dengan pattern sampai di tengah teks, maka algoritma memberikan hasil kosong. Proses pencocokan string menggunakan algoritma TSW dapat dilihat pada gambar 3.9 sebagai berikut.

Gambar 3.10 Pseudocode Algoritma Two Sliding Windows (TSW) Sumber : Hudaib et al (2008)

r b e d a a l g o r i t m a

t e m a n

e b g n a y ...

r b e d a a l g o r i t m a

t e m a n

e b g n a y ...

L=m-1 // text index used from left

R=n-(m-1)-1 // text index used from right

Tindex=0; // text index used to control the scanning process


(47)

Gambar 3.10 Pseudocode Algoritma Two Sliding Windows ( lanjutan ) Sumber : Hudaib et al (2008)

3.3 Rancangan Antar Muka 3.3.1 Kebutuhan Perangkat Lunak

Adapun progam ini dibangun dengan bahasa pemrograman HTML pada sisi pengguna dan menggunakan bahasa pemrograman PHP pada sisi server, serta menggunakan MySQL sebagai kamus kata.

3.3.2 Perancangan Sistem

Langkah awal yang dilakukan adalah pemisahan kalimat menjadi kata per kata dan dimasukkan ke dalam masing-masing array. Kemudian sistem menghapus kata-kata yang tidak relevan atau tepat, tanda baca, dan karakter whitespace yang terdapat di dalam array tersebut. Pada saat proses stemming, sistem akan melakukan pengecekan kata dasar yang terdapat dalam kamus kata, apabila ditemukan kecocokan dalam kamus

While (Tindex<= n/2) Begin

l = m-1 // pattern index used at left side r = 0 // pattern index used at right side temp-lindex=temp-rindex=0;

if ( P[m-1] = T[L] ) // search from left L-=1

while ( l >0 and P[l] = T[L] ) { L-=1, l-=1 }

if ( P[0] = T[R] ) // search from right R+=1

while ( r<m and P[r]=T[R] ) { R+=1, r+=1 }

if ( r>m-1 ) { display “match at right” + R-m } if (l<0 ) { display “match at left” + L+l } if (L>R) { display “not found” }

R = temp-lindex; L = temp-rindex;

L+= get(shiftl); // from pre-processing step R-= get(shiftr); // from pre-processing step End


(48)

kata, maka kata tersebut telah menjadi kata dasar dan dilanjuti pada tahap pencocokan persamaan kata. Jika tidak, maka sistem melakukan penghilangan imbuhan awalan dan akhiran hingga didapatkan kata dasar.

Kemudian, sistem mencocokan kata dan persamaan kata yang ada pada kamus sinonim kata. Bila kata tersebut mempunyai persamaan kata, maka persamaan kata ditambahkan dalam query pencarian dokumen. Pencarian dokumen dibagi menjadi dua tahap yaitu fase pre-processing dan fase pencarian. Fase pre-processing menentukan nilai pergeseran (shift) berdasarkan perhitungan nilai bad-character shift algoritma Berry-Ravindran yang akan digunakan oleh algoritma TSW dan fase pencarian menggunakan nilai shift sebelumnya untuk menggeser pencarian teks apabila tidak ditemukan kecocokan kata maupun sinonim kata.

3.3.3 Perancangan Antar Muka Sistem

Perancangan tampilan digunakan untuk memudahkan pengguna dalam pemakaian sistem. Berikut rancangan yang digunakan dalam skripsi ini.

1. Halaman Utama

Pada tampilan halaman utama menunjukkan sisi kiri yang berisi menu utama dan textbox sebagai tempat masukan user. Rancangan halaman utama dapat dilihat pada gambar 3.11.

Gambar 3.11 Rancangan halaman utama Keterangan :


(49)

a. Pada bagian A merupakan bagian menu utama yang berisi “HOME” untuk

menunjukkan halaman utama; “UPLOAD” untuk menunjukkan halaman penyimpanan dokumen baru; “KAMUS” untuk menunjukkan halaman

penambahan kata pada database.

b. Bagian B terdapat textbox yang digunakan untuk memasukkan kata-kata yang

ingin dicari dan tombol “PROSES” untuk melakukan eksekusi program.

c. Bagian C terdapat tiga checkbox yang dapat dipilih sebelum menekan tombol

“PROSES”.

d. Bagian D untuk menampilkan hasil pencarian kata dan sinonim kata pada dokumen.

2. Halaman Upload dokumen

Halaman upload berfungsi untuk menambahkan dokumen baru ke dalam database. Rancangan halaman upload dapat dilihat pada gambar 3.12.


(50)

Keterangan :

a. Pada bagian A terdapat tombol “Browse” untuk memilih dokumen baru yang

akan disimpan. Tombol “Upload” untuk melakukan penyimpanan dokumen.

b. Bagian B sebagai area tampilan isi dokumen setelah disimpan ke dalam dokumen.


(51)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Bab ini membahas pengimplementasian dan pengujian pencarian kata dan persamaan kata terhadap dokumen.

4.1 Implementasi Sistem

Implementasi perancangan sistem menggunakan bahasa pemrograman PHP dan database MySQL. Dalam tahap ini juga dibahas hasil perancangan dan pengujian pada sistem.

4.1.1 Spesifikasi perangkat lunak dan perangkat keras yang digunakan Spesifikasi perangkat lunak yang digunakan dalam skripsi sebagai berikut : 1. Processor Intel® Core™ i3 CPU M370 @ 1.40GHz

2. RAM 2048 MB

3. Kapasitas Hardisk 480 GB

Spesifikasi perangkat lunak yang digunakan dalam skripsi sebagai berikut : 1. Windows 7 Ultimate 32 bit

2. XAMPP 3. Notepad++

4.1.2 Implementasi Perancangan Antar Muka

Implementasi perancangan antarmuka untuk pencarian informasi berdasarkan kata dan persamaan kata dalam dokumen adalah sebagai berikut :


(52)

a. Tampilan halaman pencarian dokumen

Pada halaman utama terdapat textbox dimana user dapat memasukan input yang

ingin dicari dan tombol “Proses” untuk melanjutkan proses pencarian. Sebelum melakukan “Proses”, ada tiga parameter yaitu “stopword”, “stemming”, dan “sinonim” untuk melakukan hasil pengujian dengan parameter yang berbeda. Tampilan halaman pencarian dokumen dapat dilihat pada gambar 4.1.

Gambar 4.1 Tampilan halaman input

b. Tampilan halaman upload

Pada menu upload terdapat tombol untuk menambahkan file yang belum ada di dalam database. Tampilan halaman upload dapat dilihat pada gambar 4.2.


(53)

Gambar 4.2 Tampilan halaman database file

c. Tampilan halaman kamus kata

Halaman ini bertujuan untuk menambahkan kata dan sinonim kata yang tidak terdapat pada kamus kata. Tampilan halaman kamus kata dapat dilihat pada gambar 4.3.


(54)

4.2 Tahapan Operasi Aplikasi

4.2.1 Pencarian dokumen

Pada halaman utama ada tiga buah checkboxyaitu “stemming”, “stopword”, “sinonim”. Masing-masing mempunyai fungsi tersendiri dalam melakukan proses pengolahan kata yang akan dijadikan sebagai keyword pada pencarian dokumen. Sebagai contoh, apabila user memilih “stemming” dan “stopword”, maka sistem hanya menjalankan dua

tahapan proses pengolahan kata dan tidak melaksanakan proses “sinonim”. Dengan kata

lain, hasil pencarian hanya memunculkan dokumen terkait tanpa menelusuri persamaan kata dari input-an kata.

Langkah awal dalam mencari persamaan kata dalam dokumen adalah menuliskan kata-kata yang dicari ke dalam textbox dan mencentang semua checkbox agar hasil pencarian lebih akurat. Tampilan pada saat menuliskan kata-kata pada textbox dapat dilihat pada gambar 4.4.

Gambar 4.4 Tampilan saat menuliskan kata-kata pada textbox

Setelah memasukan input kedalam textbox, program akan menampilkan hasil yang terkait dengan pilihan parameter yang disediakan. Output ditampilkan di bagian bawah input dan program menampilkan hasil setiap langkah pengolahan kata yang telah diinput oleh user serta hasil pencarian berupa judul dokumen dan beberapa baris di dalam isi dokumen yang serupa dengan kata yang diinput oleh user. Hasil pencarian sinonim kata dapat dilihat pada gambar 4.5.


(55)

Gambar 4.5 Tampilan hasil pencarian sinonim kata pada dokumen

4.2.2 Pengolahan database

Bagian ini digunakan untuk menambahkan berkas-berkas yang berupa artikel dan dokumen. Dokumen-dokumen yang dipilih berasal dari Google dan menggunakan ekstensi doc, docx, dan pdf. Pengguna bisa menambahkan berkas dengan memilih menu

“UPLOAD”, maka sistem memunculkan form sederhana yang berisi tombol “Browse” dan tombol “Upload”. Untuk menambahkan berkas baru, pengguna memilih tombol “Browse” yang terlihat pada gambar 4.6.


(56)

Gambar 4.6 Tampilan saat memilih berkas

Setelah berkas dipilih, maka pengguna menekan tombol “Upload” untuk memroses

berkas dan penyimpanan berkas ke dalam database selesai dilakukan. Hasil penambahan berkas dapat dilihat pada textarea yang ditambahkan pada gambar 4.7.


(57)

Gambar 4.7 Tampilan hasil penyimpanan berkas

Pengguna juga dapat menyimpan kata dan sinonim kata apabila pada saat pengolahan

kata tidak terdapat sinonim kata. Pengguna bisa mengakses menu “Kamus” untuk

menambahkan pasangan kata dan sinonim kata yang tidak terdapat dalam database. Pengguna mengisi textbox yang disediakan pada halaman upload kata seperti pada gambar 4.8.


(58)

4.2 Pengujian Sistem

Pada bagian akan ditunjukan hasil pengujian berdasarkan tiga parameter yang disediakan oleh program. Tahapan proses pengujian dimulai dengan memasukkan berbagai jumlah kata sebagai keyword pada hasil pencarian. Jumlah variasi kata dimulai dari 1 kata sampai dengan 5 kata yang berupa kalimat baku yang jarang diucapkan pada

bahasa Indonesia. Hasil pengujian dengan kata kunci “algoritma pencocokan pola kalimat baku” ditampilkan pada tabel 4.1.

Tabel 4.1 Pengujian terhadap variasi jumlah kata pada kalimat baku.

No Jumlah kata Jumlah dokumen hasil pencarian

Jumlah sinonim kata yang terdeteksi

Tingkat Keakuratan

1 1 25 1 95,83%

2 2 52 1 98,07%

3 3 69 1 98,55%

4 4 94 1 98,93%

5 5 232 4 98,27%

Hasil pengujian pada tabel 4.1 menunjukkan semakin banyak kata yang ingin dicari oleh pengguna semakin banyak dokumen yang cocok dengan kata kunci tersebut. Hal ini dipengaruhi oleh pilihan pencarian yang lebih banyak sehingga jumlah dokumen yang terdeteksi juga lebih banyak. Tingkat keakuratan diukur dari rumus umum matematika antara lain :

% � = � ℎ � � � × %

Hasil pengujian menunjukkan isi dokumen yang sesuai dengan kata kunci tidak mencapai 100% karena adanya perbedaan kata imbuhan baik serapan maupun sisipan


(59)

“redam”. Pengujian selanjutnya menggunakan kata kunci “Para pelaku pasar berjibaku

redakan polemik krisis ekonomi” sehingga didapat hasil yang terlihat pada gambar 4.9.

Gambar 4.9. Hasil pengujian dengan kata kunci “para pelaku pasar berjibaku redakan polemik krisis ekonomi”

Hasil pengujian dengan menggunakan algoritma TSW dapat dilihat pada tabel 4.2. dan table 4.3.

Tabel 4.2. Hasil pencocokan dengan kata kunci “pelaku,pasar,jibaku,reda,polemic,krisis,ekonomi” Keyword Judul dokumen yang sesuai Letak kata

(kiri)

Letak kata (kanan) pelaku Landasan Teori Pengajaran Bahasa

Indonesia sebagai bahasa asing

- 256757

Perjuangan Memperbaiki Citra Guru Indonesia

5647 -

Analisis Mendelian 1 4984 -

Etika Penulisan Ilmiah 19248 -

Kebijakan Pemidanaan dalam Tindak Pidana Psikotropika

2920 -

pasar

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing


(60)

Tabel 4.2. Hasil pencocokan dengan kata kunci

“pelaku,pasar,jibaku,reda,polemic,krisis,ekonomi” (lanjutan) Keyword Judul dokumen yang sesuai Letak kata

(kiri)

Letak kata (kanan) Perjuangan memperbaiki Citra Guru

Indonesia

- 33700

Metode Adopsi E-Business oleh Pengusaha Kecil

- 45600

Etika Penulisan Ilmiah 7129 -

Kebijakan Pemidanaan dalam Tindak Pidana Psikotropika

- 101393

jibaku - - -

reda Kebijakan Pemidanaan dalam

Tindak Pidana Psikotropika

95089

Monitoring dan Analisis Kualitas Layanan Trafik Kamera CCTV

4730 -

Dialog dengan Tuhan 88399 -

polemik Etika Penulisan Ilmiah - 37754

Proud to be Confucian 45822 -

krisis Perjuangan Memperbaiki Citra Guru Indonesia

1875 17301

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing

46110 254368

Proud to be Confucian 85074 -

ekonomi Perjuangan Memperbaiki Citra Guru Indonesia

- 25878

Kebijakan Pemidanaan

dalam Tindak Pidana Psikotropika Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing


(61)

Tabel 4.3. Hasil pencocokan dengan sinonim kata kunci “aktor,nekat,surut,reda,perdebatan,berhenti,darurat,krisis” Keyword Judul dokumen yang sesuai Letak kata

(kiri)

Letak kata (kanan) Monitoring dan Analisis Kualitas

Layanan Trafik Kamera CCTV

- 44101

Pilihan Kata (Diksi) template 10860 -

Analisis Mendelian 1 - 45600

Etika Penulisan Ilmiah 7129 -

Kebijakan Pemidanaan dalam Tindak Pidana Psikotropika

- 119064

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing

- 222270

nekat - - -

surut Ekosistem Sawah 1003 -

perdebatan Proud to be Confusian 36258 -

Pendekatan Simantik menurut Toshiko Izutsu

- 88023

berhenti Analisis Mendelian 1 - 45523

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing

46110 -

Dialog dengan Tuhan - 477606

Pembentukan Daftar Kunci untuk Pengklasifikasian Opini

37758 -

Proud to be Confusian - 210809

darurat Peraturan Komisi Informasi - 16025

Anatomi dan Fisiologi Sistem Endokrin


(62)

Pada hasil pengujian diatas dapat disimpulkan bahwa proses pengujian sistem berhasil dilakukan. Dokumen – dokumen yang muncul pada hasil pengujian memiliki hubungan persamaan kata pada keyword di dalam isi dokumen dan menunjukkan pencocokan letak kata yang bervariasi sesuai dengan keyword mulai dari sisi kiri sampai sisi kanan pada isi dokumen.


(63)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Pencarian kata dan sinonim kata pada dokumen dengan menggunakan algoritma Two Sliding Windows menghasilkan kesimpulan sebagai berikut :

1. Pencarian sinonim kata dengan menggunakan algoritma Two Sliding Windows dapat diimplementasikan ke dalam dokumen.

2. Kata-kata yang jarang digunakan dalam bahasa Indonesia dapat dipahami dengan menemukan sinonim kata sehingga memudahkan pemahaman informasi dalam dokumen.

3. Semakin banyak kata dan sinonim kata kunci yang ingin dicari oleh user, maka semakin banyak dokumen yang terdeteksi pada hasil pencarian.

4. Pada saat proses pencarian menggunakan algoritma Two Sliding Windows, kata pertama yang ditemukan sesuai dengan kata kunci akan dianggap sebagai hasil pencarian dan proses algoritma berhenti.

5. Hasil pencocokan terhadap isi dokumen terdapat beberapa kata yang tidak sesuai dengan makna kata dari kata kunci. Hal ini disebabkan adanya imbuhan terutama kata serapan dan sisipan yang menimbulkan makna berbeda dari kata dasar itu sendiri.


(64)

5.2 Saran

Adapun saran yang diusulkan, oleh peneliti sebagai bahan pertimbangan pada penelitian selanjutnya yang berhubungan dengan pencarian sinonim kata, diantaranya:

1. Ada beberapa penulisan kata-kata yang sama tetapi memiliki makna yang berbeda, sehingga penulis menyarankan metode lain yang dapat membedakan makna dari dua kata yang berbeda.

2. Hasil pencarian menjadi kurang tepat jika kata dasar pada proses stemming didapat dari kata berimbuhan terutama serapan dan sisipan yang menimbulkan makna berbeda pada dokumen, sehingga pada penelitian selanjutnya disarankan bisa menyelesaikan permasalahan tersebut.


(1)

Tabel 4.3. Hasil pencocokan dengan sinonim kata kunci “aktor,nekat,surut,reda,perdebatan,berhenti,darurat,krisis” Keyword Judul dokumen yang sesuai Letak kata

(kiri)

Letak kata (kanan)

Monitoring dan Analisis Kualitas Layanan Trafik Kamera CCTV

- 44101

Pilihan Kata (Diksi) template 10860 -

Analisis Mendelian 1 - 45600

Etika Penulisan Ilmiah 7129 -

Kebijakan Pemidanaan dalam Tindak Pidana Psikotropika

- 119064

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing

- 222270

nekat - - -

surut Ekosistem Sawah 1003 -

perdebatan Proud to be Confusian 36258 -

Pendekatan Simantik menurut Toshiko Izutsu

- 88023

berhenti Analisis Mendelian 1 - 45523

Landasan Teori Pengajaran Bahasa Indonesia sebagai bahasa asing

46110 -

Dialog dengan Tuhan - 477606

Pembentukan Daftar Kunci untuk Pengklasifikasian Opini

37758 -

Proud to be Confusian - 210809

darurat Peraturan Komisi Informasi - 16025

Anatomi dan Fisiologi Sistem Endokrin

1134 -


(2)

49

Pada hasil pengujian diatas dapat disimpulkan bahwa proses pengujian sistem berhasil dilakukan. Dokumen – dokumen yang muncul pada hasil pengujian memiliki hubungan persamaan kata pada keyword di dalam isi dokumen dan menunjukkan pencocokan letak kata yang bervariasi sesuai dengan keyword mulai dari sisi kiri sampai sisi kanan pada isi dokumen.


(3)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Pencarian kata dan sinonim kata pada dokumen dengan menggunakan algoritma Two Sliding Windows menghasilkan kesimpulan sebagai berikut :

1. Pencarian sinonim kata dengan menggunakan algoritma Two Sliding Windows

dapat diimplementasikan ke dalam dokumen.

2. Kata-kata yang jarang digunakan dalam bahasa Indonesia dapat dipahami dengan menemukan sinonim kata sehingga memudahkan pemahaman informasi dalam dokumen.

3. Semakin banyak kata dan sinonim kata kunci yang ingin dicari oleh user, maka semakin banyak dokumen yang terdeteksi pada hasil pencarian.

4. Pada saat proses pencarian menggunakan algoritma Two Sliding Windows, kata pertama yang ditemukan sesuai dengan kata kunci akan dianggap sebagai hasil pencarian dan proses algoritma berhenti.

5. Hasil pencocokan terhadap isi dokumen terdapat beberapa kata yang tidak sesuai dengan makna kata dari kata kunci. Hal ini disebabkan adanya imbuhan terutama kata serapan dan sisipan yang menimbulkan makna berbeda dari kata dasar itu sendiri.


(4)

51

5.2 Saran

Adapun saran yang diusulkan, oleh peneliti sebagai bahan pertimbangan pada penelitian selanjutnya yang berhubungan dengan pencarian sinonim kata, diantaranya:

1. Ada beberapa penulisan kata-kata yang sama tetapi memiliki makna yang berbeda, sehingga penulis menyarankan metode lain yang dapat membedakan makna dari dua kata yang berbeda.

2. Hasil pencarian menjadi kurang tepat jika kata dasar pada proses stemming didapat dari kata berimbuhan terutama serapan dan sisipan yang menimbulkan makna berbeda pada dokumen, sehingga pada penelitian selanjutnya disarankan bisa menyelesaikan permasalahan tersebut.


(5)

DAFTAR PUSTAKA

Aminuddin. 2008. Semantik Pengantar Studi Tentang Makna, Bandung: Sinar Baru Algesindo.

Bari,A., Saputra R.H. 2010. Penerapan Pencarian Kata dengan Vector Space Model pada aplikasi terjemahan Juz Amma berbasis Java ME. Skripsi. STMIK GI MDP.

Budhi, Gregorius S., Gunawan I., Yuwono F. 2006. Algoritma Porter Stemmer For Bahasa Indonesia untuk Pre-Processing Text Mining Berbasis Metode Market Basket Analysis. Paper.Universitas Kristen Petra.

Chaer, Abdul. 2009. Pengantar Semantik Bahasa Indonesia. Jakarta: Rineka Cipta. Departemen Pendidikan Nasional. 2005. Kamus Besar Bahasa Indonesia. Jakarta: Balai

Pustaka.

Fidaursiah A.B., Siahaan D. O., Yuhana U. L., Kita T. 2008. Sistem Penilaian Otomatis Jawaban Essay menggunakan Ontologi pada Moodle. Skripsi.Institut Teknologi Sepuluh November Surabaya.

Februariyanti, H., Zuliarso, E., Utomo, M.S. 2010. Prototipe Mesin Pencari Dokumen Teks. Skripsi. Universitas Stikubank.

Hudaib, A., Al-Khalid, R., Suleiman, D., Itriq, M., & Al-Alnani, A. 2008. A Fast Pattern Matching Algorithm with Two Sliding Windows.Journal of Computer Science

4(5): 393-401.

Hudaib, A., Al-Khalid, R., Suleiman, D., Itriq, M., & Al-Alnani, A. 2013. ERS-A Algorithm for Pattern Maching.Middle-EastJournal of Scienific Research 15(7): 1067-1075

Iftikhar Hussain, Imran Ali, Muhammad Zubair and Nazarat Bibi, “Fastest Approach

to Exact Pattern Matching.”.International Conference on Information and Education Technology’2010, 2010.

Muniah, Dad, Hari Sulastri, dan Atidjah Hamid. 2000. Kesinoniman dalam Bahasa Indonesia. Jakarta: Pusat Bahasa Departemen Pendidikan Nasional.


(6)

53

Murad, Azmi M.A. & Martin, Trevor. 2007.Word Similarity for Document Gouping using Soft Computing.IJCSNS International Journal of Computer Science and Network Security, Vol.7 No.8 August 2007, pp. 20-27.

Pateda, M. 2010. Semantik Leksikal (Edisi Kedua). Rineka Cipta

Tahitoe, A.D., Purwitasari D.,2010. Implementasi Modifikasi Enhanced Confix Stripping Stemmer untuk Bahasa Indonesia dengan Metode Corpus Based Stemming. Skripsi. Institut Teknologi Sepuluh Nopember.

Tala, Fadillah Z. 2003. A Study of Stemming Effects on Information Retrieval in Bahasa Indonesia. Master of Logic Project. Institute for Logic, Language and Computation. Universiteit van Amsterdam. The Netherlands.