• Tidak ada hasil yang ditemukan

Analisis Perbandingan Proses Cluster Menggunakan K- Means Clustering dan K-Nearest Neighbor pada Penyakit Diabetes Mellitus

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Perbandingan Proses Cluster Menggunakan K- Means Clustering dan K-Nearest Neighbor pada Penyakit Diabetes Mellitus"

Copied!
117
0
0

Teks penuh

(1)

LAMPIRAN

DATA SET DIABETES

(700 Instances, 9 Attributes, 2 Classes)

Sumber: UCI Machine Learning Repository, yaitu: PIMA Indians Diabetes Dataset.

(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)

LISTING PROGRAM

<meta http-equiv="refresh" content="<?php echo $sec?>;URL='<?php echo $page?>'"> <?php

$time = microtime(); $time = explode(' ', $time); $time = $time[1] + $time[0]; $start = $time;

$sql_cek_iterasi = mysql_query("SELECT * FROM iterasi"); if(mysql_num_rows($sql_cek_iterasi) == 0){

$sql_akumulasi_jarak = mysql_query("SELECT * FROM akumulasi_jarak"); $array_akumulasi_jarak = mysql_fetch_array($sql_akumulasi_jarak);

mysql_query("INSERT INTO iterasi SET iterasi=1") or die(mysql_error());

(20)

$iterasi_tampil=1;

mysql_query("INSERT INTO iterasi SET iterasi='$iterasi'") or die(mysql_error()); }

$delete_jarak = mysql_query("DELETE FROM jarak");

$delete_akumulasi_jarak = mysql_query("DELETE FROM akumulasi_jarak"); //menentukan jumlah euclide distance

$sql_acak = mysql_query("SELECT * FROM nilai_acak ORDER BY id_nilai_acak ASC"); $i=1;

while($array_nilai_acak = mysql_fetch_array($sql_acak)){ $k = $i-1;

$sql_sampel = mysql_query("SELECT * FROM sampel ORDER BY id_sampel ASC"); while($array_sampel = mysql_fetch_array($sql_sampel)){

$cluser = sqrt(pow(($array_sampel['sampel_1'] - $array_nilai_acak['x1']),2) + pow(($array_sampel['sampel_2'] - $array_nilai_acak['x2']),2)

+ pow(($array_sampel['sampel_3'] - $array_nilai_acak['x3']),2) + pow(($array_sampel['sampel_4'] - $array_nilai_acak['x4']),2)

+ pow(($array_sampel['sampel_5'] - $array_nilai_acak['x5']),2) + pow(($array_sampel['sampel_6'] - $array_nilai_acak['x6']),2)

+ pow(($array_sampel['sampel_7'] - $array_nilai_acak['x7']),2) + pow(($array_sampel['sampel_8'] - $array_nilai_acak['x8']),2)) ;

$insert_jarak = mysql_query("INSERT INTO jarak VALUES ('','$array_sampel[id_sampel]','$cluser','$k')");

}

$i++; }

//menentukan jumlah euclide distanc

//perhitungan euclidean distancet terhadap centroid pada sampel

(21)

$sql_sampel = mysql_query("SELECT a.*,b.* FROM sampel a, jarak b where a.id_sampel=b.id_sampel ORDER BY a.id_sampel ASC");

while($array_sampel = mysql_fetch_array($sql_sampel)){

$sql_max_jarak = mysql_query("SELECT MIN(hasil) AS hasil_max, urutan, id_sampel FROM jarak WHERE id_sampel='$array_sampel[id_sampel]'");

$array_max_jarak = mysql_fetch_array($sql_max_jarak); if($array_max_jarak['hasil_max'] == $array_sampel['hasil']){

$insert_jarak = mysql_query("INSERT INTO akumulasi_jarak VALUES ('','$array_sampel[id_sampel]','$array_max_jarak[hasil_max]',$array_sampel[urutan])"); $insert_jarak = mysql_query("INSERT INTO akumulasi_jarak2 VALUES ('','$array_sampel[id_sampel]','$array_max_jarak[hasil_max]',$array_sampel[urutan])"); }

}

//perhitungan euclidean distancet terhadap centroid pada sampel //proses perpindahan centroids

$sql_num_sampel1 = mysql_query("SELECT a.*,b.* FROM sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel and b.urutan=0 ORDER BY a.id_sampel ASC");

$num_sampel1 = mysql_num_rows($sql_num_sampel1);

