• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
15
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Pengertian Stemming

Stemming merupakan suatu proses atau cara dalam menemukan kata dasar dari suatu kata. Stemming sendiri berfungsi untuk menghilangkan variasi-variasi morfologi yang melekat pada sebuah kata dengan cara menghilangkan imbuhan-imbuhan pada kata tersebut, sehingga nantinya di dapat suatu kata yang benar sesuai struktur morfologi bahasa Indonesia yang benar.

(2)

2.2 Stemming Porter

Algoritma yang diimplementasikan dalam aplikasi ini menggunakan algoritma Porter. Algoritma Porter ditemukan oleh Martin Porter 1980. Algoritma tersebut digunakan untuk stemming bahasa inggris, kemudian karena proses stemming bahasa inggris berbeda dengan bahasa indonesia maka, dikembangkan algoritma porter khusus untuk bahasa indonesia (Porter Stemmer for Bahasa Indonesia) oleh W.B. Frakes pada tahun 1992. Algoritma ini terkenal digunakan sebagai stemmer untuk bahasa Inggris. Porter Stemmer dalam bahasa Indonesia akan menghasilkan keambiguan karena aturan morfologi bahasa Indonesia. Bila dibandingkan, untuk teks berbahasa Indonesia, Porter stemmer lebih cepat prosesnya daripada algoritma stemming yang lain. Tidak banyak algoritma yang dikhususkan untuk stemming bahasa Indonesia dengan berbagai keterbatasan didalamnya. Algoritma Porter salah satunya, algoritma ini membutuhkan waktu yang lebih singkat dibandingkan dengan stemming menggunakan algoritma lainnya [7].

Langkah-langkah algoritma Stemming Porter adalah sebagai berikut:

1. Periksa pada kata yang akan di Stemm jika terdapat partikel (kah”, lah”, “-pun”), maka hapus partikel yang melekat.

2. Hapus kata ganti kepemilikan seperti “-ku”, “-mu”, “-nya”, jika ada.

3. Hapus first order prefiks (awalan pertama) seperti “-meng”, “-meny”, “-men”, “-mem”, “-me”, “-peng”, “-peny”, “-pen”, “-pem”, “-di”, “-ter”, “-ke”.

(3)

Tabel 2.1 Kelompok rule pertama : inflectional particles

Tabel 2.2 Kelompok rule kedua :inflectional possesive pronouns Suffix Replacement Measure

Condition

Additional

Condition examples

Ku NULL 2 NULL Bukuku buku

Mu NULL 2 NULL bukumu buku

nya NULL 2 NULL Bukunyabuku

Suffix Replacement Measure Condition

Additional

Condition examples

Kah NULL 2 NULL Bukukah

buku

Lah NULL 2 NULL Adalah ada

(4)

Tabel 2.3 Kelompok rule ketiga: first order of derivational prefixes

Prefiks Replacement Measure condition

Additional

Condition Examples Meng NULL 2 NULL mengukur--->ukur

Meny s 2 v… menyapu--->sapu

Men NULL 2 NULL menduga--->duga

Mem p 2 v… memilah--->pilah

Mem NULL 2 NULL membaca--->baca Me NULL 2 NULL merusak--->rusak Peng NULL 2 NULL pengukur--->ukur

Peny s 2 v… penyapu--->sapu

Pen NULL 2 NULL penduga--->duga

Pem p 2 v… pemilah--->pilah

Pem NULL 2 NULL pembaca--->baca Di NULL 2 NULL diukur--->ukur Ter NULL 2 NULL tersapu--->sapu Ke NULL 2 NULL kekasih--->kasih

Tabel 2.4 Kelompok rule keempat: second order of derivational prefixes prefiks replacement Measure

condition

Additional condition

examples

Ber NULL 2 NULL Berlarilari

Bel NULL 2 ajar Belajarajar

Be NULL 2 K*er Bekerjakerja

Per NULL 2 NULL Perjelasjelas

Pel NULL 2 ajar Pelajarajar

