Anda di halaman 1dari 5

Penelitian Internal Universitas Muhammadiyah Jember 2013

Penerapan Teknik Document Fingerprinting


pada Sistem Pendeteksi Plagiarisme Dokumen Teks Terkelompok
Menggunakan Algoritma Winnowing dengan Metode K-Gram

Mudafiq Riyan Pratama, S.Kom
Fakultas Teknik Universitas Muhammadiyah Jember
mudafiq.riyan@unmuhjember.ac.id


Abstract

The practice of document plagiarism is often applied by both academics in school and university level
which does not reflect the attitude of a highly creative and educated as intellectuals. Sometimes the act of
plagiarism was modified by replacing the words that contain synonyms, with the intention that looks different
from the original article. Duplication detection system uses an winnowing algorithm which its output in the form
of a set of hash values as a document fingerprinting obtained through the method of k-grams. Input from
document fingerprinting process is a text file. Then its output will be a set of hash value, called a fingerprint.
Fingerprint is what will be the basis of a comparison between the text files that have been entered. The
documents declared as plagiarism if the percentage more than 50% similarity. The size of k-grams and a small
window that can give a percentage greater similarity results and the size of k-grams and a large window, can
provide similarity percentage yield smaller.

Keywords: plagiarism, document fingerprinting, winnowing algorithm, k-grams


1. Pendahuluan
Pemanfaatan teknologi digital telah menjadi
kebutuhan dalam era modern saat ini. Komponen yang
ada di dalam dunia digital salah satunya adalah
dokumen teks. Dokumen dalam bentuk digital
memudahkan dalam hal penyimpanan, efisien, mudah
dicari, bahkan mudah dalam hal penjiplakan.
Penjiplakan atau plagiarisme berarti mencontoh
atau meniru atau mencuri tulisan dan karya orang lain
yang kemudian diakui sebagai karangannya sendiri
dengan ataupun tanpa seizin penulisnya. Penjiplakan
dokumen digital bukanlah hal yang susah, cukup
dengan menggunakan teknik copy-paste-modify pada
sebagian isi dokumen dan bahkan keseluruhan isi
dokumen sudah bisa dikatakan bahwa dokumen
tersebut merupakan hasil duplikasi dari dokumen lain.
Praktek penjiplakan dokumen ini seringkali
diterapkan oleh akademisi baik tingkat sekolah
maupun perguruan tinggi. Tindakan plagiat yang
dilakukan oleh siswa maupun mahasiswa ini sangat
tidak mencerminkan sikap kreatif dan terpelajar
sebagai kaum intelektual. Demi menyelesaikan tugas-
tugasnya dengan cepat, siswa maupun mahasiswa
dapat melakukan teknik copy-paste-modify tanpa perlu
mempelajari dan mengeksplorasi materi terlebih
dahulu. Kadangkala tindak penjiplakan ini
dimodifikasi dengan mengganti kata-kata yang
mengandung sinonim, dengan maksud agar terlihat
berbeda dari pekerjaan teman. Hal semacam ini dapat
menimbulkan masalah terhadap evaluasi hasil belajar
siswa/mahasiswa.
Proses pendeteksian penjiplakan ini
menggunakan algoritma Winnowing yang mana
output-nya berupa sekumpulan nilai hash yang
didapatkan melalui metode k-gram. Sedangkan konsep
synonym recognition ini dimaksudkan untuk dapat
mengenali kata-kata yang mengandung sinonim
sebagai tindak penjiplakan.


2. Metode
Deteksi Duplikasi
Banyak cara atau metode yang dapat digunakan
untuk mendeteksi penjiplakan dalam file text. Namun
ada kebutuhan mendasar yang harus dipenuhi oleh
algoritma deteksi penjiplakan[5], yaitu:
Whitespace Insensitivity yang berarti dalam
melakukan pencocokan terhadap file teks
seharusnya tidak terpengaruh oleh spasi, jenis
huruf (kapital atau normal), tanda baca dan
sebagainya.
Noise Surpression yang berarti menghindari
penemuan kecocokan dengan panjang kata yang
terlalu kecil atau kurang relevan, misal: the.
Panjang kata yang ditengarai merupakan
penjiplakan harus cukup untuk membuktikan
bahwa kata-kata tersebut telah dijiplak dan bukan
merupakan kata yang umum digunakan.
Position Independence yang berarti penemuan
kecocokan/kesamaan harus tidak bergantung pada
posisi kata-kata. Meskipun posisnya tidak sama,
kecocokan harus dapat ditemukan.

