## PEMANFAATAN RESAMPLING UNTUK PENANGANAN KETIDAKSEIMBANGAN KELAS PADA PREDIKSI CACAT SOFTWARE BERBASIS C5.0
Raja Sabaruddin 1 , Sri Murni 2 , Wahyu Nugraha 3 1,2,3 Fakultas Teknik dan Informatika, Universitas Bina Sarana Informatika, Pontianak, Indonesia Email : 1 Raja.rjd@bsi.ac.id , 2 sri.six@bsi.ac.id , 3 wahyu.whn@bsi.ac.id

## ABSTRAK
Software yang  tidak  ditemukan  cacat  selama  pemeriksaan  dan  pengujian  merupakan software berkualitas  tinggi  yang  mampu  membantu  proses  bisnis  perusahaan  secara  efektif  dan  efesien. Penurunan  kualitas software dan  biaya  perbaikan  yang  tinggi  dapat  diakibatkan  kesalahan  atau  cacat pada software .  Saat  ini  belum  ada  model  prediksi  cacat software yang  berlaku  umum  pada  saat digunakan.  C5.0  merupakan  model  klasifikasi  yang  cocok  untuk  data  dengan  attribut  yang  bersifat numerik ataupun  attribut  yang  bernilai  nominal  yaitu  bersifat  kategorik  dimana  tiap  nilai  tidak  bisa dijumlahakan atau dikurangkan, tetapi belum dapat mengklasifikasikan dataset berbasis matrix dengan kinerja  terbaik  secara  umum  dan  selalu  konsisten  dalam  semua  penelitian. Dataset yang  besar  pada umumnya  mengandung  ketidakseimbangan  kelas  ( class  imbalance ),  yaitu  adanya  perbedaan  yang signifikan  antar  jumlah  kelas,  yang  mana  kelas  negatif  lebih  besar  daripada  kelas  positif.  Untuk menangani  masalah  ketidakseimbangan  kelas  pada dataset cacat software pada  penelitian  ini diusulkan metode resampling yaitu Random Under Sampling (RUS), Random Over Sampling (ROS) dan Synthetic  Minority  Over-sampling  Technique (SMOTE).  Penelitian  dilakukan  untuk membandingkan  hasil  kinerja  C5.0  sebelum  dan  sesudah  diterapkan  metode  resampling.  Hasil penelitian menunjukkan bahwa metode resampling yaitu RUS terbukti mampu dalam menyelesaikan prediksi cacat software dengan algoritma C5.0.
Kata Kunci: Ketidakseimbangan kelas, resampling, C5.0

## ABSTRACT
Software that is not found defect during examination and testing is a high quality software that can  help  the  company's  business  process  effectively  and  efficiently.  Declining  software  quality  and high  repair  costs  can  result  from  errors  or  defects  in  the  software.  There  is  currently  no  predictive model of software defects that are generally accepted when used. C5.0 is a classification model that is suitable  for  data  with  attributes  that  are  numerical  or  attributes  of  nominal  value  is  a  categorical nature in which each value can not be summed or deducted, but have not been able to classify matrix- based  datasets  with  the  best  performance  in  general  and  always  consistent  in  all  studies.  Large datasets  generally  contain  a  class  imbalance  (class  imbalance),  there  is  a  significant  difference between the number of classes, which is where the negative class is greater than the positive class. To solve  the  problem  of  class  imbalance  in  software  defect  dataset,  this  research  proposed  resampling method that is Random Under Sampling (RUS), Random Over Sampling (ROS) and Synthetic Minority Over-Sampling Technique (SMOTE). The study was conducted to compare the performance results of C5.0 before and after the applied resampling method. The results showed that resampling method of RUS proved able to solve the prediction of software defect with C5.0 algorithm.
Keywords : Class Imbalanc, resampling, C5.0

