Winnowing Implementasi Algoritma Winnowing Dan Porter Stemmer Mendeteksi Kemiripan Dua Dokumen Berbasis Web

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