Anda di halaman 1dari 19

Perancangan Clustering Data Menggunakan

Algortima K-Means Berbasis Heatmap


(Studi Kasus : Provinsi Papua Barat)
1) 2)
Sylvia Pretty Tulus, Hendry

Program Studi Teknik Infromatika


Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60 Salatiga
Email : 1) tulussylvia@gmail.com, 2) hendry@staff.uksw.edu

Abstract
Clustering is one of the methods that can be used to manage data
by grouping the data into a particular cluster. K-Means algorithm is used
to classify objects based on attribute into K cluster, where K is a positive
integer. The type of data used to cluster in this research is spatial data.
Spatial data will be normalized to Cartesian form and then processed by
clustering. Once the data processed, they will be displayed in a visual
form using Heatmap. Heatmap uses red to display objects with a maxi-
mum level of intensity and blue for the minimum. As a case study, this
research is applied to mineral potential in the Province of West Papua.

Keywords : Clustering, K-Means Algorithm, Heatmap

1. Pendahuluan
Data merupakan sekumpulan informasi atau nilai yang diperoleh melalui
observasi terhadap suatu obyek. Data dapat berupa angka, lambang atau sifat [1].
Pertumbuhan data yang makin pesat setiap harinya jika tidak dimanfaatkan dengan
baik akan tertimbun sia-sia. Oleh karena itu, data perlu dikelola dengan baik melalui
berbagai cara agar dapat menjadi informasi yang berguna.
Terdapat beberapa metode yang dapat digunakan untuk mengelola data, salah
satunya adalah clustering. Clustering merupakan kegiatan mengelompokkan objek
ke dalam suatu cluster, sehingga objek pada suatu cluster memiliki kemiripan yang
besar dengan objek lain pada cluster yang sama dan berbeda dengan objek pada
cluster lainnya. Beberapa metode yang dapat digunakan dalam mengembangkan
metode clustering antara lain metode parsial dan metode hirarki. Metode parsial
mengorganisir sejumlah data tertentu ke dalam kelompok yang lebih spesifik atau
cluster, sedangkan metode hirarki clustering mengelompokkan objek data ke dalam
sebuah hirarki atau pohon cluster [2].
Papua Barat sebagai salah satu Provinsi di Indonesia yang berpotensi
menghasilkan bahan tambang menjadi wilayah yang diminati oleh para investor untuk
menanam sahamnya. Setiap bahan tambang mempunyai karakteristik yang berbeda.
Seringkali hal ini menjadi kendala bagi investor untuk mengambil keputusan dalam
menentukan daerah yang akan digunakan sebagai wilayah usahanya di Provinsi
tersebut. Oleh karena itu, perlu adanya clustering mengenai data tersebut agar

101
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

dapat digunakan sebagai acuan dalam melakukan analisis untuk membantu dalam
menentukan pengambilan keputusan kedepannya.
Dalam penelitian ini, akan dilakukan clustering data menggunakan metode
parsial. Algoritma yang digunakan untuk melakukan proses clustering adalah
Algoritma K-Means. Data yang akan dikelompokkan dalam penelitian ini adalah
data potensi hasil tambang di Provinsi Papua Barat. Data yang digunakan dalam
proses clustering berupa data spasial dan kemudian akan dinormalisasi dalam bentuk
Kartesius. Setelah dinormalisasi, data tersebut dikelompokkan melalui clustering
kemudian dikembalikan dalam bentuk spasial dan disajikan secara visual berbasis
Heatmap. Provinsi Papua Barat sebagai daerah berkembang memerlukan media
yang dapat digunakan untuk mengenalkan kekayaan alam yang dimiliki. Salah satu
media yang dapat digunakan serta dapat diakses oleh banyak pihak adalah web.
Oleh rena itu, clustering yang dilakukan akan ditampilkan dalam sebuah aplikasi
web. Daerah yang berpotensi untuk menghasilkan hasil tambang yang banyak akan
ditampilkan Heatmap dengan warna merah dan yang kurang akan dengan warna
biru.

2. Kajian Pustaka

Adapun penelitian terdahulu yang berkaitan dalam penelitian ini berjudul