## I. PENDAHULUAN
Mengembangkan  perangkat  lunak  yang berkualitas  dan  kompleks  membutuhkan  biaya
yang  tinggi.  Biaya  untuk  memperbaiki  cacat akibat  salah  persyaratan  ( requirement )  setelah
fase pengembangan ( deployment ) dapat mencapai  100  kali,  biaya  untuk  memperbaiki cacat  pada  tahap  desain  setelah  pengiriman produk  mencapai  60  kali,  sedangkan  biaya untuk  memperbaiki  cacat  pada  tahap  desain yang  ditemukan  oleh  pelanggan  adalah  20 kali[1]. Hal ini menunjukkan sangat dibutuhkan prediksi cacat software .
Prediksi cacat software sangat penting di dalam software  engineering ,  terutama  dalam mengatasi  masalah  efektifitas  dan  efesiensi  di luar  pengujian  perangkat  lunak  dan review , sehingga  ketepatan  prediksi  cacat software dapat  mempermudah  pengujian,  mengurangi biaya,  dan  meningkatkan  kualitas software . Selain itu prediksi cacat software memungkinkan pengembang software mengalokasikan  sumber  daya  yang  terbatas sesuai  anggaran  dan  dengan  waktu  yang efesien[3].
Dengan  mengurangi  jumlah  cacat  pada software yang  dihasilkan  dapat  meningkatkan kualitas software .  Secara  tradisional, software berkualitas  tinggi  adalah software yang  tidak ditemukan  cacat  selama  pemeriksaan  dan pengujian,  serta  dapat  memberikan  nilai kepada  pengguna  dan  memenuhi  harapan mereka[4]. Pemeriksaan dan pengujian dilakukan  terhadap  alur  dan  keluaran  dari software .  Jumlah  cacat  yang  ditemukan  dalam pemeriksaan  dan  pengujian  tidak  dapat menjadi satu-satunya ukuran kualitas software . Pada  banyak  kasus,  kualitas software lebih dipengaruhi  penggunanya,  sehingga  perlu diukur  secara  subyektif  berdasarkan  pada persepsi dan harapan customer .
Prosedur  untuk  meningkatkan  kualitas software dapat  dilakukan  dengan  berbagai cara, tetapi pendekatan terbaik adalah pencegahan  cacat,  karena  manfaat  dari  upaya pencegahannya  dapat  diterapkan  kembali  pada masa  depan[4].  Untuk  dapat  melakukan pencegehan  cacat,  maka  harus  memprediksi kemungkinan terjadinya cacat.
Berdasarkan  hasil  penelitian  yang  ada, tidak  ditemukan  satu  metode  terbaik  yang berguna  untuk  mengklasifikasikan  berbasis metrik  secara  umum  dan  selalu  konsisten dalam  semua  penelitian  yang  berbeda  [5]. Algoritma  klasifikasi  seperti  C4.5, Decision Tree , Linear  Regression , Logistic  Regression (LR), Naïve  Bayes (NB), Neural  Network (NN), Random Forest (RF) dan Support Vector
Machine (SVM) menjadi fokus topik penelitian  yang  banyak  dilakukan[6].  Hasil komparasi algoritma klasifikasi diperoleh   dua metode  algoritma  taerbaik  yaitu Naïve  Bayes dan Logistic  Regression [6]. Naïve  Bayes merupakan model klasifikasi probalitas sederhana. Penggunaan algoritma Naive Bayes sangat  mudah  dan  nyaman  karena  tidak memerlukan  estimasi  parameter  yang  rumit. Sehingga Naïve  Bayes biasa  digunakan  pada dataset yang  sangat besar. Selain pada dataset yang besar Naïve Bayes juga menyajikan  hasil klasifikasi  kepada  pengguna  dengan  sangat mudah  tanpa  harus  memiliki  pengetahuan teknologi klasifikasi terlebih dahulu[7]. Namun Naïve  Bayes berasumsi  pada  semua atribut dataset adalah  sama  penting  dan  tidak terkait  satu  sama  lain,  sedangkan  pada kenyataanya  sulit  dipahami  keterkaitan  antar attribut[8]. Logistic Regression (LR) merupakan metode klasifikas statistik probalitas.  Keuntungan  LR  adalah  algoritma ini telah dipelajar secara ekstensif[9] disamping  pengembangan  terbaru  tentang penerapan truncate  newton [10].  Kelemahan dari  LR  adalah  rentan  terhadap underfitting dan  memiliki  akurasi  yang  rendah  [11].  LR merupakan klasifikasi linier yang telah terbukti menghasilkan klasifikasi yang powerfull dengan  statistik  probalitas  dan  menangani masalah  klasifikasi  multi  kelas[12].  Masalah besar  yang  dialami  oleh  algoritma  LR  adalah ketidakseimbangan  kelas  ( class  imbalance ) pada dataset berdimensi tinggi[2].
Algoritma  data  mining  yang  sering digunakan  untuk  pengklafikasian  dan  mudah untuk  diinterpretasikan  adalah Decision  Tree (DT)[13].  Pohon  yang  terbentuk  menyerupai terbalik,  dimana  akar (root )  berada  di  bagian paling  atas  dan  daun  ( leaf )  berada  di  bagian bawah.  DT  merupakan  model  klasifikasi  yang terbentuk  seperti  pohon,  dimana  DT  mudah untuk  dimengerti  meskipun  oleh  pengguna yang  belum  ahli  sekalipun  dan  lebih  efesien dalam  menginduksi  data  [14].  DT  atau  pohon keputusan  adalah  algoritma  klasifikasi  yang banyak  digunakan  dalam  data  mining  seperti ID3  [15],  C4.5[15]  dan  C5.0[16].  C4.5 menggunakan kriteria split yang telah dimodifikasi  yang  dinamakan Gain  Ratio oleh Mitchael  (1997)  dalam  proses  pemilihan split attribut. Split attribut  merupakan  proses  utama dalam pembentukan pohon keputusan
( Decision  Tree )  di  C4.5  [17].  Sedangkan  C5.0 merupakan  penyempurnaan  dari  algoritma terdahulu  yang  dibentuk  oleh  Ross  Quinlan pada tahun 1987, yaitu ID3 dan C4.5[18].
Ada dua pendekatan umum yang dipakai untuk  menangani  permasalahan dataset tidak seimbangan,  yaitu  pendekatan  level  data  dan pendekatan  level  algoritma[14].  Pendekatan pada  level  data  mencakup  berbagai  Teknik resampling ,  yaitu    memanipulasi  data  latih untuk  memperbaiki  kecondongan  distribusi kelas,  seperti Random  Over-Sampling (ROS) dan Random  Under-Sampling (RUS),  serta Synthetic  Minority  Over-Sampling  Technique (SMOTE)[19]. Pada tingkat  algoritma, metode utamanya adalah menyesuaikan operasi algoritma yang ada untuk membuat pengklafikasi  agar  lebih  kondukktif  terhadap klasifikasi kelas minoritas[20]. Dengan membagi dua pendekatan dapat mempermudah fokus  objek  perbaikan,  pendekatan  level  data difokuskan  pada  pengolahan  awal  data, sedangkan pendekaatan level algoritma difokuskan  pada  perbaikan  algoritma  atau menggabungkan ( esemble ).
Untuk  mencari  solusi  terbaik  terhadap permasalahan  ketidakseimbangan  kelas  ( class imbalance ),  maka  pada  penelitian  ini  akan  di lakukan  pengukuran  kinerja  pada  pendekatan level  data.  Pendekatan  level  data  dilakukan resampling ,  yaitu  ROS,  RUS  dan  SMOTE. Algoritma  pengklafikasian  yang  digunakan adalah
C5.0. Diharapkan didapatkan pendekatan level data terbaik untuk menyelesaikan
permasalahan ketidakseimbangan kelas.

