Anda di halaman 1dari 10

Dipresentasikan dalam SEMNAS Matematika dan Pendidikan Matematika 2007 dengan tema

Trend Penelitian Matematika dan Pendidikan Matematika di Era Global yang


diselenggarakan oleh J urdik Matematika FMIPA UNY Yogyakarta pada tanggal 24 Nopember
2007

KPembentukanclusterdalamKnowledgeDiscoveryinDatabase
denganAlgoritmaKMeans

Oleh:
SriAndayani
JurusanPendidikanMatematikaFMIPAUNY,email:andayani@uny.ac.id

Abstrak
Pembentukan cluster merupakan salah satu teknik yang digunakan dalam mengekstrak pola
kecenderungansuatudata.TeknikiniinidigunakandalamprosesKnowledgediscoveryindatabase(KDD).
Salah satu algoritma pembentukan cluster data adalah algoritma KMeans. Algoritma bekerja
dengan cara membagi data dalam k cluster. Setiap cluster ditentukan atas kedekatan jarak tiaptiap data
dengantitiktengahnya(meanpoint).
Sebuah basis data sangat mungkin berisi data non numerik, yang tidak dapat ditentukan titik
tengahnya.AlgoritmaKMeansdapatdipergunakanuntukpembentukanclusterdalamsebuahbasisdata
yangbesardenganmenerapkanaturansimilaritydandissimilarityterhadapdatadalambasisdataterlebih
dahulu.

Katakunci:Cluster,KnowledgeDiscoveryinDatabase,AlgoritmaKMeans,

Pendahuluan
Dewasa ini pengolahan data elektronik telah menjadi kebutuhan yang
sangat utama. Perkembangan pesat dalam teknologi informasi yang
menjadikan semua informasi dapat disimpan dalam jaringan komputer telah
membuat munculnya sistem basis data yang sangat besar. Dalam hitungan
detik, datadata dalam berbagai basis data akan senatiasa terbarukan, baik
dikarenakan adanya update maupun penambahan data baru. Permasalahan
yangkemudianmunculadalahbagaimanamengetahuiinformasiyangterdapat
dalambasisdatayangsangatbesar.
Knowledge discovery in Database (KDD) didefinisikan sebagai ekstraksi
informasi potensial, implisit dan tidak dikenal dari sekumpulan data. Proses
knowledge discovery melibatkan hasil dari proses data mining (proses
Sri Andayani

SEMNAS Matematika dan Pend. Matematika 2007

mengekstrak kecenderungan pola suatu data), kemudian mengubah hasilnya
secaraakuratmenjadiinformasiyangmudahdipahami.
Adabeberapamacampendekatanberbedayangdiklasifikasikansebagai
teknik pencarian informasi/pengetahuan dalam KDD. Ada pendekatan
kuantitif, seperti pendekatan probabilistik and statistik. Beberapa pendekatan
memanfaatkanteknikvisualisasi,pendekatanklasifikasisepertilogikainduktif,
pencarian pola, dan analisis pohon keputusan. Pendekatan yang lain meliputi
deviasi, analisis kecenderungan, algoritma genetik, jaringan syaraf tiruan dan
pendekatancampuranduaataulebihdaribeberapapendekatanyangada.
Pada dasarnya ada enam elemen yang paling esensial dalam teknik
pencarian informasi/ pengetahuan dalam KDD ([7]), yaitu: (1) mengerjakan
sejumlahbesardata,(2)diperlukanefisiensiberkaitandenganvolumedata,(3)
mengutamakan ketepatan/keakuratan, (4) membutuhkan pemakaian bahasa
tingkat tinggi, (5) menggunakan beberapa bentuk dari pembelajaran otomatis,
dan(6)menghasilkanhasilyangmenarik.
Clustering
Salah satu metode yang diterapkan dalam KDD adalah clustering.
Clustering adalah membagi data ke dalam grupgrup yang mempunyai obyek
yang karakteristiknya sama ([1]). GarciaMolina et al. ([2]) menyatakan
clustering adalah mengelompokkan item data ke dalam sejumlah kecil grup
sedemikian sehingga masingmasing grup mempunyai sesuatu persamaan
yangesensial.
Clustering memegang peranan penting dalam aplikasi data mining,
misalnya eksplorasi data ilmu pengetahuan, pengaksesan informasi dan text
mining, aplikasi basis data spasial, dan analisis web. Clustering diterapkan
dalam mesin pencari di Internet. Web mesin pencari akan mencari ratusan
dokumen yang cocok dengan kata kunci yang dimasukkan. Dokumen
M 64: Pembentukan Cluster dalam .........

