dapat meningkatkan kemungkinan terbentuknya sebuah Rule Assosiasi, atau dapat meningkatkan kualitas Rule Assosiasi yang dihasilkan.
2.3 Winnowing
Algoritma Winnowing merupakan algoritma yang digunakan untuk deteksi penjiplakan. Input dari algoritma ini adalah dokumen teks yang diproses sehingga
menghasilkan output berupa kumpulan nilai-nilai hash, nilai hash merupakan nilai numerik yang terbentuk dari perhitungan ASCII tiap karakter. Kumpulan-
kumpulan nilai hash tersebut selanjutnya disebut fingerprint [11]. Fingerprint inilah yang digunakan dalam deteksi penjiplakan. Langkah awal dalam penerapan
algoritma Winnowing adalah membuang karakter-karakter dari isi dokumen yang tidak relevan misal tanda baca spasi dan simbol lain. Langkah kedua isi dokumen
yang telah dilakukan pembersihan selanjutnya dilakkukan pembentukan rangkaian gram, dimana n =5. Langkah ketiga dari rangkaian gram yang telah terbentuk
dibentuk nilai hash dengan nilai ASCII tiap karakter. Pembentukan nilai hash menggunakan persamaan rolling hash. Langkah keempat nilai-nilai hash yang telah
terbentuk dibentuk window-window. Dari window-window yang telah terbentuk dilakukan pemilihan nilai hash terkecil pada tiap window untuk dijadikan
Universitas Sumatera Utara
fingerprint tiap dokumen. Nilai-nilai fingerprint inilah yang digunakan untuk menemukan tingkat presentase kesamaan sebuah dokumen dengan dokumen lain.
Input dari algoritma ini sendiri adalah string dari dokumen tersebut, dan output nya berupa nilai-nilai hash yang dinamakan fingerprints dari dokumen tersebut.
Syarat dari algoritma deteksi penjiplakan seperti whitespace insensitivity, yaitu pencocokan teks file seharusnya tidak terpengaruh oleh spasi, jenis huruf kapital,
tanda baca dan sebagainya, noise surpression yaitu menghindari pencocokan teks file
dengan panjang kata yang terlalu kecil atau kurang relevan dan bukan merupakan kata yang umum digunakan, dan position independence yaitu pencocokan teks file
seharusnya tidak bergantung pada posisi kata-kata sehingga kata dengan urutan posisi berbeda masih dapat dikenali jika terjadi kesamaan. Winnowing telah memenuhi
syarat-syarat tersebut dengan cara membuang seluruh karakter-karakter yang tidak relevan misal: tanda baca, spasi dan juga karakter lain, sehingga nantinya hanya
karakter-karakter yang berupa huruf atau angka yang akan diproses lebih lanjut.
Gambar 2.3 Persamaan Winnowing
Universitas Sumatera Utara
Algoritma winnowing lebih cepat waktu komputasinya daripada algoritma rabin-karp karena fingerprint dari algoritma rabin-karp lebih banyak sedangkan winnowing
dipilih nilai minimum dari window nya. keunggulan algoritma winnowing bisa memberikan informasi posisi fingerprint. Penggunaan nilai window yang semakin
besar dapat mempengaruhi dalam waktu proses, karena semakin besar nilai dari suatu window mempengaruhi proses pembentukan nilai-nilai hashing yang semakin kecil.
Selain itu, nilai k-gram dan basis juga mempengaruhi dalam memberikan persentasi kemiripan yang diperoleh sistem itu sendiri [3].
2.3.1 Hashing
Hashing adalah mengubah serangkaian karakter menjadi suatu kode atau nilai yang menjadi penanda dari rangkaian karakter tersebut. Dengan adanya pengubahan
inilah, maka tercipta penanda sebagai indeks untuk digunakan dalam mencari informasi kembali atau information retrieval. Fungsi untuk menghasilkan nilai ini
disebut fungsi hash, sedangkan nilai yang dihasilkan disebut nilai hash [11]. Nilai hash pada umumnya digambarkan sebagai fingerprint yaitu suatu string
pendek yang terdiri atas huruf dan angka yang terlihat acak. Fungsi Hash adalah suatu cara menciptakan “fingerprint” dari berbagai data masukan. Fungsi Hash akan
mengganti atau mentranspose-kan data tersebut untuk menciptakan fingerprint, yang biasa disebut hash value. Hash value biasanya digambarkan sebagai suatu string
pendek yang terdiri atas huruf dan angka yang terlihat random data biner yang ditulis dalam notasi hexadecimal. Algoritma fungsi hash yang baik adalah yang
menghasilkan sedikit hash collision. Hash collision merupakan kejadian dua atau lebih hash memiliki nilai hash yang sama.
Universitas Sumatera Utara
2.3.2 K-gram
K-gram adalah rangkaian substring yang bersebelahan dengan panjang. Metode ini menghasilkan rangkaian substring sejumlah k-grams, dimana k adalah parameter
yang dipilih oleh user. K-gram mengambil substring karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari
dokumen [9]. Dibawah ini salah satu contoh k-gram dengan k=5: Text: pohon anggur, dan melon
Kemudian dilakukan penghilangan spasi : pohonanggurdanmelon
Sehingga dihasilkan rangkaian 5-grams yang diturunkan dari text :
Pohon|| ohona || honan ||onang|| nanggu ||anggu ||nggur ggurd ||gurda|| urdan|| rdanm|| danme|| anmel|| nmelo
||melon
Universitas Sumatera Utara
2.4 Jaccard’s Similarity Coefficient