Anda di halaman 1dari 9

PENERAPAN ALGORITMA K-MEANS UNTUK CLUSTERING

DOKUMEN E-JURNAL STMIK GI MDP


Ernie Kurniawan (deepblue_nie_k@yahoo.com), Maria Fransiska
(mariafransiska09@yahoo.com)
Tinaliah (tinaliah@mdp.ac.id), Rachmansyah (rachmansyah@gmail.com)
Program Studi Teknik Informatika
STMIK GI MDP
Abstrak : Banyaknya dokumen jurnal yang terus bertambah membuat pengelompokkan dokumen jurnal
semakin sulit karena memperlambat pencarian dokumen. Oleh karena itu, pengelompokkan dokumen jurnal
diperlukan untuk mempercepat pencarian yang diperoleh dari query yang diinput pengguna dan menghasilkan
hasil yang relevan dengan query tersebut. Penelitian ini bertujuan untuk menerapkan algoritma K-Means
dalam mengelompokkan dokumen jurnal yang sesuai dengan query yang diinput sehingga menghasilkan
kelompok-kelompok yang sesuai dengan query. Dalam prosesnya dilakukan tahap preprocessing yaitu
tokenization, penghilangan stopwords dan stemming. Selanjutnya, pengelompokkan dokumen dilakukan
dengan algoritma K-Means menggunakan bahasa pemrograman PHP dengan menggunakan proses stemming
dan non-stemming untuk mengetahui kerelevanan hasil yang diperoleh dari masing-masing proses. Hasil dari
pengelompokkan dokumen dengan menggunakan proses stemming menghabiskan waktu lebih banyak
dibandingkan dengan proses non-stemming karena proses stemming harus menemukan terlebih dahulu kata
dasar dari query yang diinput sedangkan dalam proses non-stemming tidak diperlukan proses pencarian kata
dasar, hasil pengelompokan menggunakan proses stemming lebih relevan dibandingkan dengan
pengelompokan dengan menggunakan proses non-stemming, pengujian dengan menggunakan dataset yang
sedikit membuat pengembang kesulitan dalam membedakan hasil kelompok antara proses stemming dan
proses non-stemming, penentuan titik pusat awal sangat berpengaruh terhadap jumlah cluster yang terbentuk
serta pengelompokan dokumen ini juga dapat membantu pengguna menemukan dokumen yang relevan sesuai
dengan query yang diinput.
Kata Kunci : Clustering, K-Means, stemming, PHP
Abstract : The amount of journal documents which increase continously make the classified of journal
document more difficult is slow down the document research. Therfore the classification of journal document
is needed to speed the research which get from query that input by the user and produce a relevant result
from the query. The purpose of the research is to imply K-Means algorithm in classify the journal document
based on the query which already input so produce the groups as query. In that process, there is
preprocessing step which is call tokenization, the omit of stopwords and stemming. Next, the classification of
documents are done with K-Means algorithm use PHP programming language with use stemming and nonstemming process to know the relevance result with get from each process. The result from document
classification with use stemming process spend more times compare with non-stemming process because the
stemming process should be found the basic words of query which already input. While in non-stemming
process isn't needed of the basic words research process. The result of this classification with use stemming
process is more relevant compare with the classification by non-stemming process. The testing with use a
little dataset make the developer find the difficulty in comparing the result of groups between stemming and
non-stemming process, the determination of the beginning of center is very influence to the amount of cluster
which is formed beside that the classification of this document can help the user find the relevant document as
suit as query which is input.
Keywords : Clustering, K-Means, stemming, PHP

Hal - 1

PE
ENDAHULU
UAN

