Pencarian Kata dan Sinonim Kata Dalam Dokumen Dengan Menggunakan Algoritma Two Sliding Windows
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.