Penentuan Wilayah Usaha Pertambangan Menggunakan Metode Fuzzy K-Mean
Clustering Berbasis Sistem Informasi Geografi. Pada penelitian ini, metode Fuzzy
K-Mean Clustering diterapkan pada penentuan wilayah usaha pertambangan di
Kabuapten Trenggalek, Jawa Timur. Hasil dari penerapan metode tersebut adalah
segmentasi wilayah usaha pertambangan yang dapat menggambarkan karakteristik
bahan galian pada setiap kelompoknya, sehingga selain dapat mempermudah
penetapan rencana umum tata ruang daerah dalam pengalokasian wilayah usaha
pertambangan bahan galian, hasil segmentasi ini juga dapat mempermudah peminat
dan pelaku usaha tambang dalam memilih wilayah kegiatan usaha tambang yang
prospek di Kabupaten Trenggalek, Jawa Timur [3].
Penelitian yang berjudul Sistem Market Basket Untuk Menentukan Tata Letak
Produk Pada Suatu Swalayan Menggunakan Algoritma K-Means Clustering juga
merupakan salah satu penilitian yang berkaitan dengan penilitian ini. Market basket
analysis adalah salah satu teknik data mining yang dapat menemukan pola yang
berupa produk-produk yang sering dibeli bersamaan dalam sebuah transaksi. Dalam
penelitian tersebut, dijelaskan bagaimana market basket analysis dengan
menggunakan Algoritma K-Means clustering berdasarkan kebiasaan konsumen
berbelanja untuk menghasilkan suatu model tata letak produk. Algoritma K-Means
clustering digunakan untuk membagi data ke dalam cluster sehingga data yang
memiliki karakteristik yang sama dikelompokkan ke dalam satu cluster yang sama
dan data yang mempunyai karakteristik berbeda dikelompokkan ke dalam cluster
lain. Hasil dari penelitian tersebut adalah sebuah model tata letak produk yang dapat
digunakan oleh pihak manajemen swalayan [4].
Penelitian lain yang berkaitan dalam penelitian ini berjudul Implementasi
Metode Heatmap 2-D Untuk Visualisasi Data Terdistribusi. Penelitian ini membuat

102
Perancangan Clustering Data (Tulus dan Hendry)

aplikasi sebagai alat bantu untuk menampilkan data terdistribusi dalam bentuk visual
sehingga lebih menarik dan mudah dibaca. Adapun aplikasi ini dibuat dengan tujuan
mempermudah pengguna dalam mencari data dalam basis data XML serta mudah
dalam mengambil kesimpulan dan atau keputusan manajerial [5].
Mengacu pada penelitian terdahulu, maka akan dilakukan penelitian yang
berjudul Perancangan dan Implementasi Clustering Data Menggunakan Algoritma
K-Means Berbasis Heatmap. Dalam penelitian ini, data yang akan dikelompokkan
adalah data spasial dari peta sebaran potensi bahan tambang di Provinsi Papua
Barat kemudian disajikan dalam sebuah aplikasi web menggunakan Heatmap.
Clustering merupakan salah satu teknik dalam data mining. Clustering
membagi objek ke dalam kelompok atau cluster tertentu, sehingga objek dalam
suatu cluster memiliki kemiripan dengan objek lain dalam cluster yang sama dan
berbeda dengan objek pada cluster yang lain. Kemiripan objek umumnya
didefinisikan berdasarkan jarak kedekatan antar objek yang ditentukan melalui fungsi
jarak [2].

Gambar 1 Clustering dalam ruang dua dimensi. (a) Insialisasi Data;


(b) Data dalam tiga cluster; (c) Data dalam empat cluster [6]

Pada Gambar 1 terdapat sembilan objek yang akan dikelompokkan. Gambar


1(b) menggambarkan kesembilan objek tersebut dikelompokkan menjadi tiga clus-
ter, objek yang saling berdekatan dikelompokkan dalam satu cluster yang sama.
Sedangkan pada Gambar 1(c), terlihat kesembilan objek yang ada dikelompokkan
menjadi empat cluster.
Secara umum metode clustering dapat dibagi menjadi beberapa kategori,
antara lain metode parsial dan metode hirarki [2].
1. Metode Parsial adalah metode clustering yang sederhana dan merupakan
konsep dasar dari analisis cluster. Metode parsial mengorganisir sejumlah data
tertentu ke dalam kelompok yang lebih spesifik atau cluster. Jumlah cluster yang
diberikan merupakan parameter untuk memulai metode parsial.
Secara formal, pemberian sejumlah data (D) dari n objek dan jumlah cluster
(K) untuk melakukan proses clustering. Sebuah algortima partisi mengorganisir
objek ke dalam partisi K dengan K d n, sehingga setiap partisi mewakili sebuah
cluster. Cluster dibentuk untuk mengoptimalkan sebuah tujuan pembagian kriteria,
seperti fungsi perbedaan berdasarkan jarak, sehingga objek dalam satu cluster mirip
dengan objek lain dalam cluster tersebut, dan berbeda dengan objek di cluster
lain. Algoritma yang sering digunakan dalam metode parsial ini adalah Algoritma K-
Medoids dan K-Means.

103
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

2. Metode Hirarki dalam clustering mengelompokkan objek data ke dalam


sebuah hirarki atau pohon cluster. Objek data yang ditampilkan dalam bentuk sebuah
hirarki berguna untuk penyimpulan atau peringkasan serta penyajian data. Sebagai
contoh, seorang manajer sumber daya manusia di perusahaan X dapat mengorganisir
karyawannya ke dalam kelompok besar seperti eksekutif, manajer dan staf. Selain
itu, pengelompokan tersebut dapat dilanjutkan menjadi sub kelompok yang lebih
kecil. Misalnya kelompok umum untuk semua staf dapat dibagi menjadi sub
kelompok pegawai senior, pegawai dan pegawai yang masih dalam masa percobaan.
Setelah melakukan pengelompokan, maka sebuah hirarki dapat terbentuk.
Berdasarkan hirarki tersebut, proses penarikan kesimpulan atau klasifikasi data dapat
dilakukan dengan mudah.
Euclidean distance adalah metrika yang sering digunakan untuk menghitung
kesamaan dua vektor. Euclidean distance menghitung akar dari kuadarat perbedaan
dua vektor [7]. Semakin besar jarak antara dua vektor, maka tingkat kesamaan
atau kemiripannya kecil. Sebaliknya, semakin kecil jarak antara dua vektor, maka
tingkat kesamaan atau kemiripannya besar. Rumus Euclidean distance adalah
sebagai berikut :