Peerkembangan
n teknologi informasi dan
d
kompuuter saat inii sangat ceppat, kebutuhhan
pengguuna akan tek
knologi kompputer sangatllah
dibutuhhkan. Saat ini banyakk pengembaang
membuuat teknologi baru yang beermanfaat bukkan
hanya sebagai hibu
uran melainkaan juga sebaggai
media komunikasi yang berbasiis visual sepeerti
websitee. Media website berrisi bermacaam
inform
masi seperti berita, iklan, permainan
p
seerta
inform
masi lain sangat membantuu para pengguuna
kompuuter. Selain iklan secara online, dalam
websitee juga biisa dimasukkkan berbaggai
inform
masi yang berkaitan dengan dunnia
pendiddikan.
Baanyak
perguruan
tinnggi
memiilih
mengggunakan med
dia web untuuk memberikkan
inform
masi secara langsung kepada para
mahasiiswanya den
ngan cukup mengakses
m
link
websitee perguruan tinggi terseebut. Teknoloogi
websitee dapat disisipkan dengann menggunakkan
perpustakaan digitaal yang di dallamnya terdappat
pengelompokan do
okumen berbbasis web bagi
mahasiiswa yang in
ngin mencarii buku atauppun
jurnal. Hal ini dissebabkan karrena mahasiswa
cenderrung lebih suk
ka memilih buku yang diccari
dengann menggunak
kan komputeer dibandingkkan
harus ke perpustak
kaan untuk mengecek data
d
buku teersebut.
Peengelompokaan dokumen berbasis web
w
merupaakan sebuah situs web diimana di dalam
web teersebut terdaapat sistem yang dibenttuk
berdasaarkan pengeelompokan dokumen
d
sesuuai
dengann kategori yan
ng dibuat oleeh pengembanng.
Pengellompokan dok
kumen memiliki teknik yaang
lebih spesifik
s
untuk
k dokumen seperti
s
ekstraaksi
judul otomatis dan
n pencarian informasi yaang
cepat atau filtering
g. Misalnya, mesin penccari
web seering memberrikan ribuan halaman dalam
menanggapi permiintaan penggguna, sehinggga
sulit bagi pengguna untuk mencari attau
mengiddentifikasi infformasi yang relevan.
Dengan adany
ya pengelomppokan dokum
men
ini, maahasiswa han
nya perlu menngetikkan juddul
tugas akhirnya,
a
lalu
u secara otom
matis web akkan
membeerikan dokumen-dokumeen yang miirip
dengann judul yang dimasukan aggar tidak terjadi
penelittian dengan judul yang sama. Hal ini
dikarennakan di dalam website terdapat
t
sebuuah
algoritm
ma yang dapaat mengelomppokan dokum
men

berddasarkan kesaamaan antar dokumen terrsebut


atauu berdasarkan kelompoknyya.
Dengan addanya sebuaah sistem yang
berffungsi untukk mengelom
mpokan dokkumen
jurnnal ini, dapat memperm
mudah mahaasiswa
dalaam pencariaan jurnal dengan tiingkat
kem
miripan yang paling sesuuai dengan query
yangg diberikan oleh penggunaa.
2

LANDASA
AN TEORI

2.1 Clustering
Clusteringg adalah suaatu metode untuk
pengggelompokann dokumen dimana dokkumen
dikeelompokan deengan konten untuk menguurangi
ruanng pencariaan yang diperlukan
d
d
dalam
merrespon suatuu query. Misalnya
M
kooleksi
dokuumen yang berisi
b
dokumeen-dokumen medis
m
dan hukum dappat dikelompookkan sedem
mikian
rupaa sehingga semua dokumen medis
m
ditem
mpatkan dallam satu clluster dan semua
s
dokuumen hukum
m ditempattkan dalam satu
clusster hukum (G
Grossman, David A. dan Ophir
Frieeder, 2004, h.105).
2.2 Algoritma K-Means
K
Algoritm
ma
K-Meaans
meruppakan
m
an parameter input
algooritma yang membutuhka
sebaanyak k dan membagi sekkumpulan n objek
ke dalam
d
k clustter sehingga tingkat kemiiripan
antaar anggota dalam satuu cluster tinggi
t
sedaangkan tingkkat kemiripann dengan annggota
padaa cluster laain sangat reendah. Kemiripan
angggota terhaddap cluster diukur deengan
kedeekatan objekk terhadap nilai mean pada
clusster atau daapat disebut sebagai cenntroid
clusster atau pusaat massa. (Naango, Dwi Nooviati,
20122).
Berikut ini adalahh rumus untuk
mennentukan jumllah cluster :
(1)
r
pengukkuran jarak :
Berikut rumus
d(x,y) =|||x-y||2 =

