IMPLEMENTASI DETEKSI PENJIPLAKAN DENGAN ALGORITMA WINNOWING PADA DOKUMEN TERKELOMPOK
Tugas Akhir
I Wayan Surya Priantara 5107100057
Dosen Pembimbing
Diana Purwitasari, S.Kom., M.Sc. Umi Laili Yuhana, S.Kom., M.Sc.
Latar Belakang
 Banyak artikel / tulisan yang dihasilkan oleh
seseorang, menjiplak karya milik orang lain.
 Kegiatan penjiplakan sering terjadi pada bidang
pendidikan.
 Sebuah dokumen dibandingkan satu persatu walau
tidak memiliki kesamaan topik.
PERMASALAHAN
Rumusan Masalah
 Bagaimana mengelompokan dokumen berdasarkan
kesamaan kalimat.
 Bagaimana mekanisme pengecekan kesamaan
kalimat pada satu dokumen dengan koleksi dokumen
Batasan Masalah
 Dataset yang akan dilakukan pendeteksian adalah
file teks digital yang berekstensi .doc, .docx, dan .pdf.
Tujuan
 Mengefektifkan pengecekan penjiplakan pada
banyak dokumen dengan mengelompokan dokumen.
Tipe-tipe Penjiplakan
 Word for word plagiarism
Menyalin setiap kata secara lansung tanpa diubah sedikitpun.
 Plagiarism of authorship
Mengakui hasil karya orang lain sebagai hasil karya sendiri
 Plagiarism of ideas.
Mengakui hasil pemikiran atau ide orang lain sebagai pemikirin diri sendiri.
 Plagiarism of sources
Jika seorang penulis menggunakan kutipan dari penulis tanpa mencantumkan narasumbernya.
Contoh
8
Dokumen A :
... cairan hidrotermal tidak harus berasal dari larutan magma, kalau demikian istilah hidrotermal bukan berarti genetik.. ...
Dokumen B :
.... Park dan Diarmid (1964) berpendapat bahwa cairan
hidrotermal tidak harus berasal dari larutan magma, kalau demikian istilah hidrotermal bukan berarti genetik.
Langkah-langkah
Mulai Membentuk Fingerprint Membaca Isi Dokumen Menentukan Kelompok Membentuk Kelompok Menampilkan Hasil Selesai Mendeteksi Tingkat Kesamaan Membentuk Kelompok DokumenString isi dokumen
Fingerprint
Tingkat Kesamaan
Membentuk fingerprint dengan algoritma winnowing
dan untuk mengelompokan dengan algoritma k-means++
Ya
Tidak
Tingkat Kesamaan
 Tingkat kesamaan sebuah dokumen terhadap
