perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

20
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 2013

Transcript of perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

Page 1: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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

2013

Page 2: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

2

Page 3: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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

Page 4: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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&paste plagiarism

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 string matching. 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,

contractive plagiarism, dan mosaic plagiarism.

3. Technical disguise, teknik meringkas untuk menyembunyikan konten plagiat dari

deteksi otomatis dengan memanfaatkan kelemahan dari metode analisis teks dasar,

Page 5: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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. Translated plagiarism, mengkonversi konten dari satu bahasa ke bahasa lain.

6. Idea plagiarism, 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

Page 6: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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, text mining 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 text mining 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

word).

Page 7: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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,

search engine 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

(digit radix-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:

Page 8: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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 mod q 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 substring T [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 for i = 1 to m // preprocessing p = (dp + P[i]) mod q t0 = (dt0 + T[i]) mod q for s = 0 to n – m if p == ts // matching if P[1 .. m] == T[s + 1 .. s + m] print “Pattern occurs with shift” s if s < n – m ts+1 = (d(ts - T[s + 1] h) + T[s + m + 1]) mod q

Page 9: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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-order digit dengan T [s + m + 1]. Misalnya, jika m = 5 dan ts = 31415,

maka kita ingin menghapus high-order digit T [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, successful hit harus memenuhi dua syarat, yaitu nilai sisa hasil bagi dan nilai

hasil baginya harus sama. Selebihnya adalah unsuccessful hit tanpa perlu melakukan

Page 10: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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's Similarity Coefficient

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 for i = 1 to m // preprocessing p = (dp + P[i]) mod q t0 = (dt0 + T[i]) mod q for s = 0 to n – m Q=T{s+1..........s+ m] div q If ( ts = p and Q = pq) // matching print “Pattern occurs with shift” s if s < n – m ts+1 = (d(ts - T[s + 1] h) + T[s + m + 1]) mod q

K * C

(A + B) S =

Page 11: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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; user interface, 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).

Page 12: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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

Gambar 3. 3 Use case diagram

Page 13: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

13

1. Use case deskripsi

Tabel 3. 1 Tabel Use case

Nama Use Case 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

11a-4. Menampilkan teks sumber

Page 14: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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. 4 Sequence diagram

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

File 2 : ecekmiripdokumen

Page 15: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

15

Tabel 3. 2 Hasil parsing k-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's Similarity Coefficient.

Page 16: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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 952 153 12_File_uji_28_kata.txt 28 1943 154 13_File_uji_42_kata.txt 42 3164 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.213548148 12_File_uji_28_kata.txt 10_File_uji_14_kata.txt 69 -0.139719149 13_File_uji_42_kata.txt 11_File_uji_14_kata.txt 50 0.387906150 14_File_uji_56_kata.txt 12_File_uji_14_kata.txt 44 0.335834

Tabel 4. 2 Hasil uji berdasarkan banyaknya konten file

Page 17: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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.871916161 1 23 523.944 0.153122163 1 43 523.944 0.175531164 1 71 523.944 0.209635165 1 101 523.944 0.093315166 1 151 523.944 0.151603167 1 173 523.944 0.125665168 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.045441173 2 101 128.571 0.105267174 3 101 71.0145 0.101174175 4 101 69.1176 0.020179176 5 101 68.6567 0.150793177 6 101 68.1818 0.183669178 7 101 67.6923 0.235006

Tabel 4. 5 Hasil uji k-gram

Page 18: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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.

4. Sistem diharapkan dapat mendeteksi sinonim dan berbagai bentuk plagiat.

Page 19: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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.

Page 20: perancangan sistem deteksi plagiat pada dokumen teks dengan konsep similarity menggunakan

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.