(2)

H - 2
Hal

Adapun rumus perhitungan jarak lainnya


didefinisikan sebagai berikut :

Ilustrasi Algoritma
dilihat dibawah ini:

K-Means

dapat

(3)

Keterangan :
d = titik dokumen
x = data record
y = data centroid
Jarak yang terpendek antara centroid
dengan dokumen menentukan posisi cluster
suatu dokumen. Misalnya dokumen A
mempunyai jarak yang paling pendek ke
centroid 1 dibanding ke yang lain, maka
dokumen A masuk ke group 1. Hitung kembali
posisi centroid baru untuk tiap-tiap centroid
(Ci..j) dengan mengambil rata- rata dokumen
yang masuk pada cluster awal (Gi..j). Iterasi
dilakukan terus hingga posisi group tidak
berubah.
Berikut rumus dari penentuan centroid.
|

Sumber : http://www.mathworks.com

Gambar 1.1 Algoritma K-Means

(4)
2.3 PHP Script Language

Adapun
rumus
iterasi
didefinisikan sebagai berikut :
..

lainnya

(5)

Keterangan :
x1 = nilai data record ke-1
x2 = nilai data record ke-2
x = jumlah data record
Menurut Adiningsih (2007), tahap
penyelesaian algoritma K-Means adalah sebagai
berikut:
a. Menentukan K buah titik yang
merepresentasikan obyek pada setiap
cluster (centroid awal).
b. Menetapkan setiap objek pada cluster
dengan posisi centroid terdekat.
c. Jika semua objek sudah dikelompokkan
maka dilakukan perhitungan ulang dalam
menentukan centroid yang baru.
d. Ulangi langkah ke-2 dan ke-3 sampai
centroid tidak berubah.

PHP:
HyperText
Preprocessor
merupakan secara umum dikenal sebagai bahasa
pemrograman script-script yang membuat
dokumen HTML secara on the file yang
dieksekusi di server web, dokumen HTML yang
dihasilkan dari suatu aplikasi bukan dokumen
HTML yang dibuat dengan menggunakan editor
teks atau editor HTML (Sidik, Bertha, 2012,
h.7).
2.4 MySQL
MySQL merupakan software database
yang termasuk paling populer di lingkungan
Linux. Kepopuleran ini karena ditunjang
performansi query dari database-nya yang saat
itu paling cepat dan jarang bermasalah.
Berangkat dari software database yang
shareware MySQL populer, kini mulai versi
3.23 MySQL menjadi software open source
yang berarti free. MySQL dapat digunakan
untuk kepentingan komersial ataupun personal
(Sidik, Bertha, 2012, h.333).

Hal - 3

RANCANGAN
PROGRAM

ALGORITMA

DAN

3.1 Metodologi RUP


