Implementasi Sistem Pengujian Sistem

4.2 Pengujian Sistem

Pada tahap ini akan dijelaskan pengujian dari aplikasi sistem proses K-Means Clustering pada saat dijalankan. Sistem ini akan menghasilkan output berupa model tata letak produk pada suatu cluster berdasarkan metode Market Basket Analysis, yaitu berupa seringnya konsumen membeli suatu produk yang dapat dilihat dari struk-struk belanjaan yang didapat dari swalayan.

4.2.1 Upload Data Struk

Tahap awal dari sistem K-Means Clustering adalah upload data struk. Data yang akan diupload berupa dataset sebanyak 1022 record, dapat dilihat pada Gambar 4,1 berikut: Gambar 4.1 Dataset Struk Penjualan Tampilan upload data struk terdiri dari jumlah kolom, posisi baris 1, posisi kolom 1, jumlah cluster, output dan upload file yang dapat dilihat pada Gambar 4.2 berikut: Gambar 4.2 Upload Data Struk

4.2.2 Hasil Mean Clustering

Setelah upload data struk, hasil yang diperoleh dapat dilihat pada tampilan hasil mean clustering. 1. Hasil Mean Clustering 1 Pada hasil mean clustering 1, proses yang dilakukan adalah cleaning data dan pemberian nama cluster. Sebelumnya penulis sudah memasukkan jumah cluster sebanyak 5 cluster, sehingga pemberian nama cluster dimulai dari C , C 1 , C 2 , C 3 dan C 4 . Hasil mean clustering 1 dapat dilihat pada Gambar 4.3 berikut: Gambar 4.3 Cleaning Data dan Pemberian Nama Cluster 2. Hasil Mean Clustering 2 Hasil mean clustering 2 yaitu hasil iterasi pertama, yang terdiri dari hitung centroid iterasi 1, hitung jarak data iterasi 1 dan hasil cluster pada iterasi 1. Hasil mean clustering 2 dapat dilihat pada Gambar 4.4 berikut: Gambar 4.4 Iterasi 1 3. Hasil Mean Clustering 3 Hasil mean clustering 3 yaitu hasil iterasi kedua, yang terdiri dari hitung centroid iterasi 2, hitung jarak data iterasi 2 dan hasil cluster pada iterasi 2. Hasil mean clustering 3 dapat dilihat pada Gambar 4.5 berikut: Gambar 4.5 Iterasi 2 4. Hasil Mean Clustering 4 Hasil mean clustering 4 yaitu hasil iterasi ketiga, yang terdiri dari hitung centroid iterasi 3, hitung jarak data iterasi 3 dan hasil cluster pada iterasi 3. Hasil mean clustering 4 dapat dilihat pada Gambar 4.6 berikut: Gambar 4.6 Iterasi 3 5. Hasil Mean Clustering 5 Hasil mean clustering 5 ini merupakan kesimpulan dari semua proses. Berdasarkan hasil yang diperoleh dari hasil mean clustering sebelumnya maka proses iterasi dihentikan. Karena pada iterasi ke 2 dan iterasi ke 3 posisi clusternya tidak berubah, maka proses iterasinya dapat dihentikan. Pada Gambar 4.7 dapat dilihat pada setiap cluster memiliki jumlah item yang berbeda-beda. Pada C memiliki jumlah item sebanyak 36, C 1 memiliki jumlah item sebanyak 128, C 2 memiliki jumlah item 51, C 3 memilki jumlah item 43 dan C 4 memiliki jumlah item 22. Gambar 4.7 Hasil Akhir

4.3 Hasil Clustering