Sebuah karya tulis dikatakan telah menjiplak
karya lain apabila memiliki tingkat kesamaan yang
melebihi batas toleransi tertentu yang telah ditentukan.
Penelitian Internal Universitas Muhammadiyah Jember 2013

Algoritma Winnowing
Winnowing adalah algoritma yang digunakan
untuk melakukan proses document fingerprinting [5].
Proses ini ditujukan agar dapat mengidentifikasi
penjiplakan, termasuk bagian-bagian kecil yang mirip
dalam dokumen yang berjumlah banyak.

Input dari proses document fingerprinting
adalah file teks. Kemudian output-nya akan berupa
sekumpulan nilai hash yang disebut fingerprint.
Fingerprint inilah yang akan dijadikan dasar
pembanding antara file-file teks yang telah
dimasukkan [5].

Salah satu prasyarat dari algoritma deteksi
penjiplakan adalah whitespace insensitivity, dan
algoritma Winnowing telah memenuhi prasyarat
tersebut yaitu membuang seluruh karakter-karakter
yang tidak relevan seperti: tanda baca, spasi dan juga
karakter lain, sehingga nantinya hanya karakter-
karakter yang berupa huruf atau angka yang akan
diproses lebih lanjut [5].

Secara garis besar, berikut konsep algoritma
Winnowing bekerja:
(1) Penghapusan karakter-karakter yang tidak
relevan (whitespace insensitivity).
(2) Pembentukan rangkaian gram dengan ukuran k.
(3) Penghitungan nilai hash.
(4) Membagi ke dalam window tertentu.
(5) Pemilihan beberapa nilai hash menjadi document
fingerprinting.

Berikut contoh implementasi algoritma
Winnowing dalam melakukan proses document
fingerprinting pada teks Komputer adalah alat yang
dipakai untuk mengolah data:
1) Melakukan proses whitespace insensitivity,
sehingga hal yang mengandung huruf kapital
dijadikan ignore case, tanda baca, spasi, dan
karakter-karakter yang tidak relevan lainnya
dibuang. Sehingga dari kalimatnya diubah
menjadi:
komputeradalahalatyangdipakaiuntukmengolahdat
a
2) Setelah kalimat tersebut dibersihkan, pembentukan
rangkaian gram dengan ukuran 7-gram menjadi:
kompute omputer mputera puterad uterada teradal
eradala radalah adalaha dalahal alahala lahalat
ahalaty halatya alatyan latyang atyangd tyangdi
yangdip angdipa ngdipak gdipaka dipakai ipakaiu
pakaiun akaiunt kaiuntu aiuntuk iuntukm untukme
ntukmen tukmeng ukmengo kmengol mengola
engolah ngolahd golahda olahdat lahdata
3) Penghitungan nilai-nilai hash dari setiap gram
(sebuah hipotesis nilai hash yang muncul):
2180, 2211, 2412, 1214, 2432, 2643, 2222, 1243,
1543, 1632, 1632, 1444, 1234, 1523, 1132, 1161,
1453, 1121, 2412, 2112, 1254, 1612, 3245, 1235,
1083, 1208, 1802, 1902, 1309, 2309, 1459, 1092,
1280, 1902, 2839, 1218, 1682, 1562, 1717, 1828
4) Untuk memilih hasil yang telah di hash, dilakukan
dengan membagi ke window w dengan panjang 4.
Kemudian pilih nilai yang minimum.
[2180, 2211, 2412, 1214]
[2211, 2412, 1214, 2432]
[2412, 1214, 2432, 2643]
[1214, 2432, 2643, 2222]
[2432, 2643, 2222, 1243]
[2643, 2222, 1243, 1543]
[2222, 1243, 1543, 1632]
[1243, 1543, 1632, 1632]
[1543, 1632, 1632, 1444]
[1632, 1632, 1444, 1234]
[1632, 1444, 1234, 1523]
[1444, 1234, 1523, 1132]
[1234, 1523, 1132, 1161]
[1523, 1132, 1161, 1453]
[1132, 1161, 1453, 1121]
[1161, 1453, 1121, 2412]
[1453, 1121, 2412, 2112]
[1121, 2412, 2112, 1254]
[2412, 2112, 1254, 1612]
[2112, 1254, 1612, 3245]
[1254, 1612, 3245, 1235]
[1612, 3245, 1235, 1083]
[3245, 1235, 1083, 1208]
[1235, 1083, 1208, 1802]
[1083, 1208, 1802, 1902]
[1208, 1802, 1902, 1309]
[1802, 1902, 1309, 2309]
[1902, 1309, 2309, 1459]
[1309, 2309, 1459, 1092]
[2309, 1459, 1092, 1280]
[1459, 1092, 1280, 1902]
[1092, 1280, 1902, 2839]
[1280, 1902, 2839, 1218]
[1902, 2839, 1218, 1682]
[2839, 1218, 1682, 1562]
[1218, 1682, 1562, 1717]
[1682, 1562, 1717, 1828]

