• Tidak ada hasil yang ditemukan

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

Dokumen terkait