Berdasarkan pengujian yang telah dilakukan, diperoleh model cluster yaitu sebanyak 5 model. 1. Model 1 C Pada model pertama ini C memiliki jumlah item sebanyak 36 struk. Masing-masing struk terdiri dari 7 atribut yang dimulai dari X1 sampai dengan X 7 . Pada X 1 memiliki jumlah item 58, X 2 memiliki jumlah item 60, X 3 memiliki jumlah item 19, X 4 memiliki jumlah item 177, X 5 memiliki jumlah item 195, X 6 memiliki jumlah item 46 dan X 7 memilki jumlah item 166. Berdasarkan jumlah item pada masing-masing atribut tersebut, dapat disimpulkan atribut yang diletakkan pada urutan pertama adalah atribut yang memiliki jumlah item terbanyak diantara atribut-atribut yang lain dan seterusnya berdasarkan jumlah item pada setiap atribut. Jadi pada model 1 C atribut pada urutan pertama yaitu X 5 , X 4 , X 7 , X 2 , X 1 , X 6 dan X 3 . 2. Model 2 C 1 Pada model kedua ini C 1 memiliki jumlah item sebanyak 128 struk. Masing-masing struk terdiri dari 7 atribut yang dimulai dari X1 sampai dengan X 7 . Pada X 1 memiliki jumlah item 165, X 2 memiliki jumlah item 213, X 3 memiliki jumlah item 95, X 4 memiliki jumlah item 119, X 5 memiliki jumlah item 255, X 6 memiliki jumlah item 204 dan X 7 memilki jumlah item 195. Berdasarkan jumlah item pada masing-masing atribut tersebut, dapat disimpulkan atribut yang diletakkan pada urutan pertama adalah atribut yang memiliki jumlah item terbanyak diantara atribut-atribut yang lain dan seterusnya berdasarkan jumlah item pada setiap atribut. Jadi pada model 2 C 1 atribut pada urutan pertama yaitu X 5 , X 2 , X 6 , X 7 , X 1 , X 4 dan X 3 . 3. Model 3 C 2 Pada model ketiga ini C 2 memiliki jumlah item sebanyak 51 struk. Masing-masing struk terdiri dari 7 atribut yang dimulai dari X1 sampai dengan X 7 . Pada X 1 memiliki jumlah item 396, X 2 memiliki jumlah struk 104, X 3 memiliki jumlah item 32, X 4 memiliki jumlah item 82, X 5 memiliki jumlah item 108, X 6 memiliki jumlah item 42 dan X 7 memilki jumlah item 93. Berdasarkan jumlah item pada masing-masing atribut tersebut, dapat disimpulkan atribut yang diletakkan pada urutan pertama adalah atribut yang memiliki jumlah item terbanyak diantara atribut-atribut yang lain dan seterusnya berdasarkan jumlah item pada setiap atribut. Jadi pada model 3 C 2 atribut pada urutan pertama yaitu X 1 , X 5 , X 2 , X 7 , X 4 , X 6 dan X 3 . 4. Model 4 C 3 Pada model keempat ini C 3 memiliki jumlah item sebanyak 43 struk. Masing-masing struk terdiri dari 7 atribut yang dimulai dari X1 sampai dengan X 7 . Pada X 1 memiliki jumlah item 114, X 2 memiliki jumlah item 96, X 3 memiliki jumlah item 32, X 4 memiliki jumlah item 102, X 5 memiliki jumlah item 675, X 6 memiliki jumlah item 66 dan X 7 memilki jumlah item 99. Berdasarkan jumlah item pada masing-masing atribut tersebut, dapat disimpulkan atribut yang diletakkan pada urutan pertama adalah atribut yang memiliki jumlah item terbanyak diantara atribut-atribut yang lain dan seterusnya berdasarkan jumlah item pada setiap atribut. Jadi pada model 4 C 3 atribut pada urutan pertama yaitu X 5 , X 1 , X 4 , X 7 , X 2 , X 6 dan X 3 . 5. Model Kelima C 4 Pada model kelima ini C 4 memiliki jumlah item sebanyak 22 struk. Masing-masing struk terdiri dari 7 atribut yang dimulai dari X1 sampai dengan X 7 . Pada X 1 memiliki jumlah item 134, X 2 memiliki jumlah item 311, X 3 memiliki jumlah item 30, X 4 memiliki jumlah item 62, X 5 memiliki jumlah item 189, X 6 memiliki jumlah item 47 dan X 7 memilki jumlah item 77. Berdasarkan jumlah item pada masing-masing atribut tersebut, dapat disimpulkan atribut yang diletakkan pada urutan pertama adalah atribut yang memiliki jumlah item terbanyak diantara atribut-atribut yang lain dan seterusnya berdasarkan jumlah item pada setiap atribut. Jadi pada model 5 C 4 atribut pada urutan pertama yaitu X 2 , X 5 , X 1 , X 7 , X 4 , X 6 dan X 3 . BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Algoritma K-Means Clustering dapat mempartisi data ke dalam cluster sehingga data yang memiliki karakteristik yang sama akan dikelompokkan ke dalam suatu cluster yang sama dan data yang mempunyai karakteristik berbeda dikelompokkan ke dalam kelompok lain. Berdasarkan uraian bab-bab sebelumnya dapat diambil kesimpulan sebagai berikut: 1. Metode data mining dapat digunakan untuk perusahaan yang memiliki jumlah data yang sangat besar untuk menemukan pola atau aturan yang dapat dipakai oleh perusahaan tersebut. 2. Dengan menerapkan K-Means Clustering, diperoleh 5 model tata letak produk yang dapat digunakan oleh swalayan yaitu model pertama memiliki jumlah item sebanyak 36 struk dengan urutan pertama terletak pada atribut X 5 , model kedua memiliki jumlah item sebanyak 128 struk dengan urutan pertama terletak pada atribut X 5 , model ketiga memiliki jumlah item sebanyak 51 struk dengan urutan pertama terletak pada atribut X 1 , model keempat memiliki jumlah item sebanyak 43 struk dengan urutan pertama terletak pada atribut X 5 , Model kelima memiliki jumlah item sebanyak 22 struk dengan urutan pertama terletak pada atribut X 2 .