Gambar 2 Rumus Euclidean Distance [7]

Pustaka lain yang mendukung penelitian ini adalah mengenai algoritma K-


Means. Algoritma K-Means merupakan salah satu teknik pengelompokan data yang
sering digunakan. K-Means mengelompokkan objek yang mirip dalam cluster yang
sama. Gambaran umum dari algoritma tersebut adalah sebagai berikut [8] :
1. Menentukan nilai K atau jumlah cluster yang diinginkan serta menentukan
centroid atau pusat cluster. Centroid ditentukan secara acak dari objek data yang
ada sesuai dengan nilai K, jika nilai K adalah dua maka centroid yang ditentukan
juga dua.
2. Membagi setiap objek ke dalam cluster yang paling mirip. Cluster yang
paling mirip adalah cluster dengan centroid terdekat. Perhitungan kedekatan antara
objek dengan centroid dapat dilakukan menggunakan fungsi jarak, seperti Euclid-
ean Distance.
3. Menghitung ulang K cluster dengan rata-rata dari semua objek yang
diberikan untuk tiap cluster.
4. Ulangi langkah kedua dan ketiga sampai tidak ada lagi objek yang
berpindah cluster.
Heatmap digunakan untuk menggambarkan distribusi dan kepadatan titik
pada peta. Heatmap memudahkan viewer untuk memahami distribusi dan intensitas
relatif titik data pada peta. Distribusi data pada Heatmap diwakilkan menggunakan
warna [9].

104
Perancangan Clustering Data (Tulus dan Hendry)

3. Metode dan Perancangan

Pada penelitian ini, dilakukan beberapa tahapan yang saling berkaitan antara
satu tahap dengan tahap lainnya. Flowchart tahapan penelitian yang dilakukan dapat
dilihat pada Gambar 3 [10].

Gambar 3 Flowchart Tahapan Penelitian [10]

Berdasarkan Gambar 3 dapat dilihat bahwa tahap pertama yang dilakukan


dalam penelitian ini adalah identifikasi masalah. Identifikasi masalah dilakukan untuk
melihat dengan jelas tujuan dan sasaran dari penelitian yang akan dilakukan. Masalah
penelitian dipilih berdasarkan beberapa pertimbangan, antara lain sisi waktu, biaya
maupun kontribusi diberikan bagi pengembangan ilmu pengetahuan dan teknologi.
Tahap selanjutnya adalah perumusan masalah. Perumusan masalah perlu
dilakukan agar proses penelitian lebih terarah sesuai dengan rumusan masalah yang
ditetapkan. Pada penelitian ini, masalah dirumuskan dalam suatu bentuk pertanyaan
yang singkat sehingga dapat memberikan petunjuk untuk pengumpulan data serta
pencarian metode yang tepat untuk pemecahan masalah tersebut.
Setelah merumuskan masalah, tahap berikutnya yang dilakukan adalah
penelusuran pustaka. Pada tahap ini dilakukan pencarian pustaka dan pengumpulan
informasi yang berhubungan dengan penelitian. Penelusuran pustaka berguna untuk
menghindari duplikasi dari pelaksanaan penelitian.
Tahap berikutnya yaitu rancangan penelitian. Rancangan penelitian merupakan
rencana menyuluruh dari penelitian mencakup hal-hal yang akan dilakukan dalam
penelitian ini. Adapun rancangan penelitian dari penelitian ini adalah rentang waktu
penelitian dilakukan, teknik pengumpulan data dan pengolahan data.
Data yang dikumpulkam dalam tahap pengumpulan data ini meruapakan data
sekunder yang diperoleh melalui wawancara di Dinas Pertambangan dan Energi
Provinsi Papua Barat untuk mendapatkan data yang diperlukan dalam penelitian ini.

105
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Data yang dihasilkan dari pengumpulan data tersebut berupa peta sebaran potensi
tambang di Provinsi Papua Barat. Data tersebut kemudian diolah melalui tahap
pengujian pada sistem yang akan dibangun.
Adapun metode perancangan sistem yang digunakan dalam penelitian ini adalah
model Waterfall. Pendekatan model ini sistematis dan dan urut mulai dari level
kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification,
dan maintenance. Secara umum tahapan pada model Waterfall ditunjukkan pada
Gambar 4 [11].

Gambar 4 Model Waterfall [11]

