• Tidak ada hasil yang ditemukan

PERANCANGAN SISTEM DETEKSI PLAGIAT PADA DOKUMEN TEKS DENGAN KONSEP SIMILARITY MENGGUNAKAN ALGORITMA RABIN KARP NASKAH PUBLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANCANGAN SISTEM DETEKSI PLAGIAT PADA DOKUMEN TEKS DENGAN KONSEP SIMILARITY MENGGUNAKAN ALGORITMA RABIN KARP NASKAH PUBLIKASI"

Copied!
20
0
0

Teks penuh

(1)

1

PERANCANGAN SISTEM DETEKSI PLAGIAT PADA DOKUMEN TEKS

DENGAN KONSEP SIMILARITY MENGGUNAKAN

ALGORITMA RABIN KARP

NASKAH PUBLIKASI

diajukan oleh

Salmuasih

08.11.2281

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

(2)
(3)

3

DESIGN OF PLAGIARISM DETECTION SYSTEM FOR TEXT DOCUMENT WITH SIMILARITY CONCEPT USING

RABIN KARP ALGORITHM

PERANCANGAN SISTEM DETEKSI PLAGIAT PADA DOKUMEN TEKS DENGAN KONSEP SIMILARITY MENGGUNAKAN

ALGORITMA RABIN KARP

Salmuasih Andi Sunyoto Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Plagiarism is becoming increasingly serious problem as the rapid development of technology. Various people can easily access digital content such as images, video, mp3, text documents, and source code that is usually the target of plagiarism. Ironically acts of plagiarism is most prevalent among academics as students and learners. In this case most often done is copy-paste-edit text documents.

Plagiarism is a crime, because it recognizes people's property as a personal masterpiece. As anticipated, detection tools needed to analyze the acts committed plagiarism. This detection tool is built with a strategic approach Rabin-Karp algorithm, which is a multiple-pattern search algorithm. This algorithm is one of the best in analyzing compatibility between documents. It uses a hashing technique. The search will be more efficient with this technique because it will compare multiple digit numbers.

Keywords: Plagiarism, String matching, Pattern Matching, Rabin-Karp, Hashing,

(4)

4

1. Pendahuluan

Plagiarisme selalu menjadi perhatian di banyak sektor, terutama sektor akademis. Sering kita temui pekerjaan teman yang dihargai dengan nilai “0” karena diketahui telah menyalin hasil pekerjaan temannya yang lain. Praktik menyalin beberapa bagian atau keseluruhan tulisan tanpa mencantumkan sumber menjadi hal biasa yang sering ditemukan pada tugas harian, makalah, bahkan skripsi.

Pencegahan dan pendeteksian merupakan cara yang dapat dilakukan untuk mengurangi plagiarisme. Pencegahan berarti menghalangi munculnya plagiarisme yang lebih ditekankan kepada moral masyarakat dan sistem pendidikan. Cara ini akan memberikan efek jangka panjang yang luar biasa. Pendeteksian berarti cara untuk mengungkapkan plagiarisme.

Beberapa perangkat lunak yang didesain untuk mendeteksi plagiarisme dokumen, diantaranya Turnitin, Eve2, CopyCatchGold, WordCheck, Glatt, Moss, JPlag. Berdasarkan analisis informasi yang ada di web, pendeteksi terbaik sesuai fungsinya adalah Turnitin (Lukashenko, dkk, 2007).

Pendeteksian plagiarisme atau plagiat menggunakan konsep similarity atau kemiripan dokumen merupakan salah satu cara untuk mendeteksi copy&pasteplagiarism dan disguised plagiarism. Menggunakan metode fingerprinting, pendeteksian plagiat ini tidak memperhatikan adanya penulisan sumber rujukan.

Pada sistem deteksi ini akan diaplikasikan text mining untuk tahap preprocessing dan algoritma Rabin Karp untuk stringmatching. Algoritma Rabin Karp adalah algoritma multiple pattern search yang sangat efisien untuk mencari string dengan pola banyak. Selanjutnya akan dibahas bagaimana algoritma Rabin Karp bekerja sekaligus implementasinya pada sebuah aplikasi dalam mendeteksi plagiarisme dokumen.

2. Landasan Teori

2.1 Plagiarisme

