ABSTRAK
Semakin meningkatnya kemajuan Universitas Gunadarma, maka banyak
sekali pembuatan penulisan ilmiah oleh mahasiswa. Sebuah penulisan ilmiah dapat
dengan mudah dikategorikan secara manual oleh manusia, tetapi jika dilakukan
secara terkomputerisasi akan membawa permasalahan tersendiri. Begitu pula
dengan mencari tingkat kemiripan atau similaritas suatu dokumen dengan dokumen
lainnya, manusia dapat dengan mudah menentukan apakah suatu dokumen memilki
tingkat kemiripan atau similaritas dengan dokumen lainnya atau tidak, untuk itu
pada penelitian ini akan dibuat sebuah tools yang dapat mengkategorikan dokumen
dan mencari tingkat nilai similaritas antar dokumen secara terkomputerisasi.
Dalam penelitian ini teknik yang digunakan untuk memecahkan masalah
diatas adalah dengan menggunakan teknik text mining untuk pengkategorian
dokumen penulisan ilmiah. Sedangkan untuk mencari nilai similaritas suatu dokumen
dengan dokumen lainnya menggunakan kata kunci yang didapat dari hasil
pengakategorian dokumen, dan algoritma yang digunakan adalah algoritma TF/IDF
(Term Frequency Inversed Document Frequency) dan Algoritma Vector Space
Model.
Dengan penelitian ini diharapkan proses pengkategorian dokumen secara
terkomputerisasi, hasilnya dapat sesuai dengan pengkategorian secara manual. Dan
pengukuran tingkat similaritas dokumen dapat menunjukan seberapa besar nilai
similaritas dokumen dengan dokumen lainnya.
Kata Kunci : Pengkategorian Dokumen, Similaritas Dokumen, Text Mining, TF-IDF,
Vector Space Model
PENDAHULUAN
Pemilahan sebuah karya penulisan ilmiah dapat dilakukan dengan mudah oleh
manusia, tetapi pemilahan dokumen dilakukan secara otomatis dengan komputer
akan membawa permasalahan tersendiri. Begitu pula dengan mengukur tingkat
kemiripan suatu dokumen dengan dokumennya lainnya, manusia dapat dengan
TINJAUAN PUSTAKA
Text mining memiliki definisi menambang data yang berupa teks dimana sumber data
biasanya didapatkan dari dokumen, dan tujuannya adalah mencari kata-kata yang
dapat mewakili isi dari dokumen sehingga dapat dilakukan analisa keterhubungan
antar dokumen.
Didalam proses text mining dilakukan beberapa tahapan umum diantaranya adalah
tokenizing, filtering, stemming, tagging, dan analyzing. Tahap tokenizing adalah
tahap pemotongan string input berdasarkan tiap kata yang menyusunnya. Setelah teks
input dilakukan proses tokenizing, maka tahap selanjutnya dilakukan tahap filtering.
yaitu tahap mengambil kata-kata penting dari hasil token. Tahap selanjutnya adalah
tahap stemming adalah tahap mencari dasar kata dari tiap kata hasil filtering. Setiap
kata yang memiliki imbuhan seperti imbuhan awalan dan akhiran maka akan diambil
kata dasarnya. Tahap berikutnya adalah Tahap tagging yang merupakan tahap
mencari bentuk awal/root dari tiap kata lampau atau kata hasil stemming. Tahap ini
tidak dipakai untuk teks bahasa Indonesia dikarenakan bahasa Indonesia tidak
memiliki bentuk lampau. Tahap yang terakhir dalam text mining adalah tahap
analyzing yaitu tahap penentuan seberapa jauh keterhubungan antar kata-kata antar
dokumen yang ada. Untuk melakukan analisa pada tahap analyzing dapat digunakan
algoritma TF/IDF (Term Frequency Inversed Document Frequency) dan Algoritma
Vector Space Model.
Dimana:
d = dokumen ke-d
t = kata ke-t dari kata kunci
W = bobot dokumen ke-d terhadap kata ke-t
tf = banyaknya kata yang dicari pada sebuah dokumen
IDF = Inversed Document Frequency
IDF = log2 (D/df)
D = total dokumen
df = banyak dokumen yang mengandung kata yang dicari
Setelah bobot (W) masing- masing dokumen diketahui, maka dilakukan proses
sorting/pengurutan dimana semakin besar nilai W, semakin besar tingkat similaritas
dokumen tersebut terhadap kata kunci, demikian sebaliknya. Contoh implementasi
sederhana dari TF-IDF adalah sebagai berikut:
Kata kunci (kk)
Dokumen 1 (D1)
Dokumen 2 (D2)
Dokumen 3 (D3)
=
=
=
=
pengetahuan logistik
manajemen transaksi logistik
pengetahuan antar individu
dalam manajemen pengetahuan terdapat transfer pengetahuan
logistik
Jadi jumlah dokumen (D) = 3
Setelah dilakukan tahap tokenizing dan proses filtering, maka kata antar pada
dokumen 2 serta kata dalam d a n terdapat pada dokumen 3 dihapus. Berikut ini
adalah tabel perhitungan TF/IDF
Tabel 1 Contoh perhitungan TF / IDF
tf
Token
manajemen
transaksi
logistik
transfer
kk D1 D2 D3
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
1
df
2
1
2
1
IDF
=
D/df
Log10 (D/df)
1.5
3
1.5
3
0.176
0.477
0.176
0.477
W
kk
D1
0
0.176
0
0.477
0.176 0.176
0
0
D2
D3
0
0
0
0
0.176
0
0.176
0.477
pengetahuan
individu
1
0
0
0
1
1
2
0
2
1
1.5
3
0.176
0.477
Total
0.176
0
0
0
0.176 0.352
0.477
0
Co sin e sim(d j , q ) =
dj q
dj q
(W
ij
Wiq )
i =1
t
Wij2 Wiq2
i =1
i =1
Apabila studi kasus pada algoritma TF/IDF di atas dicari nilai cosinus sudut antara
vektor masing- masing dokumen dengan kata kunci, maka hasil yang didapatkan akan
lebih presisi. Seperti yang ditunjukan tabel 2.
Token
manajemen
transaksi
kk
0
0
logistik
transfer
pengetahuan
individu
0.031
0
0.031
0
0.031
0
0
0
Sqrt(kk)
0.249
0
0
0.031
0.228
0.031
0.228
0.124
0
0.031
0
0
0
Sqrt(Di)
0.539
0.509
0
0
0.031
0
0.031
0
0.062
0
Sqrt(kk . Di)
0.643
0.031
0.031
0.093
Selanjutnya menghitung nilai cosinus sudut antara vector kata kunci dengan tiap
dokumen dengan menngunakan rumus:
Co sin e( Di ) = sum(kk Di ) /( sqrt (kk ) * sqrt ( Di )
Untuk Dokumen 1 (D1 )
Cosine (D1 ) = sum (kk . D1 ) / (sqrt(kk) * sqrt(D1 ))
= 0.031 / (0.249 * 0.539)
= 0.231
Untuk Dokumen 2 (D2 )
Cosine (D2 ) = sum (kk . D2 ) / (sqrt(kk) * sqrt(D2 ))
= 0.031 / (0.249 * 0.509)
= 0.245
Untuk Dokumen 2 (D3 )
Cosine (D3 ) = sum (kk . D3 ) / (sqrt(kk) * sqrt(D3 ))
= 0.093 / (0.249 * 0.643)
= 0.581
Sesuai perhitungan diatas maka nilai cosinus setiap dokumen telah didapat, seperti
tabel 3
Tabel 3 Hasil vector space model
D1
D2
D3
Cosine
0.231
0.245
0.581
Rank 3
Rank 2
Rank 1
Dari hasil akhir tersebut dapat diketahui bahwa dokumen 3 (D3 ) memiliki tingkat
similaritas tertinggi terhadap kata kunci, kemudian disusul dengan D2 dan D1 .
PERANCANGAN DAN PEMBANGUNAN PROGRAM
Konsep Aplikasi
Konsep aplikasi yang akan dibangun adalah pertama dokumen yang akan diujicoba
dilakukan proses uploading files, untuk mendapatkan dokumen dengan format teks.
Dokumen yang dapat diupload untuk dirubah ke dokumen teks adalah dokumen
dengan format PDF, Doc, dan TXT. Selanjutnya dokumen teks akan diproses dengan
teknik text mining yang akan menghasilkan kata kunci yang mewakili isi dokumen
untuk menentukan hasil pemilahan dokumen. Setelah mendapatkan kata kunci maka
dapat diproses kembali dengan algoritma TF-IDF untuk mendapatkan nilai bobot
dokumen, lalu kembali dilakukan perhitungan dengan algoritma vector space model.
Setelah semua proses selesai maka akan muncul nilai bobot dokumen dari nilai
terbesar sampai terkecil, dokumen dengan nilai bobot terbesar adalah dokumen yang
memiliki tingkat kemiripan tertinngi.
Algoritma Proses Kategorisasi Dokumen
Proses kategorisasi dokumen adalah proses pencocokan antara kata-kata penting yang
mewakili isi suatu dokumen dengan kata kunci yang telah ada didalam tabel
kata_kunci untuk menentukan jenis kategori suatu dokumen. Gambar 1 adalah
gambar yang menunjukan bagaimana proses pengkategorian dokumen.
optimal dan akurat. Untuk melakukan proses pengisian kata kunci, diperlukan
dokumen sumber yang jenis kategorinya telah diketahui dengan benar.
Tahapannya seperti yang ditunjukan oleh gambar berikut.
2. Pengkategorian Dokumen
Tahap pengkategorian dokumen merupakan proses penentuan kategori
dokumen, tahap ini akan melakukan analisa terhadap isi dokumen yang
diinput. Proses-proses yang dilakukan juga menggunakan tahap tokenizing,
filtering d a n word counting, jadi penulis tidak menggambarkan kembali
bagaimana proses tersebut dilakukan, karena pada tahap pengisian tabel kata
kunci telah dijelaskan secara terperinci.
Pada tahap ini, setelah dokumen dilakukan proses tokenizing, filtering dan
word counting, t a h ap yang harus dilakukan adalah melakukan proses
pencocokan kata kunci yang didapat dari proses sebelumnya dengan kata
kunci yang telah ada didalam database. Seperti yang ditunjukan pada gambar
3, dokumen abstraksi yang diinput, menghasilkan tiga kata kunci yaitu
bahasa, pemrograman, dan php dengan frekuensi jumlah kemunculan kata
yang berbeda-beda.
Untuk menganalisa tingkat kemiripan antar suatu kata kunci pada dokumen dengan
dokumen lain, tahap yang harus dilakukan adalah memilih dokumen yang ingin
dibandingkan dan dokumen yang menjadi pembandingnya. Dokumen yang dipilih
untuk dibandingkan memiliki kata kunci, dan kata kunci tersebut yang akan dianalisa
tingkat kemiripannya dengan dokumen lain.
Setelah mendapatkan kumpulan kata kunci pada dokumen yang ingin dibandingkan,
maka program akan melakukan proses perulangan sebanyak jumlah kata kunci
tersebut. Dalam proses perulangan ini, setiap satu kata kunci akan dibandingkan
dengan seluruh dokumen pembanding, untuk mendapatkan nilai bobot kata kunci
(WK2), dan bobot dokumen terhadap kata kunci (WDK2).
Proses perhitungan tahap-tahap diatas dilakukan untuk setiap satu kata kunci dengan
seluruh dokumen pembanding. Agar hasilnya lebih optimal hasilnya dikombinasikan
d e n g a n p e r h i t u n g a n vector
space
model,
dengan
rumus
NilaiCo sin us = (WDK ) /( WK / WD ) .
Setelah perhitungan nilai cosinus pada algoritma vector space mode dilakukan maka
hasil nilai perhitungan pada setiap dokumen akan di urutkan dari nilai cosinus
tertinggi. Dokumen yang memiliki nilai cosinus tertinggi adalah dokumen yang
memiliki tingkat kemiripan tertinggi dengan kata kunci.
13 File
10 File
9 File
15 File
47 File
Pada tabel 4 terlihat hanya 47 file yang berhasil di kategorikan dan sesuai dengan
hasil pengkategorian secara manual. Berikut ini adalah daftar tabel dari 3 dokumen
yang tidak berhasil dikategorikan atau hasilnya tidak sesuai dengan pengkategorian
secara manual.
No
1 10105792_ABSTRAKSI.pdf
Jaringan Komputer
Pemrograman Desktop
2 10104683_ABSTRAKSI.pdf
Sistem Informasi
Pemrograman Desktop
3 18103013_ABSTRAKSI.pdf
Sistem Informasi
Pemrograman Web
Pada tabel 5 terlihat ada 3 dokumen yang hasilnya tidak sesuai, antara hasil
pengkategorian dengan program dan pengkategorian secara manual. Misalnya untuk
file 18103013_ABSTRAKSI.pdf, pengkategorian dengan program menghasilkan
kategori sistem informasi seperti pada gambar 6 sedangkan secara manual
menghasilkan kategori pemrograman web. Hal tersebut terjadi karena nilai counter
untuk kategori pemrograman web nilainya lebih kecil dibandingkan dengan nilai
counter kategori sistem informasi. Gambar 5 menunjukan kumpulan kata-kata dan
frekuensi kemunculan tiap kata (tf) pada dokumen 18103013_ABSTRAKSI.pdf.
Sesuai kata kunci yang dihasilkan seperti pada gambar 6 dokumen tersebut memiliki
5 kata kunci yaitu sistem, informasi, database, asp, dan net. dengan nilai
tf berturut turut 6, 2, 2, 1, 1. Kata sistem, informasi, dan database adalah kata
yang sama dengan kata kunci kategori sistem informasi maka nilai counter kategori
tersebut adalah jumlah tf kata-kata tersebut yaitu 10, sedangkan kata asp dan net
adalah kata yang sama dengan kata kunci kategori pemrograman web maka nilai
counter kategori tersebut adalah jumlah tf kata-kata tersebut yaitu 2. Dengan hasil ini
program akan menentukan bahwa dokumen tersebut termasuk kategori sistem
informasi karena memiliki nilai counter terbesar dibandingkan dengan kategori lain
seperti terlihat pada gambar 7
tersebut tidak memiliki nilai similaritas tertinggi dari dokumen lainnya, padahal isi
dokumen tersebut sama, seperti yang ditunjukan oleh tabel 6.
No.
1 10100071_ABSTRAKSI.pdf
2 10102185_ABSTRAKSI.pdf
3 10102730_ABSTRAKSI.pdf
4 10103070_ABSTRAKSI.pdf
5 10103289_ABSTRAKSI.pdf
No.
1
Dokumen 1 :10100071_abstraksi.pdf
Nilai Kemiripan = 0,55185
Dokumen 2 : 12102446_abstraksi.pdf
Nilai Kemiripan = 0,35252
Dokumen 1 : 10102185_abstraksi.pdf
Nilai Kemiripan = 0,72679
Dokumen 2 : 10104404_abstraksi.pdf
Nilai Kemiripan = 0,21884
Dokumen 1 : 10102730_abstraksi.pdf
Nilai Kemiripan = 0,74270
Dokumen 2 : 11103062_abstraksi.pdf
Nilai Kemiripan = 0,26635
Dokumen 1 : 10103070_abstraksi.pdf
Nilai Kemiripan = 0,62194
Dokumen 2 : 12101363_abstraksi.pdf
Nilai Kemiripan = 0,20325
Dokumen 1 : 10103289_abstraksi.pdf
Nilai Kemiripan = 0,77839
Dokumen 2 : 11103062_abstraksi.pdf
Nilai Kemiripan = 0,32451
5 20101269_ABSTRAKSI.pdf
Dokumen 1 : 11103062_abstraksi.pdf
Nilai Kemiripan = 0,56551
Dokumen 3 : 13100110_abstraksi.pdf
Nilai Kemiripan = 0,39651
Dokumen 1 : 18102036_abstraksi.pdf
Nilai Kemiripan = 0,5583
Dokumen 14 : 20101269_abstraksi.pdf
Nilai Kemiripan = 0,09538
Hasil nilai similaritas dokumen yang tidak valid seperti pada tabel 7, dipengaruhi
oleh bobot dokumen terhadap kata kunci dan bobot dokumen itu sendiri. Semakin
besar bobot dokumen terhadap kata kunci dan semakin kecil bobot dokumen tersebut
maka nilai similaritasnya akan semakin tinggi. Jadi walaupun isi dokumen tersebut
sama belum berarti dokumen tersebut memiliki nilai similaritas yang tinggi. Berikut
ini adalah contoh perhitungan hasil penentuan tingkat similaritas suatu dokumen yang
tidak valid
Dokumen Yang Ingin dibandingkan:
- Dokumen : 10104313_abstraksi.pdf (id=527)
- Kata kunci : aplikasi, borland, delphi, pemrograman,(4 kata kunci)
Dokumen Yang Menjadi Pembanding:
- Dokumen 1 : 10104683_abstraksi.pdf (id=529)
- Dokumen 2 : 10104313_abstraksi.pdf (id=527)
- Dokumen 3 : 11104053_abstraksi.pdf (id=536)
Proses Perhitungan:
Kata Kunci : aplikasi
- IDF = Log(D/df) = Log (50/23) = 0.337242168318
- WK = tf(kata kunci) * IDF =1 * 0.337242168318 = 0.337242168318
- WK2 = WK2 + WK(kuadrat) = 0 + 0.113732280092=0.113732280092
- Bobot dokumen (529) terhadap kata kunci (WDK) = WK * (tf * IDF) =
0.337242168318 *(1*0.337242168318)=0.113732280092
- Bobot dokumen (527) terhadap kata kunci (WDK) = WK * (tf * IDF) =
0.337242168318 *(3*0.337242168318)=0.341196840276
Kata Kunci : borland
- IDF = Log(D/df) = Log (50/4) = 1.09691001301
- WK = tf(kata kunci) * IDF =1 * 1.09691001301 = 1.09691001301
- WK2 = WK2 + WK(kuadrat) = 0.113732280092 + 1.20321157664=
1.31694385673
- Bobot dokumen (529) terhadap kata kunci (WDK) = WK * (tf * IDF) =
1.09691001301 *(3*1.09691001301)=3.72336701
- Bobot dokumen (527) terhadap kata kunci (WDK) = WK * (tf * IDF) =
1.09691001301 *(2*1.09691001301)=2.74761999355
- Bobot dokumen (536) terhadap kata kunci (WDK) = WK * (tf * IDF) =
1.09691001301 *(1*1.09691001301)=1.20321157664
Kata Kunci : delphi
- IDF = Log(D/df) = Log (50/5) = 1
- WK = tf(kata kunci) * IDF =1 * 1 = 1
- WK2 = WK2 + WK(kuadrat) = 1.31694385673 + 1=2.31694385673
- Bobot dokumen (529) terhadap kata kunci (WDK) = WK * (tf * IDF) = 1
*(3*1)=6.72336701
- Bobot dokumen (527) terhadap kata kunci (WDK) = WK * (tf * IDF) = 1
*(2*1)=4.74761999355
- Bobot dokumen (536) terhadap kata kunci (WDK) = WK * (tf * IDF) = 1
*(3*1)=4.20321157664
Kata Kunci : pemrograman
- IDF = Log(D/df) = Log (50/16) = 0.49485002168
- WK = tf(kata kunci) * IDF =1 * 0.49485002168 = 0.49485002168
- WK2 = WK2 + WK(kuadrat) = 2.31694385673 +
0.244876543957=2.56182040069
- Bobot dokumen (527) terhadap kata kunci (WDK) = WK * (tf * IDF) =
0.49485002168 *(1*0.49485002168)=4.99249653751
- Bobot dokumen (536) terhadap kata kunci (WDK) = WK * (tf * IDF) =
0.49485002168 *(1*0.49485002168)=4.44808812059
Dokumen 3 : 10104313_abstraksi.pdf
Nilai Kemiripan = 0.3565
Dari hasil diatas menunjukan bahwa nilai similaritas dokumen dipengaruhi oleh
bobot dokumen terhadap kata kunci dan bobot dokumen tersebut
DAFTAR PUSTAKA
[1].
Arrummaisha Adrifina, Juwita Utami Putri, I Wayan Simri W, Pemilahan
Artikel Berita Dengan Text Mining, Proceeding Seminar Ilmiah Nasional
Komputer dan Sistem Intelijen (KOMMIT 2008), 20-21 Agustus 2008
[2].
David Sugianto, dkk, Membangun Websited dengan PHP , Datakom 2005
[3].
Iwan Arif, Text Mining, http://lecturer.eepis- its.edu/~iwanarif/kuliah/dm
/6Text%20Mining.pdf, 24 Juni 2009
[4].
Lukmanul Hakim, Membongkar Trik Rahasia Para Master PHP, Lokomedia
2008
[5].
Kristhoper David Harjono, Perluasan Vector Pada Metode Search Vector
Space, INTEGRAL Vol. 10 No. 2, Juli 2005
[6].
Risa, BAB 11 Text Mining, http://student.eepisits.edu/~risa/files/DataMining
/chapter11.pdf, 24 Juni 2009
[7]
Raymond J. Mooney. CS 391L: Machine Learning Text Categorization.
University of Texas at Austin, 2006.