Matematika

dokumen tersebut dikelompokkan dalam clustercluster sesuai dengan kata
katayangdigunakan.
Kategoriclustering
Tan,dkk.([4])membagiclusteringdalamduakelompok,yaituhierarchical
and partitional clustering. Partitional Clustering disebutkan sebagai pembagian
obyekobyek data ke dalam kelompok yang tidak saling overlap sehingga
setiapdataberadatepatdisatucluster.Hierarchicalclusteringadalahsekelopok
clusteryangbersarangsepertisebuahpohonberjenjang(hirarki).
William ([8]) membagi algoritma clustering ke dalam kelompok besar
sepertiberikut:
1. Partitioning algorithms: algoritma dalam kelompok ini membentuk
bermacam partisi dan kemudian mengevaluasinya dengan berdasarkan
beberapakriteria.
2. Hierarchyalgorithms:pembentukandekomposisihirarkidarisekumpulan
datamenggunakanbeberapakriteria.
3. Densitybased: pembentukan cluster berdasarkan pada koneksi dan
fungsidensitas.
4. Gridbased:pembentukanclusterberdasarkanpadastrukturmultiplelevel
granularity
5. Modelbased: sebuah model dianggap sebagai hipotesa untuk masing
masing cluster dan model yang baik dipilih diantara model hipotesa
tersebut.
AlgoritmaKMeans
AlgoritmaKMeansadalahalgoritmaclusteringyangpalingpopulardan
banyak digunakan dalam dunia industri [1]. Algoritma ini disusun atas dasar
ide yang sederhana. Ada awalnya ditentukan berapa cluster yang akan
dibentuk. Sebarang obyek atau elemen pertama dalam cluster dapat dipilih
untukdijadikansebagaititiktengah(centroidpoint)cluster.AlgoritmaKMeans
Sri Andayani

SEMNAS Matematika dan Pend. Matematika 2007

start
Banyaknya
clusterK
Tentukanpusat
Hitungjarakobyekke
pusat
Kelompokkanobyek
berdasarjarakminimum
Adaobyekyang
harusdipindah?
ya
tidak
end
Gambar1.FlowchartalgoritmaKMeans
selanjutnya akan melakukan pengulangan langkahlangkah berikut sampai
terjadikestabilan(tidakadaobyekyangdapatdipindahkan):
1. menentukankoordinattitiktengahsetiapcluster,
2. menentukanjaraksetiapobyekterhadapkoordinattitiktengah,
3. mengelompokkanobyekobyektersebutberdasarkanpadajarak
minimumnya.
Gambar1berikutmenunjukkandiagramalirdarialgoritmaKMeans.

Berikut ini adalah ilustrasi


penggunaan algoritma Kmeans untuk
menentukan cluster dari 4 buah obyek
dengan2atribut,sepertiditunjukkandalam
Tabel 1. Clustering akan dilakukan untuk
membentuk2clusterjenisobatberdasarkan
atributnya([6]).
Langkahlangkah algoritma Kmeans
adalahsebagaiberikut:
1.Pengesetannilaiawaltitiktengah.
MisalkanobatAdanobatBmasingmasing
menjadititiktengah(centroid)daricluster
yangakandibentuk.
Tentukankoordinatkeduacentroidtersebut,yaitu dan
M 64: Pembentukan Cluster dalam .........

Matematika

Tabel1.Daftarobyekyangakandiolahdalamclustering
Obyek atribut1(X):indeksberat atribut2(Y):pH
ObatA 1 1
ObatB 2 1
ObatC 4 3
ObatD 5 4

2. Menghitung jarak obyek ke centroid dengan menggunakan rumus jarak


Euclid.
Misalnya jarak obyek pupuk C=(4,3) ke centroid pertama adalah
dan jaraknya dengan centroid kedua
adalah .
Hasilperhitunganjarakinidisimpandalambentukmatrikskxn,dengank
banyaknya cluster dan n banyak obyek. Setiap kolom dalam matriks
tersebut menunjukkan obyek sedangkan baris pertama menunjukkan jarak
ke centroid pertama, baris kedua menunjukkan jarak ke centroid kedua.
Matriksjaraksetelahiterasike0adalahsebagaiberikut:

