Dunia digital telah menawarkan kemudahan proses BAJAK atau juga bisa sering disebut plagiat! Karena begitu mudah dan cepatnya format digital tersebut di copy pastekan, tentu ada cara untuk mendeteksi kegiatan tersebut yaitu dengan menggunakan algoritma Manber. Algoritma ini menggunakan beberapa langkah yang sangat mudah. Langkah nya sebagai berikut
#Menghilangkan karakter selain huruf
Contents
misalkan ada kata = ini jln. no 45
Maka menjadi inijlnno
#menghitung k – gram
Misalkan saja kalimat = mulkan
Akan di windowing overlapping dengan nilai k = 3 atau sering disebut k-gram 3, maka overlapping hurufnya menjadi berikut
- mul
- ulk
- lka
- kan
#mencari nilai Hash untuk k-gram
Sebelum melakukan hal tersebut, anda harus mengetahui konversi string ke ascii
Berikut tabel dari karakter menjadi ascii dari karakter mulkan
m = 109, u = 117, l = 108, k = 107, a = 97, n = 110
sehingga
mul = 109,117,108
ulk = 117,108,107
dan seterusnya….
Rumus untuk mencari nilai hash dari k-gram sebagai berikut
Dengan
c : nilai ascii karakter
b : basis (bilangan prima)
k : banyak karakter
untuk contoh diatas, kalimat dari mul mempunyai panjang karakter
k = 3
kita akan menggunakan basis prima
b = 11 (anda bebas menggunakan angkanya, yang penting adalah bilangan prima)
sehingga hash untuk kalimat k-gram dari mul
109*11^2 + 117*11^1 +108*11^0 = 14584
Untuk kata dari ulk yaitu
117*11^2 +108*11^1+107*11^0 = 15452
Dan selanjutnya sehingga menjadi berikut
- mul = 14584
- ulk = 15452
- lka = 14342
- kan = 14124
#selanjutnya mencari nilai fingerprint
Fingerprint menggunakan aturan berikut nilai mod(hash,4) == 0
Sehingga dari
- mul = mod(14584, 4) = 0
- ulk = mod(15452, 4) = 0
- lka = mod(14342, 4) = 2
- kan = mod(14124, 4) = 0
maka fingerprint yang digunakan yang menghasilkan mod == 0
yaitu 1,3, dan 4
- 14584
- 15452
- 14124
Misakan kita akan mengkomparasi
Kalimat 1 = mulkan
Kalimat 2 = bejo pamungkas bagus mul mulkan
Dengan langkah yang sama seperti diatas akan menghasilkan berikut
Proses | Teks 1 | Teks 2 |
whitespace insensitivity | mulkan…. | bejopamungkasbagusmulmulkan…. |
k-gram | mul ulk lka kan | bej ejo jop opa pam amu mun ung ngk gka kas asb sba bag agu gus usm smu mul ulm lmu mul ulk lka kan |
hash | 14584 15452 14342 14124 | 13075 13498 14159 14760 14728 13053 14586 15470 14550 13737 14129 13100 15090 13028 12987 13865 15531 15231 14584 15454 14384 14584 15452 14342 14124 |
fingerprint | 14584 15452 14124 | 14760 14728 13100 13028 14584 14384 14584 15452 14124 |
Jaccard Coefficient | 37 |
Jika anda ingin mencoba menghitung presentasi coefficient kemiripannya bisa menggunakan Jaccard Coefficient
http://www.planetcalc.com/1664/
yaitu dengan membandingkan fingerprint dari kalimat 1 dan 2.
Berikut agar mudah, penulis menggunakan C# sebagai implementasi nya