5) Setelah itu memilih nilai hash yang paling
minimum yang telah dibagi menjadi window
dengan urutan nilai index array secara
berkelanjutan. Berikut dengan penambahan
informasi posisi fingerprint di dalam dokumen.
Hasilnya adalah sebagai berikut:
[1214, 3] [1243, 7] [1444, 11] [1234, 12] [1132,
14] [1121, 17] [1254, 20] [1235, 23] [1083, 24]
[1208, 25] [1309, 28] [1092, 31] [1218, 35]
[1562, 37]



Penelitian Internal Universitas Muhammadiyah Jember 2013

Hashing
Hashing adalah suatu cara untuk
mentransformasi sebuah string menjadi suatu nilai
yang unik dengan panjang tertentu (fixed-length) yang
berfungsi sebagai penanda string tersebut. Fungsi
untuk menghasilkan nilai ini disebut fungsi hash,
sedangkan nilai yang dihasilkan disebut nilai hash.
Contoh sederhana hashing adalah [7]:
Firdaus, Hari
Munir, Rinaldi
Rabin, Michael
Karp, Richard
Menjadi
7864 = Firdaus, Hari
9802 = Munir, Rinaldi
1990 = Rabin, Michael
8822 = Karp, Richard

Contoh di atas adalah penggunaan hashing dalam
pencarian pada database. Apabila tidak di-hash,
pencarian akan dilakukan karakter-per-karakter pada
nama-nama yang panjangnya bervariasi dan ada 26
kemungkinan pada setiap karakter. Namun pencarian
akan menjadi lebih efisien setelah di-hash karena
kemungkinan setiap angka berbeda. Nilai hash pada
umumnya digambarkan sebagai fingerprint yaitu
string pendek yang terdiri atas huruf dan angka yang
terlihat acak (data biner yang ditulis dalam
heksadesimal) [7].


Rolling Hash
Fungsi yang digunakan untuk menghasilkan
nilai hash dari rangkaian gram dalam algoritma
winnowing adalah rolling hash [5]. Fungsi hash
H(c
1
...c
k
) didefinisikan sebagai berikut [2]:

Rumus 1. Formula rolling hash
Keterangan:
c : nilai ascii karakter
b : basis (bilangan prima)
k : banyak karakter

Keuntungan dari rolling hash adalah untuk
nilai hash berikutnya H(c
2
...c
k+1
) dapat dilakukan
dengan cara:

Rumus 2. Formula unuk mencari nilah hash ke-2
sampai ke-n