3. Clustering obyek : Memasukkan setiap obyek ke dalam cluster (grup)


berdasarkan jarak minimumnya. Jadi obat A dimasukkan ke grup 1, dan
obatB,CdanDdimasukkankegrup2.Keanggotaanobyekkedalamgrup
dinyatakandenganmatrik,elemendarimatriksbernilai1jikasebuahobyek
menjadianggotagrup.
Sri Andayani

SEMNAS Matematika dan Pend. Matematika 2007

4. Iterasi1, menetukan centroid : Berdasarkan anggota masingmasing grup,


selanjutnya ditentukan centroid baru. Grup 1 hanya berisi 1 obyek, sehingga
centroidnya tetap . Grup 2 mempunyai 3 anggota, sehingga
centroidnya ditentukan berdasarkan ratarata koordinat ketiga anggota
tersebut: .

5. Iterasi1, menghitung jarak obyek ke centroid: selanjutnya, jarak antara


centroid baru dengan seluruh obyek dalam grup dihitung kembali sehingga
diperolehmatriksjaraksebagaiberikut:

6. Iterasi1, clustering obyek: langkah ke3 diulang kembali, menentukan


keanggotaan grup berdasarkan jaraknya. Berdasarkan matriks jarak yang
baru,makaobatBharusdipindahkegrup2.

7. Iterasi2, menentukan centroid: langkah ke4 diulang kembali untuk


menentukancentroidbaruberdasarkankeanggotaangrupyangbaru.Grup
1 dan grup 2 masingmasing mempunyai 2 anggota, sehingga centroidnya
menjadi dan

M 64: Pembentukan Cluster dalam .........



Matematika

8.Iterasi2,menghitungjarakobyekkecentroid:ulangilangkahke2,sehingga
diperolehmatriksjaraksebagaiberikut:

9.Iterasi2,clusteringobyek:mengelompokkantiaptiapobyekberdasarkan
jarakminimumnya,diperoleh:

Hasilpengelompokkan pada iterasi terakhirdibandingkan denganhasil


sebelumnya, diperoleh . Hasil ini menunjukkan bahwa tidak ada lagi
obyek yang berpindah grup, dan algoritma telah stabil. Hasil akhir clustering
ditunjukkandalamTabel2.
Tabel2.Hasilclustering
Obyek atribut1(X):indeksberat atribut2(Y):pH Gruphasil
ObatA 1 1 1
ObatB 2 1 1
ObatC 4 3 2
ObatD 5 4 2

KelebihandanKelemahanalgoritmaKmeans

Algoritma Kmeans dinilai cukup efisien, yang ditunjukkan dengan


kompleksitasnya O(tkn), dengan catatan n adalah banyaknya obyek data, k
adalahjumlahclusteryangdibentuk,dantbanyaknyaiterasi.Biasanya,nilaik
dantjauhlebihkecildaripadanilain.Selainitu,dalamiterasinya,algoritmaini
akanberhentidalamkondisioptimumlokal([8]).
Sri Andayani

SEMNAS Matematika dan Pend. Matematika 2007

Hal yang dianggap sebagai kelemahan algoritma ini adalah adanya
keharusan menetukan banyaknya cluster yang akan dibentuk, hanya dapat
digunakan dalam data yang meannya dapat ditentukan, dan tidak mampu
menangani data yang mempunyai penyimpanganpenyimpangan (noisy data
danoutlier).Berkhin([1])menyebutkanbeberapakelemahanalgoritmaKmeans
adalah:(1)sangatbergantungpadapemilihannilaiawalcentroid,(2)tidakjelas
berapabanyakclusterkyangterbaik,(3)hanyabekerjapadaatributnumerik.
SimilaritydanDissimilarity
Memperhatikan input dalam algoritma KMeans, dapat dikatakan
bahwa algoritma ini hanya mengolah data kuantitatif. Hal tersebut juga
diungkapkan oleh Berkhin ([1]), bahwa algoritma Kmeans hanya dapat
mengolahatributnumerik.
Sebuah basis data, tidak mungkin hanya berisi satu macam type data
saja, akan tetapi beragam type. William ([8]) menyatakan sebuah basis data
dapatberisidatadatadengantypesebagaiberikut:symmetricbinary,asymmetric
binary, nominal, ordinal, interval dan ratio. Sedangkan Pal dan Mitra
menyebutkansebuahbasisdatadapatberisidatadatateks,simbol,gambardan
suara([3]).
Berbagai macam atribut dalam basis data yang berbeda type (dalam [5]
disebut sebagai data multivariate, seperti nominal, ordinal, and kuantitatif)
harus diolah terlebih dahulu menjadi data numerik, sehingga dapat
diberlakukan algoritma Kmeans dalam pembentukan clusternya. Pengukuran
similarity dan dissimilarity dapat digunakan untuk pengolahan data tersebut
([5]).
Atribut yang berbeda tipe sama artinya dengan adanya ketidaksamaan
(dissimilarity) antar atribut tersebut. Ketidaksamaan (dissimilarity) antara dua
obyek dapat diukur dengan menghitung jarak antar obyek berdasarkan
beberapa sifatnya. Hubungan dissimilarity antara 2 buah data obyek
M 64: Pembentukan Cluster dalam .........