5.2 Saran

Mengingat masih banyaknya hal-hal yang belum dapat diimplementasikan pada penelitian ini, maka penulis mempertimbangkan beberapa saran untuk perbaikan dalam skripsi ini. 1. Untuk mendapatkan hasil yang lebih variatif penelitian ini dapat juga dikembangkan dengan teknik data mining yang lain seperti algoritma Hierarchical Clustering, algoritma K-Nearest Neighbor atau algoritma Fuzzy Clustering.

2. Untuk mendapatkan akurasi nilai yang lebih akurat, dapat digunakan algoritma

K-Nearest Neighbor. Karena algoritma ini memiliki keakuratan yang lebih tinggi dibandingkan dengan algoritma K-Means. DAFTAR PUSTAKA Agusta, Y. 2007. K-means penerapan, permasalahan dan metode terkait. Jurnal Sistem dan Informatika Vol.3 : 47-60. Andayani, S. 2007. Pembentukan cluster dalam knowledge discovery in database dengan algoritma k-means. SEMNAS Matematika dan Pendidikan Matematika 2007 Yogyakarta, 24 November 2007. Budhi, G. S., Santoso, L.W., Susanto, E. 2006. Metode market basket analysis menggunakan algoritma pincer speach untuk sistem pembantu pengambil keputusan. 1 Seminar on Application and Reseacrh in Industrial Technology, SMART Yogyakarta. Dubes, R. C. Jain, A. K. 1988. Algorithms For Clustering Data. New Jersey: Prentice Hall Fayyad, U. M. 1996. Advances In Knowledge Discovery and Data Mining. Camberidge. MA: The MIT Press. Hammouda, K. Karray, F. 2003. A Comparative Study of Data Clustering Techniques. Canada: University of Waterloo. Han, J. Kamber, M. 2006. “Data mining: Concepts and Techniques”, 2 nd edition. San Francisco: Morgan Kaufman. Kusrini Luthfi, E. T. 2009. Algoritma Data Mining. Yogyakarta: Andi. Larose, D. T. 2005. Discovering Knowledge In Data: An Introduction To Data Mining. Jhon Willey Sons, Inc. MacQueen, J.B. 1967. Some Methods For Classification and Analysis of Multivariate Observations. 5-th Berkeley Symposium on Mathematical Statistics and Probability. Berkeley, University of California Press. pp. 1:281-297. Moertini, V. S. 2002. Data mining sebagai solusi bisnis. Integral, vol 7 no.1. Piatetsky, G. Shapiro. 2006. An Introduction Machine Learning, data mining, and knowledge discovery, Course in data mining Kdnuggets. Ponniah, P. 2001. Datawarehouse Fundamentals: A Comprehensive Guide For IT Professional. Jhon Willey Sons, Inc. Rismawan, T. Kusumadewi, S. 2008. Aplikasi k-means untuk pengelompokkan mahasiswa berdasarkan nilai body mass index BMI ukuran kerangka. Seminar Nasional Aplikasi Teknologi Informasi 2008 SNATI 2008 Yogyakarta. RuiXu Donald, C.W. 2009. Clustering. John Wiley Sons, Inc. Santosa, B. 2007. Data Mining Teknik Pemanfaatan Data Untuk Keperluan Bisnis. Yogyakarta: Graha Ilmu. Umran, M . Abidin, T.F. 2009. “Pengelompokkan dokumen menggunakan k-means dan singular value decomposition: studi kasus menggunakan data blog”. Sesindo 2009. Widianti, W. Soetisna, H. R. 2003. Penerapan teknik market basket analysis pada perancangan tatak letak produk di supermarket Studi kasus : Supermarket X di Bandung. Jurnal Ergonomika Vol.0 no:11. Widyastono, A. N. 2008. Penerapan Algoritma K-Means Untuk Pengelompokkan Data Ekspresi Gen. Skripsi. Bandung: Departmenet Of Informatics. Wijoyo, E. I. 2011. Sistem penunjang keputusan penempatan produk di pasar swalayan menggunakan algoritma apriori. Artikel Ilmiah. Yogyakarta: Sekolah Tinggi Manajemen Informatika dan Komputer Amikom. LAMPIRAN A: LISTING PROGRAM Index.php DOCTYPE html PUBLIC -W3CDTD XHTML 1.0 TransitionalEN http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd html xmlns=http:www.w3.org1999xhtml head meta http-equiv=Content-Type content=texthtml; charset=utf-8 titleData Mining Clusteringtitle link rel=stylesheet type=textcss href=chromethemechromestyle.css link rel=stylesheet type=textcss href=style.css link rel=stylesheet type=textcss href=style2.css head body div class=menu div class=chromestyle id=chromemenu ul li nbsp;li ul div div div class=wrapper div class=header_top div class=rFloat div h1 Upload Data Struk h1 div form action=hasil.php method=post name=frm enctype=multipartform-data table style=width:auto trtd align=rightJumlah Kolomtdtdinput type=text name=jlh_kol size=15 tdtr trtd align=rightPosisi Baris 1tdtdinput type=text name=pos_baris size=15 tdtr trtd align=rightPosisi Kolom 1tdtdinput type=text name=pos_kolom size=15 tdtr trtd align=rightJumlah Clustertdtdinput type=text name=cluster size=15 tdtr trtd align=rightOutputtdtdselect name=output option value=web Web option option value=excel Excel option select tdtr input type=hidden name=aksi value=hasil.php trtd align=rightUpload File Exceltdtdinput type=file name=file_excel tdtr table div id=submit_button label class=uiButton input type=submit value=Submit id=LG_submit label span id=loadSales class=submit_loadingspan div form div br div class=contents2 id=view div div body html Hasil.php ?php if_POST[output] == excel: header Cache-Control: no-cache, must-revalidate; header Pragma: no-cache; header Content-type: applicationx-msexcel; header Content-Disposition: attachment; filename=hasilexcelclustering.xls; echo div class=header_top div class=rFloat div h5Cleaning Data Pemberian Nama Cluster h5 div; require_once excelreader.php; jlh_kol = _POST[jlh_kol]; pos_baris = _POST[pos_baris]; pos_kolom = _POST[pos_kolom]; cluster = _POST[cluster]; alamat = _FILES[file_excel][tmp_name]; data=new Spreadsheet_Excel_Reader; instansiasi class data-setOutputEncodingCP1251; menentukan encoding data-readalamat; baca file header = array; struk = array; struk2 = array; dtset = array; dtset2 = array; clust = array; fori = pos_kolom; ipos_kolom + jlh_kol; i++: array_pushheader, trimdata- sheets[0][cells][pos_baris][i]; endfor; fori = pos_baris + 1; i= data- sheets[0][numRows]; i++: array_pushstruk, trimdata- sheets[0][cells][i][pos_kolom]; temp = array; forj = pos_kolom+1; jpos_kolom + jlh_kol; j++: isi =trimdata-sheets[0][cells][i][j]; isi = emptyisi ? 0 : isi; array_pushtemp,isi; endfor; array_pushdtset,temp; endfor; Cleaning Data rata = array; N = sizeofstruk; total = 0; fori = 0; isizeofstruk; i++: sum = 0; forj = 0;jjlh_kol-1;j++: sum += dtset[i][j]; endfor; sum = sumjlh_kol-1; total += sum; array_pushrata,sum; endfor; rata_r = totalN; ifrata_r 100: batas = 100; else: batas = 100rata_r; endif; batas = 40; clean1 = array; clean2 = array; fori = 0; isizeofstruk; i++: cek = false; forj = 0;jjlh_kol-1;j++: ifdtset[i][j]=batas: cek = true; break; endif; endfor; ifcek == false: array_pushclean1,i; endif; endfor; Cleaning Datea ke dua median_t = jlh_kol-12; median = floormedian_t; fori = 0; isizeofclean1; i++: cek = 0; forj = 0;jjlh_kol-1;j++: index = clean1[i]; ifdtset[index][j]0: cek +=1; endif; endfor; ifcek median array_pushclean2,clean1[i]; endfor; style = background-color:FF2211; color:FFFFFF; text- transform:uppercase; border-color=FFFFFF;; echo table class=tabView2 width=80 border=1; echo trth style=styleNo.th; echo th style=styleheader[0]thth style=styleClusterth; fori= 1; isizeofheader; i++: echo th style=styleheader[i]th; endfor; echo tr; Pemberian Cluster no_clust = 0; fori = 0; isizeofclean2;i++: index = clean2[i]; no_clust = no_clust cluster + 1; clust[no_clust-1] .= index.-; echo trtd.i+1.tdtdstruk[index]tdtdC - .no_clust-1.td; forj = 0;jjlh_kol-1;j++: echo td.dtset[index][j].td; endfor; echo tr; endfor; echo table; echo div class=header_top div class=rFloat div h5 Hitung Centroid Iterasi - 1 h5 div; centroid = array; style = background-color:FF6600; color:FFFFFF; text- transform:uppercase; border-color=FFFFFF;; echo table class=tabView border=1; echo trth style=style X th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; fori = 0;isizeofheader-1;i++: echo trtd.header[i+1].td; tmp_cent = array; forj = 0;jcluster;j++: tmp = explode-,clust[j]; tmp_sum = 0; fork = 0;ksizeoftmp;k++: index = tmp[k]; tmp_sum += dtset[index][i]; endfor; tmp_sum = tmp_sum sizeoftmp-1; tmp_sum = roundtmp_sum,2; array_pushtmp_cent,tmp_sum; echo tdtmp_cent[j]td; endfor; array_pushcentroid,tmp_cent; echo tr; echo centroid[i][0]; endfor; echo table; echo br; echo div class=header_top div class=rFloat div h5Hitung Jarak Setiap Data Iterasi - 1 h5 div; echo table class=tabView border=1; echo trth style=style header[0] th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; jarak = array; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; tmp_jarak = array; forj = 0;jcluster; j++: tmp_sum = 0; fork = 0; ksizeofheader-1;k++: h = dtset[index][k] - centroid[k][j]; tmp_sum += powh,2; endfor; hsl_jrk = sqrttmp_sum; hsl_jrk = roundhsl_jrk,2; array_pushtmp_jarak,hsl_jrk; echo tdhsl_jrktd; endfor; array_pushjarak,tmp_jarak; echo tr; endfor; echo table; echo div class=header_top div class=rFloat div h5Hasil Cluster Pada Iterasi - 1 h5 div; echo table class=tabView border=1; echo trth style=style header[0] th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; jarak2 = jarak; fori = 0; icluster;i++ clust[i] = ; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; titik = 0; forj = 0; jcluster-1;j++: fork = j+1;kcluster;k++: ifjarak2[i][k]jarak2[i][j]: tmp = jarak2[i][k]; jarak2[i][k] = jarak2[i][j]; jarak2[i][j] = tmp; endif; endfor; endfor; style=text-align:center; background-color:AFCBE7; font-weight:bold;; boolean = false; forj = 0;jcluster;j++: ifjarak[i][j] == jarak2[i][0] and boolean == false: echo td style=styletd; clust[j] .= index.-; boolean = true; else: echo tdtd; endif; endfor; echo tr; endfor; echo table; cek_cluster1 = ; cek_cluster2 = 1; iterasi = 2; whilecek_cluster1 = cek_cluster2: cek_cluster2 = cek_cluster1; cek_cluster1 = ; echo div class=header_top div class=rFloat div h5 Hitung Centroid Iterasi - iterasi h5 div; centroid = array; echo table class=tabView border=1; echo trth style=style X th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; fori = 0;isizeofheader-1;i++: echo trtd.header[i+1].td; tmp_cent = array; forj = 0;jcluster;j++: tmp = explode-,clust[j]; tmp_sum = 0; fork = 0;ksizeoftmp;k++: index = tmp[k]; tmp_sum += dtset[index][i]; endfor; tmp_sum = tmp_sum sizeoftmp-1; tmp_sum = roundtmp_sum,2; array_pushtmp_cent,tmp_sum; echo tdtmp_cent[j] td; endfor; array_pushcentroid,tmp_cent; echo tr; echo centroid[i][0]; endfor; echo table; echo br; echo div class=header_top div class=rFloat div h5Hitung Jarak Setiap Data Iterasi - iterasi h5 div; echo table class=tabView border=1; echo trth style=style header[0] th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; jarak = array; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; tmp_jarak = array; forj = 0;jcluster; j++: tmp_sum = 0; fork = 0; ksizeofheader-1;k++: h = dtset[index][k] - centroid[k][j]; tmp_sum += powh,2; endfor; hsl_jrk = sqrttmp_sum; hsl_jrk = roundhsl_jrk,2; array_pushtmp_jarak,hsl_jrk; echo tdhsl_jrktd; endfor; array_pushjarak,tmp_jarak; echo tr; endfor; echo table; echo div class=header_top div class=rFloat div h5Hasil Cluster Pada Iterasi - iterasi h5 div; echo table class=tabView border=1; echo trth style=style header[0] th; fori = 0;icluster;i++: echo th style=style C-i th; endfor; echo tr; jarak2 = jarak; fori = 0; icluster;i++ clust[i] = ; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; titik = 0; forj = 0; jcluster-1;j++: fork = j+1;kcluster;k++: ifjarak2[i][k]jarak2[i][j]: tmp = jarak2[i][k]; jarak2[i][k] = jarak2[i][j]; jarak2[i][j] = tmp; endif; endfor; endfor; style=text-align:center; background- color:AFCBE7; font-weight:bold;; boolean = false; forj = 0;jcluster;j++: ifjarak[i][j] == jarak2[i][0] and boolean == false: echo td style=style td; clust[j] .= index.-; cek_cluster1 .= j; boolean = true; else: echo tdtd; endif; endfor; echo tr; endfor; echo trtdbTotalbtd; fori = 0;icluster;i++: tmp = explode-,clust[i]; echo tdb.sizeoftmp-1.btd; endfor; echo tr; echo table; iterasi += 1; endwhile; cek_item = array; fori = 0;icluster;i++: echo brbr; echo div class=header_top div class=rFloat div h2Items C - i h2 div; echo table class=tabView border=1; echo trth style=style header[0] th; forj = 1; jjlh_kol;j++: echo th style=style header[j] th; endfor; echo tr; tmp = explode-,clust[i]; tot_item = array; tot_item2 = array; forj = 0;jsizeoftmp-1;j++: index = tmp[j]; echo trtdstruk[index]td; fork = 0;kjlh_kol-1;k++: echo td.dtset[index][k].td; tot_item[k] += dtset[index][k]; endfor; echo tr; endfor; tot_item2 = tot_item; forj = 0; jjlh_kol-2;j++: fork = j+1;kjlh_kol-1;k++: iftot_item2[k]tot_item2[j]: tmp_it = tot_item2[k]; tot_item2[k] = tot_item2[j]; tot_item2[j] = tmp_it; endif; endfor; endfor; echo trtdbTotalbtd; fork = 0;kjlh_kol-1;k++: iftot_item[k] == tot_item2[0]: echo th style=styleb.tot_item[k].bth; array_pushcek_item,k; else: echo tdb.tot_item[k].btd; endif; endfor; echo tr; echo table; endfor; echo brbr; echo table class=tabView border = 1; echo trth style=styleKesimpulanthtr; fori = 0;icluster;i++: echo trtdbC - i b-- Didominasi oleh item b.header[cek_item[i]+1].btdtr; endfor; echo table; else: ? DOCTYPE html PUBLIC -W3CDTD XHTML 1.0 TransitionalEN http:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd html xmlns=http:www.w3.org1999xhtml head meta http-equiv=Content-Type content=texthtml; charset=utf-8 titleData Mining Clusteringtitle link rel=stylesheet type=textcss href=chromethemechromestyle.css link rel=stylesheet type=textcss href=style.css link rel=stylesheet type=textcss href=style2.css ?php require_once excelreader.php; ifempty_GET[iterasi]: iter = 1; else: iter = _GET[iterasi] + 1; endif; ? script function convert_excela,b,c,d,e,f,g,h,i,j,k{ var a = encodeURIComponenta; var b = encodeURIComponentb; var c = encodeURIComponentc; var d = encodeURIComponentd; var e = encodeURIComponente; var f = encodeURIComponentf; var g = encodeURIComponentg; var h = encodeURIComponenth; var i = encodeURIComponenti; var j = encodeURIComponentj; var k = encodeURIComponentk; var url = configconvert_excel.php?a=+a+b=+b+c=+c+d=+d+e=+e +f=+f+g=+g+h=+h+i=+i+j=+j+k=+k; var url = hasilexcel.php?a=+a+b=+b+c=+c+d=+d+e=+e+f=+f+ g=+g+h=+h+i=+i+j=+j+k=+k; window.openurl,_blank; } function show_hasila{ ifa == document.frm.roof.value{ document.getElementByIdbtnNext.innerHTML = Finish; }else ifparseIntaparseIntdocument.frm.roof.value{ window.location = index.php; } document.getElementByIdbtnBack.disabled = true; ifa = 1{ var b = parseInta - 1; document.getElementByIdview + b.style.display = none; document.getElementByIdbtnBack.disabled = false; } document.frm.iterasi.value = parseInta + 1; document.getElementByIdview + a.style.display = block; } function show_backa{ document.getElementByIdbtnNext.innerHTML = Next; ifa == 3 document.getElementByIdbtnBack.disabled = true; var b = parseInta - 1; var c = parseInta - 2; document.getElementByIdview + b.style.display = none; document.frm.iterasi.value = parseInta - 1; document.getElementByIdview + c.style.display = block; } script head body div class=menu div class=chromestyle id=chromemenu ul li nbsp;li ul div div div class=wrapper div class=header_top div class=rFloat div h1 Hasil Mean Clustering h1 div form name=frm2 method=get action=hasilexcel.php div id=submit_button label class=uiButton label button id=btnBack type=button onclick=show_backdocument.frm.iterasi.value Backbutton button id=btnNext type=button onclick=show_hasildocument.frm.iterasi.value Next button div form br div class=contents2 id=view1 ?php echo div class=header_top div class=rFloat div h2Cleaning Data Pemberian Nama Cluster h2 div; jlh_kol = _POST[jlh_kol]; pos_baris = _POST[pos_baris]; pos_kolom = _POST[pos_kolom]; cluster = _POST[cluster]; alamat = _FILES[file_excel][tmp_name]; data=new Spreadsheet_Excel_Reader; instansiasi class data-setOutputEncodingCP1251; menentukan encoding data-readalamat; baca file header = array; struk = array; struk2 = array; dtset = array; dtset2 = array; clust = array; fori = pos_kolom; ipos_kolom + jlh_kol; i++: array_pushheader, trimdata- sheets[0][cells][pos_baris][i]; endfor; fori = pos_baris + 1; i= data- sheets[0][numRows]; i++: array_pushstruk, trimdata- sheets[0][cells][i][pos_kolom]; temp = array; forj = pos_kolom+1; jpos_kolom + jlh_kol; j++: isi =trimdata-sheets[0][cells][i][j]; isi = emptyisi ? 0 : isi; array_pushtemp,isi; endfor; array_pushdtset,temp; endfor; Cleaning Data rata = array; N = sizeofstruk; total = 0; fori = 0; isizeofstruk; i++: sum = 0; forj = 0;jjlh_kol-1;j++: sum += dtset[i][j]; endfor; sum = sumjlh_kol-1; total += sum; array_pushrata,sum; endfor; rata_r = totalN; ifrata_r 100: batas = 100; else: batas = 100rata_r; endif; batas = 40; clean1 = array; clean2 = array; fori = 0; isizeofstruk; i++: cek = false; forj = 0;jjlh_kol-1;j++: ifdtset[i][j]=batas: cek = true; break; endif; endfor; ifcek == false: array_pushclean1,i; endif; endfor; Cleaning Datea ke dua median_t = jlh_kol-12; median = floormedian_t; fori = 0; isizeofclean1; i++: cek = 0; forj = 0;jjlh_kol-1;j++: index = clean1[i]; ifdtset[index][j]0: cek +=1; endif; endfor; ifcek median array_pushclean2,clean1[i]; endfor; echo table class=tabView2 width=80; echo trth class=scrNo.th; echo th class=scrheader[0]thth class=scrClusterth; fori= 1; isizeofheader; i++: echo th class=scrheader[i]th; endfor; echo tr; Pemberian Cluster no_clust = 0; fori = 0; isizeofclean2;i++: index = clean2[i]; no_clust = no_clust cluster + 1; clust[no_clust-1] .= index.-; echo trtd.i+1.tdtdstruk[index]tdtdC - .no_clust-1.td; forj = 0;jjlh_kol-1;j++: echo td.dtset[index][j].td; endfor; echo tr; endfor; echo table; ? div div class=contents2 id=view2 ?php echo div class=header_top div class=rFloat div h2 Hitung Centroid Iterasi - 1 h2 div; centroid = array; echo table class=tabView; echo trth class=scr X th; fori = 0;icluster;i++: echo th class=scr C-i th; endfor; echo tr; fori = 0;isizeofheader-1;i++: echo trtd.header[i+1].td; tmp_cent = array; forj = 0;jcluster;j++: tmp = explode-,clust[j]; tmp_sum = 0; fork = 0;ksizeoftmp;k++: index = tmp[k]; tmp_sum += dtset[index][i]; endfor; tmp_sum = tmp_sum sizeoftmp - 1; tmp_sum = roundtmp_sum,2; array_pushtmp_cent,tmp_sum; echo tdtmp_cent[j]td; endfor; array_pushcentroid,tmp_cent; echo tr; echo centroid[i][0]; endfor; echo table; echo br; echo div class=header_top div class=rFloat div h2Hitung Jarak Data Iterasi - 1 h2 div; echo table class=tabView; echo trth class=scr header[0] th; fori = 0;icluster;i++: echo th class=scr C-i th; endfor; echo tr; jarak = array; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; tmp_jarak = array; forj = 0;jcluster; j++: tmp_sum = 0; fork = 0; ksizeofheader-1;k++: h = dtset[index][k] - centroid[k][j]; tmp_sum += powh,2; endfor; hsl_jrk = sqrttmp_sum; hsl_jrk = roundhsl_jrk,2; array_pushtmp_jarak,hsl_jrk; echo tdhsl_jrktd; endfor; array_pushjarak,tmp_jarak; echo tr; endfor; echo table; echo div class=header_top div class=rFloat div h2 Hasil Cluster Pada Iterasi - 1 h2 div; echo table class=tabView; echo trth class=scr header[0] th; fori = 0;icluster;i++: echo th class=scr C-i th; endfor; echo tr; jarak2 = jarak; fori = 0; icluster;i++ clust[i] = ; fori = 0;isizeofclean2;i++: index = clean2[i]; echo trtdbstruk[index]btd; titik = 0; forj = 0; jcluster-1;j++: fork = j+1;kcluster;k++: ifjarak2[i][k]jarak2[i][j]: tmp = jarak2[i][k]; jarak2[i][k] = jarak2[i][j]; jarak2[i][j] = tmp; endif; endfor; endfor; boolean = false; forj = 0;jcluster;j++: ifjarak[i][j] == jarak2[i][0] and boolean == false: echo td class=weektd; clust[j] .= index.-; boolean = true; else: echo tdtd; endif; endfor; echo tr; endfor; echo table; ? div ?php cek_cluster1 = ; cek_cluster2 = 1; iterasi = 2; whilecek_cluster1 = cek_cluster2: ? div class=contents2 id=view?php echo iterasi+1; ? ?php cek_cluster2 = cek_cluster1; cek_cluster1 = ; echo div class=header_top div class=rFloat div h2 Hitung Centroid Iterasi - iterasi h2 div; centroid = array; echo table class=tabView; echo trth class=scr X th; fori = 0;icluster;i++: echo th class=scr C-i th; endfor; echo tr; fori = 0;isizeofheader-1;i++: echo trtd.header[i+1].td; tmp_cent = array; forj = 0;jcluster;j++: tmp = explode-,clust[j]; tmp_sum = 0; fork = 0;ksizeoftmp;k++: index = tmp[k]; tmp_sum += dtset[index][i]; endfor; tmp_sum = tmp_sum sizeoftmp - 1; tmp_sum = roundtmp_sum,2; array_pushtmp_cent,tmp_sum; echo tdtmp_cent[j]td; endfor; array_pushcentroid,tmp_cent; echo tr; endfor; echo table; echo br; echo div class=header_top div class=rFloat div h2Hitung Jarak Data Iterasi - iterasi h2 div; echo table class=tabView; echo trth class=scr header[0] th; fori = 0;icluster;i++: echo th class=scr C-i th; endfor;