Seperti yang terlihat pada Gambar 4, tahapan pertama yang dilakukan dalam
model Waterfall adalah analisis kebutuhan sistem. Pada tahap ini dilakukan identifikasi
kebutuhan data yang akan dibutuhkan sistetm yaitu data spasial. Data tersebut
diperoleh melalui tahap pengumpulan data dari tahapan penelitian yang dilakukan.
Tahapan kedua dari model Waterfall adalah desain sistem. Pada tahap ini
dilakukan perancangan sistem serta perancangan user interface dari aplikasi yang
akan dibangun. Perancangan dibuat menggunakan Unified Modeling Language
(UML). Adapun diagram yang dibuat adalah Use Case Diagram dan Activity
Diagram. Use Case Diagram menggambarkan interaksi yang terjadi antara aktor
dengan sistem. Use Case Diagram dari sistem yang akan dibangun dapat dilihat
pada Gambar 5.

Gambar 5 Use Case Diagram Sistem

Pada Gambar 5 terlihat bahwa terdapat satu aktor yaitu user dan beberapa
interaksi yang dapat dilakukan oleh aktor tersebut. Interaksi yang dapat dilakukan
oleh aktor adalah mengunduh file yang disediakan sistem sebagai contoh file yang

106
Perancangan Clustering Data (Tulus dan Hendry)

dapat digunakan untuk melakukan proses clustering, melakukan clustering, melihat


peta setelah melakukan clustering, menambah data latitude dan longitude pada
peta. Dalam interaksi menambah data latitude dan longitude, user dapat menambah
data baru pada peta yang sudah ada sebelumnya dan kemudian akan dilakukan
clustering ulang pada data yang baru.
Selain Use Case Diagram, terdapat juga Activity Diagram. Activity
Diagram menggambarkan alur aktivitas yang dapat dilakukan oleh aktor mulai dari
awal hingga berakhirnya suatu use case. Pada bagian ini, Activity Diagram yang
akan dibahas yaitu aktivitas dari use case melakukan clustering berdasarkan Use
Case Diagram pada Gambar 5. Activity Diagram dari use case tersebut dapat
dilihat pada Gambar 6.

Gambar 6 Activity Diagram Melakukan Clustering

Activity Diagram pada Gambar 6 menggambarkan bahwa user dapat


melakukan clustering dengan mengisi data pada form proses clustering yang
ditampilkan oleh sistem terlebih dahulu. Adapun data yang harus diisi berupa jumlah
cluster yang diingikan user serta file yang berisi data mengenai objek yang akan
dikelompokkan yaitu nama objek, latitude dan longitude. Setelah user mengisi
data pada form proses clustering, sistem akan melakukan validasi terhadap data
tersebut. Jika data yang dimasukkan benar, sistem akan mengunggah file yang
dimasukkan terlebih dahulu kemudian melakukan proses clustering. Namun jika
data yang dimasukkan salah, sistem akan meminta user untuk mengisi data kembali.
Selain perancangan sistem, perancangan user interface juga dilakukan agar
pembuatan aplikasi lebih mudah dan terarah. Terdapat empat user interface yang
dirancang, yaitu user interface untuk beranda, user interface untuk clustering,
user interface untuk menampilkan hasil clustering dan user interface untuk
menampilkan peta. Perancangan user interface beranda dari aplikasi yang akan
dibangun dapat dilihat pada Gambar 7.

107
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Gambar 7 User Interface Beranda

Pada Gambar 7, terlihat bahwa terdapat beberapa sub menu dari menu
utama Beranda yaitu Clustering, Algoritma K-Means dan Heatmap. Masing-masing
sub menu tersebut berisi definisi dari tiap sub menu itu sendiri. Selain Beranda,
terdapat juga menu utama Clustering dengan tampilan seperti pada Gambar 8.

Gambar 8 User Interface Clustering

Gambar 8 merupakan rancangan user interface dari menu utama Clustering.


Terdapat dua sub menu yaitu download file dan Proses clustering pada menu
clustering. Sub menu download file berisi file yang dapat diunduh oleh user untuk
mengisi data latitude dan longitude dari peta daerah yang akan dikelompokkan.
Proses clustering dilakukan melalui sub menu Proses Clustering. Rancangan user
interface untuk proses clustering dapat dilihat pada Gambar 9.

Gambar 9 User Interface Proses Clustering

108
Perancangan Clustering Data (Tulus dan Hendry)

Ketika user memilih sub menu Proses clustering melalui menu utama
Clustering, user akan diarahkan ke halaman dengan user interface seperti pada
Gambar 9. Pada Gambar 8 terdapat sebuah form yang harus dilengkapi oleh user
untuk melakukan proses clustering. User harus memasukkan jumlah cluster yang
diinginkan dalam proses clustering dengan jumlah cluster tersebut harus lebih dari
nol dan bernilai positif. Kemudian user juga harus mengunggah file yang datanya
akan diambil untuk proses clustering dengan menekan tombol UNGGAH. Setelah
file berhasil diunggah, user dapat menekan tombol PROSES untuk melakukan
clustering. Selanjutnya, ketika proses clustering berhasil dilakukan user akan
diarahkan pada halaman dengan user interface seperti pada Gambar 10.