Matematika

a=(a1,a2,,ap) dan b=(b1,b2, .,bp) dapat dinyatakan dengan pengukuran
jarakantara2obyektersebut.Beberapasifatjarak(dissimilarity)adalahsebagai
berikut([5]dan[8]):
d(a,b)0,jarakkeduaobyekselalupositifataunol,
d(a,a)=0,jarakterhadapdirisendiriadalahnol,
d(a,b)=d(b,a),jarakkeduaobyekadalahsimetri,
d(a,b)d(a,c)+d(c,b),jarakmemenuhiketidaksamaansegitiga.
Misalkan dissimilarity antara obyek i dan obyek j dinyatakan dengan dij
dansimilaritydinyatakandengansij.Hubunganantararelationshipdissimilarity
dengansimilaritydinyatakandengansij.=1dij,dengansimilarityterbataspada
0 dan 1 ([5]). Jika similarity bernilai satu (benarbenar sama), maka dissimilarity
nol, dan jika similarity bernilai nol (sangat berbeda), dissimilarity bernilai satu.
Setelah perhitungan jarak atau dissimilarity dari setiap variabel, maka seluruh
hasil dikumpulkan menjadi sebuah indeks similarity (atau dissimilarity) antara
dua obyek ([5]). Selanjutnya hasil tersebut dapat diolah menjadi obyekobyek
yangakandikelompokkandalamclusterclusterolehalgoritmaKmeans.
Penutup
Kmeans adalah algoritma pembentukan cluster yang populer dan
mengolahdatanumerik.Namundemikian,algoritmainijugadapatdigunakan
untuk pembentukan cluster dari sebuah basis data yang atributatributnya
berasal dari tipe yang berbedabeda, dengan cara mengubah atributatribut
tersebutkedalamindekssimilarityataudissimilarity.
Referensi:
[1]Berkhin,Pavel.Surveyonclusteringdataminingtechniques,
http://www.ee.ucr.edu/~barth/EE242/clustering_survey.pdf
Sri Andayani

SEMNAS Matematika dan Pend. Matematika 2007

[2]GarciaMolina,Hector;Ullman,JD.,&Widom,Jennifer.2002.Database
systemsthecompletebook,Internationaledition.NewJersey,PrenticeHall.
[3]Pal,ShankarK&Mitra,Pabitra.2004.PatternRecognitionalgorithmsfordata
mining.CRCPress.
[4]Tan,PangNing,;Steinbach,Michael;Kumar,Vipin.DataMiningCluster
Analysis:BasicConceptsandAlgorithms.wwwusers.cs.umn.edu/~kumar
/dmbook/16k.
[5]Teknomo,Kardi.SimilarityMeasurement
http://people.revoledu.com/kardi/tutorial/Similarity/index.html
[6]Teknomo,Kardi.NumericalExampleofKMeansClustering,
http://people.revoledu.com/kardi/tutorial/kMean/NumericalExample.htmN
u
[7]Wright,Peggy,KnowledgeDiscoveryInDatabases:ToolsandTechniques,
http://www.acm.org/crossroads/xrds52/kdd.html#11
[8]William,Graham,DataMiningCluster,
http://datamining.anu.edu.au/student/math3346_2005/050809maths3346
clusters2x2.pdf

Anda mungkin juga menyukai