Plagiarisme atau plagiat adalah penjiplakan atau pengambilan karangan, pendapat orang lain dan menjadikannya seolah-olah karangan sendiri (KBBI, 1997: 775). Berdasarkan penelitian, Gipp dan Meuschke (2011) mengkategorikan praktek plagiat berdasarkan cara yang digunakan, diantaranya :

1. Copy&Paste plagiarism, menyalin setiap kata tanpa perubahan.

2. Disguised plagiarism, tergolong kedalam praktek menutupi bagian yang disalin, teridentifikasi ke dalam empat teknik, yaitu shake&paste, expansive plagiarism, contractiveplagiarism, dan mosaicplagiarism.

3. Technical disguise, teknik meringkas untuk menyembunyikan konten plagiat dari deteksi otomatis dengan memanfaatkan kelemahan dari metode analisis teks dasar,

(5)

5 misal dengan mengganti huruf dengan simbol huruf asing.

4. Undue paraphrasing, sengaja menuliskan ulang pemikiran asing dengan pemilihan kata dan gaya plagiator dengan menyembunyikan sumber asli.

5. Translatedplagiarism, mengkonversi konten dari satu bahasa ke bahasa lain. 6. Ideaplagiarism, menggunakan ide asing tanpa menyatakan sumber.

7. Self plagiarism, penggunaan sebagian atau keseluruhan tulisan pribadi yang tidak dibenarkan secara ilmiah.

Taxonomy plagiat menurut Alzahrani, dkk digambarkan sebagai berikut:

2.2 Pendekatan Deteksi Plagiat

Pendekatan sistem deteksi plagiat digolongkan menjadi dua, yaitu external dan intrinsic. Pendekatan external bertujuan untuk menemukan kesesuaian bagian teks secara harfiah, sedangkan pendekatan intrinsic mencoba untuk mengenali perubahan gaya penulisan (Stein, 2006). Strategi pendekatan external diantaranya:

 Perbandingan Teks Lengkap. Metode ini diterapkan dengan membandingkan semua isi dokumen (Gipp, Meusche, Beel 2011). Solusi untuk metode ini adalah algoritma Boyer-Moore dan algoritma Knuth-Morris-Pratt.

 Kesamaan Kata Kunci. Prinsip dari metode ini adalah mengekstrak kata kunci dari dokumen dan kemudian dibandingkan dengan kata kunci pada dokumen yang lain.  Metode Fingerprinting, digunakan untuk mendeteksi keakuratan salinan antar

dokumen, baik semua teks atau hanya sebagian teks saja. Prinsip kerja dari metode ini menggunakan teknik hashing, yaitu fungsi yang mengkonversi setiap string menjadi bilangan. Misalnya Rabin-Karp, Winnowing dan Manber.

2.3 Similarity Dokumen

Konsep similarity sudah menjadi isu yang sangat penting di hampir setiap bidang ilmu pengetahuan. Zaka (2009) dalam disertasinya menjelaskan tiga macam teknik yang dibangun untuk menentukan nilai similarity (kemiripan) dokumen.

1. Distance-based similarity measure

Distance-based similarity measure mengukur tingkat kesamaan dua buah objek dari segi jarak geometris dari variabel-variabel yang tercakup di dalam kedua objek tersebut. Metode Distance-based similarity ini meliputi Minkowski Distance, Manhattan/City block distance, Euclidean distance, Jaccard distance, Dice’s Coefficient, Cosine similarity, Levenshtein Distance, Hamming distance, dan Soundex distance. 2. Feature-based similarity measure

Feature-based similarity measure melakukan penghitungan tingkat kemiripan dengan merepresentasikan objek ke dalam bentuk feature-feature yang ingin

(6)

6 diperbandingkan. Feature-based similarity measure banyak digunakan dalam melakukan pengklasifikasian atau pattern maching untuk gambar dan teks.

3. Probabilistic-based similarity measure

Probabilistic-based similarity measure menghitung tingkat kemiripan dua objek dengan merepresentasikan dua set objek yang dibandingkan dalam bentuk probability. Kullback Leibler Distance dan Posterior Probability termasuk dalam metode ini.

2.4 Text Mining

Text mining adalah salah satu bidang khusus dari data mining. Feldman dan Sanger (2007) mendefinisikan text mining sebagai suatu proses menggali informasi dimana seorang user berinteraksi dengan sekumpulan dokumen menggunakan tools analisis yang merupakan komponen-komponen dalam data mining. Tujuan dari text mining adalah untuk mendapatkan informasi yang berguna dari sekumpulan dokumen.