(5)

Tabel 2.5 Kelompok rule kelima: derivational suffixes suffix replacement Measure

condition

Additional condition

examples

kan NULL 2 Prefix Tarikantarik

(Meng)ambilkanambil

an NULL 2 prefix Makananmakan

(per)janjianjanji

i NULL 2 V, prefix Tandaitanda

(men)dapatidapat Pantaipanta

Stemming adalah proses untuk menggabungkan atau memecahkan setiap varian-varian suatu kata menjadi kata dasar [7]. Stem (akar kata) adalah bagian dari kata yang tersisa setelah dihilangkan imbuhannya (awalan dan akhiran). Contoh : connect adalah stem dari connected, connecting, connection, dan connections. Metode stemming memerlukan input berupa term yang terdapat dalam dokumen. Sedangkan outputnya berupa stem.

Ada tiga jenis metode stemming, antara lain :

1. Successor Variety (SV) : lebih mengutamakan penyusunan huruf dalam kata dibandingkan dengan pertimbangan atas fonem. Contoh untuk kata-kata : corpus, able, axle, accident, ape, about menghasilkan SV untuk kata apple :

1. Karena huruf pertama dari kata “apple” adalah “a”, maka kumpulan kata yang ada substring “a” diikuti “b”, “x”, “c”, “p” disebut SV dari “a” sehingga “a” memiliki 4 SV.

(6)

2. N-Gram Conflation : ide dasarnya adalah pengelompokan kata-kata secara bersama berdasarkan karakter-karakter (substring) yang teridentifikasi sepanjang N karakter.

3. Affix Removal : membuang suffix dan prefix dari term menjadi suatu stem. Yang paling sering digunakan adalah algoritma Porter Stemmer karena modelnya sederhana dan effisien.

1. Jika suatu kata diakhiri dengan “ies” tetapi bukan “eies” atau “aies”, maka “ies” direplace dengan “y”

2. Jika suatu kata diakhiri dengan “es” tetapi bukan “aes” atau “ees” atau “oes”, maka “es” direplace dengan “e”

3. Jika suatu kata diakhiri dengan “s” tetapi bukan “us” atau “ss”, maka “s” direplace dengan “NULL”

Gambar 2.1 Diagram Stemming Algoritma Stemming

Successor Variety Affix Removal N-Grams Conflation

(7)

Stemming adalah proses pemetaan dari penguraian berbagai bentuk kata baik itu prefik sufik, maupun gabungan antara prefik dan sufik,menjadi bentuk kata dasarnya atau stem.Algoritma Stemming yang digunakan adalah Potter Stemmer untuk bahasa Indonesia. Algoritma stemming dapat mengatasi akhiran yang berupa partikel, akhiran yang menunjukkan kata ganti kepemilikan, prefiks (imbuhan), sufiks (akhiran), dan gabungan antara prefiks dan sufiks. Sebelum melakukan proses penghilangan imbuhan pada Potter Stemmer, dilakukan perhitungan measure. Stemming itu proses pemotongan (pemangkasan) kata untuk mendapatkan bentuk dasar (kata dasar) dari kata tersebut. Misal terdapat kata mempermainkan, maka dari kata tersebut bisa dipilah-pilah menjadi mem + per + main + kan.

(8)

Prefiks 1 + Prefiks 2 + Kata dasar + Sufiks 3 + Sufiks 2 + Sufiks 1

(9)
(10)

Gambar 2.2 Flowchart Stemmer Porter