Dalam mengembangkan aplikasi ini,
metodologi yang digunakan adalah metodologi
RUP. RUP (Rational Unified Process)
merupakan sebuah proses pengembangan
perangkat lunak yang berfungsi untuk
memastikan hasil yang diperoleh dari
pengembangan perangkat lunak dan sesuai
dengan jadwal serta anggaran yang telah
dirancang. Proses ini lebih menekankan pada
pengembangan dan pemeliharaan yang terus
diperbaharui agar menghasilkan perangkat
lunak yang lebih baik lagi (Simarmata, Janner,
2009, h.81).
Di dalam metodologi ini terdapat
tahapan - tahapan dalam menjalankan prosesnya
yang terdiri dari:
1. Inception (permulaan)
Pada tahapan ini merupakan tahap
dalam proses menentukan dan mencari
kebutuhan yang diperlukan dalam proses
pembuatan
sebuah
sistem
dan
dampak/manfaat dari pengembangan sistem
tersebut. Aktivitas yang dilakukan pada
tahap ini antara lain mencakup analisis
sistem, perumusan sistem target, penentuan
arsitektur
global
target,
identifikasi
kebutuhan,
perumusan
persyaratan,
perumusan kebutuhan pengujian (level unit,
integrasi,
sistem,
performansi,
fungsionalitas,
keamanan),
pemodelan
diagram UML, dan pembuatan dokumentasi.
Di dalam tahapan ini terdapat perincian
sebagai berikut :
a. Studi Literatur (Inception)
Mengumpulkan informasi dan data
mengenai algoritma K-Means dan proses
clustering dokumen dari buku ataupun
jurnal, mengumpulkan data-data jurnal
serta mempersiapkan semua data-data
yang dibutuhkan yaitu dokumen jurnal
skripsi STMIK GI MDP.

2. Elaboration (perluasan)
Pada tahapan ini merupakan proses
dimana hasil dari tahapan inception
dievaluasi lagi mengenai desain dan
kebutuhan yang diperlukan, apakah masih
terdapat kebutuhan ataupun desain yang
diperlukan untuk melengkapi sistem agar
lebih baik lagi. Pada tahap desain ini
menggunakan pemodelan kasus use case
dimana terdapat interaksi antara aktor-aktor
dan sistem yang berinteraksi di dalamnya
yang mencakup pembuatan desain arsitektur
subsistem (architecture pattern), desain
komponen sistem, desain format data
(protokol komunikasi), desain database,
desain user interface, pemodelan diagram
UML, dan pembuatan dokumentasi.
3. Construction (pembuatan)
Pada tahapan ini merupakan proses
dimana
pengembang
melakukan
pengimplementasian mengenai sistem yang
akan dibuat dengan menggunakan bahasa
pemrograman
PHP.
Aktivitas
yang
dilakukan pada tahap ini antara lain
mencakup pengujian hasil analisis dan
desain, pendataan kebutuhan implementasi
lengkap, penentuan coding pattern yang
digunakan, pembuatan program, pengujian,
optimasi program, pendataan berbagai
kemungkinan pengembangan / perbaikan
lebih lanjut, dan pembuatan dokumentasi.
4. Transition (peralihan)
Tahapan ini merupakan tahapan akhir
dari metodologi sistem RUP yang mana pada
tahapan ini dilakukan transisi agar pengguna
dapat mengerti dalam menggunakan sistem
yang telah dibangun/dikembangkan. Pada
tahap peralihan ini, sistem yang telah
dibangun
diuji
coba
dengan
cara
mendemokan cara penggunaannya sehingga
user bisa menguji hasil dari sistem, apakah
sistem berjalan sesuai dengan yang
diharapkan atau tidak.

Hal - 4

3.3 Flowchart
Flowchart adalah sebuah diagram dengan
simbol-simbol grafis yang menyatakan aliran
algoritma atau proses yang menampilkan
langkah-langkah yang disimbolkan dalam
bentuk kotak, beserta urutannya dengan
menghubungkan
masing-masing
langkah
tersebut menggunakan tanda panah.
3.3.1 Flowchart Tahap Preprocessing
Flowchart tahap preprocessing merupakan
flowchart yang berisi proses penghilangan tanda
baca (tokenization), proses penghilangan kata
yang tidak penting (stopwords), serta proses
pengambilan kata dasar (stemming).
3.3.3 Flowchart Mencari Jarak
Flowchart mencari jarak merupakan
flowchart yang berisi proses pencarian jarak
antara dokumen dengan titik centroid dimana
proses dilakukan dengan menghitung nilai
frekuensi kata yang ada pada tiap dokumen,
kemudian dilakukan perhitungan jarak dengan
Euclidean.

3.3.2 Flowchart Mencari Jumlah Cluster