Dalam memberikan solusi, textmining mengadopsi dan mengembangkan banyak teknik dari bidang lain, seperti Data mining, Information Retrieval (IR), Statistic and Mathematic, Machine Learning, Linguistic, Natural Languange Processing (NLP), dan Visualization. Kegiatan riset untuk text mining antara lain ekstraksi dan penyimpanan teks, preprocessing akan konten teks, pengumpulan data statistik dan indexing, dan analisa konten (Triawati, 2009). Tahapan dalam textmining meliputi tokenizing, filtering, stemming, tagging dan analyzing (Mooney, 2006).

2.5 Indonesian Porter Stemmer

Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma tersebut digunakan untuk stemming bahasa Inggris, kemudian karena proses stemming bahasa Inggris berbeda dengan bahasa Indonesia, maka dikembangkan algoritma Porter khusus untuk bahasa Indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992.

Algoritma / langkah-langkah pada Porter Stemmer:  Menghapus partikel seperti: -kah, -lah, -tah

 Mengapus kata ganti (Possesive Pronoun), seperti –ku, -mu, -nya

 Mengapus awalan pertama. Jika tidak ditemukan, maka lanjut ke langkah 4a, dan jika ada maka lanjut ke langkah 4b.

 a. Menghapus awalan kedua, dan dilanjutkan pada langkah ke 5a