## II. LANDASAN TEORI

## 2.1.1 Algoritma C5.0
Algoritma  C5.0  adalah  salah  satu algoritma  yang  terdapat  dalam  klasifikasi  data mining  disamping  algoritma  CART,  yang khususnya  diterapkan  pada  Teknik decision tree [22].  C5.0  merupakan  penyempurnaan algoritma  terdahulu  yang  dibantuk  oleh  Ross Quinlan  pada  tahun  1987,  yaitu  ID3  dan  C4.5 [23].
Ukuran information gain
digunakan  untuk  memilih  atribut  uji  setiap node di  dalam tree .  Ukuran  ini  digunakan untuk  memilih  atribut  atau node pada  pohon. Attribut dengan nilai information gain tertinggi
akan  dipilih  sebagai parent bagi node selanjutnya.  Formula  untuk information  gain adalah[22]:

## ∑
S  adalah  sebuah  himpunan  yang  terdiri dari  s  data  sampel.  Diketahui  attribut class adalah m dimana mendefinisikan kelas-kelas di dalamnya,  C  i  ( for i=  1,  …,  m),  s  i  adalah jumlah  sampel  pada  S  dalam class C  i  .  untuk mengklasifikasikan  sampel  yang  digunakan maka diperlukan informasi dengan menggunakan  aturan  seperti  di  atas  (2.1).
Dimana p i adalah proporsi kelas dalam output seperti  pada  kelas  C  i  dan  diestimasikan dengan  s  i    /s.  Attribut  A  memiliki  nilai tertentu {a 1 , a 2 , …, a v }. Attribut A dapat digunakan pada partisi S ke dalam v subset, {S 1  ,  S  2  ,  …,  S  v  },  dimana  S  j  berisi  sample pada S yang bernilai a j pada A. Jika A dipilih sebagai  attribut  tes  (sebagai  contoh  attribut terbaik  untuk  split),  maka  subset  ini  akan berhubungan pada cabang dari node himpunan S.  S  ij  adalah  jumlah  sample  pada  class  C  i dalam  sebuah  subset  S  j  .  Untuk  mendapatkan informasi  nilai  subset  dari  atribut  A  tersebut maka  digunakan  formula,  [7](Shirali,  2016), sebagai berikut:
)     ∑
)
adalah  jumlah  subset  j  yang dibagi  dengan  jumlah  sample  S,  maka  untuk mendapatkan nilai gain , selanjutnya digunakan formula[7] (Shirali, 2016),
Gain (A) = I(s1,s2,…,Sm) – E(A)
2.1.2 Random Over Sampling (ROS)
Pada algoritma ROS, data kelas mionoritas  dipilih  secara  acak,  kemudian ditambahkan  ke dalam data latih. Proses  ini  di ulang-ulang sampai jumlah data kelas minoritas sama dengan jumlah kelas mayoritas[1].
2.1.3 Random Under Sampling (RUS) Random Under Sampling (RUS) meningkatkan  ukuran  kelas  minoritas  dengan mensistensis  sample  baru  atau  langsung mereplikasi  secara  acak  dataset training [24].
RUS memiliki waktu prediksi yang lebih cepat dibandingkan Random  Over  Sampling (ROS) dan SMOTE[3].
2.1.4 SMOTE
Telah banyak pendekatan yang iusulkan untuk menyelesaikan permasalahan ketidakseimbangan kelas, baik dari pendekatan data (data preprocessing ) maupun pendekatan algoritma. Pendekatan data yang umum adalah resampling. SMOTE ( Synthetic Minority Over- Sampling Technique ) merupakan pendekatan oversampling pada kelas minoritas yaitu dengan melakukan oversampling untuk menciptakan sample “sintetik” bukan dengan oversampling dengan penggantian[25].
III. METODE PENELITIAN
3.1 Metode Yang Diusulkan
Metode  yang  penulis  usulkan  adalah penggunaan  metode  resampling  yaitu  ROS,
RUS,  dan  SMOTE  yang  digunakan  untuk meningkatkan
performance pada pengklasifikasi C5.0 .  Penulis  menggunakan algoritma  C5.0  karena  algoritma  C5.0  sangat populer  dan  berfungsi  dengan  baik  sebagai metode  pengklasifikasi  teks.  Untuk  melihat model  yang  diusulkan  secara  detail  dapat dilihat pada gambar 1 berikut ini:
Gambar . Metode Yang Diusulkan
3.2 Tinjuan Studi Metode Resamling
Penelitian tentang prediksi cacat software telah  lama  dilakukan,  dan  sudah banyak  hasil  penelitian  yang  dipublikasikan. Sebelum  memulai  penelitian,  perlu  dilakukan kajian  terhadap  penelitian  sebelumnya,  agar dapar mengetahui metode, data, maupun model yang  sudah  pernah  digunakan.  Tinjauan  studi ini akan digunakan sebagai landasan penelitian
agar  dapar  mengetahui state  of  the  art tentang penelitian  prediksi  cacat software yang membahas tentang ketidakseimbangan kelas.
Penelitian  yang  dilakukan  oleh  Yu, Tang,  Shen,  Yang,  dan  Yang  J  [21], malakukan  penelitian  untuk  meningkatkan akurasi prediksi cacat software mengkombinasikan SVM dengan cara modifikasi  Adaboost  dengan  RUS.  SVM memiliki  kelemahan  didalam  mengukur  kelas minoritas  dan  penentuan    keputusan  final dataset  training ,  RUS  memiliki  efektifitas yang  tinggi  untuk  mengatasi  masalah  pada kelas  mayoritas  dan  minoritas  pada  SVM sedangkan dataset yang  digunakan  adalah TargetATP.  Teknik  umum  yang  digunakan adalah 10- fold-cross-validation
untuk
pembagian dataset .  Satu bagian dijadikan data testing dan  sisanya  menjadi  data training . Pertama dataset dilakukan  pemilihan  fitur dengan logistic PSSM  dan  PSS  kemudian diproses  menggunakan  SVM  dan  RUS. Hasilnya menunjukkan AUC terendah 0.74 dan terbesarnya 0.86.
Metode  penelitian  yang  di  usulkan Mantas & Abellan[13], cocok untuk pengklafikasian dataset dengan noise . Pemilihan split attribut  pada  metode  ini menggunakan Imprecise  Info  Gain  Ratio
(IIGR)  menggantikan Info  Gain  Ratio (IGR). IIGR menggunakan Imprecise Probality untuk menghitung  nilai  attribut  dan variable  class . Metode  yang  di  usulkan  Mantas  &  Abellan disebut  degan  Credal  C4.5. dataset yang digunakan  Mantas  &  Abellan  menggunakan dataset  UCI  repository yaitu  50 dataset , diantaranya Anneal,  Arrhythmia,Audiology, Autos, Balance-scale, Breast-cancer, Wisconsin-breast-cancer,  Car,  CMC,  Horse- colic, Credit-rating, German-credit, Dermatology,  Pima-diabetes,  Ecoli,  Glass, Haberman, Cleveland-14-heart-disease, Hungarian-14-heart-disease, Heart-statlog,
Hepatitis,  Hypothyroid,  Ionosphere,    Iris,    kr- vs-kp,    Letter,    Liver-disorder,  lymphography, mfeat-pixel,  Nursery,  Optdigits,  Page-blocks, Pendigits,  Primary-tumor,  Segment,  Sick, Solar-flare2,  Sonar,  Soybean,  Spambase, Spectrometer,  Splice,  Sponge,  Tae,  Vehicle, Vote,  Vowel,  Waveform,  Wine,  Zoo . Hasil penelitian  menunjukan  penelitian  mantas dengan algoritma Credal C4.5 lebih mengungguli algoritma klasifikasi C4.5.
Penelitian yang dilakukan oleh Wahono, Suryana,  dan  Ahmad[2]  menyatakan  bahawa prediksi  cacat software telah  menjadi  topik penelitian yang penting dalam bidang rekayasa perangkat  lunak,  terutama  untuk  memecahkan masalah  ketidakefesinan  dan  ketidakefektifan pada  pendekatan  industri  dalam  menguji  dan mengulas  perangkat  lunak.  Penelitian  ini menggunakan  9  NASA  MDP dataset dan  10 algoritma pengklasifikasi yang dikelompokkan dalam  5  tipe,  yaitu  pengklasifikasian statistic tradisional ( Logistic  Regression (LR), Linear Discriminant  Analysis (LDA),  dan  Naïve Bayes  (NB)),  Nearest  Neighbors  (k-Nearest Neighbor  (k-NN)  dan  K*),  Neural  Network ( Back  Propagation (BP)), Support  Vector Machine (SVM),  dan Decision  Tree (C4.5, Classification  and  Regression  Tree (CART), dan Random Forest (RF)). Hasil menunjukkan bahwa metode yang diusulkan dapat memberikan  peningkatan  yang  mengesankan pada  kinerja  model  predikasi  untuk  sebagian besar pengklasifikasi. Berdasarkan hasil perbandingan,  disimpulkan  bahwa  tidak  ada perbedaan  yang  signifikan  antara  optimasi PSO  dan  algoritma genetic ketika  digunakan sebagai  seleksi  fitur  untuk  sebagaian  besar pengklasifikasi  pada  model  prediksi  cacat software .
3.3 Tinjauan Pustaka Metode Resampling
3.3.1 Prediksi Cacat Software
Istilah  cacat,  kesalahan  dan bug biasa digunakan  secara  bergantian.  Istilah-istilah  ini mengacu  pada  manifestasi  dari  kesalahan dalam  kode  sumber  ( source  code ),  di  mana kesalahan  adalah  suatu  tindakan  yang  keliru yang  dibuat  oleh  pengembang.  Cacat software adalah kekurangan/cacat pada sebuah software karena melakukan proses tak terduga[9].
Cacat Software dapat  manjadi  penyebab kegagalan software ,  yang  terjadi  ketika pengguna mengalami prilaku sistem yang tidak diinginkan pada titik waktu tertentu. Bagi user , cacat software merupakan  segala  kekurangan yang  menyebabkan software tidak  memenuhi apa  yang  diharapkan.  Misalnya  user  ingin software  memberikan  hasil  perhitungan  yang tepat,  tetapi software memberikan  hasil  yang salah.  Secara  umum,  kesalahan  sintaks  tidak dianggap  sebagai  cacat,  karena  mereka  dapat ditemukan dengan jauh lebih efesien
menggunaka  parser  dan/atau  pengujian  jalur dasar.

