Saya merupakan mahasiswa tingkat
akhir di STMIK Nusa Mandiri dengan jurusan Ilmu Komputer. Saat ini saya sedang
menyusun tugas akhir untuk memenuhi salah satu syarat kelulusan, tugas akhir
yang harus dikerjakan yaitu melakukan penelitian dibidang ilmu komputer. Bidang
garapan (research field) saya ialah
rekayasa perangkat lunak (software engineering) dengan topik penelitian (research topic) cacat perangkat lunak (software defect).
Tujuan saya menulis pengalaman
saat mengerjakan tugas akhir ini ialah untuk pembelajaran bagi saya kedepannya
ketika akan melakukan penelitian lagi sehingga saya bisa mengevaluasi dari apa
yang saya lakukan saat ini supaya nanti ada gambaran apa yang kemudian harus
dilakukan.
Dalam tulisan ini saya akan
membagi pengalaman mengerjakan tugas akhir ini kedalam beberapa bagian,
diantaranya:
1. Memahami mata kuliah yang dipelajari dan
keterkaitannya terhadap cabang ilmu.
Saat kuliah saya harus tahu mata kuliah apa yang saya
pelajari dan itu bagian dari cabang ilmu apa, dengan begitu saya bisa fokus
mempelajari cabang ilmu tersebut dengan mencari bahan tambahan diluar
perkuliahan. Dari semua mata kuliah yang saya pelajari ternyata semuanya ada
keterkaitan satu sama lain dengan cabang ilmu rekayasa perangkat lunak (software engineering) jadi saya putuskan
untuk tugas akhir akan menggarap bidang ilmu rekayasa perangkat lunak.
2. Mempelajari masalah yang sedang tren
dibidang rekayasa perangkat lunak
Setelah saya memutuskan untuk fokus di rekayasa perangkat
lunak kemudian saya mencari tahu masalah apa saja yang sedang tren menjadi
bahan penelitian dibidang rekayasa perangkat lunak, caranya dengan menuliskan
dimesin pencari seperti google.com dengan kata kunci “research tren on software engineering” cara ini saya dapatkan dari
artikelnya romisatriawahono.net, isu yang
saya dapatkan dari beberapa paper yang saya baca salah satunya cacat perangkat
lunak (fault prediction/software defect)
sehingga saya memutuskan topik penelitian yang saya ambil tentang cacat
perangkat lunak.
3. Mencari masalah penelitian
Selanjutnya saya masuk kebagian yang cukup memakan waktu
karena dibagian ini saya harus mencari masalah penelitian dibidang cacat
perangkat lunak, untungnya saya dapat trik dari artikelnya romisatriawahono.net. Saya mulai mengumpulkan
beberapa review paper yang
berhubungan dengan cacat perangkat lunak dan membacanya, selanjutnya saya juga
mulai mencari technical paper untuk
mengetahui hasil eksperimen penelitian sebelumnya. Bagi yang belum tahu, technical paper adalah paper penelitian
yang didalamnya berisi hasil eksperimen dari penelitian mengenai topik yang
spesifik dan ada hasil yang didapatkan, kalau review paper adalah kumpulan technical
paper dengan topik yang sama kemudian ditarik benang merah dari paper-paper
yang dipelajari dan dituangkan kedalam sebuah paper.
Masalah penelitian yang saya dapatkan dari hasil
mempelajari review paper dan technical paper ialah masalah ketidakseimbangan
kelas (imbalanced class) dan
kebisingan data (noisy data) pada
dataset khususnnya dataset publik NASA MDP.
4. Mencari metode untuk prediksi cacat
perangkat lunak
Dari review paper
yang saya baca ada beberapa metode yang paling sering digunakan kemudian saya
mencari technical papernya untuk
membandingkan beberapa metode tersebut, dari beberapa paper yang saya rangkum
hasilnya seperti tabel 1.
Tabel 1. Perbandinga metode cacat
perangkat lunak
Sumber
|
Metode
|
Imbalance
Class
|
Features
Selection
|
Validasi
|
Datasets
|
AUC
|
(Wahono,
2014)
|
Logistic
Regression
|
-
|
-
|
10
Fold Cross Validation
|
9
NASA
|
0.797
|
(Wahono,
2014)
|
Logistic
Regression
|
Bagging
|
GA
dan PSO
|
10
Fold Cross Validation
|
9
NASA
|
0.794
|
(Rianto, 2015)
|
Logistic Regression
|
Resampling
|
-
|
10 Fold Cross Validation
|
10
NASA
|
0.856
|
(Wahono,
2014)
|
Naive
Bayes
|
Bagging
|
GA
dan PSO
|
10
Fold Cross Validation
|
9
NASA
|
0.781
|
(Putri,
2015)
|
Naive
Bayes
|
SMOTE
|
Information
Gain
|
10
Fold Cross Validation
|
9
NASA
|
0.797
|
(Saifudin,
2015)
|
Naive
Bayes
|
ADABoost
|
-
|
10
Fold Cross Validation
|
10
NASA
|
0.603
|
(Saifudin,
2015)
|
Naive
Bayes
|
Bagging
|
-
|
10
Fold Cross Validation
|
10
NASA
|
0.614
|
(Funitha,
2016)
|
Hybrid
Neuro-Fuzzy Systems with Naïve Bayes
|
Bagging
|
Genetic
Ant Colony Optimization (GACO)
|
Cross
Validation
|
4
NASA
|
|
Dari beberapa metode yang ada saya kumpulkan semuanya dan
saya rangkum kedalam beberapa metode yang menunjukan hasil yang lebih baik dari
metode lainnya, seperti terlihat pada tabel 1.
Dari tabel 1 dapat dilihat hasil dari penelitian sebelumnya
mengenai masalah ketidakseimbangan keals dan seleksi atribut dengan beberapa
metode yang digunakan menunjukan AUC tertinggi dimiliki oleh penelitian yang
dilakukan oleh (Rianto, 2015) namun pada penelitian tersebut hanya melakukan
resampling terhadap dataset dan tidak melakukan seleksi atribut untuk menemukan
atribut yang relevan, berdasarkan hal tersebut saya putuskan untuk melanjutkan
penelitian beliau dengan menambahkan teknik seleksi atribut.
Tidak ada komentar:
Posting Komentar