Gambar 10 User Interface Hasil Clustering

Gambar 10 menunjukkan perancangan user interface untuk hasil dari proses


clustering yang dilakukan. Selain itu, juga terdapat sebuah link yang dapat digunakan
untuk melihat peta setelah clustering. User interface untuk menampilkan peta
tersebut dapat dilihat pada Gambar 11.

Gambar 11 User Interface Lihat Peta

109
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Gambar 11 merupakan rancangan user interface untuk melihat peta hasil


clustering dari data yang dimasukkan. Selain itu, terdapat juga form yang dapat
digunakan jika user ingin menambah data baru untuk clustering. User hanya perlu
mengarahkan kursor pada titik yang diinginkan kemudian klik kiri pada mouse maka
latitude dan longitude dari titik yang diingikan akan muncul pada kolom yang tersedia.
Kolom nama objek dapat digunakan untuk mengisi nama dari objek baru yang
diingikan. Setelah mengisi data pada form yang tersedia, user dapat menekan tombol
TAMBAH untuk menambah data baru.
Sebelum lanjut ke tahap berikutnya dari model Waterfall, pada tahap ini
juga dilakukan perancangan untuk alur proses clustering data. Perancangan ini
dilakukan dengan membuat flowchart program mulai dari normalisasi data spasial
sampai ditampilkan kembali menggunakan Heatmap. Hal ini dilakukan agar penulisan
kode program pada tahap selanjutnya dapat dilakukan dengan lebih terstruktur.
Flowchart untuk perancangan tersebut dapat dilihat pada Gambar 12.

Gambar 12 Flowchart Program

Gambar 12 merupakan flowchart dari program yang akan dibuat. Sebelum


melakukan clustering, user harus memberikan inputan terlebih dahulu yaitu data
yang akan dikelompokkan. Data yang diberikan berupa data spasial. Kemudian,
program akan melakukan normalisasi terhadap data spasial tersebut. Setelah itu,
data yang telah dinormalisasi akan dikelompokkan melalui proses clustering
menggunakan Algoritma K-Means. Selanjutnya, data tersebut akan dikembalikan
ke dalam bentuk spasial dan kemudian ditampilkan dalam bentuk peta menggunakan
Heatmap.
Setelah selesai melakukan desain sistem dan perancangan user interface
serta perancangan alur program, tahap ketiga dalam model Waterfall adalah
penulisan kode program. Pada tahap ini dilakukan implementasi pada perancangan
yang telah dibuat. Implementasi dilakukan dengan menulis kode program
menggunakan PHP, CSS dan Javascript.
Tahapan berikutnya dari tahapan penelitian adalah pengolahan data. Dalam
penelitian ini, pengolahan data dilakukan melalui tahap pengujian program pada model
Waterfall. Pengujian yang dilakukan yaitu pengujian dengan Black Box Testing.
Black Box Testing bisa juga disebut dengan functional testing, sebab pengujian
dilakukan pada tiap fungsi yang ada pada program [12]. Hasil dari pengolahan data

110
Perancangan Clustering Data (Tulus dan Hendry)

yang dilakukan melalui proses pengujian akan digunakan dalam tahap penyimpulan
hasil sebagai kesimpulan dari penelitian.
Tahap terakhir dari model Waterfall adalah perawatan program. Pada tahap
ini dilakukan pemeliharaan terhadap aplikasi yang dibuat. Bentuk pemeliharaan yang
dapat dilakukan adalah dengan memperbaharui aplikasi atau membuat versi yang
baru untuk aplikasi ini.

4. Hasil dan Pembahasan

Pada bagian hasil dan pembahasan akan dibahas penerapan dari tiap
perancangan yang sudah dibangun. Adapun hasil penerapan yang akan dibahas antara
lain proses melakukan clustering dan bagaimana menampilkan hasil clustering
tersebut menggunakan Heatmap dengan PHP dan Javascript.
Seperti yang telah dijelaskan sebelumnya mengenai clustering dan Algoritma
K-Means, maka yang dibutuhkan untuk melakukan clustering adalah nilai K sebagai
jumlah cluster serta data yang akan dikelompokkan. Data yang digunakan dalam
penelitian ini adalah data potensi hasil tambang di Provinsi Papua Barat berupa data
spasial dari peta sebaran potensi hasil tambang tersebut. Sebelum melakukan
clustering, data tersebut harus dinormalisasi terlebih dulu. Proses normalisasi data
spasial tersebut dapat dilihat pada Kode Program 1.

Kode Program 1 Proses Normalisasi Data

1. $setData = normalisasi($namadb, $kolom1, $kolom2);


2. $A = $setData[0];
3. $minA = $setData[1];
4. $maxA = $setData[2];
5. $C = $setData[3];
6. $D = $setData[4];
7. for($i=0; $i<count($A); $i++) {
8. $x = round(($A[$i][0]-$minA[0][0])/($maxA[0][0]-
$minA[0][0])*($D[0]-$C[0])+$C[0], 6);
9. $y = round(($A[$i][1]-$minA[0][1])/($maxA[0][1]-
$minA[0][1])*($D[1]-$C[1])+$C[1], 6);
10. .
11. .
12. .
13. }

