• Tidak ada hasil yang ditemukan

Perancangan Clustering Data Menggunakan Algortima K-Means Berbasis Heatmap (Studi Kasus : Provinsi Papua Barat)

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan Clustering Data Menggunakan Algortima K-Means Berbasis Heatmap (Studi Kasus : Provinsi Papua Barat)"

Copied!
19
0
0

Teks penuh

(1)

Algortima K-Means Berbasis Heatmap

(Studi Kasus : Provinsi Papua Barat)

1 )Sylvia Pretty Tulus, 2) Hendry

Program Studi Teknik Infromatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60 Salatiga

Email : 1) [email protected], 2) [email protected]

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 minimaxi-mum. 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

(2)

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

(3)

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.

(4)

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].

(5)

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.

(6)

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

(7)

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.

(8)

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.

(9)

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.

(10)

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

(11)

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,

(12)

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. }

(13)

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. }

(14)

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.

(15)

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

(16)

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-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.

(17)

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.

(18)

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://

(19)

www.tekmira.esdm.go.id/newtek2/e-jurnal/Jurnal%20tekMIRA%20-%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 Practitioner’s

Approach, New York : McGraw-Hill Higher Education.

Gambar

Gambar 3 Flowchart Tahapan Penelitian [10]
Gambar 5 Use Case Diagram Sistem
Gambar 6 Activity Diagram Melakukan Clustering
Gambar 9 User Interface Proses Clustering
+7

Referensi

Dokumen terkait

Karakteristik pribadi yang dimiliki seluruh wiraniaga berbeda-beda, ada yang menyukai pekerjaan sebagai wiraniaga tetapi ada juga yang merasa tidak cocok dengan pekerjaan

4. Persepsi pelanggan atas kesesuaian menggunakan jasa layanan. Kualitas sangat dibutuhkan terutama di industri jasa pada saat ini, mengingat para pelangganmempunyai

Sedangkan Arsyad (2002) menyatakan bahwa media (bentuk jamak dari medium), merupakan kata yang berasal dari bahasa latin medius secara harafiah berarti tengah,

Dalam hal penyaluran dana manajemen mengutamakan prinsip prudential atau prinsip kehati-hatian dengan tujuan agar tetap aman dan menguntungkan.. amanah dari para

Penelitian ini menggunakan dua variabel independen, maka langkah-langkah pengujian hipotesis yang digunakan dalam analisis regresi data panel dijelaskan pada uraian

Gempa bumi adalah getaran atau guncangan yang terjadi di permukaan bumi yang disebabkan oleh tumbukan antar lempeng bumi, patahan aktif, aktivitas gunung api atau

OLIMPIADE OLAHRAGA SISWA NASIONAL SE JAWA TIMUR CABANG OLAHRAGA

 Penerbitan PP dan Perpres mengenai pendaftaran tenaga kerja dan program jaminan sosial yang memuat penyederhanaan proses menjadi secara simultan 1 hari kerja, dari semula