METODE PENELITIAN
3.1 Desain Penelitian
Penelitian adalah aktivitas yang bertujuan untuk memberikan kontribusi original terhadap pengetahuan (Dawson, 2009). Sedangkan menurut Berndtsson, istilah penelitian digunakan untuk aktivitas penyelidikan dan investigasi sistematis dengan tujuan menemukan atau merevisi fakta, teori, aplikasi, dan lain-lain yang tujuannya untuk menemukan dan menyebarkan pengetahuan baru (Berndtsson, Hansson, Olsson, & Lundell, 2008). Ada empat metode penelitian umum yang digunakan baik secara individu ataupun kelompok diantaranya: action research, experiment, case study dan survey. Metode penelitian yang dilakukan dalam penelitian ini adalah metode penelitian eksperimen, dengan tahapan penelitian yang disajian Gambar 3.1 sebagai berikut:
Pengumpulan
Mengidentifikasi dan mengevaluasi dataset yang digunakan pada prediksi cacat software
Pengecekan dataset sebelum digunakan pada eksperimen penelitian
Mendesain dan mengusulkan metode untuk penentuan centroid awal
Melakukan eksperimen dan uji coba dari metode k-means dan metode yang diusulkan
Mengevaluasi dan memvalidasi hasil dari metode penelitian
Gambar 3.1. Tahapan Penelitian
Penelitian ini menggunakan dataset NASA MDP karena sangat umum digunakan untuk prediksi cacat software dan dapat diperoleh di PROMISE repository. Dari tahun 2000 sampai 2013 sebesar 64,79% penelitian cacat software menggunakan dataset NASA MDP (Wahono, 2015). Setiap dataset NASA MDP terdiri dari beberapa module software dan karakteristik atribut. Modul yang terdapat cacat dikategorikan sebagai fault prone dan yang tidak cacat dikategorikan sebagai non fault prone selain itu juga terdiri dari atribut kompleksitas McCabe dan Halstead.
Selain menggunakan dataset NASA MDP (CM1, KC1, KC3, MC2, MW1, PC1, PC2, PC3, PC4), penelitian ini juga menggunakan dataset iris karena dataset iris sering digunakan untuk pengujian algoritma clustering, mempunyai 3 class (setosa, viginica, dan versicolor) dan 150 sample, masing-masing class terbagi menjadi 50 class data serta mumpunyai 4 atribut (sepal length, sepal width, petal length, dan petal width).
Tabel 3.1. Deskripsi Dataset NASA MDP Dataset
KC1 Storage management
for ground data C++ 2096 325 15,5%
KC3 Storage management
for ground data Java 200 36 18%
PC2 Dynamic simulator for
attitude control system C 1585 16 1,01%
PC3 Flight software for
earth orbiting satellite C 1125 140 12,44%
PC4 Flight software for
earth orbiting satelite C 1399 178 12,72%
MC2 Video guidance
system C 127 44 34,64%
Tabel 3.2. Daftar Atribut Dataset NASA MDP
Atribut Dataset NASA MDP
CM1 KC1 KC3 MC2 MW1 PC1 PC2 PC3 PC4
Global_data_complexity X X
Global_data_density X X
Normalize_cyclo_cmplx X X X X X X X X
Percent_comments X X X X X X X X
Node_count X X X X X X X X
Jumlah Atribut 37 21 39 39 37 37 36 37 37
Atribut Deskripsi LOC
counts
LOC_total Total baris kode pada modul LOC_blank Total baris kosong pada modul
LOC_code_and_comment Total baris yang mengandung kode dan komentar pada modul
LOC_comments Total baris yang mengandung komentar pada modul LOC_executable Total baris dari eksekusi untuk suatu modul
Number_of_lines Total baris pada modul
Halstead Content Panjang content Halstead dari modul Difficulty Metric kesulitan Halstead dar modul Effort Metric usaha Halstead dari modul
Error_est Metric perkiraan error Halstead dari modul Length Metric Panjang Halstead dari modul Level Metric level Halstead dari modul
Prog_time Metric waktu pemrograman Halstead dari modul Volume Metric volume Halstead dari modul
Num_operands Jumlah operand yang terdapat pada modul Num_operators Jumlah operator yang terdapat pada modul Num_unique_operands Jumlah operand unik yang terdapat pada modul Num_unique_operators Jumlah operator unik yang terdapat pada modul McCabe Cyclomatic_complexity Kompleksitas cyclomatic dari modul
Cyclomatic_density Cyclomatic_complexity/ LOC_code_and_comment Design_complexity Kompleksitas desain dari modul
Essential_complexity Kompleksitas esensial dari modul Misc. Branch_count Metric jumlah cabang
Call_pairs Jumlah suatu fungsi dipanggil dalam modul Condition_count Jumlah kondisi dalam modul
Decision_count Jumlah keputusan dalam modul Decision_density Jumlah kondisi atau jumlah keputusan
Edge_count Jumlah koneksi modul dari modul yang sat uke yang lain
Essential_density (essential_complexity-1)/(cyclomatic_complexity-1) Parameter_count Jumlah parameter dari suatu modul
Maintance_severity Essential_complexity-1/cyclomatic_complexity Modified_condition_count Jumlah dari sebuah kondisi mempengaruhi hasil
keputusan
Multiple_condition_count Jumlah kondisi yang lebih dari satu dalam suatu modul
Global_data_complexity Rasio kompleksitas cyclomatic dari struktur modul terhadap jumlah parameter
Global_data_density Global_data_complexity/cyclomatic_complexity Normalize_cyclo_cmplx Cyclomatic_complexity/number_of_lines Percent_comments Presentase dari suatu kode yang berisi komentar Node_count Jumlah node yang ditemukan dalam suatu modul
3.3 Pengolahan Awal Data
Pada tahap pengolahan data awal, masing-masing dataset yang berisi data informasi pendukung perlu untuk dilakukan pengecekan data terlebih dahulu dengan mengisikan data informasi yang masih kosong dengan teknik replace missing value dan memastikan data bersifat numerik. Operator Replace Missing Values menggantikan semua nilai yang hilang dengan nilai rata-rata atribut itu.
Karena ini adalah perubahan data dan bukan perubahan atribut, perubahan ini dilakukan di semua salinan. Pemberian nilai untuk informasi yang kosong tersebut dengan nilai rata-rata data. Proses preprocessing ini dengan teknik replace missing value dilakukan dengan menggunakan aplikasi RapidMiner 7.3 library. Selanjutnya data disimpan kembali dalam bentuk excel untuk pengolahan data selanjutnya.
3.4 Metode yang Diusulkan
Algoritma k-means memiliki kelemahan pada penentuan nilai centroid yang random sehingga hasil yang didapatkat kurang optimal, maka pada penelitian ini akan diusulkan metode untuk penentuan nilai centroid k-means dengan algoritma yang diberi nama point center. Algorima point center yang diusulkan sebagai penentu nilai centroid awal untuk optimasi algoritma k-means. Algoritma ini berdasarkan pemilihan variable π dan π yang menentukan anggota cluster. Untuk pemilihan variable, tahap pertama hitung rata-rata dari setiap atribut melalui persamaan (1).
π₯Μ π=1 πβ π₯π
π
π=1
π = 1,2, β¦ , π (3.1)
Dimana, π₯Μ π adalah rata-rata tiap atribut (π adalah atribut), π₯π adalah data point (π adalah data point dari 1 ke π), dan π adalah jumlah data. Kemudian hitung masing-masing standar deviasi dati tiap-tiap atribut melaui persamaan (3.2):
π(π₯Μ π) = ββππ=1(π₯πβπ₯Μ )2
πβ1 (3.2) Setelah menghitung rata-rata dan standar deviasi, selanjutnya tentukan titik center data dari variabel dataset melalui persamaan (3.3).
Dimana, π₯Μ π adalah nilai maximum dari rata-rata dan π₯Μ π adalah nilai rata-rata dari nilai minimum standar deviasi. Selanjutnya lakukan perhitungan dengan Euclidean distance:
πππ = ((π₯πβ π₯Μ π)2+ (π₯π+ π₯Μ π)2)12 π = 1,2, β¦ , π (3.4) Untuk menghitung jarak antara masing, masing data point dan titik awal. Kemudian melalui persamaan (3.5) digunakan untuk pemilihan variabel π dan π sebagai anggota cluster center.
π£ = [ π₯Μ πΌ π₯Μ πΌπΌ ] (3.5) Dimana, π₯Μ πΌadalah nilai minimum dari rata-rata dan π₯Μ πΌπΌ adalah rata-rata dari nilai maksimum standar deviasi. Data point berdasarkan pemilihan variable dari persamaan (3.5) dengan jarak tertinggi data euclideaan pada persamaan (3.4) dipilih sebagai kandidat pertama point center awal (π1). Selanjutnya hitung jarak Euclidean:
πππ(π) = ((π₯ππΌβ π₯Μ πππΌ)2+ (π₯ππΌπΌ+ π₯Μ πππΌπΌ)2)
1
2 π = 1,2, β¦ , π (3.6) Data point dengan jarak tertinggi di persamaan (3.6) dipilih sebagai kandidat point center kedua (π2). Dimana ππ diperoleh berdasarkan titik point center, lakukan sampai nilai persamaan (6) sama dengan jarak ππ sebelumnya untuk mendapatkan nilai π yang diperoleh dari cluster akhir π(πβ1) . Kemudian angggota cluster masing-masing point ditentukan menurut kandidat point center dan variable π dan π.
3.5 Eksperimen dan Pengujian Metode
Pada penelitian ini diusulkan metode untuk menentukan nilai centroid awal dengan menggunakan algoritma yang dinamakan point center sebagai penentu nilai centroid awal pada klasterisasi k-means. Alur metode yang diusulkan dapat dilihat pada gambar 3.2. Langkah-langkah metode yang diusulkan untuk menentukan nilai centroid awal dengan menggunkaan algoritma point center adalah sebagai berikut:
1. Siapkan dataset yang akan digunakan
2. Lakukan pengolahan data awal dengan pengecekan missing data dengan replace missing value untuk menghilangkan missing data menggunakan aplikasi RapidMiner 7.3 Library
3. Simpan data baru yang sudah di replace missing value ke dalam format excel
4. Lakukan perhitungan algoritma point center untuk mendapatkan nilai π dan nilai point center sebagai nilai centroid awal.
5. Menghitung nilai cluster dengan algoritma k-means menerapkan nilai centroid awal yang di dapat pada perhitungan algoritma point center dan nilai π yang didapat menggunakan tools R.
6. Hitung tingkat error dan Rand index yang didapat dari perhitungan k-means
Penentuan Centroid Awal Nilai rata-rata tiap atribut
Nilai standar deviasi tiap atribut
Tetapkan Titik center data
Jarak Euclidean tiap data dengan titik awal
Tentukan variabel π dan π atribut
Hitung jarak tiap data dengan titik centroid
3.6 Evaluasi Validasi Hasil
Pada tahap ini menguji antara cluster yang didapat menggunakan algoritma yang diusulkan dengan cluster yang tersedia. Pengelompokan data yang didapat menggunakan algoritma clustering merupakan nilai predicted label dan label dari dataset merupakan nilai actual label. Selanjutnya membandingkan dan mengelompokkan diantara keduanya. Meskipun algoritma k-means tergolong algoritma unsupervised learning yaitu algoritma tanpa label, sebagai pembanding dan untuk mengukur performa algoritma pengujian ini dibutuhkan label. Dari jumlah nilai banding kedua cluster maka dapat disajikan menggunkan tabel confusion matrix:
Tabel 3.4. Confusion Matrix Aktual
Dari Tabel 3.4 dapat menghitung nilai error dan rand index (akurasi).
πΈππππ = π΅+πΆ
π΄+π΅+πΆ+π· (3.7) π πππ πΌππππ₯ = π΄+π·
π΄+π΅+πΆ+π· (3.8) Selanjutnya hasil yang didapatkan dibandingkan dengan perhitungan algoritma simple k-means dengan teknik evaluasi yang sama.
HASIL DAN PEMBAHASAN
4.1 Hasil
Pada penelitian ini dilakukan eksperimen dengan menggunakan komputer untuk melakukan proses perhitungan terhadap metode yang diusulkan. Spesifikasi perangkat keras dan sistem operasi yang digunakan pada penelitian ini adalah menggunakan sebuah laptop DELL dengan prosessor Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz, memori (RAM) 4,00 GB, dan menggunakan sistem operasi Windows 10 Pro 64-bit. Sedangkan tools yang digunakan pada penelitian ini antara lain: Microsoft Excel, RapidMiner, dan Rstudio.
Hasil penelitian ini berupa perhitungan pengembangan model dan hasil pengukuran kinerja model. Untuk menerapkan algoritma yang diusulkan dengan klasterisasi k-means dibutuhkan sejumlah dataset sebagai alat uji. Dataset yang diterapkan untuk metode yang diusulkan diantaranya: Iris dan dataset NASA MDP (CM1, KC1, KC3, MC2, MW1, PC1, PC2, PC3, PC4). Dataset iris digunakan karena dataset ini mempunyai jumlah label yang multi cluster sebagai alat uji terhadap algoritma yang diusulkan untuk menentukan jumlah π (cluster). Dataset NASA MDP digunakan untuk menguji terhadap algoritma yang diusulkan dan dengan jumlah actual label sebanyak 2 cluster (Y dan N), selain itu proses klusterisasi ini untuk menangkap kesalahan cluster pada software.
1. Dataset iris
Dalam penelitian ini selain menggunakan dataset NASA MDP juga menggunakan dataset iris karena dataset iris sering digunakan sebagai standar uji algoritma clustering. Penelitian ini menggunakan dataset iris karena dataset ini mempunyai jumlah label yang multi cluster sebagai alat uji terhadap algoritma yang diusulkan untuk menentukan jumlah π (cluster). Dataset ini menggunakan 3 class (setosa, versicolor, virginica) dan 150 sample data. Setiap sample mempunyai 4 atribut yaitu: sepal length, sepal width, petal length, petal width. Perhitungan algoritma yang diusulkan diawali dengan menghitung nilai rata-rata dan nilai
Tabel 4.1. Descriptive statics dataset iris
Statistics Sepal length Sepal width Petal length Petal width
π₯Μ π 5,8433 3,0540 3,7587 1,1987
π (π₯π) 0,8281 0,4336 1,7644 0,7632
Setelah mendapatkan nilai rata-rata dan standar deviasi selanjutnya tetapkan titik center data. Titik center data ditentukan sebagai π = [5.8433 , 3.0540] didapatkan dari atribut sepal length dan sepal width disajikan dalam Gambar 4.1 kemudian menghitung kandidat point center pertama (π1) yang didapat dari maksimal jarak euclidean.
Gambar 4.1. Titik center data iris
Selanjutnya menentukan variabel X dan Y yaitu π = [1.1987 , 3.7587] untuk titik center yang didapatkan dari atribut petal width (π₯πΌ) dan petal length (π₯πΌπΌ). Untuk penentuan kandidat point center kedua (π2) dan kandidat point center selanjutnya (ππ) dengan menggunakan rumus euclidean. Nilai untuk distance didapatkan π1= 2.1878 , π2 = 5.6921, π3= 6.2626, karena nilai distance keempat sama dengan sebelumnya yaitu distance ketiga maka jumlah cluster pada dataset ini sebanyak 3 cluster (π). Kemudian didapatlah titik point center dari keanggotaan cluster yaitu
ππ
ππ π
selanjutnya menghitung clustering data dengan algoritma k-means di dalam tools R dengan memasukkan nilai point center terlebih dahulu kemudian didapatlah cluster berdasarkan nilai π. Dan perbaruan nilai centroid adalah:
π1 = [1.36 4.3]
π2 = [0.244 1.464]
π3 = [2.05 5.63]
Gambar 4.2. Cluster dataset iris dengan algoritma point center k-means Dari gambar 4.2 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 54 data, π2 sebanyak 50 data, dan π3 sebanyak 46 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel 4.2 confusion matrix berikut ini:
ππ°π°
ππ° π1
π2
π3
Tabel 4.2. Confusion matrix proposed method dataset iris Aktual
Setosa Versicolor Virginica Predicted
Dan jika dibandingkan dengan simple k-means yang menetapkan centroid awal secara random maka hasil tabel confusion matrix yang didapat adalah sebagai berikut:
Tabel 4.3. Confusion matrix k-means dataset iris Aktual
Setosa Versicolor Virginica Predicted
Dataset PC1 merupakan data sistem perangkat lunak penerbangan satelit yang mengorbit bumi, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 759. Tabel 4.4 menyajikan nilai rata-rata dan standar deviasi:
Tabel 4.4. Descriptive statics dataset PC1
Atribut Dataset NASA MDP PC1
π₯Μ π π (π₯π)
LOC counts
LOC_total 30,33 40,15
LOC_blank 8,59 14,27
LOC_code_and_comment 1,29 3,97
Atribut π₯Μ π π (π₯π)
LOC_executable 29,04 38,18
Number_of_lines 46,33 59,68
Halstead Content 37,09 30,70
Difficulty 20,09 17,59
Effort 41103,33 205045,10
Error_est 0,31 0,58
Length 154,18 222,94
Level 0,079 0,059
Prog_time 2283,52 11391,39
Volume 938,25 1738,06
Num_operands 66,93 96,83
Num_operators 87,25 126,88
Num_unique_operands 26,61 32,78
Num_unique_operators 16,34 7,88
McCabe Cyclomatic_complexity 7,49 10,21
Cyclomatic_density 0,29 0,16
Design_complexity 4,30 7,50
Design_density 0,63 0,29
Essential_complexity 3,58 5,57
Misc. Branch_count 13,40 18,78
Call_pairs 3,16 3,57
Condition_count 21,26 31,79
Decision_count 9,89 15,09
Decision_density 2,17 0,38
Edge_count 29,45 42,54
Essential_density 0,29 0,38
Parameter_count 0,88 1,15
Maintance_severity 0,50 0,28
Modified_condition_count 5,69 8,41
Multiple_condition_count 10,69 15,99
Normalize_cyclo_cmplx 0,22 0,21
Percent_comments 12,76 15,41
Node_count 23,94 32,64
Selanjutnya tetapkan titik awal data π = [41103.331 , 0.079]
Gambar 4.3. Titik center data PC1
Variabel X dan Y yaitu dengan nilai titik π = [0.079 , 41103.33] didapatkan dari atribut HALSTEAD_LEVEL (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌ). Nilai jarak yang didapatkan π1 = [4238530.68] dan π1 = [4279576.86]. sehingga nilai point center yaitu π1 = [4279633.01 0.0] dan π2 = [56.15 0.5], jumlah cluster π = 2. Dan perbaruan nilai centroid dengan metode k-means:
π1 = [0.005 3505135.12]
π2 = [0.08 31951.33]
ππ
ππ π
Gambar 4.4. Cluster dataset PC1 dengan algoritma point center k-means Dari gambar 4.4 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 698 data dan π2 sebanyak 61 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel confusion matrix:
Tabel 4.5. Confusion matrix proposed method dataset PC1 Aktual
False (non faulty)
True (faulty)
Predicted
False
(non faulty) 697 1
True
(Faulty) 60 1
πΈππππ =60 + 1
759 = 0.08 π πππ πΌππππ₯ =697 + 1
759 = 0.92 ππ
ππ
Tabel 4.6. Confusion matrix k-means dataset PC1
Dataset PC2 merupakan data simulator dinamis untuk sistem kontrol perilaku, memiliki jumlah atribut sebanyak 35, jumlah sample data sebanyak 1585. Tabel 4.7 menyajikan nilai rata-rata dan standar deviasi:
Tabel 4.7. Descriptive statics dataset PC2
Atribut Dataset NASA MDP PC2
π₯Μ π π (π₯π)
LOC counts
LOC_total 11,252 24,115
LOC_code_and_comment 9,252 21,114
LOC_comments 2,881 9,711
LOC_executable 2 3,293
Number_of_lines 16,538 31,109
Halstead Content 16,837 22,064
Difficulty 11,752 10,457
Effort 7010,177 35366,358
Error_est 0,87 0,241
Length 51,593 101,821
Level 0,142 0,093
Prog_time 389,454 1964,798
Volume 260,02 722,123
Num_operands 20,811 41,656
Num_operators 30,782 60,604
Num_unique_operands 8,895 12,883
Num_unique_operators 10,702 4,750
McCabe Cyclomatic_complexity 3,439 4,936
Cyclomatic_density 0,494 0,316
Design_complexity 2,613 4,016
Design_density 0,788 0,257
Essential_complexity 1,692 3,636
Atribut π₯Μ π π (π₯π)
Misc. Call_pairs 2,809 4,115
Condition_count 9,150 17,804
Decision_count 4,323 8,622
Decision_density 2,135 0,380
Edge_count 14,211 24,728
Essential_density 0,1 0,3
Parameter_count 1,806 1,525
Maintance_severity 0,518 0,249
Modified_condition_count 2,413 4,631 Multiple_condition_count 4,578 8,903
Normalize_cyclo_cmplx 0,333 0,295
Percent_comments 73,059 19,067
Node_count 12,771 19,977
Selanjutnya tetapkan titik awal data π = [7010.2 , 0.14244]
Gambar 4.5. Titik center data PC2 ππ
ππ π
Variabel X dan Y yaitu dengan nilai titik π = [0.0866 , 7010.2] didapatkan dari atribut HALSTEAD_ERROR_EST (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌπΌ). Nilai jarak yang didapatkan π1 = [875618.5] dan π2 = [882605.4]. Sehingga nilai point center yaitu π1 = [5,52 882628.7] dan π2 = [0 23.22], jumlah cluster π = 2. Dan perbaruan nilai centroid dengan metode k-means:
π1 = [2.285 405829.068]
π2 = [0.076 4987]
Dari gambar 4.6 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 8 data dan π2 sebanyak 1577 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel confusion matrix:
ππ
ππ
Gambar 4.6. Cluster dataset PC2 dengan algoritma point center k-means
Aktual
Tabel 4.9. Confusion matrix k-means dataset PC2 Aktual
Dataset PC3 merupakan data sistem perangkat lunak penerbangan satelit yang mengorbit bumi, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 1125. Tabel 4.10 menyajikan nilai rata-rata dan standar deviasi tiap atribut:
Tabel 4.10. Descriptive statics dataset PC3
Atribut Dataset NASA MDP PC3
π₯Μ π π (π₯π)
LOC LOC_total 29,348 47,242
Atribut Dataset NASA MDP PC3
π₯Μ π π (π₯π)
LOC_comments 5,453 10,247
LOC_executable 27,591 46,513
Number_of_lines 44,277 58,527
Halstead Content 42,994 81,839
Difficulty 18,253 16,59
Effort 45957,2 421464,003
Error_est 0,339 1,206
Length 160,233 399,169
Level 0,085 0,059
Prog_time 2553,176 23414,667
Volume 1017,848 3617,846
Num_operands 71,734 179,380
Num_operators 88,499 221,340
Num_unique_operands 27,286 43,577
Num_unique_operators 15,076 6,381
McCabe Cyclomatic_complexity 7,111 12,355
Cyclomatic_density 0,288 0,157
Design_complexity 3,612 5,054
Design_density 0,604 0,283
Essential_complexity 3,029 4,587
Misc. Branch_count 12,852 24,146
Call_pairs 2,836 3,119
Condition_count 21,049 45,062
Decision_count 9,812 21,818
Decision_density 2,176 0,364
Edge_count 28,129 52,794
Essential_density 0,248 0,365
Parameter_count 1,417 1,234
Maintance_severity 0,473 0,265
Modified_condition_count 5,619 11,691 Multiple_condition_count 10,612 22,654
Normalize_cyclo_cmplx 0,213 0,187
Percent_comments 15,844 19,308
Node_count 23,018 40,635
Selanjutnya tetapkan titik awal data π = [45957.2 , 0.059]
ππ
Gambar 4.7. Titik center data PC3
Variabel X dan Y yaitu dengan nilai titik π = [0.085 , 45957.2] didapatkan dari atribut HALSTEAD_LEVEL (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌπΌ). Nilai jarak yang didapatkan π1 = [12705494.1] dan π2 = [12751451.3]. Sehingga nilai point center yaitu π1 = [0.01 12751451.28] dan π2 = [0.5 36.19], jumlah cluster π = 2. Dan perbaruan nilai centroid dengan metode k-means:
π1 = [0.01 12751451.3]
π2 = [0.085 34653.34]
ππ π
Gambar 4.8. Cluster dataset PC3 dengan algoritma point center k-means Dari gambar 4.8 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 1 data dan π2 sebanyak 1124 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel confusion matrix:
Tabel 4.11. Confusion matrix proposed method dataset PC3 Aktual
False (non faulty)
True (faulty)
Predicted
False
(non faulty) 984 140
True
(faulty) 1 0
πΈππππ =1 + 140
1125 = 0.125
π πππ πΌππππ₯ = 984
1125= 0.875 ππ
ππ
Aktual
Dataset PC4 merupakan data sistem perangkat lunak penerbangan satelit yang mengorbit bumi, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 1399. Tabel 4.13 menyajikan nilai rata-rata dan standar deviasi tiap atribut:
Tabel 4.13. Descriptive statics dataset PC4
Atribut Dataset NASA MDP PC4
π₯Μ π π (π₯π)
LOC counts
LOC_total 21,483 25,396
LOC_blank 7,292 9,945
LOC_code_and_comment 2,198 5,410
LOC_comments 5,069 9,632
LOC_executable 19,285 22,461
Number_of_lines 37,57 45,64
Halstead Content 27,455 70,143
Difficulty 17,201 16,630
Effort 20328,125 63776,51
Error_est 0,189 0,406
Length 105,771 173,618
Level 0,115 0,012
Prog_time 1129,34 3543,14
Volume 566,92 1218,93
Num_operands 40,34 72,486
Num_operators 65,431 105,352
Num_unique_operands 14,663 20,784
Atribut Dataset NASA MDP PC4
π₯Μ π π (π₯π)
McCabe Cyclomatic_density 0,301 0,306
Design_complexity 2,841 4,061
Design_density 0,724 0,282
Essential_complexity 2,276 3,775
Misc. Branch_count 8,287 12,599
Call_pairs 2,321 2,851
Condition_count 7,424 16,221
Decision_count 3,390 7,547
Decision_density 1,048 1,128
Edge_count 18,478 26,903
Essential_density 0,154 0,314
Parameter_count 0,836 1,154
Maintance_severity 0,597 0,327
Modified_condition_count 2,017 4,397 Multiple_condition_count 3,758 8,383
Normalize_cyclo_cmplx 0,195 0,225
Percent_comments 18,215 21,34
Node_count 15,683 20,82
Selanjutnya tetapkan titik awal data π = [20328.125 , 0.115]
Gambar 4.9. Titik center data PC4
Variabel X dan Y yaitu dengan nilai titik π = [0.115 , 20328.125] didapatkan dari atribut HALSTEAD_LEVEL (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌπΌ). Nilai jarak yang didapatkan π = [1381391.3] dan π = [1401719.5] sehingga nilai
ππ
π
ππ
π = 2. Dan perbaruan nilai centroid dengan metode k-means:
π1 = [0.016 405200.6]
π2 = [0.117 14463]
Gambar 4.10. Cluster dataset PC4 dengan algoritma point center k-means Dari gambar 4.10 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 21 data dan π2 sebanyak 1378 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel confusion matrix:
Tabel 4.14. Confusion matrix proposed method dataset PC4 Aktual
False (non faulty)
True (faulty)
Predicted
False
(non faulty) 1207 171
ππ
ππ
πΈππππ =14 + 171
1399 = 0.132 π πππ πΌππππ₯ =1207 + 7
1399 = 0.868
Tabel 4.15. Confusion matrix k-means dataset PC4 Aktual
Dataset MW1 merupakan data percobaan nol gravitasi yang berhubungan dengan pembakaran, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 264. Tabel 4.16 menyajikan nilai rata-rata dan standar deviasi tiap atribut:
Tabel 4.16. Descriptive statics dataset MW1
Atribut Dataset NASA MDP MW1
π₯Μ π π (π₯π)
LOC counts
LOC_total 26,155 19,703
LOC_blank 6,208 5,906
LOC_code_and_comment 0,254 1,779
LOC_comments 5,170 6,131
LOC_executable 25,902 19,707
Number_of_lines 38,534 29,273
Halstead Content 45,659 28,235
Difficulty 11,978 8,13
Effort 10579,305 18947,944
Error_est 0,193 0,191
Length 102,75 86,2
Level 0,124 0,076
Atribut π₯Μ π π (π₯π)
Volume 578,76 572,086
Num_operands 45,189 38,261
Num_operators 57,561 48,445
Num_unique_operands 25,129 17,226
Num_unique_operators 13,299 6,523
McCabe Cyclomatic_complexity 5,886 5,114
Cyclomatic_density 0,244 0,115
Design_complexity 4,39 4,092
Design_density 0,795 0,253
Essential_complexity 2,447 3,128
Misc. Branch_count 10,042 8,915
Call_pairs 5,462 4,818
Condition_count 14,121 13,767
Decision_count 6,258 5,947
Decision_density 2,291 1,047
Edge_count 25,678 21,751
Essential_density 0,08 0,271
Parameter_count 0,841 1,056
Maintance_severity 0,434 0,251
Modified_condition_count 3,932 4,122 Multiple_condition_count 7,189 7,296
Normalize_cyclo_cmplx 0,169 0,085
Percent_comments 15,873 13,939
Node_count 21,792 17,168
Selanjutnya tetapkan titik awal data π = [10579.3 0.124]
Gambar 4.11. Titik center data MW1
Variabel X dan Y yaitu dengan nilai titik π = [0.8, 10579.3] didapatkan dari atribut ESSENTIAL_DENSITY (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌπΌ). Nilai jarak yang didapatkan π1 = [165769.2] dan π2 = [176257.2] sehingga nilai point center yaitu π1 = [0.0 176348.54] dan π2 = [0.0 91.35], jumlah cluster π = 2.
Dan perbaruan nilai centroid dengan metode k-means:
π1 = [0.125 92029.123]
π2 = [0.08 8034]
ππ ππ
π
Gambar 4.12. Cluster dataset MW1 dengan algoritma point center k-means Dari gambar 4.12 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 8 data dan π2 sebanyak 256 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel confusion matrix:
Tabel 4.17. Confusion matrix proposed method dataset MW1 Aktual
False (non faulty)
True (faulty)
Predicted
False
(non faulty) 231 25
True
(faulty) 6 2
πΈππππ =6 + 25
264 = 0.117 π πππ πΌππππ₯ =231 + 2
264 = 0.883 ππ
ππ
Tabel 4.18. Confusion matrix k-means dataset MW1
Dataset CM1 merupakan data Instrumen pesawat ruang angkasa, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 344. Tabel 4.19 menyajikan nilai rata-rata dan standar deviasi tiap atribut:
Tabel 4.19. Descriptive statics dataset CM1
Atribut Dataset NASA MDP CM1
π₯Μ π π (π₯π)
LOC counts
LOC_total 45,017 55,342
LOC_blank 16,052 22,801
LOC_code_and_comment 5,407 9,908
LOC_comments 16,701 29,941
LOC_executable 39,61 48,377
Number_of_lines 79,064 94,613
Halstead Content 48,334 41,185
Difficulty 19,549 14,918
Effort 46857,334 156662,163
Error_est 0,404 0,638
Length 189,093 244,897
Level 0,79 0,57
Prog_time 2603,185 8703,453
Volume 1210,643 1914,179
Num_operands 73,846 97,037
Num_operators 115,247 148,793
Num_unique_operands 34,07 37,707
Num_unique_operators 18,663 9,273
McCabe Cyclomatic_complexity 7,084 9,281
Cyclomatic_density 0,171 0,065
Design_complexity 4,779 6,248
Atribut π₯Μ π π (π₯π)
Design_density 0,708 0,27
Essential_complexity 2,997 4,16
Misc. Branch_count 12,567 16,544
Call_pairs 3,651 3,9
Condition_count 20,163 26,805
Decision_count 9,517 12,485
Decision_density 2,115 0,315
Edge_count 29,637 37,618
Essential_density 0,213 0,343
Parameter_count 1,756 1,893
Maintance_severity 0,444 0,252
Modified_condition_count 5,323 7,194 Multiple_condition_count 10,113 13,442
Normalize_cyclo_cmplx 0,109 0,058
Percent_comments 29,027 18,977
Node_count 24,552 28,749
Selanjutnya tetapkan titik awal data π = [46857.3 0.079]
Gambar 4.13. Titik center data CM1
Variabel X dan Y yaitu dengan nilai titik π = [0.079 46857.3] didapatkan dari atribut HALSTEAD_LEVEL (π₯πΌ) dan HALSTEAD_EFFORT (π₯πΌπΌ). Nilai jarak
ππ ππ
π
point center yaitu π1 = [0.01 2109679.46] dan π2 = [0.43 124.02], jumlah cluster π = 2. Dan perbaruan nilai centroid dengan metode k-means:
π1 = [0.01 1804682]
π2 = [0.08 36577.66]
Gambar 4.14. Cluster dataset CM1 dengan algoritma point center k-means
Gambar 4.14. Cluster dataset CM1 dengan algoritma point center k-means