Flowchart
mencari
jumlah
cluster
merupakan flowchart yang berisi proses
pencarian jumlah cluster dengan cara membagi
dua jumlah dari seluruh dokumen kemudian
diakarkan.

Hal - 5

3.3.4 Flowchart Mencari Centroid Baru


Flowchart
mencari
centroid
baru
merupakan flowchart yang berisi proses
pencarian centroid (titik pusat) baru dengan cara
membagi jumlah seluruh dokumen dengan
jumlah cluster yang terbentuk.

3.3.5 Flowchart Algoritma K-Means

Flowchart
Algoritma
K-Means
merupakan flowchart yang berisi urutan
proses dari mencari frekuensi kemunculan
kata (Tf), mencari jumlah cluster,
menentukan centroid (titik pusat) awal,
mencari jarak, mengelompokkan dokumen
berdasarkan jarak terdekat dengan centroid,
serta proses mencari centroid baru.

IMPLEMENTASI
PROGRAM

DAN

ANALISIS

4.1 Prosedur Uji Coba Program


4.1.1 Tampilan Antarmuka Menu Utama
Ketika user menjalankan aplikasi maka
halaman pertama yang akan tampil adalah
halaman menu utama. Berikut adalah tampilan
antarmuka menu utama yang dapat dilihat pada
Gambar 4.1.
Hal - 6

4.1.3 Tampilan Antarmuka Halaman Isi


Dokumen
Pada saat user memilih salah satu jurnal
maka akan menampilkan halaman isi dokumen.

Gambar 4.1 Antarmuka Halaman Menu


Utama
4.1.2 Tampilan
Pencarian

Antarmuka

Halaman

Pada saat user memasukan query yang


ingin dicari dan menekan tombol cari maka
akan tampil halaman pencarian.

Gambar 4.4 Tampilan Antarmuka Halaman


Isi Dokumen
4.1.4 Tampilan Antarmuka Halaman Admin

Gambar 4.2 Tampilan Antarmuka Halaman


Pencarian dengan Stemming

Gambar 4.5 Tampilan Antarmuka Halaman


Admin
4.1.5 Tampilan Antarmuka Menu Ubah
Dokumen
Menu ubah dokumen pada Gambar 4.6
adalah menu yang disediakan bagi admin untuk
melakukan perbaikan apabila ada kesalahan
dalam penginputan data.
Gambar 4.3 Tampilan Antarmuka Halaman
Pencarian Non-Stemming
Hal - 7

dengan cara memasukkan 5 query yang sama ke


dalam masing-masing aplikasi.
Nilai akurasi =
jumlah dokumen yang sama antara
dan klasi ikasi
jumlah dokumen keseluruhan

Query = perancangan sistem informasi


Tabel 4.1 Hasil Hasil Kesamaan Clustering
dan Klasifikasi
Clustering
J0001
J0007
J0016
J0017
J0028
J0040
J0060
J0074
J0076
J0077

Gambar 4.6 Tampilan Antarmuka Menu


Ubah Dokumen
4.1.6 Tampilan Antarmuka
Tambah Dokumen

Menu

Tab

Menu tab tambah dokumen pada Gambar


4.7 menampilkan sebuah daftar yang harus
dimasukkan oleh admin yaitu berupa sebuah file
.pdf jurnal, sebuah file .txt jurnal, judul jurnal,
nama pengarang, tahun dan abstrak.

Pada Tabel 4.1


buah dokumen
clustering dan
diperoleh nilai
berikut :
Nilai akurasi =

Klasifikasi
J0004
J0007
J0008
J0016
J0017
J0018
J0026
J0027
J0028
J0077

diperoleh bahwa terdapat 5


yang sama pada aplikasi
klasifikasi sehingga dapat
akurasinya adalah sebagai
x 100% = 50%

4.2.2 Uji Coba Kedua


Gambar 4.7 Tampilan Antarmuka Menu
Tab Tambah Dokumen

Hasil uji coba waktu antara proses stemming