Pada proses stemmer porter, pertama-tama masukkan kata yang akan di stem, lalu memeriksa apakah terdapat partikel, jika ada maka hapus partikel, jika tidak maka lanjutkan memeriksa apakah terdapat kata kepemilikan, jika ada maka hapus, jika tidak maka lanjutkan. Periksa apakah terdapat prefix, jika ada maka hapus, jika tidak maka lanjutkan memeriksa apakah terdapat sufiks.Jika terdapat sufiks maka hapus. Jika pemeriksaan berhasil maka proses dinyatakan selesai dan tidak perlu melanjutkan proses pemotongan imbuhan selanjutnya. Dokumen dalam bahasa indonesia mempunyai keunikan tersendiri, karena kata - kata dalam bahasa indonesia dapat berubah bentuk saat mendapatkan imbuhan. Akibat dari hal proses Stemmer dari dokumen berbahasa Indonesia, yaitu proses mengembalikan kata ke bentuk dasar, memerlukan teknik tersendiri yang berbeda dengan teknik Stemmer pada bahasa - bahasa lain.

Fungsi Stemmer yang didesain berdasarkan algoritma Porter Stemmer for Bahasa Indonesia adalah inti dari tahap pre-processing yang dibuat. Guna dari fungsi ini adalah sebagai berikut:

1. Dengan mengembalikan kata menjadi kata dasarnya, akan sangat mengurangi macam kata yang perlu diperiksa dan dibandingkan dengan tabel Stopword maupun tabel Keyword. Hal ini akan mempercepat proses perbandingan kata serta mengurangi isi tabel Stopword dan tabel Keyword.

(11)

dapat meningkatkan kemungkinan terbentuknya sebuah Rule Assosiasi, atau dapat meningkatkan kualitas Rule Assosiasi yang dihasilkan.

2.3 Winnowing

(12)

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

(13)

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

(14)

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

(15)

2.4 Jaccard’s Similarity Coefficient

Jaccard’s Similarity Coefficient (Jaccard 1912) merupakan indeks umum untuk variabel biner. Hal ini didefinisikan sebagai hasil bagi antara persimpangan dan serikat variabel dibandingkan berpasangan antara dua benda.

Untuk menghitung kemiripan dari dua dokumen , diperlukan Jaccard’s Similarity Coefficient, dengan rumus :

│ Aᴖ B│

D(A,B) = ________________ X 100% │ AᴗB│- │ Aᴖ B│

Keterangan:

D(A,B) merupakan nilai similarity ,

│ Aᴖ B│ jumlah dari fingerprints dokumen 1 dan 2 yang sama,

Gambar

Tabel 2.2 Kelompok rule kedua : inflectional possesive pronouns
Tabel 2.4  Kelompok rule keempat: second order of derivational prefixes
Tabel 2.5  Kelompok rule kelima: derivational suffixes
Gambar 2.3 Persamaan Winnowing

Referensi

Dokumen terkait

Oleh karena itu, diperlukan suatu ilmu untuk mempelajari pengarahan sebuah proses produksi atau penyutradaraan dalam pembuatan suatu video animasi Iklan Layanan Masyarakat maka

Ini merupakan satu persoalan utama bagi mereka yang tidak memahami bagaimana model 4MAT dapat membantu dalam menghasilkan pengajaran mata pelajaran Sejarah yang lebih efektif

Kelemahannya adalah waktu belajar anak harus terencana. Jika saatnya kursus maka anak harus.. Padahal, suasana hati anak mungkin sedang tidak bagus. Untuk anak usia dini,

Keadaan lingkungan yang buruk, pemukiman penduduk yang kotor, serta minimnya pengetahuan masyarakat tentang cara hidup sehat menyebabkan penyakit pes dapat menjalar

Bagi hasil maksimal sesuai syariah + keuntungan Uchrawi 2,5% (I 0 +R)x 700.. • Komposisi portofolio investasi saat ini yang tidak memberikan hasil optimal. • Dibentuk

Pengolahan data angin dilakukan secara statistik sebagai input hitungan peramalan metode SMB dan selanjutnya dilakukan simulasi numerik dengan program MIKE 21/3

The existence of the college as a center of the creation for various sciences are a particular challenge for the management to manage the knowledge optimally. Knowledges

Analisis prosedur merupakan langkah awal yang dilakukan dari perancangan sistem informasi Akuntansi Pembayaran Gaji Pegawai Pada Dinas Tenaga Kerja Dan Transmigrasi