Pada baris satu dapat dilihat program memanggil fungsi normalisasi dengan
parameter nama database yang digunakan serta kolom yang berisi data latitude
dan longitude. Nilai yang dikembalikan dari fungsi tersebut adalah nilai terkecil dan
terbesar dari data yang akan dinormalisasi serta range yang diinginkan untuk proses
normalisasi tersebut. Pengkodean untuk normalisasi data terdapat pada baris 8 dan
baris 9 dari Kode Program 1.
Setelah melakukan proses normalisasi, proses selanjutnya adalah clustering.
Proses clustering dilakukan menggunakan Algoritma K-Means. Pengkodean untuk
proses clustering dapat dilakukan dengan memanggil beberapa fungsi pada program,

111
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

namun pada bagian ini hanya akan dibahas dua fungsi yaitu fungsi untuk menghitung
jarak berdasarkan rumus Euclidean Distance yang dapat dilihat dalam Kode
Program 2 dan fungsi untuk mengelompokkan data ke dalam cluster pada Kode
Program 3.

Kode Program 2 Perhitungan Jarak

1. function jarak($obj, $cent) {


2. $x = pow(($obj[0]-$cent[0]),2);
3. $y = pow(($obj[1]-$cent[1]),2);
4. return round(sqrt($x + $y), 2);
5. }

Pada Kode Program 2 terdapat fungsi jarak dengan parameter obj yaitu data
objek yang akan dikelompokkan serta cent sebagai centroid yang akan digunakan
untuk menghitung jarak. Fungsi jarak melakukan perhitungan jarak antara masing-
masing objek data ke centroid yang sudah ditentukan. Sesuai dengan penjelasan
mengenai Algoritma K-Means, maka langkah selanjutnya adalah mengelompokkan
tiap data ke dalam cluster.

Kode Program 3 Pengelompokan Data

1. function clustering($data, $centroids, $k) {


2. foreach($data as $indexDataObj => $dataObj) {
3. foreach($centroids as $centroid) {
4. $arrJarak[$indexDataObj][] = jarak($dataObj,
$centroid);
5. }
6. }
7. foreach($arrJarak as $indexJarak => $jarak) {
8. $cluster = minCent($jarak);
9. $arrTempCluster[$cluster][] = $indexJarak;
10. $arrJarak_dari_clusters = array($indexJarak =>
$jarak);
11. }
12. if(count($arrTempCluster) < $k) {
13. $latLngCluster = maxCent($arrJarak_dari_clusters);
14. foreach($arrTempCluster as $tempIndex =>
$tempCluster) {
15. foreach($tempCluster as $tempObj) {
16. if($tempObj == $latLngCluster) {
17. $clusters[$k+1][] = $tempObj;
18. } else {
19. $clusters[$tempIndex][] = $tempObj;
20. }
21. }
22. }
23. } else {
24. $clusters = $arrTempCluster;
25. }
26. return $clusters;
27. }

112
Perancangan Clustering Data (Tulus dan Hendry)

Pada Kode Program 3 terdapat fungsi clustering yang berfungsi untuk


melakukan pengelompokan data. Secara garis besar, fungsi ini akan memanggil fungsi
jarak untuk menghitung jarak dan hasilnya ditampung dalam variabel arrJarak. Setelah
itu, akan diambil nilai minimum dari hasil perhitungan tersebut. Nilai minimum dari
masing-masing objek kemudian dikelompokkan satu cluster yang sama. Proses
clustering dilakukan secara berulang-ulang sampai tidak ada lagi objek yang
berpindah dari satu cluster ke cluster yang lain. Hasil dari proses clustering akan
ditampilkan oleh program seperti pada Gambar 13.

Gambar 13 Hasil Clustering

Data yang dimasukkan oleh user adalah data mengenai potensi bahan
tambang di Provinsi Papua Barat dengan jumlah titik sebanyak 79 titik. Berdasarkan
hasil clustering pada Gambar 13, dapat dilihat bahwa nilai K yang dimasukkan
oleh user adalah dua sehingga jumlah cluster yang dibuat juga sebanyak dua cluster.
Selain itu, juga terdapat link Lihat Peta yang dapat digunakan untuk melihat peta
dari hasil clustering yang sudah dilakukan. Namun sebelum menampilkan peta,
data yang sudah dinormalisasi sebelumnya harus dikembalikan terlebih dahulu ke
dalam bentuk spasial. Data spasial tersebut kemudian ditampilkan dengan Heatmap.
Pengkodean untuk mengembalikan data dalam bentuk spasial dapat dilihat pada
Kode Program 4 dan untuk menampilkan data dengan Heatmap dapat dilihat pada
Kode Program 5.

Kode Program 4 Mengembalikan Data Spasial

1. $setData = normal($namadb, $kolom1, $kolom2);