## 3.3.2 Algoritma C5.0
Algoritma  C5.0  adalah  salah  satu algoritma  yang  terdapat  dalam  klasifikasi  data mining  disamping  algoritma  CART,  yang khususnya  diterapkan  pada  Teknik decision tree [22].  C5.0  merupakan  penyempurnaan algoritma  terdahulu  yang  dibantuk  oleh  Ross Quinlan  pada  tahun  1987,  yaitu  ID3  dan  C4.5 [23].
Ukuran information gain digunakan  untuk  memilih  atribut  uji  setiap node di  dalam tree .  Ukuran  ini  digunakan untuk  memilih  atribut  atau node pada  pohon. Attribut dengan nilai information gain tertinggi akan  dipilih  sebagai parent bagi node selanjutnya.  Formula  untuk information  gain adalah[22]:

## ∑
S  adalah  sebuah  himpunan  yang  terdiri dari  s  data  sampel.  Diketahui  attribut class adalah m dimana mendefinisikan kelas-kelas di dalamnya,  C  i  ( for i=  1,  …,  m),  s  i  adalah jumlah  sampel  pada  S  dalam class C  i  .  untuk mengklasifikasikan  sampel  yang  digunakan maka diperlukan informasi dengan menggunakan  aturan  seperti  di  atas  (2.1). Dimana p i adalah proporsi kelas dalam output seperti  pada  kelas  C  i  dan  diestimasikan dengan  s  i    /s.  Attribut  A  memiliki  nilai tertentu {a 1 , a 2 , …, a v }. Attribut A dapat digunakan pada partisi S ke dalam v subset, {S 1  ,  S  2  ,  …,  S  v  },  dimana  S  j  berisi  sample pada S yang bernilai a j pada A. Jika A dipilih sebagai  attribut  tes  (sebagai  contoh  attribut terbaik  untuk  split),  maka  subset  ini  akan berhubungan pada cabang dari node himpunan S.  S  ij  adalah  jumlah  sample  pada  class  C  i dalam  sebuah  subset  S  j  .  Untuk  mendapatkan informasi  nilai  subset  dari  atribut  A  tersebut maka  digunakan  formula,  [7](Shirali,  2016), sebagai berikut:
)     ∑ )
adalah  jumlah  subset  j  yang dibagi  dengan  jumlah  sample  S,  maka  untuk
mendapatkan nilai gain , selanjutnya digunakan formula[7] (Shirali, 2016),
Gain (A) = I(s1,s2,…,Sm) – E(A)
3.3.3 Random Over Sampling (ROS)
Pada algoritma ROS, data kelas mionoritas  dipilih  secara  acak,  kemudian ditambahkan  ke dalam data latih. Proses  ini  di ulang-ulang sampai jumlah data kelas minoritas sama dengan jumlah kelas mayoritas[1]. 3.3.4 Random Under Sampling (RUS) Random Under Sampling (RUS)
meningkatkan  ukuran  kelas  minoritas  dengan mensistensis  sample  baru  atau  langsung mereplikasi  secara  acak  dataset training [24]. RUS memiliki waktu prediksi yang lebih cepat dibandingkan Random  Over  Sampling (ROS) dan SMOTE[3].
3.3.5 SMOTE Telah  banyak  pendekatan  yang  iusulkan untuk menyelesaikan permasalahan
ketidakseimbangan kelas, baik dari pendekatan data  (data preprocessing )  maupun  pendekatan algoritma. Pendekatan data yang umum adalah resampling. SMOTE ( Synthetic Minority Over- Sampling  Technique )  merupakan  pendekatan oversampling pada  kelas  minoritas  yaitu dengan melakukan oversampling untuk menciptakan  sample  “sintetik”  bukan  dengan oversampling dengan penggantian[25].
3.3.6