dokumen lain diukur dengan cara membandingkan seluruh nilai hash (fingerprint) antar dokumen.
𝑇𝑖𝑛𝑔𝑘𝑎𝑡 𝐾𝑒𝑠𝑎𝑚𝑎𝑎𝑛 = 𝑗𝑢𝑚𝑙𝑎 𝑎𝑠 𝑦𝑎𝑛𝑔 𝑠𝑎𝑚𝑎
𝑡𝑜𝑡𝑎𝑙 𝑔𝑎𝑏𝑢𝑛𝑔𝑎𝑛 𝑗𝑢𝑚𝑙𝑎 𝑎𝑠 𝑥 100%
Tampilan Antarmuka
Tampilan Antarmuka
Tampilan Antarmuka
Dataset
No Nama Tugas Topik Jumlah
1 Tugas 1 Komunikasi 15
2 Tugas 2 BioinformatikaSurface 15
Recontruction 15
3 Tugas 3 Hyperspectral 15
Total 60
14
Dataset adalah dokumen-dokumen tugas mata kuliah sosio etika pada semester gasal 2009/2010 di Teknik Informatika ITS .
Skenario Uji Coba
15
Pengelompokan • Penentuan Nilai Alpha
• Penentuan Kelompok untuk Dokumen baru • Waktu Deteksi Penjiplakan
Deteksi Penjiplakan • Hasil Tingkat Kemiripan
Penentuan Nilai Alpha
16
No. Nilai Alpha
Percobaan Rata-rata 1 2 3 4 5 1 0,25 3 4 4 4 4 4 2 0,5 6 6 6 5 6 6 3 0,75 7 8 5 6 7 7 4 1 6 5 8 8 4 7
Jumlah Kelompok yang Terbentuk
Analisis
Bahwa semakin kecil nilai alpha, maka jumlah kelompok yang sebaiknya terbentuk semakin sedikit. Begitupula sebaliknya.
Penentuan Nilai Alpha
17
No. AlphaNilai
Percobaan Rata-rata 1 2 3 4 5 1 0,25 0,6469 0,7613 0,7158 0,8877 0,8134 0,7650 2 0,5 0.8616 0,8055 0,7777 0,8373 0,8228 0.8209 3 0,75 0,7085 0,8998 0,4157 0,7368 0,5501 0,6621 4 1 0,0886 0,3111 0,5940 0,5135 0,3889 0,3792
Nilai Akurasi tiap Percobaan
Analisis
Nilai alpha 0,5 memiliki nilai akurasi tertinggi. Hal ini dikarenakan pada nilai tersebut banyak dokumen yang sesuai terkelompok sesuai dengan topik.
Hasil Pembentukan Kelompok
No Nama Kelompok Jumlah Dokumen Topik Pembahasan
1 Kelompok 0 14 -2 Kelompok 1 6 Bioinformatika 3 Kelompok 2 8 Hyperspectral 4 Kelompok 3 17 Komunikasi/Surface 5 Kelompok 4 7 Hyperspectral 6 Kelompok 5 8 Bioinformatika 18
Hasil Uji Coba Penentuan Kelompok
Nama Dokumen Topik Hasil Pengelompokan Keterangan
Tugas 2 Sostek -5107100125 Kelas B.doc Bioinformatika Kelompok 1 Bioinformatika Benar Tugas 2 Sostek-5107100032 kelas B.doc Surface Kelompok 3 Surface Benar Tugas 2 Sostek-5107100167 Kelas B.doc Surface Kelompok 3 Surface Benar Tugas 2 SosTek_5107100070_Kel as B.doc Bioinformatika Kelompok 3 Surface Salah Tugas 3 Soset -5101700098 - Kelas B.doc Hyperspectral Kelompok 2 Hyperspectral Benar Tugas 3 sosioetika-5107100116 Kelas B.doc Hyperspectral Kelompok 4 Hyperspectral Benar Tugas 3 Sostek -5106100024 - Kelas B.doc Hyperspectral Kelompok 2 Hyperspectral Benar 19 Analisis
Pada penentuan kelompok untuk dokumen baru memiliki tingkat kesesuaian yang tinggi
Hasil Uji Coba Waktu Deteksi
Nama Dokumen
Jumlah Kelompok
Tidak Dikelompokan Dikelompokan (6 Kelompok)
Quick Sort2.docx 64 detik 4 detik
Tugas 1 Soset - 5107100098 - Kelas B.doc 98 detik 4 detik Tugas 1 sostek - 5107100100 kelas B.doc 88 detik 5 detik Tugas 1 Sostek - 5106100093 Kelas B.doc 84 detik 5 detik Tugas 1 Sostek - 5106100104 kelas
(B).doc 107 detik 9 detik
Tugas 1 Sostek - 5106100117 Kelas
B.docx 74 detik 9 detik
20
Analisis
Sebuah dokumen dilakukan pendeteksian penjiplakan dokumen waktu yang diperlukan lebih lama pada kumpulan yang tidak dikelompokan dibandingkan kumpulan dokumen yang dikelompokan
Hasil Deteksi Penjiplakan
21
Analisis
Dari dataset dokumen ditemukan beberapa dokumen yang di duga melakukan penjiplakan
Hasil Uji Coba Deteksi Penjiplakan
Kesimpulan
 Berdasarkan hasil percobaan bahwa nilai alpha
yang terbaik adalah 0,50. Hal ini dikarenakan dari jumlah kelompok yang terbentuk stabil dan nilai
akurasi yang dimiliki cukup tinggi. Selain itu pembahasan topik pada tiap kelompok tidak terlalu tinggi atau pun rendah sehingga jumlah
pembagian anggota tiap kelompok hampir merata.
 Dari data set yang digunakan telah ditemukan
dokumen yang diduga melakukan penjiplakan
Terima Kasih
Definisi Penjiplakan
 Kamus Besar Bahasa Indonesia
 Menggambar atau menulis garis-garis gambaran atau
tulisan yg telah tersedia (dengan menempelkan kertas kosong pada gambar atau tulisan yg akan ditiru).
 Mencontoh atau meniru tulisan atau pekerjaan orang
lain.
 Mencuri karangan orang lain dan mengakui sebagai
karangan sendiri.
 Mengutip karangan orang lain tanpa seizin penulisnya.
Back
Algoritma Winnowing
 Winnowing adalah algoritma yang digunakan untuk
melakukan proses document fingerprinting.
 Document fingerprinting merupakan proses
mengubah string menjadi nilai-nilai hash.
 Input dari proses document fingerprinting adalah
string teks. Kemudian outputnya akan berupa sekumpulan nilai hash yang disebut fingerprint.
Contoh Penerapan Alg. Winnowing
 Teks : the classic problem