2. $B = $setData[0];
3. $minA = $setData[1];
4. $maxA = $setData[2];
5. $C = $setData[3];
6. $D = $setData[4];
7. .
8. for($i=0; $i<count($B); $i++) {
9. $x = round(($B[$i][0]/(($D[0]-
$C[0])+$C[0]))*($maxA[0][0]-$minA[0][0])+$minA[0][0], 6);
10. $y = round(($B[$i][1]/(($D[1]-
$C[1])+$C[1]))*($maxA[0][1]-$minA[0][1])+$minA[0][1], 6);
11. .
12. .
13. .
14. .
15. .
16. .
17. }

113
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Kode Program 4 merupakan pengkodean untuk mengembalikan data yang


sudah dinormalisasi menjadi data spasial. Pada kode program tersebut dapat dilihat
bahwa program memanggil fungsi normal yang berfungsi untuk mengambil data yang
akan dikembalikan. Proses pengembalian data menjadi bentuk spasial terdapat pada
baris tujuh sampai baris sembilan dari Kode Program 4. Setelah berhasil
mengembalikan data dalam bentuk spasial, data akan ditampilkan menggunakan
Heatmap.

Kode Program 5 Menampilkan Data Dengan Heatmap

1. downloadUrl(../Skripsi/fungsi/
map_xml.php?namadb=+namadb, function(data) {
2. var xml = data.responseXML;
3. var markers = xml.documentElement.getElementsByTagName
(marker);
4. for (var i = 0; i < markers.length; i++) {
5. var nama = markers[i].getAttribute(nama);
6. var cluster = markers[i].getAttribute(cluster);
7. var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute(lat)),
parseFloat(markers[i].getAttribute(lng)));
8. disk_points.push(point);
9. var html = <b> + nama + </b><br>Anggota <i>cluster</
i> + cluster;
10. var marker = new google.maps.Marker({position:
point});
bindInfoWindow(marker, map, infoWindow, html);
marker_array.push(marker);
11. }
12. });
13. pointArray = new google.maps.MVCArray(disk_points);
14. heatmap = new
google.maps.visualization.HeatmapLayer({
15. data: pointArray
16. });
17. heatmap.set(radius, 25);
18. heatmap.set(gradient, gradient);
19. heatmap.setMap(map);

Kode Program 5 merupakan potongan dari fungsi initialize dengan parameter


nama database yang digunakan. Fungsi tersebut dijalankan program untuk
menampilkan data yang sudah dikelompokkan melalui clustering menggunakan
Heatmap. Baris 1 dari Kode Program 5 memanggil data yang sudah dikembalikan
ke dalam bentuk spasial sebelumnya. Data tersebut kemudian digunakan oleh fungsi
initialize untuk ditampilkan dalam peta seperti yang terlihat pada baris lima sampai
baris tujuh dari Kode Program 5 dan kemudian disimpan dalam variabel pointArray
pada baris 13. Pengkodean untuk menampilkan data dalam variabel pointArray
dengan Heatmap terdapat pada baris 17 sampai baris 19 dari Kode Program 5.
Data yang ditampilkan oleh Heatmap dapat dilihat pada Gambar 14.

114
Perancangan Clustering Data (Tulus dan Hendry)

Gambar 14 Peta Hasil Clustering

Gambar 14 menunjukkan hasil clustering dari data yang dimasukkan oleh


user. Dari gambar tersebut dapat dilihat bahwa daerah yang berpotensi menghasilkan
bahan tambang berwarna merah. Pada gambar tersebut juga terdapat form Tambah
Objek Baru yang dapat digunakan jika user ingin menambah objek baru. Jika gambar
tersebut diperbesar, maka akan ditampilkan detail dari masing-masing titik berupa
informasi mengenai objek yang terdapat pada titik tersebut seperti yang ditunjukkan
pada Gambar 15

Gambar 15 Informasi Objek Tiap Titik

115
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Black Box Testing


Dalam perancangan program ini, pengujian dilakukan dengan Black Box
Testing. Pada pengujian dengan Black Box Testing, akan diuji validitas dari fungsi-
fungsi yang ada. Fungsi yang berhasil ditandai dengan (), sedangkan fungsi yang
gagal ditandai dengan (). Hasil dari pengujian tersebut dapat dilihat pada Tabel 1.

Tabel 1 Hasil Black Box Testing

Black Box Testing dilakukan oleh programmer yang membuat program


tersebut, dalam hal ini peneliti. Fungsi-fungsi yang digunakan untuk melakukan
clustering diuji melalui Black Box Testing tersebut. Berdasarkan hasil pengujian
pada Tabel 1, setiap fungsi sudah berjalan dengan baik atau valid.
Selain Black Box Testing, juga dilakukan pengujian penelitian. Pengujian ini
dilakukan untuk melihat kembali tujuan dari penelitian, yaitu clustering pada data
spasial. Pengujian dilakukan melalui nilai K yang dimasukkan. Hasil dari pengujian
tersebut dapat dilihat pada Tabel 2.

116
Perancangan Clustering Data (Tulus dan Hendry)

Tabel 2 Hasil Pengujian Cluster

