Winnowing
adalah algoritma yang digunakan untuk melakukan proses pengecekkan kesamaan
kata untuk mengidentifikasi plagiarisme. Algoritma yang digunakan untuk mencari
nilai hash dalam winnowing adalah rolling hash. Nilai hash merupakan nilai
numerik yang terbentuk dari perhitungan ASCII tiap karakter. Penghapusan
karakter-karakter yang tidak relevan (whitespace insensitivity), antara lain
spasi atau tanda baca. Pembentukan rangkaian gram dengan ukuran k. Penghitungan
nilai hash dari setiap gram. Membagi ke dalam window tertentu. Pemilihan
beberapa nilai hash menjadi document fingerprinting. Menentukan prosentase
kesamaan antara 2 dokumen dengan persamaan Jaccard Coefficient
Contoh
kasus
Teks
1 : bunga mawar merah
Teks
2 : bunga mawar putih
Langkah
pertama : menghilangkan tanda baca dan spasi
Teks
1 : bungamawarmerah
Teks
2 : bungamawarputih
Langkah kedua : pembentukan rangkaian nilai k-gram dengan ukuran 5.
Teks 1 : bunga ungam ngama gamaw amawa
mawar awarm warme armer rmera merah
Teks 2 : bunga ungam ngama gamaw amawa mawar
awarp warpu arput rputi putih
Langkah
ketiga : melakukan perhitungan nilai-nilai hash dari setiap gram menggunakan
rolling hash.
· Menghitung
nilai hash dari kata “bunga” :
Setelah
mendapatkan nilai hash dari kata “bunga” maka untuk mencari nilai hash kata kedua
yaitu “ungam” tidak perlu menggunakan rumus 1 lagi, karena pada kata kedua
terdapat juga karakter pada kata pertama sehingga menggunakan rumu kedua untuk
mencari nilai hash pada kata kedua dan seterusnya.
Langkah
keempat : membentuk window dari nilai-nilai hash.
Langkah
kelima : memilih nilai hash terkecil dari setiap widow untuk dijadikan
sebagai fingerprint.
Langkah
keenam : pengukuran nilai similaritas.