1. Removing : theclassicproblem
2. n-gram (n=5) : thecl hecla eclas class lassi assic ssicp sicpr icpro cprob probl roble oblem
3. Hashing : rolling hash
13518 12463 12232 12268 12852 12411 13774 13491 12639 12500 13551 13538 13021 4. Window : 1 [13518 12463 12232 12268] 2 [12463 12232 12268 12852] 3 [12232 12268 12852 12411] 4 [12268 12852 12411 13774] 5 [12852 12411 13774 13491] 6 [12411 13774 13491 12639] 7 [13774 13491 12639 12500] 8 [13491 12639 12500 13551] 9 [12639 12500 13551 13538 ] 10 [12500 13551 13538 13021] 5. Fingerprint : 12232 12268 12411 12500 27 Back
Rolling Hashing
 Fungsi hash didefinisikan sebagai berikut:
 thecl = t * 3(5-1) + h * 3(5-2) + e * 3(5-3) c * 3(5-4) + l * 3(5-5)
= 116 * 3(4) + 104 * 3(3) + 101 * 3(2) + 99 * 3(1) + 105 * 3(0)
= 13518
 Keuntungan dari rolling hash adalah untuk nilai hash berikutnya
dapat dilakukan dengan cara:
 hecla = (13518 – t * 3(4) ) * 3 + a = 13518 – 116 * 3(4) ) * 3 + 97 = 12463 𝐻 𝑐2…𝑐𝑘+1 = 𝐻 𝑐1…𝑐𝑘 − 𝑐1 ∗ 𝑏 𝑘−1 ∗ 𝑏 + 𝑐(𝑘+1) 𝐻(𝑐1…𝑐𝑘) 𝑐1 ∗ 𝑏 𝑘−1 + 𝑐2 ∗ 𝑏 𝑘−2 + ⋯ + 𝑐 𝑘−1 ∗ 𝑏𝑘 + 𝑐𝑘 Back 28
Algoritma K-means++
 Langkah algoritma K-means++ adalah : 29
Menentukan satu centroid awal pada seluruh data dokumen
Melakukan pembobotan D(d), ketidakmiripan tiap dokumen dengan centroid terdekat
Memilih satu centroid dari data dengan probabalitas tiap dokumen terpilih D(d2).
Ulangi langkah 2, bila centroid terpilih < k
Algoritma K-means
 Langkah-langkah Alg. K-means 30
Menentukan nilai k Menentukan centroid Menghitung tingkat kesamaan setiap dokumen ke masing-masing centroid Mengelompokkan setiap dokumen Menentukan nilai – nilai hash sebagai
centroid baru
Kembali ke langkah 3 jika nilai – nilai hash pada
centroid baru dengan centroid lama tidak sama.
Penentuan Centroid
31
Dok 1 Dok 2 Dok 3
12479 12875 13444 13455 13455 13114 12875 12399 13455 13887 13444 centroidα(C) = ⋃ f(Cα, h) | h ∈ ⊎ W(di), 𝑓(,𝐶)𝑛 ≥ 𝛼 Hash Frekuensi 12479 1 0,3333 13455 3 1 12875 2 0,6667 13887 1 0,3333 12399 1 0,3333 13444 2 0,6667 13114 1 0,3333 𝑓(, 𝐶) 𝑛
Penentuan Jumlah Kelompok
32Rule of Thumb
Hartigan Index
𝑘 ≈ 𝑛 2 BackH(k) = (n – k – 1)
𝑒𝑟𝑟 𝑘 − 𝑒𝑟𝑟 𝑘+1 𝑒𝑟𝑟 𝑘+1err(k) =
𝑘𝑖=1 𝑛𝑗 =1;𝑗 𝜀𝐶𝑖𝑑
2𝑋
𝑗, 𝑋
𝐶𝑖 dimana :Rule of Thumb
 Rule of Thumb merupakan algoritma penentuan
jumlah kelompok yang sebaiknya terbentuk dalam pengklasteran berdasarkan banyaknya data yang tersedia
 Contoh Rule of Thumb
𝑘 ≈
𝑛 2
33
𝑘 ≈ 100 2 𝑘 ≈ 50 𝑘 ≈ 7,071
Hartigan Index
 Hartigan index merupakan salah satu metode
statistik untuk menguji perubahan relatif dari nilai perubahan suatu kelompok. Metode ini dapat
digunakan untuk mengetahui jumlah kelompok yang sesuai dari perbandingan tingkat error suatu
kelompok dengan kelompok satu setelahnya.
Hartigan Index
 Contoh 35 k Nilai err(k) 2 27,80 3 13,70 4 11,38dimana jumlah data adalah 100
H(2) = (100 – 2 – 1) 27,80− 13,7013,70
k H(k)
2 99,8321