## Validasi dan Evaluasi
Keseluruhan  akurasi  pada  pengujian dataset
umumnya digunakan untuk
mengevaluasi kinerja pengklafikasian[4].
Tetapi untuk data yang tidak seimbang, akurasi yang mendalam didominasi oleh kelas minoritas, sehingga  alternative  evaluasi metrik digunakan. Metrik evaluasi yang tepat termasuk Area  Under  the  ROC ( Receiver Operating  Characteristic ) Curve (AUC), F- Measure , Geometric  Mean ( G-Mean ),  semua akurasi  dan  rata-rata  akurasi  untuk  kelas minoritas.  Untuk  melakuka  evaluasi  dan validasi  terhadap  model  yang  diusulkan,  maka dilakukan  beberapa  pengujian  menggunakan confusioan matrix . K-fold  cross  validation adalah  Teknik umum untuk memperkirakan kinerja pengklafikasian. K-fold cross validation dilakukan  dengan  menggunakan  kembali dataset yang  sama,  sehingga  menghasilkan  k
perpecahan  dari  kumpulan  data  menjadi non- overlapping dengan  prosorsi  pelatihan  (k-1)/k dan 1/k untuk pengujian[26].
Kurva ROC ( Receiver Operating Characteristic ) digunakan untuk mengevaluasi akurasi  classifier  dan  untuk  membandingkan klasifikasi yang berbeda model[4]. Kurva ROC digunakan untuk mengukur AUC ( Area Under Curve ).  Kurva  ROC  membagi  hasil  positif dalam sumbu y dan hasil negatif dalam sumbu x[6]. Sehingga semakin besar area yang berada dibawah  kurva,  semakin  baik  pula  hasil prediksi.
Panduan untuk mengklasifikasikan keakuratan  diagnosa  menggunakan  AUC, disajikan dibawah ini [27]:
1. 0.90-1.00 = excellent classification ;
2. 0.80-0.90 = good classification ;
3. 0.70-0.80 = fair classification ;
4. 0.60-0.70 = poor classification ;
5. 0.50-0.60 = failure . 3.4 Kerangka Pemikiran
Dalam menyelesaikan penelitian, penulis  membuat  sebuah  kerangka  pemikiran yang  berguna  sebagai  acuan  penelitian sehingga  penelitian  ini  dapat  dilakukan  secara konsisten.  Permasalahan  dari  penelitian  ini adalah ketidakseimbangan kelas pada algoritma  C5.0,  sehingga  dapat  menyebabkan akurasi  klasifikasi  menjadi  rendah.  Dataset yang  digunakan    pada  penelitian  ini  NASA MDP  repository  yang  diperoleh  dari  situs https://www.researchgate.net/search.Search.ht ml?type=publication&query=nasa%20mdp%2 0dataset .  Pengujian  10 fold  cross  validation akan  dilakukan,  akurasi  algoritma  akan  diukur menggunakan confusion  matrix dan  hasil olahan  dalam  bentuk  kurva  ROC  dan Accuracy . RStudio digunakan dalam mengukur performance data eksperimen. Kerangka pemikiran  dalam  penelitian  ini  digambarkan pada gambar 2.