$sql_sampel_urutan_1 = mysql_query("SELECT SUM(a.sampel_1) AS nilai_1,SUM(a.sampel_2) AS nilai_2,

SUM(a.sampel_3) AS nilai_3,SUM(a.sampel_4) AS nilai_4,SUM(a.sampel_5) AS nilai_5,SUM(a.sampel_6) AS nilai_6,SUM(a.sampel_7) AS nilai_7

,SUM(a.sampel_8) AS nilai_8 FROM sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel and b.urutan=0 ORDER BY a.id_sampel ASC");

(22)

$sql_num_sampel2 = mysql_query("SELECT a.*,b.* FROM sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel and b.urutan=1 ORDER BY a.id_sampel ASC");

$num_sampel2 = mysql_num_rows($sql_num_sampel2);

$sql_sampel_urutan_2 = mysql_query("SELECT SUM(a.sampel_1) AS nilai_1,SUM(a.sampel_2) AS nilai_2,

SUM(a.sampel_3) AS nilai_3,SUM(a.sampel_4) AS nilai_4,SUM(a.sampel_5) AS nilai_5,SUM(a.sampel_6) AS nilai_6,SUM(a.sampel_7) AS nilai_7

,SUM(a.sampel_8) AS nilai_8 FROM sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel and b.urutan=1 ORDER BY a.id_sampel ASC");

$array_sampel_urutan_2 = mysql_fetch_array($sql_sampel_urutan_2) or die(mysql_error());

$update_1 = mysql_query("INSERT INTO nilai_acak VALUES ('','$sampel1_urutan_1','$sampel2_urutan_1',

'$sampel3_urutan_1','$sampel4_urutan_1','$sampel5_urutan_1','$sampel6_urutan_1','$sampel 7_urutan_1','$sampel8_urutan_1')");

$update_1 = mysql_query("INSERT INTO nilai_acak VALUES ('','$sampel1_urutan_2','$sampel2_urutan_2',

'$sampel3_urutan_2','$sampel4_urutan_2','$sampel5_urutan_2','$sampel6_urutan_2','$sampel 7_urutan_2','$sampel8_urutan_2')");

$sql_pilihan = mysql_query("SELECT * FROM akumulasi_jarak ORDER BY id_akumulasi_jarak ASC");

$array_pilihan = mysql_fetch_array($sql_pilihan);

$id_akumulasi_jarak = $array_pilihan['id_akumulasi_jarak'];

$sql_cek = mysql_query("SELECT * FROM akumulasi_jarak WHERE id_sampel='$array_pilihan[id_sampel]' and id_akumulasi_jarak='$id_akumulasi_jarak'"); $array_cek = mysql_fetch_array($sql_pilihan);

(23)

//proses perpindahan centroids

$total_time = round(($finish - $start), 4);

(24)

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel

order by urutan asc ");

$sql_cek_akumulasi_jarak = mysql_query("SELECT * FROM akumulasi_jarak ORDER BY id_sampel ASC");

$array_cek_akumulasi_jarak = mysql_fetch_array($sql_cek_akumulasi_jarak); $cluster_pilihan = $array_cek_akumulasi_jarak['cluster_pilihan'];

$id_sampel_pilihan = $array_cek_akumulasi_jarak['id_sampel'];

$sql_num_akumulasi = mysql_query("SELECT * FROM akumulasi_jarak2 WHERE cluster_pilihan='$cluster_pilihan' and id_sampel='$id_sampel_pilihan'");

$num = mysql_num_rows($sql_num_akumulasi); if($num > 2){

(25)

$time = $time[1] + $time[0];

$sql_acak = mysql_query("SELECT * FROM testing ORDER BY id_testing DESC"); $i=1;

//proses perhitungan similiarity funtion pada algoritma KNN while($array_nilai_acak = mysql_fetch_array($sql_acak)){

$sql_sampel = mysql_query("SELECT * FROM sampel ORDER BY id_sampel ASC"); while($array_sampel = mysql_fetch_array($sql_sampel)){

$cluser = sqrt(pow(($array_sampel['sampel_1'] - $array_nilai_acak['x1']),2) + pow(($array_sampel['sampel_2'] - $array_nilai_acak['x2']),2)

+ pow(($array_sampel['sampel_3'] - $array_nilai_acak['x3']),2) + pow(($array_sampel['sampel_4'] - $array_nilai_acak['x4']),2)

+ pow(($array_sampel['sampel_5'] - $array_nilai_acak['x5']),2) + pow(($array_sampel['sampel_6'] - $array_nilai_acak['x6']),2)

+ pow(($array_sampel['sampel_7'] - $array_nilai_acak['x7']),2) + pow(($array_sampel['sampel_8'] - $array_nilai_acak['x8']),2)) ;

$insert_jarak = mysql_query("INSERT INTO jarak_knn VALUES ('','$array_sampel[id_sampel]','$cluser')") or die(mysql_error());

}

$i++; }

//proses perhitungan similiarity funtion pada algoritma KNN //nilai similiarity function pada sample

$sql_num = mysql_query("SELECT * FROM jarak_knn"); $sisa = mysql_num_rows($sql_num) - $k;

$sql_limit_atas = mysql_query("SELECT * FROM jarak_knn ORDER BY nilai DESC LIMIT $k") or die(mysql_error());

while($array_limit_atas = mysql_fetch_array($sql_limit_atas)){

$insert = mysql_query("INSERT INTO akumulasi_knn VALUES ('','$array_limit_atas[id_sampel]','Positif')");

(26)

}

$sql_limit_bawah = mysql_query("SELECT * FROM jarak_knn ORDER BY nilai ASC LIMIT $sisa");

while($array_limit_bawah = mysql_fetch_array($sql_limit_bawah)){

$insert = mysql_query("INSERT INTO akumulasi_knn VALUES ('','$array_limit_bawah[id_sampel]','Negatif')");

$total_time = round(($finish - $start), 4); //menghitung waktu eksekusi

?>

<div id="page_content">

<div id="page_content_inner">

(27)

<th>Umur(years) (age)</th>

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_knn b where a.id_sampel=b.id_sampel

(28)

<td><?php echo $array_adult['sampel_8'];?></td>

if($nilai == $array_cek_knn['hasil'])

$ketepatan = 1;

} else {

$ketepatan = 0; }

$insert_ketepatan =

mysql_query("INSERT INTO cek_knn VALUES ('','$id_sampel','$ketepatan')"); }

$select_total = mysql_query("SELECT COUNT(*) AS jum_sampel FROM sampel");

$array_total = mysql_fetch_array($select_total);

(29)

$select = mysql_query("SELECT COUNT(*) AS jum_ketepatan FROM cek_knn WHERE ketepatan = '1'");

$array = mysql_fetch_array($select);

$ketepatan = ($array['jum_ketepatan'] / $array_total['jum_sampel']) * 100;

<h3 class="heading_b uk-margin-bottom">Hasil K-Means</h3> <div class="md-card">

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel

and b.urutan='1'

order by a.id_sampel asc "); $string_positif = "";

while($array_adult = mysql_fetch_array($sql_adult)){

$string_positif .= "Sampel " . $array_adult['id_sampel'] . ', '; }

echo substr($string_positif, 0, strlen($string_positif) - 2); ?>

</div> </div>

(30)

</div>

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_jarak b where a.id_sampel=b.id_sampel

and b.urutan='0'

order by a.id_sampel asc "); $string = "";

while($array_adult = mysql_fetch_array($sql_adult)){ $string .= "Sampel " . $array_adult['id_sampel'] . ', '; }

echo substr($string, 0, strlen($string) - 2); ?>

(31)

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_knn b where a.id_sampel=b.id_sampel

and b.hasil='Positif'

order by id_akumulasi_knn asc "); $string_positif = "";

while($array_adult = mysql_fetch_array($sql_adult)){

$string_positif .= "Sampel " . $array_adult['id_sampel'] . ', '; }

echo substr($string_positif, 0, strlen($string_positif) - 2); ?>

$sql_adult = mysql_query("select a.*,b.* from sampel a, akumulasi_knn b where a.id_sampel=b.id_sampel

and b.hasil='Negatif'

order by a.id_sampel asc "); $string = "";

while($array_adult = mysql_fetch_array($sql_adult)){ $string .= "Sampel " . $array_adult['id_sampel'] . ', '; }

(32)

DAFTAR PUSTAKA

[AGU07] Agusta, Y. 2007. K-Means-Penerapan, Permasalahan dan Metode Terkait. Denpasar, Bali: Jurnal Sistem dan Informatika Vol.3, pp : 47-60.

[BUD13] Budiman, I. 2012. Data Clustering Menggunakan Metodologi CRISP- DM Untuk Pengenalan Pola Proporsi Pelaksanaan Tridharma. Tesis. Universitas Diponegoro.

[HUL13] Huliman.2013. Analisis Akurasi Algoritma Pohon Keputusan dan K-Nearest Neighbor (KNN).Tesis.Universitas Sumatera Utara.

[LAR05] Larose Daniel,T .2005. Discovering knowledge in data : an introduction to

data mining , John Wiley & Sons, Inc.

[MIR08] Mirza, M. 2008. Mengenal Diabetes Melitus. Kata Hati. Yogyakarta. [NUG11] Nugraheni, Y. 2011. Data Mining degan Metode Fuzzy Untuk Customer

Relationship Management (CRM) pada Perusahaan Retail. Universitas Udayana.

[NUR11] Nurjayanti B. 2011. Identifikasi shorea menggunakan K-Nearest Neighbor berdasarkan karakteristik morfologi daun. Skripsi. Institut Pertanian Bogor. [ONG13] Ong, J. O. 2013. Implementasi Algoritma K-Means Clustering Untuk

Menentukan Strategi Marketing President University(12):10-20.

[OSC13] Oscar Ong, J .2013. Implementasi Algoritma k-means Clustering untuk no. 1, pp. Menentukan Strategi Marketing President University. Jurnal Ilmiah

Teknik Industri. vol. 12,10-13.

[PAU12] Paulanda, Z. 2012. Model Profil Mahasiswa Yang Potensisal Drop Out Menggunakan Teknik Kernel-K-Mean Clustering Dan Decision Tree. Tesis. Universitas Sumatera Utara. 2013.

[RIS08] Rismawan, T & Kusumadewi, S. 2008. Aplikasi K-Means Untuk

Pengelompokkan Mahasiswa Berdasarkan Nilai Body Mass Index (BMI) & Ukuran Kerangka, SNATI. Yogyakarta.

[SAN07] Santosa, B. 2007. Data Mining : Teknik Pemanfaatan Data untuk Keperluan

Bisnis, Teori dan Aplikasi. Graha Ilmu. Yogyakarta.

[SOE04] Soegondo, S, dkk, 2004. Penatalaksanaan Diabetes Mellitus Terpadu. FKUI. Jakarta.

[SOR11] Soraya, Y. 2011. Perbandingan Kinerja Metode Single Linkage, Metode Complete Linkage dan Metode K-Means dalam Analisis Cluster. Universitas

(33)

81

[UTA10] Utami, D. D. P & Sutikno. 2010. Pengelompokan Zona Musim (ZOM) Dengan Fuzzy K-Means Clustering.

[VER09] Vercilles, Carlo. 2009. Business Intelligence: Data Mining and Optimazation for Decision Making. United Kingdom: Joh Wiley & Sons Ltd.

[ZAR13] Zarlis, M., Sitompul, O.S., Sawaluddin, Effendi, S., Sihombing, P. & Nababan, E.B.2013. Pedoman Penulisan Tesis. FasilkomTI. Universitas Sumatera Utara.

[MIR14] Mirkes EM. 2011. KNN and potential energy.

http://www.math.le.ac.uk/people/ag153/homepage/KNN/KNN3.html. (6 September 2014).

(34)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Pengumpulan Data Pelatihan

PIMA Indians Dataset adalah sebuah dataset yang didapat dari National Institute of

Diabetes and Digestive and Kidney Diseases dan pertama kali digunakan oleh

Smith,~J.~W., Everhart,~J.~E., Dickson,~W.~C., Knowler,~W.~C., \& Johannes,~R.~S pada tahun 1988 pada sebuah penelitian dengan judul memprediksi apakah sebuah sample terindikasi Diabetes Mellitus atau peramalan diabetes militus pada populasi di Phoenix, Arizona, USA. Dataset ini terdiri dari 12 kolom sehingga dalam penelitian ini diperlukan beberapa langkah pre-processing guna mengolah raw

data yang didapat sehingga menjadi data yang siap di training, adapun langkah- langkah nya adalah sebagai berikut:

1. Membuat rancangan data input dan output yang akan dimasukkan sebagai data penelitian

2. Memisahkan data penelitian menjadi dua bagian, yaitu data pelatihan dan data pengujian. Data pelatihan diguanakan untuk mengamati proses pengenalan pola (memorisasi), sedanga data pengujian digunakan untuk mengamati kemampuan algoritma dalam mengenali pola pada sample yang belum dipelajari oleh algoritma K - Nearest Neighbor dan K-Means sebelumnya.

PIMA Indians dataset terdiri dari beberapa tipe data, yaitu: integer, float, numeric,

Boolean sehingga pada masing-masing kolom memiliki karakteristik tersendiri

apakah itu nilai mean, fungsi distribusi nya, nilai maksimum dan minimum nya, pengetahuan menganai karakteriik masing-masing parameter dapat membantu proses pengolahan data input sehingga kita dapat melakukan penyaringan untuk mengetahui

sample yang mana saja yang layak diolah dan sample mana yang sebaiknya di hapus

atau dibuang, berikut disajikan dalam table 3.1 karakterisik pada masing-masing kolom dalam PIMA Indians dataset:

(35)

Tabel 3.1. Karakterisik pada masing-masing kolom dalam PIMA Indians dataset

No Atribut Tipe Data Min Mean Max Standard

Deviation

1 Jumlah kehamilan (preg) Integer 0 3,8 17 3,4

2 Konsentrasi plasma glukosa dalam Integer 0 120,9 199 32,0 3 Tekanan darah diastolik (mm Hg) Integer 0 69,1 122 19,4 4 Ketebalan kulit tricep (mm) (skin) Integer 0 20,5 99 16,0 5 Serum insulin selama 2 jam (mu Integer 0 79,8 846 115,2 6 Index berat badan (berat dalam kg Integer 0 32,0 67.1 7.9 7 Fungsi pedigree diabetes (pedi) Integer 0.0780 0,5 2.42 0.3

8 Umur (years) (age) Integer 21 33,2 81 11.8

9 K e l a s ( 0 a t a u 1 / Boolean 0 0.34 1 -

Pada dataset ini nama atribut pada PIMA Indians dataset diubah menjadi variabel sebagai berikut:

1. Jumlah kehamilan (preg) diubah menjadi �

2. Konsentrasi plasma glukosa dalam 2 jam diubah menjadi � 3. Tekanan darah diastolik (mm Hg) diubah menjadi � 4. Ketebalan kulit tricep (mm) (skin) diubah menjadi � 5. Serum insulin selama 2 jam diubah menjadi � 6. Index berat badan diubah menjadi �

7. Fungsi pedigree diabetes (pedi) diubah menjadi � 8. Umur (years) (age) diubah menjadi �

3.2. Proses Training pada Algoritma K-Means Clustering

Pada algoritma K-Means Clstering terjadi proses dalam 2 tahap utama yaitu: proses menghitung nilai rata-rata (mean) dan juga proses pergeseran centroids kearah mayoritas sample pelatihan. Pada bab ini akan dijelaskan masing-masing proses yang terjadi pada algoritma K-Means Clustering.

(36)

3.2.1. Menentukan jumlah cluster dan nilai centroids

Menentukan jumlah cluster dan centroids biasanya tergantung pada jenis permasalahan yang akan diselesaikan sehingga pada penelitian ini permasalahan yang akan diselesaikan berkaitan dengan diabetes mellitus sehingga hanya diperlukan dua buah centroid untuk mewakili dua buah cluster (kelompok) yaitu: postif (mengidap diabetes mellitus) dan negative (tidak mengidap diabetes mellitus) yang juga mewakili target pada data pelatihan, yaitu: 0 (negatif) dan 1 (positif).

Setelah menentukan jumlah cluster maka langkah selanjutnya adalah menetukan nilai centroids yang digunakan, namun dalam menentukan nilai centroids dilakukan secara random untuk menghindari terjadinya bottleneck dikarenakan nilai centroids

yang digunakan saling berdekatan ataupun terlalu jauh sehingga proses pemindahan

centroids pada langkah selanjutnya tidak dapat dilakukan ataupun makan waktu

terlalu lama. Pada penelitian kali ini penulis telah menentukan nilai centroids yang

di-generate secara random dapat dilihat pada Tabel 3.2 sebagai berikut.

Tabel 3.2. Nilai centroids yang akan digunakan

Centroids1 2 3 4 5 6 7 8 Target

centroids 1 1 87 78 27 32 34 0.1 22 0

centroids 2 5 187 76 27 207 43 1.03 53 1

Dalam penelitian ini juga terdapat sebagian sample yang akan digunakan dalam proses perhitungan ,dapat dilihat pada Tabel 3.3 sebagai berikut.

Tabel 3.3. Nilai sample

Sample Ke-12345678 Target

Sample 1 6 148 72 35 0 33.6 0.627 50 1

Sample 2 1 85 66 29 0 26.60 0.351 31 0

Sample 3 8 183 64 0 0 23.30 0.672 32 1

Sample 4 1 89 66 23 94 28.10 0.167 21 0

Sample 5 0 137 40 35 168 43.10 2.288 33 1

(37)

Sample ... .... .... .... .... ... .... .... .... ....

Sample 450 0 120 74 18 63 30.5 0.285 26 0

Sample 451 1 82 64 13 95 21.20 0.415 23 0

Sample 452 2 134 70 0 0 28.90 0.542 23 1

Sample 453 0 91 68 32 210 39.90 0.381 25 0

Sample ... .... .... .... .... .... .... .... .... ....

Sample 698 0 99 0 0 0 25 0.253 22 0

Sample 699 4 127 88 11 155 34.50 0.598 28 0

Sample 700 4 118 70 0 0 44.5 0.904 26 0

3.2.2. Menentukan jumlah Euclidean distance

Langkah kedua dalam proses pelatihan algoritma K-Means Clustering adalah menentukan nilai Euclidean distance pada masing-masing sample pelatihan. Dalam

algoritma K-Means Clustering terdapat beberapa pilihan dalam menentukan nilai

jarak pada antara masing-masing sample pelatihan seperti hamming distance dan

manhattan distance, namun pada penelitian kali ini penulis memilih untuk

menggunakan Euclidean distance dikarenakan alasan bahwa Euclidean distance

lebih sederhana dalam proses perhitungan dan memiliki running time yang lebih singkat namun tetap memiliki hasil yang cukup akurat jika dibandingan dengan

distance function yang lain seperti hamming distance dan manhattan distance.

Pada Euclidean distance nilai fungsi jarak yang didapat merupakan jarak antara sample pelatihan terhadap masing-masing centroids yang digunakan, dan pada algoritma K-Means Clustering yang harus diperhatikan adalah bahwa nilai

Euclidean distance yang memiliki nilai paling sedikit berarti sample tersebut adalah

anggota dari centroids terdekat dan pada akhirnya merupakan centroids yang mengalami shifting (pergeseran). Pada penelitian kali ini, penulis akan menjelaskan bagaimana proses perhitungan fungsi jarak pada algoritma K-Means Clustering

menggunakan Euclidean distance sebagai distance function-nya.

(38)

Perhitungan Euclidean distance untuk sample pada tabel 3.3 dengan nilai

centroids table 3.2 dengan menggunakan rumus Euclidean distance seperti yang

diuraikan sebagai berikut:

a. Hitung jarak data pertama ke pusat cluster pertama:

, = − + − + − + − + − +

, − + , − , + −

= 5654,43

b. Hitung jarak data pertama ke pusat cluster kedua:

, = − + − + − + − + − +

, − + , − , + −

= 44548,52

c. Hitung jarak data ke-450 ke pusat cluster pertama:

, = − + − + − + − + − +

, − + , − , + −

= 2176,284

d. Hitung jarak data ke-450 ke pusat cluster kedua:

, = − + − + − + − + − +

, − + , − , + −

= 26220,81

e. Hitung jarak data ke-700 ke pusat cluster pertama:

, = − + − + − + − + − +

, − + , − , + −

= 2913,896

f. Hitung jarak data ke-700 ke pusat cluster kedua:

, = − + − + − + − + − +

, − + , − , + −

= 49107,27

Tabel 3.4. Hasil Perhitungan Euclidean Distance Terhadap Centroids pada Sample

Sample Ke- Jarak Terhadap Centroid 1 Jarak Terhadap Centroid 2

Sample 1 5654,438 44548,52

(39)

Sample 2 1311,823 54126,42

Sample 3 11428,82 44576,22

Sample 4 4043,814 23751,75

Sample 5 22713,6 5807,593

Sample ... .... ....

Sample 450 2176,284 26220,81

Sample 451 4550,939 25300,62

Sample 452 4054,205 47531,05

Sample 453 31869,89 10133,03

Sample ... .... ....

Sample 698 8063,023 58408,6

Sample 699 17130,5 7402,437

Sample 700 2913,896 49107,27

= Centroids terdekat terhadap sample �n

Terlihat pada pada hasil Tabel 3.4 bahwa sample 5, 453 dan sample 699

memiliki nilai Euclidean Distance terkecil terhadap centroids 2, sedangkan sample

1, 2, 3, 4,450, 451, 452, 698 dan 700 memiliki nilai Euclidean Distance

terkecil terhadap centroids 1.

3.2.4.Proses perpindahan centroids

Pada proses selanjutnya dari K-Means Clustering adalah proses perpindahan centroids, proses ini merupakan sebuah proses yang bersifat iterative sehingga akan dilakukan secara berulang seiring dengan hasil yang didapat pada proses sebelumnya. Perpindahan centroids diawali dengan proses pencarian nilai mean pada masing- masing sample yang telah di-assignment pada setiap centroids untuk kemudian diketahui posisi pergeseran centroids berdasarkan pada nilai mean pada seluruh

sample ter-assignment pada centroids tersebut. Proses perhitungan perpindahan

centroids dapat dilihat sebagai berikut:

(40)

= [ . . ]+[ . . ]+[ . . ]

[ , . ]+[ . . ]+[ . . ]

[ . . ]+[ . ]+[ . . ]

= [ . . ]

= [ . . . . . . . ] =

[ . . ]+[ . . ]+[ . . ]

= [ . . ]

= [ . . . . . . . ]

Sesuai dengan hasil perhitungan yang diperoleh sebelumnya maka didapat posisi

centroids terbaru seperti dalam tabel 3.5 berikut:

Tabel 3.5. Hasil Pergeseran centroids

Centroid Centroid

Centroid awal [1 87 78 27 32 34 0.1 22]

[5 187 76 27 207 43 1.03 53]

Centroid baru [ . . . . . . . ]

[ . . . . . . . ]

3.3. Proses training pada algoritma K-Nearest Neighbor

Proses training pada K-Nearest Neighbor pada penerapannya hanyalah terdiri dari 5 proses yaitu proses perhitungan jarak menggunakan Euclidean Distance dalam menghitung tingkat kemiripan pada sample training dengan sample testing

dan kemudian diakhiri dengan proses pengelompokan dengan mempertimbangkan dan menghitung nilai ambang batas (threshold).

3.3.1. Proses perhitungan similarity function pada algoritma K-Nearest

Neighbor

Algoritma K-Nearest Neighbor menjadikan nilai similarity function sebagai

pertimbangan dalam proses clustering, ini berarti jika sebuah sample memiliki

(41)

kemiripan dengan sample yang lain maka besar kemungkinan bahwa sample

tersebut memiiki target ataupun berasal dari kelompok yang sama. Pada penelitian kali ini proses perhitungan similarity fuction dilakukan mengggunakan radial basis

function, dikarenakan radial basis function memiliki perhitungan yang cukup

sederhana jika digunakan pada dataset yang memiliki mayoritas tipe data integer

serta memiliki nilai similarity yang cukup akurat walaupun dibandingkan dengan

similarity function yang lain seperti: hamming distance dan manhattan distance.

Maka berikut perhitungan nilai similarity function berupa radial basis function

menggunakan Euclidean Distance yang dilakukan pada beberapa sample:

Pada Euclidean distance nilai fungsi jarak yang didapat merupakan jarak antara sample testing terhadap masing-masing sample training yang digunakan, dan pada algoritma K-Nearest Neighbor yang harus diperhatikan adalah bahwa nilai Euclidean distance yang memiliki nilai paling kecil berarti sample testing

tersebut adalah anggota dari sample training terdekat. Pada penelitian kali ini, penulis akan menjelaskan bagaimana proses perhitungan fungsi jarak pada

algoritma K-Nearest Neighbor menggunakan Euclidean distance sebagai distance

function-nya.

Pada proses perhitungan Euclidean Distance pada algoritma K-Nearest

Neighbor aplikasi data mining terdiri dari dua data,yaitu:

Data Testing

Data Testing yang akan digunakan seperti pada tabel 3.6 berikut:

Tabel 3.6. Nilai Data Testing yang akan digunakan

Sample testing12345678 Target

Sample 1 87 78 27 32 34.6 0.1 22 ?

 Data Training

Data Training yang akan digunakan seperti pada tabel 3.7 berikut:

Tabel 3.7.Nilai Data Training

Sample Ke-12345678 Target

Sample 1 6 148 72 35 0 33.6 0.627 50 1

(42)

Sample 2 1 85 66 29 0 26.60 0.351 31 0

Sample 3 8 183 64 0 0 23.30 0.672 32 1

Sample 4 1 89 66 23 94 28.10 0.167 21 0

Sample 5 0 137 40 35 168 43.10 2.288 33 1

Sample 44 9 171 110 24 240 45,5 0,74 54 1

Sample 107 1 96 122 0 0 22,4 0,207 27 0

Sample 441 0 189 104 25 0 34,3 0,435 41 1

Sample 550 4 189 110 31 0 28,5 0,68 37 0

Sample 663 8 167 106 46 231 37,6 0,165 43 1

Sample 692 13 158 114 0 0 42,3 0,257 44 1

Perhitungan Euclidean distance untuk sebagian sample training pada tabel 3.7 dengan nilai data testing table 3.6 dengan menggunakan nilai K=5 seperti yang diuraikan sebagai berikut:

(43)

Seluruh hasil perhitungan Euclidean Distance pada sebagian sample

ditunjukkan pada Tabel 3.8 sebagai berikut:

Tabel 3.8.Hasil Euclidean Distance Pada sebagian data training

Sample Ke- Euclidean Distance

Sample 1 75,201

Sample 2 36,346

Sample 3 106,967

Sample 4 63,649

Sample 5 150,67

Sample 44 229,25

Sample 107 62,8

Sample 441 111,67

Sample 550 112,87

Sample 663 218,27

Sample 692 93,68

Dari hasil perhitungan Euclidean Distance pada tabel 3.8, Kemudian mengurutkan objek-objek tersebut ke dalam kelompok yang mempunyai jarak Euclid terkecil dengan nilai K=5 pada tabel 3.9 sebagai berikut.

Tabel 3.9.Mengurutkan Objek ke dalam Kelompok ke Jarak Euclid Terkecil

Sample Ke- Euclidean Distance Jarak terkecil

Sample 1 75,201 4

(44)

Sample 2 36,346 1

Sample 3 106,967 6

Sample 4 63,649 3

Sample 5 150,67 9

Sample 44 229,25 11

Sample 107 62,8 2

Sample 441 111,67 7

Sample 550 112,87 8

Sample 663 218,27 10

Sample 692 93,68 5

Dari hasil pengelompokan objek pada tabel 3.9, Kemudian Mengumpulkan label

class (klasifikasi Nearest Neighbor) pada tabel 3.10 sebagai berikut.

Tabel 3.10 Label Class Y

Sample Ke- Euclidean Distance Jarak terkecil Target KNN

Sample 1 75,201 4 1 1

Sample 2 36,346 1 0 1

Sample 3 106,967 6 1

Sample 4 63,649 3 0 1

Sample 5 150,67 9 1

Sample 44 229,25 11 1

Sample 107 62,8 2 0 1

Sample 441 111,67 7 1

(45)

Sample 550 112,87 8 0

Sample 663 218,27 10 1

Sample 692 93,68 5 1 1

Dari hasil pengumpulkan label class (klasifikasi Nearest Neighbor) pada tabel 3.10, Kemudian Mencari Mayoritas Kategori seperti pada tabel 3.11 sebagai berikut.

Tabel 3.11 Hasil Akhir Mayoritas Kategori

Sample Ke- Euclidean Distance Jarak terkecil Target KNN

Sample 1 75,201 4 1 1

Sample 2 36,346 1 0 1

Sample 3 106,967 6 1

Sample 4 63,649 3 0 1

Sample 5 150,67 9 1

Sample 44 229,25 11 1

Sample 107 62,8 2 0 1

Sample 441 111,67 7 1

Sample 550 112,87 8 0

Sample 663 218,27 10 1

Sample 692 93,68 5 1 1

Seperti tampak pada Tabel 3.11, terdapat 11 data training. Ketika ada data testing, maka solusi yang akan diambil adalah hasil dari 5 sample terdekat dari data testing. Maka terlihat bahwa sample 1,2,4,107 dan 692 memiliki jarak lebih dekat dari pada sample lainya. Dengan demikian, mayoritas dari ke-5 sample yang terdekat adalah negatif.jadi data testing satu cluster dengan sample 2.

(46)

3.4. Struktur Tabel

Tabel merupakan tempat penyimpanan informasi dari sebuah aliran data dalam sebuah sistem. Berikut merupakan struktur dari beberapa tabel sistem yang akan dibangun.

1. Tabel akumulasi_jarak

Tabel akumulasi_jarak merupakan tabel yang berguna untuk menyimpan data akumulasi . Tabel akumulasi tersebut adalah seperti terlihat pada tabel 3.12 dibawah ini.

Tabel 3.12 Tabel akumulasi_jarak

Field Type Size Keterangan

id_akumulasi_jarak Int 10 id_akumulasi_jarak

id_sampel Int 10 id sampel

cluster_pilihan Double 10,3 nilai cluster pilihan

Urutan Int 2 urutan cluster

Primary Key : id_akumulasi_jarak Foreign Key : id_sampel

2. Tabel akumulasi_jarak2

Tabel akumulasi_jarak2 merupakan tabel yang berguna untuk menyimpan data akumulasi . Tabel akumulasi_jarak2 tersebut adalah seperti terlihat pada tabel 3.13 dibawah ini.

Tabel 3.13 Tabel akumulasi_jarak2

Field Type Size Keterangan

id_akumulasi_jarak2 Int 10 id_akumulasi_jarak

id_sampel Int 10 id sampel

cluster_pilihan Double 10,3 nilai cluster pilihan

Urutan Int 2 urutan cluster

Primary Key : id_akumulasi_jarak

(47)

3. Tabel akumulasi_knn

Tabel akumulasi_knn merupakan media untuk merekam data akumulasi knn. Struktur tabel akumulasi_knn adalah seperti terlihat pada tabel 3.14 dibawah ini.

Table 3.14. Tabel akumulasi_knn

Field Type Size Keterangan

id_akumulasi_knn Int 10 id akumulasi knn

id_sampel Int 10 id sampel

Hasil Varchar 10 hasil penilaian

Primary Key : id_akumulasi_knn Foreign Key : id_sampel

4. Tabel atribut

Tabel atribut merupakan media untuk merekam data atribut. Struktur tabel atribut adalah seperti terlihat pada tabel 3.15 dibawah ini.

Table 3.15. Tabel atribut

Field Type Size Keterangan

id_atribut Int 10 id atribut

nama_atribut Varchar 40 nama atribut

Min Double 10,1 nilai min atribut

Mean Double 10,1 nilai mean atribut

Max Double 10,1 nilai max atribut

standard Double 10,1 nilai standard deviation

Primary Key : id_atribut 5. Tabel iterasi

Tabel iterasi merupakan media untuk merekam data iterasi. Struktur tabel iterasi adalah seperti terlihat pada tabel 3.16 dibawah ini.

(48)

Table 3.16. Tabel iterasi

Field Type Size Keterangan

id_iterasi Int 10 id iterasi

Iterasi Int 10 nilai iterasi

Primary Key : id_iterasi 6. Tabel jarak

Tabel jarak merupakan media untuk merekam data jarak. Struktur tabel jarak adalah seperti terlihat pada tabel 3.17 dibawah ini.

Table 3.17. Tabel jarak

Field Type Size Keterangan

id_jarak Int 10 id jarak

id_sampel Int 10 id sampel

Hasil Double 10,3 hasil atribut

Urutan Int 2 urutan jarak

Primary Key : id_jarak Foreign Key : id_sampel 7. Tabel jarak_knn

Tabel jarak_knn merupakan media untuk merekam data jarak_knn. Struktur tabel jarak_knn adalah seperti terlihat pada tabel 3.18 dibawah ini

Table 3.18. Tabel jarak_knn

Field Type Size Keterangan

id_jarak Int 10 id jarak

id_sampel Int 10 id sampel

Nilai Double 10,3 nilai jarak

Primary Key : id_jarak Foreign Key : id_sampel

(49)

8. Tabel nilai_acak

Tabel nilai_acak merupakan media untuk merekam data nilai_acak. Struktur tabel nilai_acak adalah seperti terlihat pada tabel 3.19 dibawah ini.

Table 3.19. Tabel nilai_acak

Field Type Size Keterangan

id_nilai_acak Int 10 id_nilai_acak

x1 Double 10,2 nilai x1

x2 Double 10,2 nilai x2

x3 Double 10,2 nilai x3

x4 Double 10,2 nilai x4

x5 Double 10,2 nilai x5

x6 Double 10,2 nilai x6

x7 Double 10,2 nilai x7

x8 Double 10,2 nilai x8

Primary Key : id_nilai_acak 9. Tabel nilai_acak2

Tabel nilai_acak2 merupakan media untuk merekam data nilai_acak2. Struktur tabel nilai_acak2 adalah seperti terlihat pada tabel 3.20 dibawah ini

Table 3.20. Tabel nilai_acak2

Field Type Size Keterangan

id_nilai_acak2 Int 10 id_nilai_acak

x1 Double 10,2 nilai x1

x2 Double 10,2 nilai x2

x3 Double 10,2 nilai x3

x4 Double 10,2 nilai x4

x5 Double 10,2 nilai x5

(50)

x6 Double 10,2 nilai x6

x7 Double 10,2 nilai x7

x8 Double 10,2 nilai x8

Primary Key : id_nilai_acak

10. Tabel sampel

Tabel nilai_sampel merupakan media untuk merekam data sampel. Struktur table

sampel adalah seperti terlihat pada tabel 3.21 dibawah ini.

Table 3.21. Tabel sampel

Field Type Size Keterangan

id_sampel Int 10 id sampel

sampel_1 Double 10,2 nilai sampel 1

sampel_2 Double 10,2 nilai sampel 2

sampel_3 Double 10,2 nilai sampel 3

sampel_4 Double 10,2 nilai sampel 4

sampel_5 Double 10,2 nilai sampel 5

sampel_6 Double 10,2 nilai sampel 6

sampel_7 Double 10,2 nilai sampel 7

sampel_8 Double 10,2 nilai sampel 8

Primary Key : id_sampel 11. Tabel testing

Tabel testing merupakan media untuk merekam data testing. Struktur tabel testing

adalah seperti terlihat pada tabel 3.22 dibawah ini. Table 3.22. Tabel testing

Field Type Size Keterangan

id_testing Int 10 id testing

t1 Double 10,2 nilai t1

(51)

t2 Double 10,2 nilai t2

t3 Double 10,2 nilai t3

t4 Double 10,2 nilai t4

t5 Double 10,2 nilai t5

t6 Double 10,2 nilai t6

t7 Double 10,2 nilai t7

t8 Double 10,2 nilai t8

Primary Key : id_sampel

3.5. Perancangan system

3.5.1. Diagram Konteks

Diagram konteks adalah diagram yang mencakup masukan-masukan dasar, sistem

umum dan keluaran, diagram ini merupkan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukan sistem secara keseluruhan, diagram tersebut tidak memuat penyimpanan dan penggambaran aliran data yang sederhana, proses tersebut diberi nomor nol. Semua entitas ekternal yang ditunjukan pada diagram konteks berikut aliran data-aliran data utama menuju dan dari system. Diagram kontek yang dirancang dapat dilihat pada gambar 3.1 di bawah ini

(52)

Gambar 3.1.Diagram Konteks

Diagram konteks di atas menjelaskan dimana pengguna menginputkan data

import data sampel database, data atribut, data Centroid 1 dan 2, dan data baru dan

nilai limit serta menerima informasi info sampel database, info atribut, info hasil

clustering K- Means, dan info hasil clustering K-Nearest Neighbor.

3.5.2. Data Flow Diagram

Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi

untuk menggambarkan arus dari data pada suatu sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD sangat mirip dengan Flowchart. DFD dari system yang akan dirancang dapat dilihat pada gambar 3.2 di bawah ini

(53)

Gambar 3.2. Data Flow Diagram 3.5.3. Data Flow Diagram Level 2

Data Flow Diagram (DFD) Level 2 merupakan hasil dekomposisi dari Data Flow

Diagram (DFD) Level 1. DFD Level 2 dari system ini dapat dibagi menjadi 3 bagian

yang dapat dijelaskan pada gambar di bawah ini 1. DFD Level 2 olah data atribut

DFD Level 2 olah data atribut dari system yang akan dirancang dapat dilihat pada gambar 3.3 di bawah ini

(54)

Gambar 3.3. DFD Level 2 olah data atribut

2. DFD Level 2 Proses Clustering sampel dengan KNN

DFD Level 2 Proses Clustering sampel dengan KNN dari system yang akan dirancang dapat dilihat pada gambar 3.4 di bawah ini

(55)

Gambar 3.4. DFD Level 2 Proses Clustering sampel dengan KNN

3. DFD Level 2 proses clustering dengan K-Means Clustering

DFD Level 2 proses clustering dengan K-Means dari system yang akan dirancang dapat dilihat pada gambar 3.5 di bawah ini

(56)

Gambar 3.5. DFD Level 2 proses clustering dengan K-Means Clustering

3.5.4. Entity Relation Diagram

Entity Relation Diagram merupakan salah satu pemodelan data konseptual

yang paling sering digunakan dalam proses pengembangan basis data bertipe relasional. Model E-R adalah rincian yang merupakan representasi logikan dari data pada satu organisasi atau area bisnis tertentu. ERD yang akan dibangun dapat dilihat pada gambar 3.6 di bawah ini

(57)

Gambar 3.6. Entity Relation Diagram

3.6. Flow Chart

Flow Chart merupakan gambar atau bagan yang memperlihatkan urutan dan

(58)

Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.

1. Flow Chart Menu

Flow Chart Menu dari system yang akan dirancang dapat dilihat pada gambar 3.7 di

bawah ini

Gambar 3.7. Flow Chart Menu

(59)

2.Flow ChartK-Means Clustering

Flow Chart K-Means Clustering dari system yang akan dirancang dapat dilihat pada

gambar 3.8 di bawah ini

Gambar 3.8. Flow Chart t K-Means

(60)

3. Flow ChartK-Nearest Neighbor

Flow Chart K-Nearest Neighbor dari system yang akan dirancang dapat dilihat pada

gambar 3.9 di bawah ini

Gambar 3.9. Flow Chart K-Nearest Neighbor

(61)

3.7. Perancangan User Interface

3.7.1. Perancangan Admin Interface Input (Pemasukan) Data

Perancangan input adalah spesifikasi pembuatan perancangan input yang nantinya akan berguna untuk mempermudah proses penginputan

1. Import Data Sampel Diabetes

Rancangan Import Data Sampel Diabetes dapat dilihat seperti pada Gambar 3.10.

Gambar 3.10. Import Data Sampel Diabetes Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

Diabetes.

(62)

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman

proses KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data

atribut

8. Tombol Choose File : Tombol ini berfungsi untuk mengambil file yang akan diimport dari berkas yang ada dalam berkas Komputer pengguna

9. Tombol Import : Tombol ini berfungsi untuk melakukan proses import

setelah file berhasil diambil dari berkas komputer pengguna

2. Perancangan Input Nilai Data Baru dan Nilai Limit

Rancangan Input Nilai Data Baru dan Nilai Limit dapat dilihat pada Gambar 3.11.

Gambar 3.11. Perancangan Input Nilai Data Baru dan Nilai Limit

Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

(63)

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut

8. Textbox TI : Textbox ini berfungsi sebagai inputan dari nilai T1 9. Textbox T2 : Textbox ini berfungsi sebagai inputan dari nilai T2

10. Textbox T3 : Textbox ini berfungsi sebagai inputan dari nilai T3

11. Textbox T4 : Textbox ini berfungsi sebagai inputan dari nilai T4

12. Textbox T5 : Textbox ini berfungsi sebagai inputan dari nilai T5

13. Textbox T6 : Textbox ini berfungsi sebagai inputan dari nilai T6

14. Textbox T7 : Textbox ini berfungsi sebagai inputan dari nilai T7

15. Textbox T8 : Textbox ini berfungsi sebagai inputan dari nilai T8

16. Textbox Nilai K : Textbox ini berfungsi sebagai inputan dari nilai Limit dari K

17. Tombol Submit : Tombol ini berfungsi untuk melakukan proses submit

setelah semua data terisi

3. Perancangan Input Nilai Data Centroid 1 dan Data Centroid 2

Rancangan Input Nilai Data Centroid 1 dan Data Centroid 2 dapat dilihat pada Gambar 3.12.

Gambar 3.12. Perancangan Input Nilai Data Centroid 1 dan Data Centroid 2 Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

(64)

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

8. Textbox Centroid 1 X1 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X1

9. Textbox Centroid 1 X2 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X2

10. Textbox Centroid 1 X3 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X3

11. Textbox Centroid 1 X4 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X4

12. Textbox Centroid 1 X5 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X5

13. Textbox Centroid 1 X6 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X6

14. Textbox Centroid 1 X7 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X7

15. Textbox Centroid 1 X8 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

1 X8

16. Textbox Centroid 2 X1 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X1

17. Textbox Centroid 2 X2 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X2

18. Textbox Centroid 2 X3 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X3

(65)

19. Textbox Centroid 2 X4 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X4

20. Textbox Centroid 2 X5 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X5

21. Textbox Centroid 2 X6 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X6

22. Textbox Centroid 2 X7 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X7

23. Textbox Centroid 2 X8 : Textbox ini berfungsi sebagai inputan dari nilai Centroid

2 X8

24. Tombol Submit : Tombol ini berfungsi untuk melakukan proses submit

setelah semua data terisi 4. Perancangan Form Atribut

Rancangan Form Atribut dapat dilihat pada Gambar 3.13.

Gambar 3.13. Perancangan Form Atribut

Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data

(66)

3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman

proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman proses

KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut

8. Textbox nama atribut : Textbox ini berfungsi sebagai inputan dari nama atribut

9. Textbox min : Textbox ini berfungsi sebagai inputan dari nilai min

10. Textbox Mean : Textbox ini berfungsi sebagai inputan dari nilai Mean

11. Textbox Max : Textbox ini berfungsi sebagai inputan dari nilai Max

12. Textbox Standard deviation : Textbox ini berfungsi sebagai inputan dari nilai

Standard deviation

13. Tombol Submit : Tombol ini berfungsi untuk melakukan proses submit

setelah semua data terisi

3.7.2. Perancangan Admin Interface Output (Keluaran)

Perancangan output merupakan suatu bentuk keluaran yang dibutuhkan oleh admin dalam penyampaian informasi. Adapun maksud dari output disini adalah yang dihasilkan di layar monitor.

(67)

1. Perancangan Output Sampel Diabetes

Rancangan Output Sampel Diabetes dapat dilihat pada Gambar 3.14.

Gambar 3.14. Perancangan Output Sampel Diabetes Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman proses

KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut

8. Tabel Sampel Diabetes : Tabel ini berisi dari data sampel diabetes yang teridiri dari kolom jumlah kehamilan, konsentrasi plasma glukosa, tekanan

diastolic, ketebalan kulit, index berat badan, fungsi pedigree, dan umur.

(68)

2. Perancangan Output Data Atribut

Rancangan Output Data Atribut dapat dilihat pada Gambar 3.15.

Gambar 3.15. Perancangan Output Data Atribut

Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman proses

KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut 9. Tabel Sampel Diabetes : Tabel ini berisi dari data sampel diabetes yang teridiri

dari kolom nama atribut, min, mean, max, standard deviation, edit, dan delete

(69)

8

3. Perancangan Hasil Proses Clustering K-Nearest Neighbor

Rancangan Hasil Proses Clustering K-Nearest Neighbor dapat dilihat pada Gambar 3.16.

Gambar 3.16. Perancangan Hasil Proses Clustering K-Nearest Neighbor

Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman proses

KNN

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut

(70)

8. Tabel Algoritma KNN : Tabel ini berisi dari data hasil proses dari algoritma KNN yang teridiri dari kolom jumlah kehamilan, konsentrasi plasma glukosa, tekanan diastolik, ketebalan kulit, index berat badan, fungsi pedigree, umur,

sequare instance, dan status

4. Perancangan Hasil Proses Clustering K-Means

Rancangan Hasil Proses Clustering K-Means dapat dilihat pada Gambar 3.17.

Gambar 3.17. Perancangan Hasil Proses Clustering K-Means

Keterangan Gambar :

1. Link Home : Apabila diklik link ini, akan mengarah ke halaman home

2. Link Import Data : Apabila diklik link ini, akan mengarah ke halaman import data 3. Link Sampel Diabetes : Apabila diklik link ini, akan mengarah ke halaman sampel

diabetes

4. Link Algoritma K-Means : Apabila diklik link ini, akan mengarah ke halaman proses K-Means

5. Link Algoritma KNN : Apabila diklik link ini, akan mengarah ke halaman proses

KNN

8

(71)

6. Link Form Atribut : Apabila diklik link ini, akan mengarah ke halaman

form atribut

7. Link Data Atribut : Apabila diklik link ini, akan mengarah ke halaman data atribut

8. Tabel Algoritma K-Means : Tabel ini berisi dari data hasil proses dari algoritma

K-Means yang teridiri dari kolom jumlah kehamilan, konsentrasi plasma glukosa,

tekanan diastolik, ketebalan kulit, index berat badan, fungsi pedigree, umur,

sequare instance, dan status

10.Label Waktu penyelesaian : Label ini adalah label yang menampilkan hasil

waktu penyelesaian dari algoritma K-Means

(72)

69

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Pengertian Implementasi Sistem

Implementasi Sistem adalah langkah-langkah atau prosedur yang dilakukan dalam menyelesaikan desain sistem yang telah disetujui, menguji, dan memulai sistem baru yang telah disempurnakan.

4.2 Komponen Utama dalam Implementasi Sistem

Agar sistem perancangan yang telah dikerjakan dapat berjalan baik atau tidak, maka perlu kiranya dilakukan pengujian terhadap sistem yang telah dikerjakan. Oleh karena itu, dibutuhkan beberapa komponen untuk mencakup perangkat keras (Hardware), perangkat lunak (software), dan perangkat manusia (Brainware).

4.2.1. Perangkat Keras (Hardware)

Hardware merupakan komponen yang terlihat secara fisik yang saling bekerja sama dalam pengolahan data. Perangkat keras yang digunakan meliputi:

a. Monitor

b. CPU (Central Processing Unit)

c. Hardisk sebagai tempat sistem beroperasi dalam media penyimpanan d. Memori minimal 1GB

e. Keyboard dan Mouse 4.2.2 Perangkat Lunak (Software)

Software adalah instruksi atau program-program komputer yang dapat digunakan oleh komputer dengan memberikan fungsi serta penampilan yang diinginkan. Dalam hal ini perangkat lunak yang digunakan adalah:

a. Operating System Windows 7

b. Adobe Dreamwever CS5 sebagai tools editor untuk mendesain website

c. XAMPP 1.7.1 dimana terdapat Apache sebagai web server, PHP sebagai bahasa

(73)

pemrograman yang digunakan, dan MySQL sebagai software untuk server

database.

d. Mozilla Firefox 3.5+ untuk menjalankan program yang telah dirancang.

4.2.3. Unsur Manusia (Brainware)

Brainware merupakan faktor manusia yang menangani fasilitas komputer yang ada.

Faktor manusia yang dimaksud adalah orang-orang yang memiliki bagian untuk menangani sistem dan merupkan unsur manusia yang meliputi:

a. Analisa Sistem, yaitu orang membentuk dan membangun fasilitas rancangan sistem atau program.

b. Programmer, yaitu orang yang digunakan dalam membangun suatu program. c. Operator (Administrator), yaitu orang yang mengoperasikan sistem seperti

memasukkan data untuk dioperasikan oleh komputer dalam menghasilkan informasi dan lain sebagainya.

d. Public, yaitu orang yang memakai sistem yang telah dirancang untuk informasi yang dibutuhkan.

4.3 Tampilan Program

Sub bab ini akan menunjukkan tampilan program dan desain program website dari hasil perancangan yang telah dibangun pada bab sebelumnya sebelumnya.

4.3.1. Tampilan Import Data

Gambar di bawah ini adalah gambar untuk mengimport data sampel data diabetes . File yang diimport sendiri harus file berbentuk XLS. Gambar tampilan import data dapat dilihat pada gambar 4.1

(74)

Gambar 4.1 Tampilan Import Data

4.3.2. Halaman Data Sampel Diabetes

Gambar di bawah ini merupakan tampilan data sampel diabetes. Tampilan data ini sendiri menampilkan jumlah kehamilan, konsentrasi plasma, tekanan darah, ketebalan kulit, serum insulin, index berat badan, fungsi pedigree, dan umur. Halaman data sampel diabetes dapat dilihat pada Gambar 4.2

Gambar 4.2 Halaman Data Sampel Diabetes

(75)

4.3.3. Halaman Input Data Atribut

Gambar di bawah ini merupakan tampilan gambar Untuk Input data atribut.. Untuk form

penginputan data atribut, terdapat data-data yang wajib diisi oleh seorang administrator, yaitu nama atribut, min, mean, max, dan standar deviation. Gambar Input atribut dapat dilihat pada Gambar 4.3

Gambar 4.3 Input Data Atribut 4.3.4. Halaman Data Atribut

Gambar di bawah ini merupakan tampilan gambar untuk menampilkan data atribut dalam bentuk tabel. Data-data yang akan ditampilkan adalah nama

atribut, min, mean, max, standard deviation, edit, dan delete. Gambar halaman

data atribut dapat dilihat pada Gambar 4.4

(76)

Gambar 4.4 Input Data Bobot

4.3.5. Halaman Input nilai acak centroid

Gambar di bawah ini merupakan tampilan gambar Untuk Input data nilai acak centroid 1 dan centroid 2. Data yang diinput adalah nilai x dari masing-masing centroid sehingga akan mendapatkan hasil dari nilai K-Means dari inputan sebelumnya. Gambar input niai acak centroid dapat dilihat pada Gambar 4.5

(77)

Gambar 4.5 Halaman Input nilai acak centroid

4.3.6. Halaman Hasil Proses Clustering K-Means

Gambar di bawah ini merupakan tampilan gambar hasil clustering dari K-Means

yang mana akan ditampilkan hasil dari data diabetes, dan proses penginputan data acak dari form sebelumnya. Hasil tersebut berupa apakah positif atau tidaknya mengidap diabetes dari data yang sudah dilakukan proses clustering dengan menggunakan algortima K-Means. Gambar ini dapat dilihat pada Gambar 4.6

(78)

Gambar 4.6 Halaman Hasil Proses Clustering K-Means 4.3.7. Halaman Input data baru dan nilai limit

Gambar di bawah ini merupakan tampilan gambar Untuk Input data baru dan nilai limit, dimana kedua elemen ini dibutuhkan untuk proses mendapatkan clustering dari nilai knn. Gambar input data baru dan nilai limit dapat dilihat pada Gambar 4.8

Gambar 4.7 Halaman Input data baru dan nilai limit

(79)

4.3.8. Halaman Hasil Proses ClusteringK-Nearest Neighbor

Gambar 4.9 merupakan tampilan gambar hasil clustering dari KNN yang mana akan ditampilkan hasil dari data diabetes, dan proses penginputan data baru, dan nilai limit dari form sebelumnya. Hasil tersebut berupa apakah positif atau tidaknya mengidap diabetes dari data yang sudah dilakukan proses clustering dengan menggunakan algortima KNN

Gambar 4.8 Halaman Hasil Proses ClusteringK-Nearest Neighbor

(80)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan analisis dari sistem dan pengujian sistem secara menyeluruh yang telah dilakukan pada bab sebelumnya, maka kesimpulan pada penelitian ini antara lain:

1. Proses Cluster-isasi menggunakan k-Nearest Neighbor lebih cepat dibandingkan

k-Means Clustering karena k-Means Clustering melakukan sebanyak 11 iterasi sampai

nilai centroid-nya konstan sehingga waktu clusternya 11.6212 detik sedangkan waktu clusternya k-Nearest Neighbor0.4737 detik.

2. Akurasi dari Algoritma k-Nearest Neighbor terhadap data testing adalah 64.286 % sedangkan akurasi Algoritma k-Means Clustering adalah 67.143 % sehingga Algoritma k-Means Clustering lebih baik dalam melakukan Proses Cluster-isasi. 3. Hasil pengelompokan sample positive atau negative dengan menggunakan k-Means

Clustering dan k-Nearest Neighbor berhasil dilakukan.

5.2. Saran

Pada penelitian ini terdapat beberapa saran dalam pengembangan penelitian ini lebih lanjut, yakni:

1. Perlunya penelitian lebih lanjut dalam proses cluster-isasi, misalkan dengan menggunakan RapidMiner Studio, ML-Flex, MiningMart.

2. Perlu melakukan penelitian lebih lanjut sehingga menghasilkan akurasi yang lebih baik misalkan dengan algoritma Backpropagation dan Logistic Regression.

(81)

BAB 2

TINJAUAN PUSTAKA

2.1. Data Mining

Data Mining adalah suatu metode pengolahan data untuk menemukan pola yang

tersembunyi dari data tersebut. Hasil dari pengolahan data dengan metode Data

Mining ini dapat digunakan untuk mengambil keputusan di masa depan. Data Mining

ini juga dikenal dengan istilah pattern recognition (Ong, 2013).

Data Mining, sering juga disebut knowledge discovery in database (KDD),

adalah kegiatan yang meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam dataset berukuran besar. Keluaran dari Data Mining ini biasa dipakai untuk memperbaiki pengambilan keputusan di masa depan. Sehingga istilah pattern recognition sekarang jarang digunakan karena ia termasuk bagian dari Data Mining (Santosa, 2007).

Data Mining suatu proses kegiatan yang berulang-ulang pada analisis

database dalam jumlah besar, dengan tujuan untuk melakukan penggalian informasi

dan pengetahuan yang dapat membuktikan keakuratan dan potensi yang berguna bagi pengetahuan pekerja yang terlibat dalam pengambilan keputusan dan pemecahan masalah. Istilah data mining itu merujuk pada keseluruhan proses yang terdiri dari pengumpulan data analisis, pengembangan model pembelajaran induktif dan adopsi

keputusan praktis seta tindakan berdasarkan pengetahuan yang diperoleh (Vercilles,2009).Kegiatan data mining dapat dibagi kedalam dua inti penyelidikan utama, sesuai dengan tujuan utama dari analisis, yaitu: interpretasi dan prediksi

(Vercilles, 2009).

1. Interpretasi

Tujuan interpretasi adalah untuk mengidentifikasi pola yang teratur dalam data dan untuk mengekspresikan data melalui peraturan dan kriteria yang dapat dengan mudah dipahami oleh para ahli dalam domain aplikasi. Contoh; Clustering, Association Rules.

Gambar

Tabel 3.1. Karakterisik pada masing-masing kolom dalam PIMA Indians dataset
Tabel 3.10 Label Class Y
Table 3.15. Tabel atribut
Table 3.19. Tabel  nilai_acak
+7

Referensi

Dokumen terkait

Hasil penelitian menunjukkan tingkat kelayakan media pembelajaran sebagai berikut: (1) aspek validitas trainer dan job sheet, untuk rerata penilaian kevalidan trainer sebesar

Terdapat 2 buah kolom, kolom yang pertama yaitu solution method yang merupakan metode-metode yang dapat digunakan untuk penjadwalan produksi dan kolom yang

laba boleh dilakukan karena beranggapan bahwa perataan laba tindakan yang wajar karena tidak melanggar ketentuan dari standar akuntansi meskipun bisa

Varibel pembelajaran dengan menggunakan media pembelajaran Macromedia Flash (X1) dan dengan Power Point (X2) tidak diukur dalam penelitian ini karena media pembelajaran

Meskipun demikian, terdapat suatu pola bentuk dan struktur yang tidak berubah dalam setiap komposisi yang dipresentasikan oleh kelompok- kelompok musik ledhug.. Bentuk

melakukan penebangan pohon dalam kawasan hutan : a) yang tidak sesuai dengan izin pemanfaatan hutan. b) tanpa memiliki izin yang dikeluarkan oleh pejabat yang

Sardjito terhadap pengobatan dan memperbaiki kontrol glikemik kelompok intervensi dibandingkan dengan kelompokkontrol dengan masing-masingnilai p adalah 0,023(p&lt;0,05)

Pengujian skenario kedua merupakan pengujian performasi yang dilakukan dengan citra gigi pada semua posisi gigi yang didapat dan citra gigi yang terbanyak pada satu posisi gigi