• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2016

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

Copied!
66
0
0

Teks penuh

(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

▸ Baca selengkapnya: kata rasila bersinonim dengan kata…

(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

(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

(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

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

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

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

(8)

DAFTAR ISI

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

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

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

(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

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

(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

(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

(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

(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

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

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

(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

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

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

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

(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

(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

2006 Pada penelitian ini, Budhi

dkk merubah data teks

2008 Pada penelitian ini,

Hudaib dkk menerapkan

algoritma pencarian baru

menggunakan

pre-processing algoritma BR

dan deteksi dari dua sisi

(31)

Tabel 2.6 Penelitian terdahulu yang berkaitan dengan pencarian sinonim kata

2010 Pada penelitian ini,

Tahitoe dan Diana

2008 Pada penelitian ini,

(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

(33)

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

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

(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”).

(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

(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

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

(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

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

(40)

shiftl a, b = � { − �+

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

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

(42)

shiftr a, b = � {

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

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

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

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

(44)

1 2 3 4 5 6 7 8 9 10

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

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

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

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

(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

(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

(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

(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

(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

(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

(56)

Gambar 4.6 Tampilan saat memilih berkas

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

(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

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)

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

reda Kebijakan Pemidanaan dalam

Tindak Pidana Psikotropika

polemik Etika Penulisan Ilmiah - 37754

Proud to be Confucian 45822 -

krisis Perjuangan Memperbaiki Citra Guru Indonesia

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

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

darurat Peraturan Komisi Informasi - 16025

Anatomi dan Fisiologi Sistem

Endokrin

(62)

Pada hasil pengujian diatas dapat disimpulkan bahwa proses pengujian sistem

(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

(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

Gambar

Gambar 2.1. Desain Porter Stemmer (Tala, 2003)
Tabel 2.2 Aturan untuk Infection Possesive Pronoun(Tala, 2003)
Tabel 2.3 Aturan untuk First Order Derivational Prefix(Tala, 2003)
Tabel 2.5 Aturan untuk Derivation Suffix(Tala, 2003)
+7

Referensi

Dokumen terkait

Ada sekitar 35 algoritma pencarian kata yang bisa digunakan dalam perangkat baik merupakan algoritma yang diciptakan dari awal maupun berupa pengembangan dari

Dalam tugas akhir ini akan diteliti mengenai pencarian string dalam dokumen, yang bertujuan untuk mengetahui kecepatan dalam pencarian kata kunci berupa string

Aplikasi pencarian file dengan menggunakan algoritma apostolico giancarlo ini mampu melakukan pencarian file pada folder atau drive yang ditentukan berdasarkan kata

Dalam pembuatan game pencarian kata dengan Aksara Toba menggunakan algoritma runut balik ( backtracking) , maka dilakukan beberapa tahapan seperti yang terlihat

Proses pencocokan string yang diinputkan oleh user kepada ebook tersebut menggunakan algoritma KMP, setelah kata yang ditemukan sesuai maka sistem akan menampilkan hasilnya

Kondisi terbaik algoritma ini ialah saat harta karun tepat berada di kotak sebelah kotak awal, pencarian akan ditemukan dalam 1 langkah, sedangkan pada

Tahapan Algoritma Stemming Tahap Proses Kata Asal Hasil Potong Kata Akhir 1 Cek Database Memperlihatkan - Memperlihatkan 2 Buang Partikel -kan Memperlihatkan Memperlihat Memperlihat

Maya Rosaria, Boko Susilo, Ernawati, Universitas Bengkulu 2010, Jurnal dengan judul: Implementasi Algoritma Pencocokan String Knuth Morris Pratt dalam Aplikasi Pencarian Dokumen Digital