## Gambar 2. Kerangka Pemikiran

## 3.5 Eksperimen dan Pengujian Model
Penulis  melakukan  proses  eksperimen menggunakan  RStudin.  Data  yang  digunakan adalah  NASA  MDP  Repository  dimana  kedua dataset telah dikelompokkan menjadi 2 bagian yaitu  80%  data  training  dan  20%  data  testing. Penelitian yang dilakukan menggunakan Aplikasi RStudio dengan menggunakan laptop DELL  Latitude  E6430  dengan  prosessor Intel®  Core™  i5-3340M  CPU  @2.70  GHz, memori  (RAM)  4,00  GB,  dan  menggunakan sistem operasi Windows 7 professional 64-bit.
3.6 Evaluasi dan Validasi Hasil
Pada  penelitian  ini  validasi  dilakukan dengan menggunakan 10 fold cross validation .
Akurasi  diukur  dengan confusion  matrix yaitu membandingkan  akurasi  dan  AUC  C5.0 sebelum menggunakan resampling dan sesudah menggunakan  resampling.  Kemudian,  kurva ROC digunakan untuk mengukur nilai AUC.

## IV. HASIL PENELITIAN & PEMBAHASAN
Sumber  data  yang  digunakan  dalam penelitian  berasal  dari dataset NASA  MDP repository yaitu  CM1,  KC2,  KC3,  MC2, MW1,  PC1,  PC2,  PC3,  dan  PC4.  Sedangkan aplikasi  pendukung  yang  digunakan  adalah RStudio.  Model  yang  diuji  adalah  model pengklafikasian C5.0, Random Under Sampling (RUS)  dan  C5.0  (RUS+C5.0), Random Over Sampling dan C5.0 (ROS+C5.0),  dan Synthetic  Minority  Over- Sampling Technique dan C5.0
(SMOTE+C5.0).
Jumlah  data  yang  diperoleh  dari  data CM1  adalah  sebanyak  344  modul,  37  atribut, jumlah modul cacat 42 dan jumlah modul tidak
cacat  302.  Untuk  data  KC2  sebanyak  2096 modul, 21 atribut, jumlah modul cacat 325 dan modul  tidak  cacat  1771.  Data  KC3  sebanyak 200  modul,  39  atribut,  jumlah  modul  cacat  36 dan  modul  tidak  cacat  164.  Data  MC2 sebanyak 127 modul, 39 atribut, jumlah modul cacat 44 dan modul tidak cacat 83. Data MW1 sebanyak 264 modul, 37 atribut, jumlah modul cacat 27 dan modul tidak cacat 237. Data PC1 sebanyak 759  modul, 37 atribut, jumlah modul cacat 61 dan modul tidak cacat 698. Data PC2 sebanyak  1585  modul,  36  atribut,  jumlah modul  cacat  16  dan  modul  tidak  cacat  1569. Data  PC3  sebanyak  1125  modul,  37  atribut, jumlah modul cacat 140 dan modul tidak cacat 985.  Data  PC4  sebanyak  1399  modul,  37 atribut,  jumlah  modul  cacat  178  dan  modul tidak  cacat  1221.  Table  4.1  merupakan ringkasan  dari  jumlah  modul,  atribut,  modul cacat  dan  tidak  cacat  pada dataset NAS  MDP repository . Hasil pengukuran akurasi mengggunakan dataset NASA MDP
Repository.
Tabel 1. Hasil Akurasi Hasil pengukuran AUC menggunakan dataset NASA MDP Repository DATASET  C5.0 RUS+C5.0  ROS+C5.0  SMOTE+C5.0 CM1 0.8088 0.5882 0.7353 0.7500 KC1 0.8449 0.7232 0.79 0.7924 KC3 0.8205 0.6154 0.6923 0.7179 MC2 0.75 0.7083 0.7917 0.5833 MW1 0.8846 0.5577 0.7692 0.8077 PC1 0.9007 0.7417 0.8675 0.8212 PC2 0.9905 0.7975 0.981 0.9082 PC3 0.8444 0.76 0.8489 0.7689 PC4 0.8853 0.871 0.8853 0.8817 Tabel  2.  Hasil  AUC  Dari  hasil  akurasi  dan AUC tersebut maka di buat grafik perbandingan  dari  pengujian  dataset  NASA
MDP Repository. DATASET C5.0 RUS+C5.0  ROS+C50  SMOTE+C50 CM1 0.6208 0.7125 0.6875 0.6417 KC1 0.6005 0.7545 0.6559 0.695 KC3 0.6116 0.654 0.5893 0.7165 MC2 0.75 0.75 0.7812 0.625
MW1 0.5787 0.666 0.6043 0.5362 PC1 0.5653 0.7455 0.6235 0.7506 PC2 0.5 0.8978 0.4952 0.4585 PC3 0.6507 0.6944 0.6533 0.6382 PC4 0.7386 0.7916 0.7386 0.81
Gambar 3.  Grafik Perbandingan Nilai Akurasi
Gambar 4. Perbandingan Nilai AUC

