26
Mulai Masukkan
teks yang telah di-
parsing
toLowerCase
Penghapusan karakter, angka, dan
simbol Penghapusan
karakter, angka, dan simbol
Penghapusan 2 kata Masukkan
teks yang telah di-
parsing
Array kata pembentuk
kalimat Mulai
Selesai
Gambar 3.2. Flowchart Text Preprocessing
b. Penghapusan stopwords
Proses penghapusan stopwords adalah sebagai berikut: 1. Teks dokumen hasil proses text preprocessing dijadikan data masukan.
2. Setiap tekskata dijadikan array kata dan dibandingkan dengan kata-kata yang ada di tabel stoplist di dalam database.
3. Jika beberapa kata yang ada di database terdapat juga di array kata, maka kata tersebut akan dihapus dari array. Dan apabila di array tidak terdapat
kata seperti yang ada di database, maka kata tersebut tidak dihapus. Dan array kata yang tersisa akan diproses ke tahap berikutnya.
Proses penghapusan stopwords dapat juga dilihat pada flowchart Gambar 3.3.
27
Mulai Masukkan teks
hasil text preprocessing
Bentuk arrayKata dari setiap teks
Bandingkan setiap arrayKata dengan kata yang ada di tabel
stoplist
Kata dihapus dari arrayKata
Sesuai YA
TIDAK
Kata tidak dihapus dari
arrayKata
Sisa arrayKata
Selesai
Gambar 3.3. Flowchart Penghapusan Stopwords
c. Stemming enhanced confix stripping
Proses stemming yang dilakukan sesuai dengan algoritma yang digunakan oleh penulis, yaitu algoritma Enhanced Confix Stripping Stemmer Mahendra, 2008
dengan beberapa perubahan. Tahapan yang dilakukan algoritma ECS adalah sebagai berikut:
1. Sisa arrayKata dari proses penghapusan stopwords dijadikan data masukan.
28
2. Setiap arrayKata akan dicek ke kamus data, yaitu ke tabel kata dasar yang ada di database. Jika terdapat arrayKata yang sama dengan kata dasar
maka algoritma berhenti. Sebaliknya, jika arrayKata tidak sama dengan kata dasar maka proses stemming dilanjutkan.
3. Lakukan pengecekan aturan awalan dan akhiran yang tidak diperbolehkan Prefix Disallowed Sufixes, seperti be-
…-i, di-…-an, ke-…-i, ke-…-kan, me-
…-an, se-…-i, se-…-kan. 4. Tahapan penghapusan awalan dan akhiran terdiri dari:
a. Penghapusan Inflection Suffixes akhiran. Proses ini meliputi penghapusan particle
partikel berupa …-kah, …-lah, …-pun, …-tah dan penghapusan possessive pronoun kata ganti kepunyaan berupa
…-ku, …-mu, …-nya. b. Penghapusan Derivation Suffixes akhiran. Proses ini menghapus
akhiran …-an, …-i, …-kan. c. Penghapusan Derivation Prefixes awalan. Proses ini meliputi
penghapusan awalan be- …, di-…, ke-..., me-…, pe-…, se-…, dan te-…
Penghapusan awalan di- …, ke-…, dan se-… dapat langsung dihapus.
Dan penghapusan awalan be- …, me-…, pe-…, te-… mengikuti aturan
pada Tabel 2.4. 5. Proses penghapusan awalan dan akhiran dimulai dari penghapusan akhiran
lalu awalan. 6. Setiap melakukan proses penghapusan, kata dicek ke kamus data. Jika kata
yang sudah mengalami penghapusan awalanakhiran sudah sama dengan kata dasar, maka proses stemming dihentikan. Dan sebaliknya.
Proses stemming dapat juga dilihat pada flowchart Gambar 3.4.
29
Pengecekan ke kamus data
Sesuai
Pengecekan Akhiran Partikel
-kah, -lah, -pun, -tah
Adakah Penghapusan
Akhiran Partikel Pengecekan ke kamus data
Sesuai
Pengecekan Akhiran Kata Ganti
Kepunyaan -ku, -mu, -nya
Adakah Penghapusan
Akhiran Kata Ganti Kepunyaan
Pengecekan ke kamus data Sesuai
TIDAK
YA
YA TIDAK
TIDAK YA
YA YA
TIDAK Pengecekan Awalan dan
Akhiran Yang Tidak Diperbolehkan
be- …-i, di-…-an, ke-…-i, ke-
…-kan, me-…-an, se-…-i, se- …-kan
TIDAK
Adakah Penghapusan
Awalan Pengecekan ke kamus data
YA Sesuai
Penghapusan Akhiran
TIDAK Sesuai
YA
YA
TIDAK
P1 P2
TIDAK P3
Mulai Masukkan teks
hasil penghapusan stopwords
Gambar 3.4. Flowchart Stemming ECS
30
P1 P2
P3
Pengecekan Akhiran
-an, -i, -kan
Adakah Penghapusan
Akhiran Pengecekan ke kamus data
Sesuai YA
YA
TIDAK TIDAK
Pengecekan Awalan
di-, ke-, se-
Adakah Penghapusan
Awalan Pengecekan ke kamus data
Sesuai YA
YA
TIDAK TIDAK
Pengecekan Awalan
be-, me-, pe-, te- mengikuti aturan pada
Tabel 2.4.
Adakah Penghapusan
Awalan Pengecekan ke kamus data
Sesuai YA
YA TIDAK
Pengecekan ke kamus data
Teks merupakan kata dasar
Tabel Kata Dasar
Selesai
Gambar 3.4. Flowchart Stemming ECS lanjutan
31
d. Pembentukan nilai hash dan fingerprint