Pada Tabel 2 dapat dilihat bahwa semakin besar nilai K yang diberikan tidak
mempengaruhi durasi clustering. Hal ini terlihat dari durasi clustering yang terus
berubah-ubah untuk tiap nilai K. Jika dilakukan proses clustering dengan nilai K
satu sampai sepuluh, maka durasi yang dihasilkan akan berbeda dengan hasil yang
terdapat pada Tabel 2. Berdasarkan hasil tersebut, dapat dikatakan bahwa durasi
clustering tidak bergantung pada nilai K yang diberikan dari pengujian penelitian
yaitu mendapatkan daerah yang paling berpotensi menghasilkan bahan tambang.
Hasil tersebut dapat dilihat pada Gambar 16.

117
Jurnal Teknologi Informasi-Aiti, Vol. 11. No.2, Agustus 2014 : 101 - 202

Gambar 16 Hasil Pengujian Penelitian

Gambar 16 menunjukkan hasil clustering dengan nilai K empat, sehingga


ada empat cluster yang dibuat dari proses clustering tersebut. Pada Tabel 2 dapat
dilihat bahwa cluster terbaik untuk menghasilkan potensi tambang dengan nilai K
empat adalah cluster tiga, sedangkan pada Gambar 16 dapat dilihat bahwa cluster
terbaik yang berpotensi untuk menghasilkan tambang adalah cluster dua. Perbedaan
ini disebabkan karena centroid yang digunakan dalam Algoritma K-Means ditentukan
secara acak.

5. Simpulan

Berdasarkan hasil dan pembahasan dari penelitian yang dilakukan, maka dapat
diambil kesimpulan bahwa aplikasi clustering data dapat digunakan untuk
mengelompokkan data spasial melalui proses normalisasi terlebih dahulu dan
kemudian dikelompokkan menggunakan Algoritma K-Means. Data dikelompokkan
berdasarkan jarak terdekat objek bukan berdasarkan karakteristik objek. Dari hasil
pengujian yang dilakukan juga dapat diambil kesimpulan bahwa daerah yang
berpotensi menghasilkan bahan tambang untuk nilai K atau jumlah cluster empat
adalah daerah cluster tiga. Hal ini dapat menjadi informasi bagi investor atau
pengusaha di bidang pertambangan untuk menemukan wilayah yang berpotensi
menghasilkan tambang. Selain itu, aplikasi juga dapat menampilkan data yang sudah
dikelompokkan secara visual dengan menggunakan Heatmap.

6. Daftar Pustaka

[1] Situmorang, S. H., Muda. I., Dalimunthe, D. M. J., Fadli, Syarief, F., 2010,
Analisis Data : Untuk Riset Manajemen dan Bisnis, Medan : USU Press.
[2] Han, J., Kamber M., Pei, J., 2011, Data Mining : Technique and Concepts
3rd ed., San Fransisco, CA, USA : Morgan Kaufmann.
[3] Suryana, Nana, 2010, Penentuan Wilayah Usaha Pertambangan Menggunakan
Metode Fuzzy K-Mean Clustering Berbasis Sistem Informasi Geografi, Jurnal
Teknologi Mineral dan Batubara, 6 (4):204-215, http://
www.tekmira.esdm.go.id/newtek2/e-jurnal/Jurnal%20tekMIRA%20-

118
Perancangan Clustering Data (Tulus dan Hendry)

%20Oktober%202010.html. Diakses tanggal 5 April 2014.


[4] Sebayang, Steffi Andina, 2012, Sistem Market Basket Untuk Menentukan
Tata Letak Produk Pada Suatu Swalayan Menggunakan Algoritma K-Means
Clustering.
[5] Lisana, & Pramana, Edwin, 2013, Implementasi Metode Heatmap 2-D Untuk
Visualisasi Data Terdistribusi, Seminar Nasional Teknologi Informasi dan
Mulitmedia 2013, Universitas Surabaya.
[6] Kantardzic, Mehmed, 2011, Data Mining : Concepts, Models, Methods
and Algorithms 2nd ed., USA : Wiley-IEEE Press.
[7] Putra, Darma, 2010, Pengolahan Citra Digital, Yogyakarta : Penerbit Andi.
[8] Aggarwal, Charu C., & Reddy, Chandan K., (Ed.), 2013, Data Clustering
: Algorithms and Applications, Boca Raton : CRC Press.
[9] Google, 2014, Google Maps Andorid Heatmap Utility, https://
developers.google.com/maps/documentation/android/utility/
heatmap#introduction. Diakses tanggal 12 April 2014.
[10] Hasibuan, Zainal A, 2007, Metode Penelitian Pada Bidang Ilmu Komputer
Dan Teknologi Informasi : Konsep, Teknik Dan Aplikasi, Jakarta : Fakultas
Ilmu Komputer Universitas Indonesia.
[11] Pressman, Roger S., 2001, Software Engineering a Practitioners
Approach, New York : McGraw-Hill Higher Education.
[12] Saleh, Kassem A., 2009, Software Engineering, USA : J. Ross Publishing.

119

Anda mungkin juga menyukai