## V. KESIMPULAN
Pada  penelitian  ini  penulis  melakukan metode  resampling  yaitu  ROS,  RUS,  dan SMOTE  yang  digunakan  untuk  meningkatkan performance pada pengklasifikasi C5.0 . Penelitian  menggunakan  dua  buah  dataset review film,  dataset  NASA  MDP  Repository. Dari  pengolahan  data  yang  sudah  dilakukan,
penggunaan metode C5.0 mampu meningkatkan akurasi sebesar 0.9905
sedangkan  untuk  meningkatkanperformance dengan  nilai  AUC  tertinggi  yaitu  C5.0+RUS sebesar 0.8979.
Agar penelitian ini bisa ditingkatkan, berikut adalah saran-saran yang diusulkan:
1. Beberapa  model  yang  diusulkan  telah menunjukkan  bahwa  ada  peningkatan kinerja secara signifikan yaitu RUS+C5.0.
Bedasarkan penelitian sebelumnya, integrasi  pendekatan  data  meggunakan seleksi fitur dengan level algoritma seperti algoritma PSO dengan Bagging menunjukkan  adanya  peningkatan  yang signifikan  (Wahono,  Suryana,  &  Ahmad, 2014).  Maka  dapat  dilakukan  penelitian lanjutan  dengan  mengintegrasikan  seleksi fitur  PSO,  pendekatan  level  data  seperti resampling serta Bagging. 2. C5.0 belum relative mampu meningkatkan  kinerja  yang  relatif  baik namun  diintegrasikan  dengan  RUS  C5.0 baru  bisa  mampu  meningkatkan  kinerja secara  signifikan.  Maka  dapat  dilakukan penelitian  lanjutan  untuk  mendapatkan model  prediksi  cacat software yang  lebih baik untuk mendapatkan kinerja terbaik.