dengan proses non-stemming dengan query :
aplikasi pembelian barang terhadap 300
dokumen jurnal.

4.2 Analisis Hasil Pengujian Program

4.2.1 Uji Coba Pertama

Uji coba pertama dilakukan untuk


menguji
keakuratan
sistem
dengan
membandingkan hasil yang diperoleh dari
aplikasi menggunakan algoritma K-Means
dengan klasifikasi judul yang ada pada database
aplikasi dimana dilakukan proses pencarian

2.85
1.48

0
Stemming

NonStemming

Gambar 4.8 Uji Coba Pengujian Waktu


Hal - 8

PENUTUP

5.1 Kesimpulan
Setelah
banyak
tahapan
dalam
pengembangan perangkat lunak dimulai dari
analisis kebutuhan sampai dengan implementasi
dan pengujian maka ada beberapa kesimpulan
yang didapat setelah skripsi ini yaitu sebagai
berikut :
1. Algoritma K-Means dapat melakukan
pengelompokan dokumen dalam jumlah
yang banyak akan tetapi belum efisien dalam
mengelompokan dokumen secara tepat.
2. Penentuan centroid (titik pusat) pada tahap
awal
Algoritma
K-Means
sangat
berpengaruh pada hasil cluster seperti pada
hasil pengujian yang dilakukan dengan
menggunakan 300 dataset dengan centroid
yang berbeda menghasilkan hasil cluster
yang berbeda juga.
3. Proses clustering menggunakan stemming
akan menghabiskan waktu lebih lama
dibandingkan dengan non-stemming, hal ini
dapat dilihat pada hasil uji coba 2.
4. Semakin sedikit dokumen yang dipakai,
maka semakin sulit untuk membedakan
cluster antara stemming dan non-stemming.
5.2 Saran
Berikut ini beberapa saran yang
bertujuan mengembangkan Aplikasi Penerapan
Algoritma K-Means untuk Clustering Dokumen
E-jurnal STMIK MDP yang penulis buat adalah
sebagai berikut:
1. Untuk meningkatkan hasil pengelompokan
dokumen yang lebih relevan sebaiknya
algoritma K-Means digabung dengan
algoritma
lain
seperti
Algoritma
Hierarchical Clustering.
2. Aplikasi ini dapat dikembangkan dengan
cara menambah fitur convert file dan
standarisasi sehingga dapat mempermudah
kerja admin.
3. Agar aplikasi dapat digunakan untuk umum,
sebaiknya aplikasi dibuat secara online.

DAFTAR PUSTAKA
[1]

[2]

Grossman, David A. dan Ophir Frieder


2004.Information Retrieval Algorithms
and
Heuristics Second Edition.
Springer, The Netherlands.
Determining the number of clusters
in
a
data
set.
http://en.wikipedia.org/wiki/
Determining_the_number_of_clusters_in
_a_data_set. Diakses pada tanggal 10
Januari 2014.

[3]

Nango, Dwi Noviati 2012. Penerapan


Algoritma K-means untuk Clustering
Data
Anggaran Pendapatan Belanja
Daerah
di
Kabupaten
XYZ.
http://sro.web.id. Diakses pada tanggal
16 Agustus 2013.

[4]

Ken 2009. Clustering Analysis, Part II:


K-Means
Clustering.
http://www.centerspace.net. Diakses pada
tanggal 10 September 2013.

[5]

Sidik, Bertha 2012. Pemrograman Web


PHP
(Edisi
Revisi).
Informatika,
Bandung.

[6]

Rational
Unifed
Process
2006.
http://www.skillresource.com.
Diakses
pada tanggal 12 Desember 2013.

[7]

Simarmata, Janner 2009. Rekayasa


Perangkat Lunak. Andi, Yogyakarta.

[8]

Suryana,Taryana 2007. Metode RUP.


sms.unikom.ac.id. Diakses pada tanggal
10 November 2013.

Hal - 9

Anda mungkin juga menyukai