Dengan begitu tidak perlu melakukan iterasi
dari indeks pertama sampai terakhir untuk menghitung
nilai hash untuk gram ke-2 sampai terakhir. Hal ini
tentu dapat menghemat biaya komputasi saat
menghitung nilai hash dari sebuah gram [5].



3. Hasil dan Pembahasan
Pada tahap ini, perancangan perangkat lunak
direalisasikan sebagai serangkaian program atau unit
program dengan melakukan beberapa pengujian
terhadap fungsi-fungsi yang dimiliki oleh sistem,
performa dari sistem maupun dari algoritma yang
digunakan.
3.1 Penyajian Data
Penelitian dilakukan dengan melakukan
pengujian terhadap dokumen laporan dari mata kuliah
Praktikum Pemrograman Berorientasi Objek tahun
2013 dari mahasiswa Program Studi Manajemen
Informatika. Dokumen ujinya berjumlah 14 file
digital. Berikut data file yang diujikan pada penelitian
ini:
Tabel 3.1 Daftar Nama File Uji
No. Nama File
1. Modul_3_Konsep_Klass_1100631003.pdf
2. modul3_konsepclass_1100631005.pdf
3. modul3_1100631028.pdf
4. modul3_1100631026.pdf
5. modul3_1100631021.pdf
6. modul3_1100631014.pdf
7. LAPORAN_TUGAS_PRAKTIKUM_PBO_
1100631020.pdf
8. LAPORAN_TUGAS_3_PRAKTIKUM_PB
O_11100631007.pdf
9. laporan_Praktikum3_1100631025.pdf
10. Laporan_Modul_3_1100631036.pdf
11. Laporan_Modul3_1100631015.pdf
12. laporan_3_1100631004.pdf
13. Laporan3_M.Ulil_Albab_Kholilulloh_11006
31051.pdf
14. LAPORAN_PRAK_III_PBO_1100631016_
Yunus_Martha_Efendy.docx


3.2 Pengujian Similarity Threshold
1) Pengujian 1
Pada pengujian pertama ini dilakukan
konfigurasi sebagai berikut:
Ukuran k-gram : 6
Ukuran window : 4
Nilai basis hash : 3
File pembanding :
Modul_3_Konsep_Klass_1100631003.pdf
Similiarity Threshold : 50%


Tabel 3.2 Hasil Pengujian 1
No.
Nama File Yang
Dibandingkan
Nilai
Similarity
Threshold
1. modul3_konsepclass_1100631
005.pdf
55,25 %
2. modul3_1100631028.pdf 55,56 %
3. modul3_1100631026.pdf 86,12 %
4. modul3_1100631021.pdf 72,34 %
5. modul3_1100631014.pdf 84,14 %
Penelitian Internal Universitas Muhammadiyah Jember 2013

6. LAPORAN_TUGAS_PRAKT
IKUM_PBO_1100631020.pdf
29,61 %
7. LAPORAN_TUGAS_3_PRA
KTIKUM_PBO_1110063100
7.pdf
29,63 %
8. laporan_Praktikum3_1100631
025.pdf
66,98 %
9. Laporan_Modul_3_11006310
36.pdf
64,94 %
10. Laporan_Modul3_110063101
5.pdf
46,28 %
11. laporan_3_1100631004.pdf 47,60 %
12. Laporan3_M.Ulil_Albab_Kho
lilulloh_1100631051.pdf
72,45 %
13. LAPORAN_PRAK_III_PBO_
1100631016_Yunus_Martha_
Efendy.docx
46,28 %

Terdapat 8 file yang memiliki nilai similiarity
threshold diatas 50%, sehingga dinyatakan sebagai
dokumen yang terjiplak dengan dokumen file
pembanding.

2) Pengujian 2
Pada pengujian kedua ini dilakukan konfigurasi
sebagai berikut:
Ukuran k-gram : 15
Ukuran window : 15
Nilai basis hash : 3
File pembanding :
Modul_3_Konsep_Klass_1100631003.pdf
Similiarity Threshold : 50%