## VI. DAFTAR PUSTAKA
[1] L.  Yu,  W.  Yue,  S.  Wang,  and  K.  K. Lai,  “Support  vector  machine  based multiagent  ensemble  learning for credit risk evaluation,” Expert Syst. Appl. , vol. 37,  no.  2,  pp.  1351–1360,  2010,  doi: 10.1016/j.eswa.2009.06.083.
[2] R.  S.  Wahono,  N.  S.  Herman,  and  S. Ahmad,  “A  comparison  framework  of classification  models  for  software defect  prediction,” Adv.  Sci.  Lett. ,  vol. 20,  no.  10–12,  pp.  1945–1950,  2014, doi: 10.1166/asl.2014.5640.
[3] H. B. Zheng, R. J. Liao, S. Grzybowski, and  L.  J.  Yang,  “Fault  diagnosis  of power  transformers  using  multi-class least  square  support  vector  machines classifiers with particle swarm optimisation,” IET Electr. Power Appl. , vol.  5,  no.  9,  p.  691,  2011,  doi: 10.1049/iet-epa.2010.0298.
[4] J.  L.  Zhang  and  W.  K.  Härdle,  “The Bayesian  Additive  Classification  Tree applied  to  credit  risk  modelling,” Comput.  Stat.  Data  Anal. ,  vol.  54,  no.
5, pp. 1197–1205, 2010, doi: 10.1016/j.csda.2009.11.022.
[5] L.  Guelman,  “Gradient  boosting  trees for  auto  insurance  loss  cost  modeling
0,0000 0,5000 1,0000 1,5000 Perbandingan Akurasi Dataset NASA MDP repository C5.0 RUS+C5.0 ROS+C5.0 SMOTE+C5.0 0,0000 0,5000 1,0000 Perbandingan AUC Dataset NASA MDP repository
C5.0 RUS+C5.0 ROS+C50 SMOTE+C50
and prediction,” Expert Syst. Appl. , vol.
39,  no.  3,  pp.  3659–3667,  2012,  doi: 10.1016/j.eswa.2011.09.058.
[6] I. H. Witten, E. Frank, and M. A. Hall, Data  mining .  2011.  doi:  10.1002/1521- 3773(20010316)40:6<9823::AID- ANIE9823>3.3.CO;2-C.
[7] J. Wu, S. Pan, X. Zhu, Z. Cai, P. Zhang, and  C.  Zhang,  “Expert  Systems  with
Applications Self-adaptive attribute weighting for Naive Bayes classification,” Expert  Syst.  Appl. ,  vol. 42,  no.  3,  pp.  1487–1502,  2015,  doi: 10.1016/j.eswa.2014.09.019.
[8] B.  W.  Yap,  S.  H.  Ong,  and  N.  H.  M. Husain, “Using data mining to improve assessment  of  credit  worthiness  via credit  scoring  models,” Expert  Syst.
Appl. ,  vol.  38,  no.  10,  pp.  13274– 13283, 2011, doi: 10.1016/j.eswa.2011.04.147. [9] H. Choi, D. Yeo, S. Kwon, and Y. Kim, “Gene  selection  and  prediction  for cancer  classification  using  support vector  machines  with  a  reject  option,” Comput.  Stat.  Data  Anal. ,  vol.  55,  no.
5, pp. 1897–1908, 2011, doi:
10.1016/j.csda.2010.12.001.
[10] H. Xu and B. Yu, “Automatic thesaurus construction  for  spam  filtering  using revised back propagation neural network,” Expert  Syst.  Appl. ,  vol.  37, no. 1, pp. 18–23, 2010, doi: 10.1016/j.eswa.2009.02.059. [11] R. Sabaruddin and S. Murni,  “Rancang
Bangun Aplikasi Asuransi Mobil
Dengan Pendekatan Metode Waterfall,” J. Tek. Inform. Musirawas , vol. 3, no. 2, p. 99, 2018, doi: 10.32767/jutim.v3i2.365. [12] W. Nugraha et al. ,  “ANALISA MODEL  POHON  DAN  GRAF  PADA GAME  PERFECT  WORLD,”  vol.  5, no. 1, 2021.
[13] C.  J.  Mantas  and  J.  Abellán,  “Credal- C4.5:  Decision  tree  based  on  imprecise probabilities  to  classify  noisy  data,” Expert  Syst.  Appl. ,  vol.  41,  no.  10,  pp.
4625–4637, 2014, doi: 10.1016/j.eswa.2014.01.017. [14] L. Rutkowski, M. Jaworski, L. Pietruczuk,  and  P.  Duda,  “The  CART decision  tree  for  mining  data  streams,” Inf. Sci. (Ny). , vol. 266, pp. 1–15, 2014, doi: 10.1016/j.ins.2013.12.060.
[15] M.  Khashei,  A.  Zeinal  Hamadani,  and
M. Bijari, “A novel hybrid classification  model  of  artificial  neural networks and multiple linear regression models,” Expert Syst. Appl. , vol. 39, no.
3, pp. 2606–2620, 2012, doi:
10.1016/j.eswa.2011.08.116.
[16] L. Wise, Using Open Source Platforms for Business Intelligence: Avoid Pitfalls and Maximize ROI . 2012. doi:
10.1016/B978-0-12-415811-5.00008-1.
[17] A. Christmann and R. Hable, “Consistency of support vector machines  using  additive  kernels  for additive  models,” Comput.  Stat.  Data Anal. ,  vol.  56,  no.  4,  pp.  854–873,
2012, doi: 10.1016/j.csda.2011.04.006.
[18] J.  Abellán,  “Ensembles  of  decision trees  based  on  imprecise  probabilities and uncertainty measures,” Inf.  Fusion , vol.  14,  no.  4,  pp.  423–430,  2013,  doi: 10.1016/j.inffus.2012.03.003.
[19] M. J. Kim and D. K. Kang, “Ensemble with  neural  networks  for  bankruptcy prediction,” Expert Syst. Appl. , vol. 37, no.  4,  pp.  3373–3379,  2010,  doi: 10.1016/j.eswa.2009.10.012.
[20] Y.  Wang,  S.  Chen,  and  H.  Xue, “Support  Vector  Machine  incorporated with  feature  discrimination,” Expert Syst. Appl. , vol. 38, no. 10, pp. 12506– 12513, 2011, doi: 10.1016/j.eswa.2011.04.034. [21] L. Yu, X. Yao, S. Wang, and K. K. Lai,
“Credit  risk  evaluation  using  a weighted  least  squares  SVM  classifier with design of experiment for parameter  selection,” Expert  Syst.
Appl. ,  vol.  38,  no.  12,  pp.  15392–
15399, 2011, doi: 10.1016/j.eswa.2011.06.023.
[22] M.  I.  Tobroni,  “Teknik  Sablon  sebagai Media  Apresiasi  Karya  Desain  pada
Tshirt,” Humaniora ,  vol.  2,  no.  1,  p. 169, 2011, doi: 10.21512/humaniora.v2i1.2968. [23] N. Alannita and I. Suaryana, “Pengaruh
Kecanggihan Teknologi Informasi, Partisipasi Manajemen, Dan Kemampuan  Teknik  Pemakai  Sistem Informasi  Akuntansi  Pada  Kinerja
Individu,” E-Jurnal  Akunt. ,  vol.  6,  no. 1, pp. 33–45, 2014.
[24] C.  Y.  Yeh,  W.  P.  Su,  and  S.  J.  Lee, “Employing  multiple-kernel  support
vector machines for counterfeit banknote  recognition,” Appl. Soft Comput.  J. ,  vol.  11,  no.  1,  pp.  1439– 1447, 2011, doi: 10.1016/j.asoc.2010.04.015. [25] J.  G.  Moreno-Torres,  T.  Raeder,  R.
Alaiz-Rodríguez,  N. V. Chawla,  and  F.
Herrera,  “A  unifying  view  on  dataset shift in classification,” Pattern Recognit. ,  vol.  45,  no.  1,  pp.  521–530, 2012, doi: 10.1016/j.patcog.2011.06.019. [26] J.  Kim,  K.  Choi,  G.  Kim,  and  Y.  Suh,
“Classification  cost:  An  empirical comparison among traditional classifier, Cost-Sensitive Classifier, and MetaCost,” Expert  Syst.  Appl. ,  vol.  39, no.  4,  pp.  4013–4019,  2012,  doi: 10.1016/j.eswa.2011.09.071.
[27] D.  Gries  and  F.  B.  Schneider, Texts  in Computer  Science ,  vol.  42.  2010.  doi: 10.1007/978-1-84882-256-6.