b. Menghapus akhiran, jika tidak ditemukan maka kata tersebut diasumsikan sebagai kata dasar (root word). Jika ditemukan maka lanjut ke langkah 5b.

 a. Menghapus akhiran dan kata akhir diasumsikan sebagai kata dasar (root word). b. Menghapus awalan kedua dan kata akhir diasumsikan sebagai kata dasar (root

(7)

7

2.6 String Matching

String matching atau pencocokan string adalah subjek yang penting dalam kaitannya dengan text-processing. String matching merupakan bahasan yang sangat penting dalam ilmu komputer, karena teks adalah bentuk utama dalam pertukaran informasi (Charras-Lecroq, 2006).

Persoalan pencarian string dirumuskan sebagai berikut (Munir, 2004) : 1. teks (text), yaitu (long) string yang panjangnya n karakter

2. pattern, yaitu string dengan panjang m karakter (m < n) yang akan dicari di dalam teks.

Cara kerjanya adalah mencari lokasi pertama di dalam teks yang bersesuaian dengan pattern.

Contoh : Pattern : hari

Teks : kami pulang hari kamis target

Penggunaan string matching mencakup pencarian pola dalam DNA sequence, searchengine internet, menemukan halaman web yang relevan pada query, dapat pula dimanfaatkan untuk mendeteksi adanya plagiarisme karya tulis. Termasuk dalam algoritma string matching diantaranya algoritma Naive, algoritma Rabin Karp, algoritma Finite Automaton, dan algoritma Knuth Morris Pratt (Cormen, dkk, 2009).

2.7 Algoritma Rabin Karp

Algoritma Rabin Karp ditemukan oleh Michael O. Rabin dan Richard M. Karp. Algoritma ini menggunakan metode hash dalam mencari suatu kata. Teori ini jarang digunakan untuk mencari kata tunggal, namun cukup penting dan sangat efektif bila digunakan untuk pencarian jamak (Atmopawiro, 2006).

Rabin Karp merepresentasikan setiap karakter ke dalam bentuk desimal digit (digitradix-d) ∑ = {0, 1, 2, 3, …, d}, dimana d = |∑|. Sehingga didapat masukan string k berturut-turut sebagai perwakilan panjang k desimal. Karakter string 31415 sesuai dengan jumlah desimal 31,415. Kemudian pola p dihash menjadi nilai desimal dan string direpresentasikan dengan penjumlahan digit-digit angka menggunakan aturan Horner's, misal (Elchison, 2004) :

{ A, B, C, ..., Z } → { 0, 1, 2, ..., 26 }

• BAN → 1 + 0 + 13 = 14

• CARD → 2 + 0 + 17 + 3 = 22

Untuk pola yang panjang dan teks yang besar, algoritma ini menggunakan operasi mod, setelah dikenai operasi mod q, nilainya akan menjadi lebih kecil dari q, misal:

(8)

8 • BAN = 1 + 0 + 13 = 14 = 14 mod 13 = 1 = BAN → 1 • CARD = 2 + 0 + 17 + 3 = 22 = 22 mod 13 = 9 = CARD → 9

Tetapi tidak semua nilai hash yang cocok berarti polanya cocok. Hal ini sering terjadi pada beberapa kasus, ini disebut spurious hits. Kemungkinan terjadinya diantaranya karena:

 Operasi mod terinterfensi oleh keunikan nilai hash (nilai modq biasanya dipilih bilangan prima sehingga 10q hanya cocok dengan 1 kata komputer)

14 mod 13 = 1 27 mod 13 = 1

 Informasi hilang setelah penjumlahan BAN → 1 + 0 + 13 = 14 CAM → 2 + 0 + 12 = 14

Sedangkan pseudocode dan rumus matematis yang digunakan adalah sebagai berikut (Cormen, dkk, 2009):

Rumus matematis:

ts+1 = (d (ts – T [s + 1] h) + T [s + m + 1] mod q dimana

ts = nilai desimal dengan panjang m dari substringT [s + 1 .. s + m], untuk s = 0, 1, ..., n - m

ts+1 = nilai desimal selanjutnya yang dihitung dari ts

d = radix desimal (bilangan basis 10)

RABIN-KARP-MATCHER (T, P, d, q) n = T.length m = P.length h = dm-1 mod q p = 0 t0 = 0 fori = 1 tom // preprocessing p = (dp + P[i]) mod q t0 = (dt0 + T[i]) mod q fors = 0 tonm ifp == ts // matching ifP[1 .. m] == T[s + 1 .. s + m]

print “Pattern occurs with shift” s

ifs < nm

(9)

9 h = dm-1

n = panjang teks m = panjang pola q = nilai modulo

Pengurangan dengan T [s + 1] * h adalah untuk menghilangkan high-order digit dari ts, mengalikan hasilnya dengan 10 untuk menggeser satu digit angka ke kiri, dan menambahkan low-orderdigit dengan T [s + m + 1]. Misalnya, jika m = 5 dan ts = 31415, maka kita ingin menghapus high-order digitT [s +1] = 3, masukkan low-order digit baru (anggap T [s +5 +1] = 2) dan modulo = 3 untuk memperoleh

ts +1 = (10 (31415 - 3 * 10000)) + 2 mod 13 = 14152 mod 13

= 8

Gambar 2. 1 Algoritma Rabin Karp

2.8 Peningkatan Performa Algoritma Rabin Karp

Telah kita pahami bahwa spurious hit adalah beban tambahan bagi algoritma yang akan meningkatkan waktu proses. Hal ini dikarenakan algoritma harus membandingkan pola terhadap teks yang hasil modulonya sama tetapi nilai hashnya berbeda. Untuk menghindari pencocokan yang tidak perlu, Singh dan Kochar (2008) memberikan solusi untuk tidak hanya membandingkan sisa hasil bagi, tetapi membandingkan hasil baginya juga.

REM (n1/q) = REM (n2/q) and

QUOTIENT (n1/q) = QUOTIENT (n2/q)

Jadi, successfulhit harus memenuhi dua syarat, yaitu nilai sisa hasil bagi dan nilai hasil baginya harus sama. Selebihnya adalah unsuccessful hit tanpa perlu melakukan

(10)

10 pencocokan lagi. Hal ini berarti tidak ada pemborosan waktu untuk mengecek spurious hit.

2.9 Pengukuran Nilai Similarity

Mengukur similarity (kemiripan) dan jarak antara dua entitas informasi adalah syarat inti pada semua kasus penemuan informasi, seperti pada Information Retrieval dan Data Mining yang kemudian dikembangkan dalam bentuk aplikasi, salah satunya adalah sistem deteksi plagiat.

Penggunaan ukuran similarity yang tepat tidak hanya meningkatkan kualitas pilihan informasi tetapi juga membantu mengurangi waktu dan biaya proses (Zaka, 2009).

Kosinov (2001) menyarankan untuk mengaplikasikan Dice'sSimilarityCoefficient dalam penghitungan nilai similarity yang menggunakan pendekatan k-gram.

Dimana S adalah nilai similarity, A dan B adalah jumlah dari kumpulan k-grams dalam teks 1 dan teks 2. C adalah jumlah dari k-grams yang sama dari teks yang dibandingkan.

3. Analisis

3.1 Analisis Masalah

Kegiatan plagiat dokumen teks adalah satu hal yang penting untuk diperhatikan. Berbagai macam cara telah ditawarkan sebagai solusi dari permasalahan ini, baik yang berefek jangka panjang maupun jangka pendek. Salah satunya adalah sistem deteksi plagiat.

Jika selama ini mayoritas penanganan plagiat dilakukan secara manual, yang

RB_IMPROVED (T, P, d, q) n = T.length m = P.length h = dm-1 mod q p = 0 t0 = 0 Q = 0 pq = 0 h = dm-1 mod q fori = 1 tom // preprocessing p = (dp + P[i]) mod q t0 = (dt0 + T[i]) mod q fors = 0 tonm Q=T{s+1...s+ m] div q If ( ts = p and Q = pq) // matching print “Pattern occurs with shift” s

ifs < nm

ts+1 = (d(ts - T[s + 1] h) + T[s + m + 1]) mod q

K * C (A + B) S =

(11)

11 selain menyita banyak waktu, tingkat ketelitian dan objektivitasnya juga relatif, sistem deteksi plagiat menawarkan hasil yang sebaliknya. Terlepas dari apakah sistem yang dibangun sudah dapat mengenali jenis plagiat lain yang tidak hanya copy-paste. Semua itu perlu kerjasama untuk pengembangan lebih lanjut sehingga sistem deteksi plagiat dapat bekerja lebih canggih sesuai tuntutan permasalahan.

Tahap perancangan memutuskan bagaimana sistem akan berjalan, dalam hal hardware, software, dan infrastruktur jaringan; userinterface, form dan laporan; spesifik program, database, serta dokumen-dokumen yang akan dibutuhkan. Meskipun sebagian besar keputusan strategis tentang sistem telah dibuat pada saat pembangunan konsep sistem selama tahap analisis, langkah-langkah pada tahap perancangan menentukan bagaimana tepatnya sistem akan berjalan (Alan Dennis, dkk, 2009).

Gambar 3. 1 Skema aliran data pada sistem

Sistem deteksi plagiat secara umum dirancang untuk dapat mendeteksi kemiripan isi pada dokumen teks, yang dimungkinkan kemiripan ini adalah hasil plagiat. Inputan sistem diperoleh dari file/dokumen (dalam hal ini file berupa plain text) yang diupload oleh user. Dokumen yang diupload otomatis akan tersimpan dalam database sistem, kemudian dokumen dibaca untuk mendapatkan informasi berupa id file, judul, penulis, jumlah kata, dan ukuran file.

Selanjutnya dokumen akan melewati tahap preprocessing menggunakan text mining sebelum dibandingkan dengan dokumen-dokumen yang ada pada database sistem. Tahap ini terdiri dari tokenizing (memecah kalimat ke dalam potongan kata sekaligus mengubah huruf dalam dokumen menjadi huruf kecil/lowercase), filtering (membuang stopword/ kata yang tidak deskriptif), dan stemming (mengembalikan setiap kata ke bentuk dasarnya).

Setelah itu, dokumen hasil preprocess akan melewati tahap processing menggunakan algoritma Rabin Karp. Tahap ini adalah tahap pencocokan dokumen. Tahap ini terdiri dari parsing K-gram (memecah kata ke dalam potongan karakter sebanyak k), hashing (mengubah potongan karakter k ke dalam nilai hash), dan string matching (pencocokan string hasil hashing).

(12)

12 Hasil pencocokan string kemudian dihitung nilai similarity nya menggunakan Dice's Similarity Coefficient, yang kemudian nilai tersebut diubah ke dalam bentuk prosentase similarity.

Gambar 3. 2 Arsitektur sistem

3.2 Perancangan Proses System User input dokumen cek originality laporan originality detail laporan <<extend>> <<include>> <<include>>

(13)

13 1. Usecase deskripsi

Tabel 3. 1 Tabel Usecase

Nama UseCase Input File

Aktor User

Stakeholders dan Interests User ingin mengecek keaslian file dengan menginput file

terlebih dahulu

Deskripsi Singkat Use case ini mendeskripsikan bagaimana User dapat mengecek keaslian file yang diinputkan

Trigger User mengunjungi website PDS

Relationships:

Extend Cek Originality, Laporan originality, Detail laporan

Normal Flow of Events

User System

1. Masuk ke halaman utama website

2. Memilih menu Cek Originality

3. Menampilkan halaman Upload File

4. Input data file

5. Klik tombol Submit

6. Menyimpan file dan menampilkan halaman konfirmasi

7. Klik Cek Originality

8. Mengecek originality dan menampilkan laporan dalam bentuk prosentase similarity

9. Klik pada prosentase similarity

10. Menampilkan laporan dalam bentuk detail similarity

11. Klik Download

12. Mengunduh file Alternate/exceptional Flows

User System

9a. Klik Upload File lain

11a-1. Klik Print

11a-2. Mencetak file

11a-3. Klik Lihat Teks Penuh

(14)

14 opt

PreProcess:preProcess

: User

ProcessMining:processMining ProcessRabin:processRabin PostProcess:postProcess

1 : inputFile(id_file, judul, penulis, namafile)

2 : bacaFile()

3 : tampil info file, jmlkata, ukfile

4 : pilih cek originality

5 : tokenizing() 6 : filtering() 7 : stemming() 8 : parsingKgram() 9 : hashing() 10 : stringMatching() 11 : similarity()

12 : tampil lap similarity

13 : uploadFile

14 : tampil form upload file

15 : detailSimilarity() 16 : tampil detail similarity

17 : lihatTeksSumber() 18 : teks sumber 19 : downloadPdf() 20 : download Pdf 21 : cetak() 22 : cetak file

Gambar 3. 4Sequencediagram

3.3 Perhitungan Manual

Berikut contoh perhitungan manual dalam pengecekan dua buah file. File 1 : Dokumen akan dilakukan pengecekan kemiripan.

File 2 : Mengecek kemiripan dokumen. Hasil tokenizing, filtering, dan stemming : File 1 : dokumenlakuecekmirip

(15)

15 Tabel 3. 2 Hasil parsingk-gram

No Parsing File 1 Hash Parsing File 2 Hash

1 doku ecek 2 okum cekm 3 kume ekmi 4 umen kmir 5 menl miri 6 enla irip 7 nlak ripd 8 laku ipdo 9 akue pdok 10 kuec doku 11 uece okum 12 ecek kume 13 cekm umen 14 ekmi 15 kmir 16 miri 17 irip Ket. : K-gram = 4 Modulo = 101

Berikut adalah penghitungan nilai hash :

doku = (100*103) + (111*102) + (111*101) + (111*100) = 100,000 + 11,100 + 1,070 + 117 = 112,287 Mod = 112,287 mod 101 =76 Rem = 112,287 / 101 = 1111.7524752475 okum = (111*103) + (107*102) + (117*101) + (109*100) = 111,000 + 10,700 + 1,170 + 109 = 122,979 Mod = 122,979 mod 101 = 62 Rem = 122,979 / 101 = 1217.6138613861 …

Perhitungan ini dilakukan untuk seluruh parsing file 1 dan file 2, sehingga menghasilkan hashing modulo dan remainder untuk seluruh substring. Kemudian nilai-nilai tersebut akan dicocokkan menggunakan string matching dan dilakukan pembobotan menggunakan Dice'sSimilarityCoefficient.

(16)

16 Tabel 3. 3 Hasil penghitungan modulo dan remainder (hasil bagi)

No File 1 File 2 Match

Parsing Hashmod Remainder Parsing Hashmod Remainder

1 doku 76 1111,752475 ecek 8 1109,07921 no

… … …

10 doku 76 1111,752475 doku 76 1111,75248 yes

11 okum 62 1217,613861 okum 62 1217,61386 yes

12 kume 4 1187,039604 kume 4 1187,0396 yes

13 umen 43 1277,425743 umen 43 1277,42574 yes

14 ecek 8 1109,079208 ecek 8 1109,07921 yes

15 cekm 88 1091,871287 cekm 88 1091,87129 yes

16 ekmi 78 1117,772277 ekmi 78 1117,77228 yes

17 kmir 86 1178,851485 kmir 86 1178,85149 yes

18 miri 50 1195,49505 miri 50 1195,49505 yes

19 irip 99 1163,980198 irip 99 1163,9802 yes

… … …

Similarity = ((10*2) / (17+13)) * 100% = (20 / 30) * 100%

= 2/3 * 100%

= 66.67%

4. Hasil Penelitian dan Pembahasan

4.1 Hasil uji berdasarkan banyaknya konten file

Tabel 4.1 berikut adalah informasi file yang akan digunakan untuk pengujian pada tabel 4.2 dan tabel 4.3. File uji terdiri dari empat buah file yang masing-masing telah dilakukan penghapusan sebanyak 15%.

Dari tabel 4.2 diatas dapat diketahui bahwa semakin banyak konten file, maka semakin lama waktu proses.

No Id Nama Kata Ukuran (byte)

1 152 11_File_uji_14_kata.txt 14 95

2 153 12_File_uji_28_kata.txt 28 194

3 154 13_File_uji_42_kata.txt 42 316

4 155 14_File_uji_56_kata.txt 58 431

Tabel 4. 1 Informasi file uji

No Uji File 1 File 2 Similarity (%) Waktu (s)

147 11_File_uji_14_kata.txt 10_File_uji_14_kata.txt 100 0.213548 148 12_File_uji_28_kata.txt 10_File_uji_14_kata.txt 69 -0.139719 149 13_File_uji_42_kata.txt 11_File_uji_14_kata.txt 50 0.387906 150 14_File_uji_56_kata.txt 12_File_uji_14_kata.txt 44 0.335834

(17)

17

4.2 Hasil uji tanpa menggunakan stemming

Dari tabel 4.3 diatas dapat diketahui bahwa tanpa menggunakan stemming akan mempercepat waktu proses, tetapi akurasi yang similarity nya rendah.

4.3 Hasil uji modulo pada algoritma Rabin-Karp

File yang digunakan untuk pengujian modulo dan k-gram adalah file 1 dan 2 pada tabel 4.1.

Berdasarkan tebel 4.4 diatas dapat disimpulkan bahwa modulo tidak berpengaruh pada prosentase similarity, tapi berpengaruh pada waktu proses.

4.4 Hasil uji k-gram pada algoritma Rabin-Karp

Berdasarkan tabel 4.5 dapat diketahui bahwa semakin kecil k-gram, akurasi similarity nya semakin tinggi.

No Uji File 1 File 2 Similarity (%) Waktu (s)

151 11_File_uji_14_kata.txt 10_File_uji_14_kata.txt 100 0.038528

152 12_File_uji_28_kata.txt 10_File_uji_14_kata.txt 67 0.057912

153 13_File_uji_42_kata.txt 11_File_uji_14_kata.txt 46 0.061899

154 14_File_uji_56_kata.txt 12_File_uji_14_kata.txt 39 0.084752

Tabel 4. 3 Hasil uji tanpa mengunakan stemming

No Uji Kgram Modulo Similarity (%) Waktu (s)

159 1 13 523.944 0.871916 161 1 23 523.944 0.153122 163 1 43 523.944 0.175531 164 1 71 523.944 0.209635 165 1 101 523.944 0.093315 166 1 151 523.944 0.151603 167 1 173 523.944 0.125665 168 1 251 523.944 0.177291

Tabel 4. 4 Hasil uji modulo

No Uji Kgram Modulo Similarity (%) Waktu (s)

172 1 101 523.944 0.045441 173 2 101 128.571 0.105267 174 3 101 71.0145 0.101174 175 4 101 69.1176 0.020179 176 5 101 68.6567 0.150793 177 6 101 68.1818 0.183669 178 7 101 67.6923 0.235006

(18)

18

5. Kesimpulan dan Saran

5.1 Kesimpulan

Berdasarkan percobaan-percobaan yang telah dilakukan, dapat ditarik kesimpulan sebagai berikut:

1. Sistem dalam membandingkan file memberikan hasil berupa prosentase similarity. 2. Berikut faktor yang mempengaruhi performa algoritma Rabin Karp :

a. Semakin banyak konten sebuah file, waktu prosesnya (running time) akan semakin lama.

b. Penggunaan stemming berpengaruh pada keakuratan nilai similarity dan waktu proses. Dengan menggunakan stemming waktu proses cenderung lebih lama, tetapi tingkat akurasi similaritynya lebih tinggi.

c. Nilai modulo berpengaruh pada waktu proses, tetapi tidak pada nilai similarity. d. Semakin kecil k-gram menghasilkan akurasi nilai similarity yang lebih baik,

dibandingkan k-gram yang lebih besar.

5.2 Saran

Berikut saran-saran untuk penelitian lebih lanjut:

1. Sistem dapat membandingkan file uji dengan semua file sumber pada database sistem.

2. Jika masih menggunakan algoritma Rabin-Karp, lebih dibenahi pada tahap stemming agar hasil pencocokannya lebih akurat.

3. Sistem dapat mengkonversi dokumen teks dengan ekstensi lain seperti .doc dan .pdf, untuk kemudahan pengguna.

(19)

19

Daftar Pustaka

Atmopawiro, Alsasian.2006. Pengkajian dan Analisis Tiga Algoritma Efisien Rabin-Karp, Knuth-Morris-Pratt, dan Boyer-Moore dalam Pencarian Pola dalam Suatu Teks. Makalah tidak Terpublikasi. Program Studi Teknik Informatika Institut Teknologi Bandung.

Cormen, Thomas H, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein. 2009. Introduction to Algorithms. MIT Press, USA.

Dennis, Alan. Haley, Barbara Wixom, David Tegarden. 2009. System Analysis Design UML Version 2.0 An Object-Oriented Approach Third Edition. John Wiley & Sons, Inc. USA.

Feldman, Ronen, James Sanger. 2007. The Text Mining Handbook. Cambridge University Press.

Gipp, Bela, Norman Meuschke. 2011. Citation Pattern Matching Algorithms for Citation-based Plagiarism Detection: Greedy Citation Tiling, Citation Chunking and Longest Common Citation Sequence. Proceeding of the 11th ACM Symposium on Document Engineering. Mountain View, CA, USA.

Information Retrieval Tutorial : Stemming Porter untuk Bahasa Indonesia. “http://kabulkurniawan.com/2012/03/17/information-retrieval-tutorial-stemming-porter-untuk-bahasa-indonesia/” diakses Selasa, 3 juli 2012 jam 10.49 wib. KBBI 1997, 775.

Kosinov, Serhiy. 2001. Evaluation of n-grams conflation approach in text-based information retrieval. Unpublished journal. Computing Science Department, University of Alberta, Canada.

Lecroq. Thierry, Christian Charras. 2006. Handbook of Exact String-Matching

Algoritms.

http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf

didownload Sabtu, 19 Mei 2012 jam 08.21 wib

Lukashenko, Romans, Vita Graudina, Janis Grundspenkis. 2007. Computer-Based Plagiarism Detection Methods and Tools: An Overview. International Conference on Computer Systems and Technologies – CompSysTech’07.

Mooney, Raymond J. 2006. CS 391L: Machine Learning Text Categorization. Lecture slides. University of Texas at Austin.

Munir, Rinaldi. 2004. Bahan Kuliah IF2251 Strategi Algoritmik : Algoritma Pencarian String (String Matching). Departemen Teknik Informatika. ITB Bandung.

Rabin Karp Matching. http://www.cedarville.edu/ personal/ personalpages/ shomper/ cs3410_web/ resources/ rabin_karp_matching.ppt diakses Senin, 5 November 2012 jam 14.12 wib.

(20)

20 Similarity Measure. “http://yudiagusta.wordpress.com/2008/05/13/similarity-measure/”

diakses Kamis, 7 Maret 2013 jam 21.52 wib.

Singh, Rajender Chillar, Barjesh Kochar. 2008. RB-Matcher: String Matching Technique. World Academy of Science, Engineering and Technology 42.

Stein, Benno, Sven Meyer zu Eissen. 2006. Selected Papers from the 29th Annual Conference of the German Classification Society (GfKl) Magdeburg: Near Similarity Search and Plagiarism Analysis. ISBN 1431-8814, pp. 430-437, c Springer 2006.

Triawati, Candra. 2009. Metode Pembobotan Statistical Concept Based untuk Klastering dan Kategorisasi Dokumen Berbahasa Indonesia. IT TELKOM Bandung.

Zaka, Bilal. 2009. Theory and Applications of Similarity Detection Technique. Disertation. Institute for Information Systems and Computer Media (IISCM), Graz University of Technology Austria.

Referensi

Dokumen terkait