Ukuran k-gram dan window diperbesar untuk
mengetahui seberapa besar dampak terhadap nilai k-
gram dan window yang lebih besar daripada pengujian
1. Selanjutnya pengujian dilakukan terhadap 13
dokumen file terkelompok yang serupa. Hasilnya
ditampilkan pada tabel berikut.

Tabel 3.3 Hasil Pengujian 2
No. Nama File Yang Dibandingkan
Nilai
Similarity
Threshold
1. modul3_konsepclass_11006310
05.pdf
29,01 %
2. modul3_1100631028.pdf 23,52 %
3. modul3_1100631026.pdf 59,33 %
4. modul3_1100631021.pdf 46,42 %
5. modul3_1100631014.pdf 55,55 %
6. LAPORAN_TUGAS_PRAKTI
KUM_PBO_1100631020.pdf
5,38 %
7. LAPORAN_TUGAS_3_PRAK
TIKUM_PBO_11100631007.pd
f
5,56 %
8. laporan_Praktikum3_11006310
25.pdf
33,32 %
9. Laporan_Modul_3_1100631036
.pdf
44,41 %
10. Laporan_Modul3_1100631015.
pdf
10,43 %
11. laporan_3_1100631004.pdf 17,05 %
12. Laporan3_M.Ulil_Albab_Kholil
ulloh_1100631051.pdf
45,82 %
13. LAPORAN_PRAK_III_PBO_1
100631016_Yunus_Martha_Efe
ndy.docx
19,98 %

Terdapat 2 file yang memiliki nilai similiarity
threshold diatas 50%, sehingga dinyatakan sebagai
dokumen yang terjiplak dengan dokumen file
pembanding.
Terdapat penurunan jumlah file yang teridenti-
fikasi penjiplakan ketika nilai k-gram, window, dan
basis hash-nya lebih besar. Dengan nilai k-gram dan
nilai window yang lebih besar dapat menghasilkan
nilai persentase kemiripan yang lebih kecil karena
semakin panjang k-gram nya semakin sedikit karakter-
karakter yang dianggap sama, begitu juga untuk
window yang panjang, maka terpilihnya hash yang
akan dibandingkan juga semakin sedikit.

3) Pengujian 3
Pada pengujian kedua ini dilakukan konfigurasi
sebagai berikut:
Ukuran k-gram : 20
Ukuran window : 4
Nilai basis hash : 7
File pembanding :
Modul_3_Konsep_Klass_1100631003.pdf
Similiarity Threshold : 50%
Konfigurasi di atas diujikan untuk mengetahui
seberapa besar ketika nilai k-gram jauh lebih besar
daripada nilai window. Selanjutnya pengujian
dilakukan terhadap 13 dokumen file terkelompok yang
serupa. Hasilnya ditampilkan pada tabel berikut.

Tabel 3.4 Hasil Pengujian 3
No.
Nama File Yang
Dibandingkan
Nilai
Similarity
Threshold
1. modul3_konsepclass_1100631
005.pdf
29,61 %
2. modul3_1100631028.pdf 24,27 %
3. modul3_1100631026.pdf 58,80 %
4. modul3_1100631021.pdf 47,23 %
5. modul3_1100631014.pdf 54,21 %
6. LAPORAN_TUGAS_PRAKT
IKUM_PBO_1100631020.pdf
5,20 %
7. LAPORAN_TUGAS_3_PRA
KTIKUM_PBO_1110063100
7.pdf
5,33 %
8. laporan_Praktikum3_1100631
025.pdf
34,18 %
9. Laporan_Modul_3_11006310
36.pdf
41,59 %
10. Laporan_Modul3_110063101
5.pdf
9,30 %
Penelitian Internal Universitas Muhammadiyah Jember 2013

11. laporan_3_1100631004.pdf 14,55 %
12. Laporan3_M.Ulil_Albab_Kho
lilulloh_1100631051.pdf
46,78 %
13. LAPORAN_PRAK_III_PBO_
1100631016_Yunus_Martha_
Efendy.docx
19,33 %

Terdapat 2 file yang memiliki nilai similiarity
threshold diatas 50%, sehingga dinyatakan sebagai
dokumen yang terjiplak dengan dokumen file
pembanding.
Semakin besar ukuran k-gram dapat
mengakibatkan menurunnya nilai presentase
kemiripan dokumen. Hal ini terjadi karena semakin
panjang gram karakter, maka semakin sedikit
kesamaan karakternya.


4. Simpulan dan Saran
Dari hasil pengamatan mulai tahap analisis,
perancangan, implementasi, dan uji coba, dapat
diambil beberapa kesimpulan sebagai berikut:
1. Tindak penjiplakan dapat dilakukan dengan modify
yang mana dengan mengubah beberapa bagian
bahkan keseluruhan, yaitu dengan mengubah kata-
kata dengan sinonim.
2. Pencarian menggunakan teknik document
fingerprinting akan menjadi lebih efisien daripada
pencarian karakter-per-karakter pada nama-nama
yang panjangnya bervariasi.
3. Jika dengan menggunakan metode kualitatif dalam
menganalisa dokumen kemudian dihasilkan
sebuah simpulan bahwa dokumen tersebut
merupakan hasil penjiplakan, maka begitu halnya
analisa dokumen secara kuantitatif pada aplikasi
akan menghasilkan simpulan yang sama seperti
halnya metode kualitatif.
4. Dokumen dinyatakan terjiplak jika persentase
kemiripannya diatas 50 %.
5. Ukuran k-gram dan window yang kecil dapat
memberikan persentase hasil kemiripan yang lebih
besar.
6. Ukuran k-gram dan window yang besar, dapat
memberikan persentase hasil kemiripan yang lebih
kecil.

Adapun saran yang diberikan oleh penulis
untuk pengembangan aplikasi pendeteksi duplikasi ini,
yaitu:
1. Aplikasi ini dapat dikembangkan dengan
pendeteksi kalimat aktif dan pasif, karena tindak
penjiplakan juga sering kali mengubah kalimat
aktif menjadi pasif dan sebaliknya.
2. Penambahan fungsi tokenizing dan filtering untuk
pembuangan kata sambung seperti kata: yang,
dan, dengan, dan lain-lain agar kinerja
pendeteksian penjiplakan lebih cepat.



Daftar Pustaka
[1] Elbegbayan, Norzima. Winnowing, a Document
Fingerprinting Algorithm. Linkoping University.
[2] Schleimer, Saul, Daniel S. Wilkerson, dan Alex
Aiken. Winnowing: Local Algorithms for
Document Fingerprinting. Chicago.
[3] Kurniawati, Ana, Wicaksana, I Wayan Simri.
2008. Perbandingan Pendekatan Deteksi
Plagiarism Dokumen Dalam Bahasa Inggris.
Fakultas Ilmu Komputer dan Teknologi Informasi,
Universitas Gunadarma.
[4] Kardhon, Roni. 2008. The Winnowing Algorithm.
Department of Computer Science, Tufts
University.
[5] Kusmawan, Putu Yuwono, Umi Laili Yuhana,
Diana Purwitasari. Aplikasi Pendeteksi
Penjiplakan pada File Teks dengan Algoritma
Winnowing. Jurusan Teknik Informatika, Fakultas
Teknologi Informasi, Institut Teknologi Sepuluh
November Surabaya.
[6] Nugroho, Eko. 2011. Perancangan Sistem Deteksi
Plagiarisme Dokumen Teks Dengan Menggunakan
Algoritma Rabin-Karp. Program Studi Ilmu
Komputer, Jurusan Matematika, Fakultas
Matematika dan Ilmu Pengetahuan Alam,
Universitas Brawijaya.
[7] Novanta, Audi. 2009. Pendeteksian Plagiarisme
Pada Dokumen Teks Dengan Menggunakan
Algoritma Smith-Waterman. Program Studi Ilmu
Komputer, Departemen Ilmu Komputer, Fakultas
Matematika dan Ilmu Pengetahuan Alam,
Universitas Sumatera Utara.

Anda mungkin juga menyukai