Anda di halaman 1dari 88

TESIS

KOMPARASI METODE MACHINE LEARNING DAN


METODE NON MACHINE LEARNING SERTA SELEKSI
ATRIBUT UNTUK ESTIMASI USAHA PERANGKAT LUNAK

Oleh
EGA KARTIKA ADHITYA
P31.2012.01288

MAGISTER TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS DIAN NUSWANTORO
SEMARANG
2015
UNIVERSITAS DIAN NUSWANTORO
PENGESAHAN STATUS TESIS

JUDUL : KOMPARASI METODE MACHINE LEARNING DAN


METODE NON MACHINE LEARNING SERTA SELEKSI
ATRIBUT UNTUK ESTIMASI USAHA PERANGKAT LUNAK
NAMA : EGA KARTIKA ADHITYA
NPM : P31.2012.01288

Mengijinkan Tesis Magister Komputer ini disimpan di Perpustakaan Universitas


Dian Nuswantoro dengan syarat-syarat kegunaan sebagai berikut:
1. Tesis adalah hak milik Universitas Dian Nuswantoro
2. Perpustakaan Universitas Dian Nuswantoro dibenarkan membuat
salinan untuk tujuan referensi saja
3. Perpustakaan juga dibenarkan membuat salinan Tesis ini sebagai
bahan pertukaran antar institusi pendidikan tinggi
Berikan tanda (V) sesuai dengan kategori Tesis
□ Sangat Rahasia
□ Rahasia
□ Biasa Disahkan oleh,

................................................... ........................................................
Ega Kartika Adhitya Romi Satria Wahono, M.Eng, Ph.D

Alamat:
JL. Gondomono 6 Semarang
ii
Tanggal: Maret 2015 Tanggal: Maret 2015
UNIVERSITAS DIAN NUSWANTORO
PERNYATAAN PENULIS

JUDUL : KOMPARASI METODE MACHINE LEARNING DAN


METODE NON MACHINE LEARNING SERTA SELEKSI
ATRIBUT UNTUK ESTIMASI USAHA PERANGKAT LUNAK
NAMA : EGA KARTIKA ADHITYA
NPM : P31.2012.01288

“Saya menyatakan dan bertanggung jawab dengan sebenarnya bahwa Tesis ini
adalah hasil karya saya sendiri kecuali cuplikan dan ringkasan yang masing-
masing telah saya jelaskan sumbernya. Jika pada waktu selanjutnya ada pihak lain
yang mengklaim bahwa Tesis ini sebagai karyanya, yang disertai dengan bukti-
bukti yang cukup, maka saya bersedia untuk dibatalkan gelar Magister Komputer
saya beserta segala hak dan kewajiban yang melekat pada gelar tersebut.”

Semarang, Maret 2015

Ega Kartika Adhitya


Penulis

iii
UNIVERSITAS DIAN NUSWANTORO
PERSETUJUAN TESIS

JUDUL : KOMPARASI METODE MACHINE LEARNING DAN


METODE NON MACHINE LEARNING SERTA SELEKSI
ATRIBUT UNTUK ESTIMASI USAHA PERANGKAT LUNAK
NAMA : EGA KARTIKA ADHITYA
NPM : P31.2012.01288

Tesis ini telah diperiksa dan disetujui,


Semarang, Maret 2015

Romi Satria Wahono, M.Eng, Ph.D Hendro Subagyo, M.Eng


Pembimbing Utama Pembimbing Pembantu

iv
UNIVERSITAS DIAN NUSWANTORO
PENGESAHAN TESIS

JUDUL : KOMPARASI METODE MACHINE LEARNING DAN


METODE NON MACHINE LEARNING SERTA SELEKSI
ATRIBUT UNTUK ESTIMASI USAHA PERANGKAT LUNAK
NAMA : EGA KARTIKA ADHITYA
NPM : P31.2012.01288

Tesis ini telah diujikan dan dipertahankan dihadapan Dewan Penguji pada Sidang
Tesis Juni 2014. Menurut pandangan kami, Tesis ini memadai dari segi kualitas
maupun kuantitas untuk tujuan penganugerahan gelar Magister Komputer
(M.Kom).
Semarang, Maret 2015
Dewan Penguji

Dr. -Ing. Vincent Suhartono Affandy, Ph.D


Ketua Penguji Anggota 1

Catur Supriyanto, M.C.S Dr. Abdul Syukur, M.M


Anggota 2 Dekan

v
ABSTRACT

Software Effort Estimation (SEE) is a very important process in achieving the


success of the implementation of a software project. There are many SEE methods
that require the selection of suitable projects to be developed in order to produce
an accurate estimation. Datasets that are often used for SEE research is Albercht
dataset and Desherhanis, but these datasets have irrelevant attributes that can
reduce the estimation accuracy. This study compares the methods of macine
learning(ML) and non machine learning (non ML) to determine which method is
best for SEE and using attributes selection, i.e: forward selection (FS) and
backward elimination (BE) to resolve irrelevant attributes issues. ML methods
such as k-nearnest neighbor (kNN), neural networks (NN) and support vector
machine (SVM) while non ML methods such as function point (FP) and use case
point (UCP). Experimental results show that kNN is the best ML methods with
RMSE values are 6.2 and 9.4 for Albercth and Desherhanis datasets respectively.
While in the non ML methods, FP outperform UCP with RMSE values are 4.6
and 21.3 for Albercth and Desherhanis datasets respectively. While another
experimental result shows that kNN integrated with FS have RMSE values are 2.5
and 6.4 for Albercth and Desherhanis datasets respectively; better than kNN
integration with BE with RMSE values are 7.5 for both datasets. From this study,
it can be concluded that the ML method is better than non ML in SEE with kNN
as its estimator. Integration kNN with FS also proved to be able to improve the
estimation accuracy better than both standard kNN and kNN with BE.

Keywords: software effort estimation, machine learning, non-machine learning,


selection of attributes

xiii + 75 page; 13 figures; 27 tables; 0 attacments


Bibliography: 36 (1988-2014)

vi
ABSTRAK

Estimasi usaha perangkat lunak (EUPL) adalah proses yang sangat penting dalam
mewujudkan kesuksesan pelaksanaan suatu proyek perangkat lunak. Ada banyak
metode EUPL sehingga diperlukan pemilihan yang sesuai proyek yang akan
dikembangkan agar menghasilkan estimasi yang akurat. Dataset yang sering
digunakan untuk penelitian EUPL adalah dataset Albercht dan Desherhanis,
namun dataset tersebut memiliki atribut yang tidak relevan yang dapat
mengurangi akurasi estimasi. Penelitian ini mengkomparasi metode machine
learning (ML) dan non machine learning (non ML) untuk mengetahui metode
mana yang paling baik untuk EUPL serta pengunaan seleksi atribut forward
selection (FS) dan backward elimination (BE) untuk menyelesaikan masalah
atribut yang tidak relevan. ML terdiri dari algoritma k-nearnest neigbhors (kNN),
neural networks (NN) dan support vector machine (SVM) sedangkan non ML
terdiri dari metode function point (FP) dan use case point (UCP). Dari hasil
eksperimen, kNN adalah metode terbaik pada ML dengan nilai RMSE 6.2 dan 9.4
untuk dataset Albercth dan Desherhanis. Sedangkan pada non ML, FP yang paling
baik dengan nilai RMSE 4.6 dan 21.3 untuk dataset Albercth dan Desherhanis.
Sementara hasil eksperimen berikutnya, kNN diintegrasikan dengan FS mendapat
nilai RMSE 2.5 dan 6.4 untuk dataset Albercth dan Desherhanis lebih baik dari
integrasi kNN dengan BE dengan nilai RMSE 7.5 baik untuk dataset Albercth
maupun Desherhanis. Dari eksperimen, dapat disimpulkan bahwa metode ML
lebih baik dari pada non ML dalam estimasi usaha perangkat lunak dengan kNN
sebagai estimatornya. Integrasi kNN dengan FS juga terbukti mampu
meningkatkan estimasi lebih baik daripada kNN standar maupun kNN dengan BE.

Kata kunci: estimasi usaha perangkat lunak, machine learning, non machine
learning, seleksi atribut
xiii + 75 halaman; 13 gambar; 27 tabel; 0 lampiran
Daftar acuan: 36 (1988-2014)

vii
KATA PENGANTAR

Puji syukur kehadirat Tuhan Yang Maha Esa yang telah melimpahkan rahmat dan
karunia-Nya, sehingga penulis dapat menyelesaikan tesis dengan judul
“KOMPARASI METODE MACHINE LEARNING DAN METODE NON
MACHINE LEARNING SERTA SELEKSI ATRIBUT UNTUK ESTIMASI
USAHA PERANGKAT LUNAK”, ini dapat terselesaikan.

Tesis ini di susun sebagai salah satu syarat untuk mencapai gelar pascasarjana di
Universitas Dian Nuswantoro. Pada kesempatan ini penulis ingin menyampaikan
terima kasih yang sedalam-dalamnya kepada:

1 Bapak Dr. Ir. Edi Noersasongko, M.Kom sebagai rektor Universitas Dian
Nuswantoro.
2 Bapak Dr. Abdul Syukur, MM sebagai Dekan Ilmu Komputer Teknik
Informatika Universitas Dian Nuswantoro.
3 Bapak Romi Satria Wahono, M.Eng, Ph.D sebagai pembimbing utama yang
bersedia meluangkan waktunya untuk membimbing penulis dalam
menyelesaikan tesis ini.
4 Bapak Hendro Subagyo, M.Eng sebagai pembimbing tesis yang bersedia
meluangkan waktu, tenaga dan pikirannya untuk membimbing penulis
dalam menyelesaikan tesis ini.
5 Orang tua, keluarga, dan teman-teman yang telah memberikan dukungan
moral motivasi dan semangat kepada penulis.
6 Seluruh staf pengajar (dosen) Program Pascasarjana Teknik Informatika
Universitas Dian Nuswantoro yang telah memberikan pelajaran yang
berarti bagi penulis selama menempuh studi.
7 Seluruh staf dan karyawan Program Pascasarjana Teknik Informatika
Universitas Dian Nuswantoro yang telah melayani penulis dengan baik
selama kuliah.

viii
8 Teman-teman seperjuangan, MTI Angkatan 22, yang tidak henti-hentinya
memberikan semangat dan motivasi.
9 Teman-teman seperjuangan, Group Intelligent System, yang tidak henti-
hentinya memberikan semangat dan motivasi.

Sebagai akhir kata dari penulis, penulis hanya bisa berharap semoga tesis ini dapat
bermafaat bagi kita semua.

Semarang, Maret 2015


Penulis

Ega Kartika Adhitya

ix
DAFTAR ISI

HALAMAN JUDUL................................................................................................... i
PENGESAHAN STATUS TESIS ............................................................................. ii
PERNYATAAN PENULIS ...................................................................................... iii
PERSETUJUAN TESIS ........................................................................................... iv
PENGESAHAN TESIS ............................................................................................. v
ABSTRACT .............................................................................................................. vi
ABSTRAK ............................................................................................................... vii
KATA PENGANTAR ............................................................................................ viii
DAFTAR ISI .............................................................................................................. x
DAFTAR GAMBAR ............................................................................................... xii
DAFTAR TABEL ................................................................................................... xiii
BAB 1 PENDAHULUAN ......................................................................................... 1
1.1. Latar Belakang ............................................................................................ 1
1.2. Identifikasi Masalah .................................................................................... 4
1.3. Rumusan Masalah ....................................................................................... 4
1.4. Tujuan Penelitian ......................................................................................... 4
1.5. Manfaat Penelitian ....................................................................................... 5
1.6. Sistematika Penulisan .................................................................................. 5
BAB 2 LANDASAN TEORI ..................................................................................... 7
2.1. Tinjuan Studi ................................................................................................... 7
2.1.1. Tahapan Yang Diusulkan Nassif [19] ....................................................... 7
2.1.2. Tahapan Yang Diusulkan Kocaguneli [20] .............................................. 8
2.1.3. Tahapan Yang Diusulkan Adriano [21] .................................................... 9
2.1.4. Tahapan Yang Diusulkan Nuno [22] ...................................................... 11
2.1.5. Tahapan Yang Diusulkan Felfernig [23] ................................................ 13
2.1.6. Tahapan Yang Diusulkan Efi [24]. ........................................................ 15
2.1.7. Rangkuman Penelitian Terkait............................................................... 17
2.2. Landasan Teori .............................................................................................. 18
2.2.1. Estimasi Usaha Perangkat Lunak ........................................................... 18

x
2.2.2. Metode MLMenggunakan Support Vector Machine .............................. 21
2.2.3. Metode MLMenggunakan Neural Networks .......................................... 25
2.2.4. Metode MLMenggunakan K-Nearest Neighbor ................................... 27
2.2.5. Metode Non MLMenggunakan Function Point ...................................... 28
2.2.6. Metode Non MLMenggunakan Use Case Point ..................................... 33
2.2.7. Metode Seleksi Atribut ........................................................................... 37
2.3. Kerangka Pemikiran Penelitian ..................................................................... 40
BAB 3 METODE PENELITIAN............................................................................. 42
3.1. Rancangan Penelitian .................................................................................... 42
3.2. Pengumpulan Data ....................................................................................... 43
3.3. Model yang Diusulkan .................................................................................. 45
3.4. Eksperimen dan Pengujian Model ................................................................. 47
3.5. Evaluasi dan Validasi ................................................................................... 47
BAB 4 HASIL DAN PEMBAHASAN.................................................................... 49
4.1. Hasil............................................................................................................... 49
4.1.1. Hasil Pengujian Metode Machine Learning ........................................... 49
4.1.2. Hasil Pengujian Hasil Metode Non Machine Learning ......................... 55
4.1.3. Rangkuman Hasil Komparasi Algoritma Klasifikasi ............................. 63
4.1.4. Hasil Pengujian Seleksi Atribut Untuk K-NN ........................................ 64
4.2Pembahasan……………………………………….…………………… .. …..65
4.2.1 Pembahasan Metode Machine Learning .................................................. 65
4.2.2. Pembahasan Metode Non Machine Learning ......................................... 66
4.2.3. Pembahasan Komparasi Metode MLdan Non Machine Learning.......... 67
4.2.4. Pembahasan Hasil Pengujian Seleksi Atribut Untuk K-NN ................... 69
BAB 5 KESIMPULAN DAN SARAN .................................................................. 70
5.1 Kesimpulan ..................................................................................................... 70
5.2 Saran ............................................................................................................... 71
DAFTAR PUSTAKA .............................................................................................. 72

xi
DAFTAR GAMBAR

Gambar 2.1 Tahapan yang Diusulkan Ali Bou Nassif [13] ........................................ 8
Gambar 2.2 Tahapan yang Diusulkan Kocaguneli [14] .............................................. 9
Gambar 2.3 Tahapan yang Diusulkan Adriano [15] .................................................. 11
Gambar 2.4 Tahapan yang Diusulkan Nuno [16] ...................................................... 12
Gambar 2.5 Tahapan yang Diusulkan A. Felfernig [17]............................................ 14
Gambar 3.1 Metode Penelitian................................................................................... 43
Gambar 4.1 Hasil Pengukuran Metode ML kNN ........................ ……………….....50
Gambar 4.2 Hasil Pengukuran Metode MLNN..……….…… ........................ …......52
Gambar 4.3 Hasil Pengukuran Metode MLSVM ........................ ………………......56
Gambar 4.4 Hasil Pengukuran Non Metode ML FP ........................ ………………..58
Gambar 4.5 Hasil Pengukuran Metode Non ML UCP ........................ ……………..62
Gambar 4.6 Grafik Komparasi RMSE Non ML ........................ ……………………69
Gambar 4.7 Perbandingan Hasil Metode ML dan Non ML...................................... 70

xii
DAFTAR TABEL

Tabel 2.1 Perbandingan Penelitian Terkait .........................................................18


Tabel 2.2 Contoh-Contoh Pendekatan Estimasi Usaha ......................................20
Tabel 2.3 Tabel Pembobotan Pada Function Point .............................................31
Tabel 2.4 Karakteristik Software ......................................................................32
Tabel 2.5 Unadjusted Actor Weighting .............................................................34
Tabel 2.6 Unadjusted Use Case Weighting ........................................................34
Tabel 2.7 Technical Complexity Factors ............................................................35
Tabel 2.8 Environmental Factors .......................................................................36
Tabel 3.1 Dataset Albercht..................................................................................44
Tabel 3.2 Dataset Desherhanis ............................................................................45
Tabel 3.3 Spesifikasi Komputer Yang Digunakan .............................................47
Tabel 4.1 Hasil Pengujian Dataset Albertch Menggunakan kNN.......................49
Tabel 4.2 Hasil Pengujian Dataset Desherhanis Menggunakan kNN .................51
Tabel 4.3 Hasil Pengujian Dataset Albertch Menggunakan NN.........................52
Tabel 4.4 Hasil Pengujian Dataset Desherhanis Menggunakan NN ...................54
Tabel 4.5 Hasil Pengujian Dataset Albertch Menggunakan SVM ......................55
Tabel 4.6 Hasil Pengujian Dataset Desherhanis Menggunakan SVM ................57
Tabel 4.7 Hasil Pengujian Dataset Albertch Menggunakan FP .........................58
Tabel 4.8 Hasil Pengujian Dataset Desherharnis Menggunakan FP ..................58
Tabel 4.9 Hasil Pengujian Dataset Albertch Menggunakan UCP .....................62
Tabel 4.10 Hasil Pengujian Dataset Desherharnis Menggunakan UCP .............63
Tabel 4.11 Tabel Hasil Komparasi Metode ML dan Non ML...........................65
Tabel 4.12. Tabel Forward Selection .................................................................66
Tabel 4.13. Tabel Backward Elimination ..........................................................66
Tabel 4.14. Komparasi RMSE Metode ML ........................................................67
Tabel 4.15. Komparasi RMSE Metode Non ML ................................................69
Tabel 4.16. Tabel Pengujian Seleksi Aribut Untuk kNN ...................................71

xiii
BAB 1
PENDAHULUAN

1.1. Latar Belakang

Perangkat lunak merupakan abstraksi fisik yang memungkinkan kita untuk


berbicara dengan mesin perangkat keras [1]. Tanpa adanya perangkat lunak,
maka perangkat keras yang telah diciptakan tidak akan dapat berguna atau
berfungsi dengan optimal. Perangkat lunak tidak hanya berupa program komputer,
tetapi juga berisi dokumentasi yang terkait dan data konfigurasi yang diperlukan
untuk membuat sebuah program dapat beroperasi dengan benar.

Pengembangan estimasi usaha perangkat lunak (EUPL) dibutuhkan karena dalam


pengembangan perangkat lunak dibatasi oleh biaya dan jadwal yang telah
ditentukan [2]. Salah satu kegiatan manajemen proyek perangkat lunak adalah
kegiatan estimasi. Estimasi merupakan kegiatan memperkirakan berapa banyak
sumber daya yang dibutuhkan untuk menyelesaikan sebuah rencana proyek [2].
Melakukan estimasi atau memperkirakan berapa jumlah tenaga dan waktu yang
dibutuhkan untuk membuat sebuah sistem tidak mudah dilakukan karena
diperlukan pemahaman yang benar tentang sebuah pekerjaan.

Kesuksesan proyek pengembangan dipengaruhi oleh banyak hal, diantaranya


dukungan eksekutif, keterlibatan pengguna dalam proyek, pengalaman manager
proyek, tujuan bisnis yang jelas, infrastruktur perangkat lunak dan penggunaan
metodologi pengembangan yang formal. Faktor lainnya merupakan faktor yang
berkaitan dengan timing dan scope proyek, diantaranya scope yang minimal dan
estimasi yang handal [2]. Estimasi sumber daya, biaya, dan jadwal untuk
pengembangan perangkat lunak membutuhkan pengalaman, akses ke informasi
sejarah proyek yang baik, dan keberanian untuk melakukan prediksi kuantitatif
sedangkan informasi kualitatif adalah semua fakta yang ada. Estimasi membawa
risiko yang melekat dan risiko ini.

1
EUPL adalah proses melakukan estimasi usaha yang diperlukan untuk
pengembangan perangkat lunak [3]. Perusahaan-perusahaan pengembang
perangkat lunak banyak yang dihadapkan dengan masalah estimasi biaya dan
waktu yang diperlukan untuk proyek pengembangan perangkat lunak. Estimasi
jadwal proyek sulit dilakukan karena banyak hal, misalnya perangkat lunak yang
dikembangkan kemungkinan harus berjalan di lingkungan sistem yang sama
sekali berbeda, menggunakan pengembangan dengan teknologi baru atau
kompetensi orang-orang yang terlibat dalam proyek yang mungkin tidak
diketahui. Ada begitu banyak ketidakpastian sehingga sulit untuk memperkirakan
biaya dan waktu pengembangan secara akurat selama awal tahapan proyek [2].

Dalam perkembangannya metode-metode untuk estimasi usaha perangkat lunak,


metode-metode tersebut di kelompokan menjadi metode non machine learning
(non ML) dan machine learning (ML) [4], banyak metode estimasi telah diusulkan
untuk EUPL. Beberapa metode non ML yang telah diusulkan dalam EUPL
diantaranya slim [5], cocomo [6], expert judgement [7], function point (FP) [8],
dan use case point (UCP) [9]. Beberapa metode ML yang telah digunakan untuk
EUPL diantaranya adalah case-based reasoning (CBR) [10], learning k-nearnest
neigbhors (kNN) [10], neural networks (NN) [11], support vector machine (SVM)
[12], dan liner regression (LR) [13], namun dalam ML juga terdapat kekurangan
pada tingkat keakuratan yang relatif rendah [3].

Metode-metode non ML dalam EUPL yang disebutkan sebelumnya merupakan


metode konvensional yang memiliki tingkat keakuratan yang relatif rendah [3].
Selain metode-metode non ML di atas, belakangan ini dikembangkan estimasi
dengan metode ML. Dalam penelitian terkait, juga digunakan banyak dataset
diantaranya Cocomo, Desharnais, Maxwell, dan Albercht [3], umumnya estimasi
usaha sangat sulit dilakukan dalam proyek perangkat lunak karena proyek
perangkat lunak bersifat dinamis dan kesulitan menemukan proyek yang sangat
mirip dengan proyek tersebut sebelumnya. Selain itu, sulit untuk menentukan
metode estimasi yang cocok untuk proyek tersebut. Dataset EUPL banyak

2
memiliki atribut yang beragam. Misalnya dataset Albrecht memiliki 8 atribut,
dataset Deshernanis memiliki 8 atribut. Kinerja yang lebih baik dapat dicapai
dengan menghilangkan beberapa atribut, yang dengan ini dapat menghilangkan
atribut yang tidak relevan [14]. Seleksi atribut dapat digunakan untuk
menentukan subset of features yang optimal, dimana hal ini dapat meningkatkan
akurasi estimasi [15].

Seleksi atribut merupakan bagian penting untuk mengoptimalkan kinerja dari


classifier [16]. Seleksi atribut dapat didasarkan pada pengurangan ruang fitur yang
besar, misalnya dengan mengeliminasi atribut yang kurang relevan [17].
Penggunaan algoritma seleksi atribut yang tepat dapat meningkatkan akurasi
Algoritma seleksi atribut dapat dibedakan menjadi dua tipe, yaitu filter dan
wrapper [17]. Contoh dari tipe filter adalah information gain (IG), chi-square, dan
log likelihood ratio. Contoh dari tipe wrapper adalah forward selection dan
backward elimination [18]. Hasil akurasi dari tipe wrapper lebih tinggi daripada
tipe filter, tetapi hasil ini tercapai dengan tingkat kompleksitas yang besar.
Masalah kompleksitas yang tinggi juga dapat menimbulkan masalah [14].

Dari semua hasil penelitian yang sudah dilakukan belum ditemukan model yang
paling tepat untuk EUPL. Maka dari itu penulis akan melakukan komparasi
terhadap beberapa metode ML (kNN, SVM dan NN), dan metode non ML (FP
dan UCP), komparasi terhadap beberapa seleksi atribut (forward selection dan
backward elimination) dan melakukan integrasi dari hasil komparasi metode ML
dan non ML untuk mengetahui metode yang terbaik pada metode EUPL

3
1.2. Identifikasi Masalah

Banyak metode machine learning dan non machine learning yang telah digunakan
untuk estimasi usaha perangkat lunak, akan tetapi belum ada komparasi yang
komprehensif untuk menentukan metode mana yang paling baik serta masalah
pada dataset tentang atribut yang tidak relevan yang dapat mengurangi akurasi
estimasi untuk melakukan estimasi usaha perangkat lunak.

1.3. Rumusan Masalah

Dari identifikasi masalah diatas, rumusan masalah penelitian ini adalah:

1. Manakah diantara metode machine learning dan metode non machine


learning yang mempunyai nilai akurasi yang paling tinggi untuk estimasi
usaha perangkat lunak?
2. Manakah diantara seleksi atribut forward selection dan backward
elimination yang paling baik untuk menangani masalah atribut yang
kurang relevan pada metode machine learning sehingga dapat
meningkatkan hasil akurasi untuk estimasi usaha perangkat lunak?

1.4. Tujuan Penelitian

Tujuan penelitian ini adalah:

1. Mengidentifikasi metode machine learning dan non machine learning apa


yang paling akurat untuk estimasi usaha perangkat lunak.
2. Mengetahui antara seleksi atribut forward selection dan backward
elimination mana yang dapat meningkatkan akurasi untuk estimasi usaha
perangkat lunak.

4
1.5. Manfaat Penelitian

Diharapkan, hasil penelitian ini dapat dimanfaatkan untuk

1. Manfaat praktis dari hasil penelitian ini adalah dapat digunakan sebagai
bahan pertimbangan metode yang dapat digunakan dalam penentuan
kelayakan pengerjaan perangkat lunak.
3. Manfaat teoritis dari penelitian ini yaitu diharapkan dapat memberikan
sumbangan untuk pengembangan metode serta peningkatan akurasi yang
berkaitan dengan estimasi usaha perangkat lunak.

1.6. Sistematika Penulisan

Sistematika penulisan untuk penelitian ini terbagi dalam 5 bab seperti yang tertera
di bawah ini.

Bab I Pendahuluan
Pada bab ini akan membahas tentang latar belakang, permasalahan penelitian,
tujuan dan manfaat penelitian, serta sistematika penulisan dari penelitian ini.

Bab II Landasan Teori


Pada bab ini berisi tentang teori yang melandasi penelitian yaitu penelitian terkait,
mengenai perangkat lunak, estimasi perangkat lunak, metode estimasi machine
learning dan non machine learning yang sering digunakan dalam estimasi usaha
perangkat lunak.

Bab III Metodologi Penelitian


Pada bab ini membahas tentang metode pengumpulan data dan metode penelitian.
Penelitian di sini adalah membuat kerangka pemikiran untuk mengkomparasi
metode machine learning, non machine learning dan seleksi atribut untuk estimasi
usaha perangkat lunak.

5
Bab IV Hasil dan Pembahasan

Pada bab ini menjelaskan tentang hasil dan pembahasan penelitian dari penelitian
yang dilakukan. Hasil merupakan suatu penjelasan tentang data kuantitatif yang
dikumpulkan dari pengolahan dataset yang digunakan. Pembahasan merupakan
suatu penjelasan tentang pengolahan data dan interpretasinya, baik dalam bentuk
diskriptif ataupun penarikan inferensinya. Pada bab ini dilakukan pengujian
metode yang dihasilkan dari bab sebelumnya. Pengujian dilakukan dengan
mengukur kinerja tiap metode ML dan non ML serta seleksi atribut kemudian
hasil pengukurannya dikomparasi untuk melihat akurasi dari masing-masing
metode tersebut, kemudian dilakukan validasi dalam hasil estimasi yang didapat.

Bab V Penutup

Pada bab ini berisi ringkasan temuan, rangkuman kesimpulan dan saran.
Kesimpulan merupakan pernyataan secara general atau spesifik yang berisi hal-hal
penting dan menjadi temuan penelitian yang bersumber pada hasil dan
pembahasan. Saran merupakan pernyataan atau rekomendasi peneliti yang berisi
hal-hal penting sebagaimana yang telah disampaikan yaitu implikasi penelitian.

6
BAB 2
LANDASAN TEORI

2.1. Tinjauan Studi

Penelitian-penelitian pada ruang lingkup estimasi usaha perangkat lunak EUPL


menggunakan metode machine learning (ML) dan non machine learning (non
ML).

2.1.1. Metode yang Diusulkan Nassif [19]

Nassif [13], melakukan penelitian tentang perbandingan akurasi yang dihasilkan


oleh algoritma neural network dan linear regression, dan linear regression.

Gambar 2.1 menjelaskan metode yang digunakan adalah neural network, dan
linear regression. Dataset yang digunakan adalah International Spirit & Beverage
Group (ISBG. Metode pengukuran akurasi yang digunakan adalah mean root
error (MRE). Hasil dari penelitian ini adalah bahwa neural network menghasilkan
estimasi yang paling akurat untuk dataset dengan jumlah kecil, sedangkan untuk
dataset dengan jumlah besar (lebih dari 3000 person-hours), linear regression
menghasilkan estimasi yang paling akurat.

7
Data Set

Comparison

Neural Network Linear Regression

MMER
Model Evalution
PRED

Gambar 2.1 Metode yang Diusulkan Ali Bou Nassif [13]

2.1.2. Metode yang Diusulkan Kocaguneli [20]

Kocaguneli [20] melakukan penelitian tentang perbandingan akurasi yang


bertujuan untuk mengkarakterisasi isi penting dari data software effort estimation
(SEE), yaitu, sedikitnya jumlah fitur dan contoh yang diperlukan untuk
menangkap informasi dalam data SEE, maka informasi yang terkandung harus
sangat singkat dan nilai skema pembelajaran yang kompleks.

Gambar 2.2 menjelaskan metode quick untuk menghitung jarak euclidean antara
baris (contoh) dan kolom (fitur) pada data SEE, maka plum sinonim (fitur serupa)
dan outlier (contoh jauh), kemudian nilai data yang telah direduksi dengan
membandingkan prediksi sederhana menggunakan data yang telah direduksi

8
menggunakan semua data. Kinerja diukur dengan menggunakan eksperimen dan
dinyatakan dalam mean dan median Mean Median Root Error (MMRE).

Data Set

Comparison

Neural Network Linear Regression

MMER
Model Evalution
PRED

Gambar 2.2 Metode yang Diusulkan Kocaguneli [14]

2.1.3. Metode yang Diusulkan Adriano [21]

Adriano [21], melakukan penelitian tentang analisis industri perangkat lunak,


manajer proyek biasanya mengandalkan pengalaman mereka sebelumnya untuk
memperkirakan jumlah per jam yang dibutuhkan untuk setiap proyek perangkat
lunak. Keakuratan perkiraan tersebut merupakan faktor kunci untuk aplikasi yang
efisien bagi sumber daya manusia. Metode yang digunaknan yaitu teknik
pembelajaran mesin seperti fungsi radial basis (FRB) jaringan saraf, Multi-Layer
Perceptron (MLP) jaringan saraf, Systemic Vascular Resistance (SVR), baru-baru

9
ini diterapkan untuk memperkirakan perangkat lunak. Beberapa karya telah
menunjukkan bahwa tingkat akurasi estimasi usaha software sangat tergantung
pada nilai-nilai parameter metode ini. Selain itu, telah ditunjukkan bahwa
pemilihan fitur masukan juga mungkin memiliki pengaruh penting pada akurasi
estimasi.

Mengusulkan dan menyelidiki penggunaan metode algoritma genetika untuk


secara bersamaan memilih fitur input bagian optimal dan mengoptimalkan
parameter metode pembelajaran mesin, yang bertujuan pada tingkat akurasi yang
lebih tinggi untuk perkiraan usaha perangkat lunak. Metode: simulasi dilakukan
dengan menggunakan enam set data benchmark proyek perangkat lunak, yaitu,
Desharnais, Nasa, Cocomo, Albrecht, Kemerer, Koten dan Gray. Hasilnya
dibandingkan dengan yang diperoleh dengan metode yang diusulkan dalam
literatur menggunakan NN, SVM, DT, dan motode NB.

Dalam semua set data, simulasi telah menunjukkan bahwa metode berbasis yang
diusulkan mampu meningkatkan kinerja metode pembelajaran mesin. Simulasi
juga menunjukkan bahwa metode yang diusulkan melebihi beberapa metode
terbaru yang dilaporkan dalam literatur terakhir untuk EUPL. Selain itu,
penggunaan seleksi fitur sangat mengurangi jumlah fitur masukan selama lima set
data yang digunakan dalam analisis kami. Kesimpulan: Kombinasi input memiliki
pilihan dan parameter optimasi mesin pembelajaran.

Gambar 2.3 menjelaskan metode meningkatkan akurasi EUPL. Selain itu, ini
mengurangi model kompleksitas, yang dapat membantu memahami relevansi dari
setiap fitur input. Oleh karena itu, beberapa parameter input dapat diabaikan tanpa
kehilangan akurasi dalam estimasi.

10
Data Set

SVM

MMER Model Evalution

Gambar 2.3 Metode yang Diusulkan Adriano [15]

2.1.4. Metode yang Diusulkan Nuno [22]

Nuno [22], telah mengusulkan beberapa metode pengukuran dengan ukuran


fungsional dan biaya metode estimasi, terutama pada poin fungsi analisis dan
Cocomo. Keduanya menganggap bahwa pengembang dapat memperoleh
pengukuran ukuran dan perkiraan dari sejarah data proyek dan karakteristik
proyek saat ini. Dengan orientasi objek, menggunakan kasus yang muncul sebagai
sebuah teknik yang dominan untuk persyaratan penataan. Teknik ini telah
dikomparasikan ke dalam Unified Modeling Language (UML) dan unified process
menjadi standar sesungguhnya untuk persyaratan peragaan SE. Akibatnya, Gustav
Karner menciptakan metode UCP, yang memperkirakan ukuran proyek dengan
memberikan poin untuk use case dalam berbagai cara yang sama memberikan
poin untuk kegunaan. Model UCP mendapatkan popularitas karena sifat
kesederhanaan dan abstraksinya. Gambar 2.4 menjelaskan kontribusi utama dari
metode ini adalah dimasukkannya faktor resiko dan usaha tambahan untuk
kegiatan selain pengembangan produk perangkat lunak. Juga, dalam analisis

11
mendalam dari beberapa faktor seperti analisis kinerja, analisis deliverable,
analisis jadwal, analisis cacat, analisis kausal dan analisis manajemen kuantitatif.
Pentingnya menggunakan siklus proses perbaikan juga disorot.

Data Set

UAW
UUCP

UUCW

Penambahan
Peran Pengguna

TCF TCF

EF EF

MMER

Gambar 2.4 Metode yang Diusulkan Nuno [16]

12
2.1.5. Metode yang Diusulkan Felfernig [23]

Felfernig [23], melakukan Function Point Analysis (FPA) untuk berorientasi


objek, pengembangan estimasi usaha perangkat lunak. Dalam makalah ini kami
gunakan FPA [12] dapat diterapkan untuk estimasi upaya pengembangan sistem
konfigurasi berbasis pengetahuan. FPA didasarkan pada user dan berpusat
tampilan pada perangkat lunak dan platform-independen. Metode tersebut pertama
kali diusulkan oleh Alberth [2] dengan tujuan untuk memberikan upaya untuk
ukuran fungsional perangkat lunak bersama dengan aturan penghitungan telah
diadaptasi beberapa kali.

Menggunakan FPA kita dapat menentukan upaya pelaksanaan yang berkaitan


dengan proyek (pengembangan basis pengetahuan, pengembangan antarmuka
pengguna, pengembangan antarmuka untuk aplikasi remote, misalnya katalog
produk atau aplikasi penjualan online). Menerapkan FPA untuk pengembangan
perangkat lunak konfigurasi memperluas lingkup rekayasa perangkat lunak
estimasi pendekatan untuk pengembangan sistem berbasis pengetahuan. Gambar
2.5 menjelaskan pengembangan sistem berbasis pengetahuan dibuat transparan
dalam proses pengembangan perangkat lunak industri dan estimasi usaha untuk
proyek-proyek pengembangan perangkat lunak tradisional yang terkomparasi
dengan estimasi usaha untuk proyek-proyek pengembangan perangkat lunak
berbasis pengetahuan.

13
Data Set

FP Data Collection FP Case Base

FP Complexity
Classes

FP Predictions FP Adjustemnt Factor

MMER

Gambar 2.5 Metode yang Diusulkan A. Felfernig [17]

14
2.1.6. Metode yang Diusulkan Efi [24]

Seleksi fitur, baru-baru ini digunakan di bidang rekayasa perangkat lunak untuk
meningkatkan akurasi dan ketahanan model biaya perangkat lunak. Ide di balik
memilih subset paling informatif yang berasal dari hipotesis bahwa mengurangi
dimensi dataset secara signifikan akan mengurangi kompleksitas dan waktu yang
diperlukan untuk mencapai perkiraan menggunakan teknik pemodelan tertentu.

Gambar 2.6 menjelaskan kesesuaian atribut, diperoleh dari database proyek


empiris dan bertujuan untuk mengurangi biaya driver yang digunakan sambil
menjaga kinerja. Menemukan pilihan bagian yang cocok yang dapat memenuhi
peningkatan prediksi dapat dianggap sebagai langkah pra-pengolahan teknik
tertentu yang digunakan untuk estimasi biaya (filter atau pembungkus) atau
embedded langkah internal untuk meminimalkan kesalahan. Membandingkan
sembilan metode seleksi fitur yang relatif populer dan menggunakan nilai-nilai
empiris dari atribut yang dipilih dan Desharnais dataset untuk memperkirakan
upaya pengembangan perangkat lunak.

15
Data Set

Data Cleaning
Data Prosesing

Seleksi atribut

60% Traning
Data

SVM Classifier

40% Testing
Data

PRED Model Evalution

Gambar 2.6 Metode yang Diusulkan Efi [24]

16
2.1.7. Rangkuman Penelitian Terkait

Dari penelitian terkait yang dikumpulkan, terdapat banyak motode EUPL. Pada
Tabel 2.1 menjelaskan dari beberapa penelitian tersebut, tidak ada ML dan non
ML yang terbukti paling akurat untuk semua dataset Albercth dan Desherhanis.

Tabel 2.1 Perbandingan Penelitian Terkait


Peneliti Dataset Algoritma Tujuan Hasil
Nassif, (2013) [19] Albercth NN MMER MMER :
PRED LR: 39.2
NN: 40
PRED(25):
LR: 37.1%
NN: 45.7%
Kocaguneli, (2013) [20] Coccomo K-NN MMRE KNN: 41.42

Adriano, (2013) [21] Desherhanis SVM PRED SVM ( 83.33%)

Nunes, (2011) [22] Privat UCP MMRE MMER


( 85.33%)
Felfernig, (2012) [23] Albecth FP MMRE MMER
( 73.33%)
Efi, (2010) [24] Albecth SVM MMRE SVM ( 73.33%
Seleksi atribut
Ega, (2015) Albecth K-NN, SVM, RMSE RMSE
Desherhanis NN, FP, UCP,
dan Seleksi
atribut

Dari tinjauan studi yang dilakukan, penelitian ini akan melakukan komparasi
algoritma NN, K-NN, SVM FP dan UCP berdasarkan nilai root mean squre error
(RMSE) serta melakukan seleksi atribut forward selection pada metode yang
terbaik di antara metode ML dan metode non ML untuk EUPL.

17
2.2. Landasan Teori

2.2.1. Estimasi Usaha Perangkat Lunak

2.2.1.1. Pengantar Estimasi Usaha Perangkat Lunak

Estimasi proyek sebagai bagian dari manajemen proyek sistem perangkat lunak
merupakan bagian penting dalam proses rekayasa perangkat lunak. Manajemen
proyek adalah proses perencanaan dan pengendalian pengembangan sistem dalam
jangka waktu tertentu dengan biaya minimal dengan fungsi yang tepat [1].
Manajemen proyek harus dilakukan agar perangkat lunak yang dihasilkan dapat
memenuhi persyaratan waktu dan dana yang telah direncanakan.

Kegiatan estimasi biaya dan penjadwalan biasa dilakukan secara bersamaan.


Terkadang estimasi biaya dilakukan secara global sebelum diperinci dengan
penjadwalan, hal ini perlu dilakukan sebagai estimasi awal [2] berapa biaya yang
dibutuhkan dan berapa harga jual yang akan disampaikan ke konsumen tiga
parameter utama yang menjadi poin untuk menghitung berapa biaya
pengembangan perangkat lunak.

Ada beberapa hal yang dapat dilakukan untuk menghemat pengeluaran, antara lain
penggunaan e-mail dan teleconference untuk mengurangi kegiatan perjalanan
dinas sehingga waktu yang ada dapat dimanfaatkan untuk pengembangan system.
Ketika proyek sudah mulai berjalan, project manager harus terus memantau
perkembangan proyek dan mengawasi anggaran yang telah digunakan, bila sudah
mulai terlihat ketidak sesuaian antara anggaran dan pemakaian maka project
manager harus segera bereaksi agar proyek dapat selesai sesuai dengan waktu dan
biaya yang telah ditentukan.

18
2.2.1.2. Pendekatan Estimasi Usaha Perangkat Lunak

Ada banyak cara mengelompokkan pendekatan estimasi [25] [26] dan dijelaskan
pada Tabel 2.2, adalah sebagai berikut:
1. Estimasi ahli: langkah kuantifikasi, yaitu, langkah dimana perkiraan tersebut
dihasilkan berdasarkan proses menghakimi.
2. Model estimasi formal: langkah kuantifikasi didasarkan pada proses mekanis,
misalnya, penggunaan formula yang berasal dari data historis.
3. Estimasi berbasis kombinasi: langkah kuantifikasi didasarkan pada kombinasi
menghakimi dan mekanik estimasi dari sumber yang berbeda.

Tabel 2.2 Contoh-Contoh Pendekatan Estimasi Usaha Dalam Setiap Kategori


Pendekatan Contoh mendukung
Katagori
Estimasi penerapan pendekatan estimasi
Analogy-based Formal estimation
Angel, weighted micro function points
estimation model
Wbs-based
Project management software, company specific
(bottom up) Expert estimation
activity templates
Estimation
Parametric Formal estimation
Cocomo, slim, seer-sem
models model
Function point analysis, use case analysis, ssu
Size-based Formal estimation
(software size unit), story points-based estimation in
estimation models model
agile software development
Group estimation Expert estimation Planning poker, wideband delphi
Mechanical Combination-based Average of an analogy-based and a work breakdown
combination estimation structure-based effort estimate
Judgmental Combination-based Expert judgment based on estimates from a parametric
combination estimation model and group estimation

19
2.2.1.3. Metode Estimasi Usaha Perangkat Lunak

Secara umum, terdapat banyak metode estimasi uaha perangkat lunak (EUPL).
Metode-metode tersebut dibagi dalam dua kelompok yaitu machine learning
(ML) dan non machine learning (non ML) [3]. Dalam bagian ini, dijelaskan
beberapa metode estimasi biaya perangkat lunak berdasarkan kelompok ML dan
non ML

ML adalah sebuah pemograman komputer untuk mengoptimalkan kriteria kinerja


menggunakan contoh data atau pengalaman masa lalu [27]. ML merupakan salah
satu cabang dari artificial intelligence (AI). Algoritma ML banyak diaplikasikan
dalam data mining. Data mining telah menarik banyak perhatian dalam dunia
sistem informasi dan dalam masyarakat secara keseluruhan beberapa tahun
terakhir, karena ketersediaan dalam jumlah besar data dan kebutuhan untuk segera
mengubah data menjadi informasi yang berguna. Informasi yang diperoleh dapat
digunakan untuk aplikasi mulai dari analisis, deteksi penipuan, dan retensi
pelanggan [28]. Adanya ketersediaan data yang melimpah, kebutuhan akan
informasi atau sebagai sarana pendukung dalam pengambilan keputusan baik bagi
individu, organisasi, perusahaan dan pemerintahan.

Non ML dalam matematika dan ilmu komputer, algoritma adalah prosedur


langkah demi langkah untuk penghitungan. algoritma digunakan untuk
penghitungan, pemrosesan data, dan penalaran otomatis.

Algoritma [2] adalah metode efektif diekspresikan sebagai rangkaian terbatas dari
instruksi-instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah
fungsi. Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),
instruksi-instruksi tersebut menjelaskan sebuah komputasi yang bila dieksekusi
dan diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi dengan baik,
yang pada akhirnya menghasilkan "keluaran" dan berhenti di kondisi akhir.
Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik,

20
beberapa algoritma, dikenal dengan algoritma pengacakan, menggunakan
masukan acak [2].

2.2.2. Metode ML Menggunakan Support Vector Machine

Support Vector Machine (SVM) adalah sistem pembelajaran yang menggunakan


ruang hipotesis berupa fungsi-fungsi linier dalam sebuah ruang fitur (feature
space) berdimensi tinggi, dilatih dengan algoritma pembelajaran yang didasarkan
pada teori optimasi [29]. SVM dikembangkan oleh Boser, Guyon, Vapnik, dan
pertama kali dipresentasikan pada tahun 1992 di Annual Workshop on
Computational Learning Theory. Konsep dasar SVM sebenarnya merupakan
kombinasi harmonis dari teori-teori komputasi yang telah ada puluhan tahun
sebelumnya, seperti margin hyperplane yang dibahas oleh Duda & Hart tahun
1973, Cover tahun 1965 dan Vapnik 1964. Konsep kernel diperkenalkan oleh
Aronszajn tahun 1950, dan demikian juga dengan konsep-konsep pendukung yang
lain. Akan tetapi hingga tahun 1992, belum pernah ada upaya merangkaikan
komponen-komponen tersebut.

Dalam proses pembelajarannya, SVM memperkenalkan strategi baru dengan


menemukan hyperplane yang terbaik pada input space, dengan strategi yang
disebut dengan structural risk minimizations [30]. Prinsip dasar SVM adalah
linear classifier, dan selanjutnya dikembangkan agar dapat bekerja pada problem
non-linear dengan memasukkan konsep kernel trick pada ruang kerja berdimensi
tinggi. Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari
hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input
space [30]. Proses pembelajaran dalam problem klasifikasi diterjemahkan sebagai
upaya menemukan garis (hyperplane) yang memisahkan antara kedua kelompok
tersebut. Gambar 2.7 menjelaskan hyperplane adalah pemisah terbaik antara
kedua kelas dapat ditemukan dengan mengukur margin hyperplane tersebut dan
mencari titik maksimalnya. Margin adalah jarak antara hyperplane tersebut

21
dengan data terdekat dari masing-masing class. Subset data training set yang
paling dekat ini disebut sebagai support vector.

Setiap data latih dinyatakan oleh (xi, yi) dimana i = 1, 2, …, N, dan xi = { xi1, xi2,
…, xiq}T merupakan atribut (fitur) set untuk data latih ke-i. yi ∈ {-1, +1}
menyatakan label kelas. Hyperplane klasifikasi linear SVM, dinotasikan dengan:
w.xi + b = 0 ........................................................................................(2.1)
w dan b adalah parameter model. w.xi merupakan inner produk dalam antara w
dan xi. data xi yang masuk ke dalam kelas -1 adalah data yang memenuhi
pertidaksamaan berikut:
w.xi + b ≤ -1 ........................................................................................(2.2)
Sementara data xi yang masuk ke dalam kelas +1 adalah data yang memenuhi
pertidaksamaan berikut:
w.xi + b ≥ +1........................................................................................(2.3)
Sesuai dengan Gambar 2.6, jika ada data dalam kelas -1 (misalnya, xa) yang
bertempat di hyperplane, persamaan 2.5 akan terpenuhi. Untuk data kelas -1
dinotasikan dengan:
w.xa + b = 0…..........................................................................,...........(2.4)
Sementara kelas +1 (misal xb) akan memenuhi persamaan:
w.xb + b = 0…......................................................................................(2.5)
Dengan mengurangi persamaan 2.7 dengan persamaan 2.6 didapatkan
w.(xb-xa) = 0…....................................................................................(2.6)
Sesuai dengan Gambar 2.6, hyperplane untuk kelas -1 (garis putus-putus) adalah
data pada support vector
w.xa + b = -1........................................................................................(2.7)
Sementara hyperplane kelas +1 (garis putus-putus) memenuhi persamaan
zw.xa + b = +...................................................................................(2.9)
Dengan demikian, margin dapat dihitung dengan mengurangi persamaan 2.9
dengan 2.9, maka didapatkan
w.(xb – xz) = 2...................................................................................(2.10)

22
Margin hyperplane diberikan oleh jarak antara dua hyperplane dari dua kelas
tersebut. Notasi di atas diringkas menjadi
wx d = 2 atau 𝑑= 2w....................................................................................(2.11)
Margin optimal dihitung dengan memaksimalkan jarak antara hyperplane dan data
terdekat. Jarak ini dirumuskan dengan persamaan 2.12 w adalah vektor bobot w).
Selanjutnya, masalah ini diformulasikan ke dalam quadratic programming (QP)
problem, dengan meminimalkan invers persamaan 2.12, 12 w 2 di bawah kendala
(syarat), seperti berikut:
Minimalkan:
12 w 2 ............................................................................................... (2.12)
Syarat:
yi (w.xi + b) ≥ 1, i = 1, 2, …, N ....................................................... (2.13)
Optimalisasi ini dapat diselesaikan dengan Lagrange Multiplier:
𝐿𝑝= 12 w− Σ(𝑤.𝑥𝑖+𝑏)−1𝑁𝑖=1 .......................................................... (2.14)
αi adalah Lagrange Multiplier, yang bernilai no atau positif (αi ≥ 0). Nilai optimal
dari persamaan 2.15 dapat dihitung dengan meminimalkan L terhadap w dan b,
dan memaksimalkan L terhadap αi. Dengan memperhatikan sifat bahwa pada titik
optimal gradient L=0, persamaan langkah 2.15 dapat dimodifikasi sebagai
maksimalisasi problem yang haya mengandung αi saja, sebagaimana persamaan
2.16
𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒: Σ𝛼𝑖 − 𝑁𝑖=112 Σ 𝑖,α𝑖α𝑗𝑦𝑖𝑦𝑗𝑥𝑖𝑥...................................... (2.15)
Subject to:
α𝑖 ≥0 (𝑖=1,2,…,𝑁)Σ α𝑖𝑦𝑖𝑁𝑖=1 =0 ........................................................... (2.16)
Dari hasil perhitungan ini diperoleh αi yang kebanyakan bernilai positif. Data yang
berkorelasi dengan αi yang positif inilah yang disebut sebagai support vector.
Berbagai macam fungsi kernel. Kernel trick memberikan berbagai kemudahan,
karena dalam proses pembelajaran SVM, untuk menentukan support vector, maka
cukup dengan mengetahui fungsi kernel yang dipakai, dan tidak perlu mengetahui
wujud dari fungsi non-linear.

23
Menurut [15], ada beberapa fungsi kernel yang sering digunakan dalam literature
SVM anatara lain sebagai berikut:
a. Kernel linear adalah kernel yang paling sederhana dari semua fungsi
kernel.
Kernel ini biasa digunakan dalam kasus klasifikasi teks.
b. Kernel Radial Basis Gaussian adalah kernel yang umum digunakan
untuk data yang sudah valid (available) dan merupakan default dalam
tools SVM.
c. Kernel Polynominal adalah kernel yang sering digunakan untuk
klasifikasi gambar.
d. Kernel Tangent Hyperbolic adalah kernel yang sering digunakan untuk
neural networks.

24
Data Se

Inisialisasi parameter,C mapping data ke x feature space lewat


fungsi kernel polynomial

Lakukan optimasi variabel langrange dengan formula QP Untuk


mendapatkan beta & bias

T
Hasil optimal?

Hitung prediksi dengan fungsi regresi

MMRE

Gambar 2.7 Flowchart Metode Support Vector Machine

2.2.3. Metode ML Menggunakan Neural Networks

Neural network (NN) [31] adalah satu set unit input/output yang terhubung
dimana tiap relasinya memiliki bobot. Neural network dimaksudkan untuk
mensimulasikan perilaku sistem biologi susunan syaraf manusia, yang terdiri dari
sejumlah besar unit pemroses yang disebut neuron, yang beroperasi secara paralel
[32]. Neuron mempunyai relasi dengan synapse yang mengelilingi neuron-neuron

25
lainnya. Susunan syaraf tersebut dipresentasikan dalam neural network berupa
graf yang terdiri dari simpul (neuron) yang dihubungkan dengan busur, yang
berkorespondensi dengan synapse. Sejak tahun 1950-an, neural network telah
digunakan untuk tujuan prediksi, bukan hanya estimasi tapi juga untuk regresi
dengan atribut target [27].

Multilayer perceptron (MLP) disebut juga multilayer feedforward neural network


merupakan algoritma yang paling luas digunakan. Menurut Wong, Bodnovich dan
Selvi (1997), sekitar 95% aplikasi bisnis yang menggunakan neural network,
memakai algoritma ini salah satu kelebihan neural network adalah cukup baik
dalam menangani data yang mengandung noise [27].

MLP terdiri dari input layer, satu atau lebih hidden layer, dan output layer.
Berikut penjelasan masing-masing layer:

1. Input layer
Input layer untuk menerima nilai masukan dari tiap record pada data. Jumlah
simpul input sama dengan jumlah variabel predictor.

2. Hidden layer
Hidden layer mentransformasikan nilai input di dalam network. Tiap simpul pada
hidden layer terhubung dengan simpul-simpul pada hiden layer sebelumnya atau
dari simpul-simpul pada input layer dan ke simpul-simpul pada hidden layer
berikutnya atau ke simpul-simpul pada output layer. Jumlah hidden layer bisa
berapa saja.
3. Output layer
Garis yang terhubung dengan output layer berasal dari hidden layer atau input
layer dan mengembalikan nilai keluaran yang bersesuaian dengan variabel
prediksi. Keluaran dari output layer biasanya merupakan nilai floating antara 0
sampai 1 [31].

26
Setiap simpul dalam neural network [31], merupakan sebuah unit pemrosesan.
Tiap simpul memiliki beberapa masukan dan sebuah keluaran. Setiap simpul
mengkombinasikan beberapa nilai masukan, melakukan kalkulasi, dan
membangkitkan nilai keluaran (aktifasi).

Dalam setiap simpul terdapat dua fungsi, yaitu fungsi untuk mengkombinasikan
masukan dan fungsi aktifasi untuk menghitung keluaran. Terdapat beberapa
metode untuk mengkombinasikan masukan antara lain weighted sum, mean, max,
logika or. atau logika AND. Untuk fungsi aktifasi juga terdapat beberapa metode
seperti, fungsi heaviside (threshold), piecewise, gaussian, sigmoid (logistic),
hyperbolic tangent, sine and cosine, linear (identity).

Backpropagation [31] bekerja melalui proses secara iteratif menggunakan data


training, membandingkan nilai prediksi dari jaringan dengan setiap data yang
terdapat pada data training. Dalam setiap proses, bobot relasi dalam jaringan
dimodifikasi untuk meminimalkan nilai Mean Squared Error (MSE) antara nilai
prediksi dari network dengan nilai yang sesungguhnya. Modifikasi relasi neural
network tersebut dilakukan dengan arah mundur, dari output layer hingga layer
pertama dari hidden layer sehingga algoritma ini disebut backpropagation.

2.2.4. Metode Machine Learning Menggunakan k-Nearest Neighbor

k-Nearest Neighbor (kNN) merupakan algoritma supervised learning, dimana


hasil dari query instance yang baru diklasifikasikan berdasarkan mayoritas dari
kategori pada kNN. Kelas yang paling banyak muncul yang akan menjadi kelas
hasil klasifikasi. kNN merupakan salah satu metode pengklasifikasian data
berdasarkan similaritas dengan label data [8], Algortima kNN merupakan sebuah
metode untuk melakukan klasifikasi terhadap objek baru berdasarkan k tetangga
terdekatnya [6]. Menurut [5], kNN adalah algoritma pembelajaran berbasis instan
yang menggunakan jarak terdekat dalam menentukan kategori vektor baru dalam
set data pelatihan. Model kNN memiliki masalah untuk menemukan tetangga

27
terdekat k pada titik query dari dataset yang digunakan [13][14]. Penggunaan
metode ini banyak digunakan untuk menangani masalah dalam bidang ilmiah dan
rakayasa perangkat lunak seperti pengenalan pola, pengenalan objek,
pengelompokkan data, fungsi approximate, kuantisasi vektor, klasifikasi pola.

Untuk menentukan jumlah data atau tetangga terdekat ditentukan oleh user yang
dinyatakan dengan k

𝑑(𝑥, 𝑦) √∑(𝑥𝑖 − 𝑦𝑖)……………….…………………....………(2.17)

dimana X1= (x11, x12,…, x1n) dan X2= (x21, x22,…, x2n). Dengan kata lain,
untuk setiap atribut numerik, kita mengambil perbedaan antara yang sesuai
dengan nilai-nilai atribut dalam vektor X1 dan X2 dari matriks dengan ukuran
dimensi. Akar kuadrat diambil dari akumulasi jumlah total jarak. Biasanya, kita
menormalkan nilai-nilai masing-masing atribut sebelum menggunakan [19].
Prinsip kerja kNN adalah mencari jarak terdekat antara data yang dievaluasi
dengan k tetangga terdekatnya dalam data pelatihan.

2.2.5. Metode Non Machine Learning Menggunakan Function Point

Dalam development sebuah perangkat lunak terkadang para developer memiliki


kesulitan untuk mencari satuan yang dapat mendeskripsikan ukuran dari sofware
yang akan dibuat. Untuk mengetahui ukuran software yang akan dibuat sangat
penting karena akan berpengaruh pada biaya dalam produksi software tesebut [1].

Salah satu cara yang populer untuk melakukan pengukuran perangkat lunak dapat
mengunakan cara yang bernama function point. Hasil dari metode function point
akan lebih mudah dipahami oleh pengguna non teknis yang dapat membantu
mengkomunikasikan informasi ukuran software ke pengguna atau client [12].

28
Function point dikembangkan pertama kali oleh Allan J. Albrecht [8] di
pertengahan tahun 1970 an. Merupakan upaya untuk mengatasi kesulitan yang
berhubungan dengan kode program sebagai ukuran dari ukuran perangkat lunak,
dan untuk membantu dalam memprediksi usaha dalam development perangkat
lunak.

Function point pertama kali diterbitkan pada tahun 1979. Pada tahun 1984
Albrecht menyempurnakan metode function point. Sejak function point
internasional user group (IFPUG) didirikan, beberapa versi function point sebagai
pedoman telah diterbitkan oleh IFPUG. Secara global pengukuran Software
dengan Function Point telah diterima secara luas dalam industri perangkat lunak
lebih dari 40 tahun sebagai pengukuran standar perangkat lunak [33].

Dalam ilmu fisika banyak satuan untuk mengukur fenomena yang ada di alam
semesta ini seperti menit untuk mengukur waktu, kilo meter untuk mengukur
jarak, celsius untuk mengukur suhu. Dan untuk mengukur perangkat lunak atau
software maka dapat menggunakan function point yang biasa disingkat dengan
FP.

Function point adalah sebuah teknik terstruktur dalam memecahkan masalah


dengan cara memecah sistem menjadi komponen yang lebih kecil dan menetapkan
beberapa karakteristik dari sebuah software sehingga dapat lebih mudah dipahami,
dianalisis dan terlepas dari bahasa programaan, metode development atau platform
perangkat keras yang digunakan [1], function point harus dilakukan oleh orang
terlatih dan berpengalaman dalam development software, karena dalam
memberikan nilai-nilai dari setiap komponen function point bersifat subyektif, dan
akan wajar apabila hasil perhitungan function point seseorang akan berbeda
dengan yang lain [1].

Pengerjaan function poin harus dimasukkan sebagai bagian dari rencana proyek
secara keseluruhan. Artinya harus dijadwalkan dan direncanakan pengerjaannya

29
[33]. Hasil dari pengukuran menggunakan function point dapat digunakan untuk
mengestimasi usaha yang diperlukan dalam development perangkat lunak [1].

2.2.5.1. Tahapan Melakukan Function Point

TAHAP 1. Menghitung Crude Function Points (CFP)


Crude Function Points (CFP) adalah untuk menghitung bobot nilai dari
komponen-komponen function point yang dikaitkan dengan software yang akan
dibuat.

Pada Tabel 2.3 dijelaskan komponen-komponen function point terdiri dari 5 buah
yaitu sebagai berikut:

 Tipe input, berkaitan dengan interface yang lakukan pengguna/user dalam


memasukan data pada aplikasi.
 Tipe output, berkaitan dengan output yang dihasilkan aplikasi untuk
pengguna/user berupa laporan diprint atau ditampilkan pada layar.
 Tipe query/search/view, berkaitan dengan query terhadap data yang
tersimpan.
 Tipe file/tabel/database, berkaitan dengan logic penyimpan data yang
dapat berupa file atau semacam database relational.
 Tipe interface eksternal, berkaitan dengan komunikasi data pada
perangkat/mesin yang lain, contohnya adalah membuat aplikasi SMS
Server yang membutuhkan koneksi pada perangkat keras modem telepon.
Selanjutnya setiap tipe komponen diberikan bobot berdasarkan kompleksitasnya,
seperti yang ditujukan pada tabel 2.3.

30
Tabel 2.3 Tabel Pembobotan Pada Function Point
Level komplesitas
Tipe Total
Sederhana Menengah Kompleks
Komponen cfp
Jumlah Bobot Point Jumlah Bobot Point Jumlah Bobot Point
Tipe Input 3 4 6
Tipe
Output 4 5 7
Tipe
Query /
Seacrh /
View 3 4 6
Tipe File /
Table /
Database 7 10 15
Tipe
Interfase
External 6 7 10
TOTAL

 Nilai-nilai bobot dari setiap komponen di atas adalah ketetapan atau


konstanta yang dibuat oleh function point internasional user group
(IFPUG).
TAHAP 2. Menghitung Relative Complexity Adjustment Factor (RCAF)

Pada Tabel 2.4 dijelaskan RCAF digunakan untuk menghitung bobot


kompleksitas dari software berdasarkan 14 karakteristik.
Penilaian Komplesitas memiliki skala 0 s/d 5
 0 = Tidak Pengaruh
 1 = Insidental
 2 = Moderat
 3 = Rata-rata
 4 = Signifikan
 5 = Essential

31
Berikut ini adalah 14 karakteritik software
Tabel 2.4 Karakteristik Software Merupakan Ketetapan atau Konstanta yang
Dibuat Oleh Function Point Internasional User Group (IFPUG)

NO KARAKTERISTIK BOBOT

1. Tingkat kompleksitas Komunikasi Data [0/1/2/3/4/5]

2. Tingkat kompleksitas Pemrosesan Terdistribusi [0/1/2/3/4/5]

3. Tingkat kompleksitas Performance [0/1/2/3/4/5]

4. Tingkat kompleksitas Konfigurasi [0/1/2/3/4/5]

5. Tingkat Frekuensi Penggunaan Software [0/1/2/3/4/5]

6. Tingkat Frekuensii Input Data [0/1/2/3/4/5]

7. Tingkat Kemudaaan Pengunaan Bagi User [0/1/2/3/4/5]

8. Tingkat Frekuensi Update Data [0/1/2/3/4/5]

9. Tingkat Kompleksitas Prosesing Data [0/1/2/3/4/5]

10. Tingkat Kemungkinan Penggunaan Kembali/Reusable Kode Program [0/1/2/3/4/5]

11. Tingkat Kemudahaan Dalam Instalasi [0/1/2/3/4/5]

12. Tingkat Kemudahaan operasional software (backup, recovery, dsbny) [0/1/2/3/4/5]

13. Tingkat Software dibuat untuk multi organisasi/perusahaan/client [0/1/2/3/4/5]

14. Tingkat kompleksitas dalam mengikuti perubahaan/fleksibel [0/1/2/3/4/5]

TAHAP 3. Menghitung Function Point (FP)


Adalah proses melakukan perhitungan untuk mendapat nilai function point dari
software yang akan dibangun.

Rumus FP

FP = CFP x (0.65 + 0.01 x RCAF) …………………….(2.18)


Time = 3.0 * person-months1/3 …………………………….(2.19)
(in Months)

Angka 0.65 dan 0.01 adalah ketetepan atau konstanta yang dibuat oleh function
point internasional user group (IFPUG).

32
2.2.6. Metode Non ML Menggunakan Use Case Point
2.2.6.1. Use Case Point

Use case adalah cara formal yang menggambarkan bagaimana sebuah sistem
bisnis berinteraksi dengan lingkungannya [1]. Use case digunakan sebagai sarana
komunikasi di level tertinggi untuk menjelaskan apa yang akan dilakukan oleh
sistem dari sudut pandang pengguna. User yang terlibat dalam use case berupa
sistem lain atau manusia sebagai pengguna akhir. Use case yang telah dibuat akan
menjadi referensi dalam membuat diagram lainnya dalam UML.

Ada beberapa metode yang dapat digunakan dalam melakukan estimasi proyek
perangkat lunak, salah satunya adalah use case points yang dikembangkan oleh
Gustav Karner ditahun 1993. Untuk menghitung berapa ukuran dan tenaga yang
dibutuhkan menggunakan use case points, harus dibuat dahulu satu use case
diagram untuk sistem yang akan diestimasi.

2.2.6.2. Unadjusted Use Case Points (UUCP)

Dari diagram use case yang telah dibuat, Tabel 2.5 menjelaskan klasifikasikan
aktor yang terlibat menjadi simple apabila aktornya berupa sistem lain yang akan
berkomunikasi melalui application program interface (API). Aktor
diklasifikasikan sebagai average apabila aktornya berupa sistem lain yang akan
berkomunikasi melalui protokol standar seperti TCP/IP, FTP atau melalui
database. Apabila aktornya berupa manusia yang berkomunikasi ke sistem
melalui GUI maka diklasifikasikan menjadi complex. Hasil perkalian jumlah aktor
sesuai klasifikasi aktor disebut Unadjusted Actor Weight (UAW).
Tabel 2.5 Unadjusted Actor Weighting
Actor type Description Weighting
factor
Simple External system with well- 1
defined api
Average External system using a 2

33
protocol based interface
Complex Human 3
Unadjusted Actor Weight Total (UAW)

Pada Tabel 2.6 dijelaskan untuk use case dengan jumlah transaksi 1 – 3, disebut
average jika memiliki 4 – 7 transaksi, dan disebut complex apabila memiliki lebih
dari 7 transaksi. Hasil perhitungan jumlah use case dan klasifikasinya disebut
Unadjusted Use Case Weight (UUCW).

Tabel 2.6 Unadjusted Use Case Weighting


Use case type Description Weighting factor
Simple 1 – 3 transactions 5
Average 4 – 7 transactions 10
Complex > 7 transactions 15
Unadjusted Use Case Weight Total (UUCW)

Hasil UAW dan UUCW dijumlahkan menjadi unadjusted use case points
(UUCP). Selain klasifikasi aktor dan use case, ada dua jenis faktor yang akan
dihitung yaitu technical factor dan environmental factor. Setiap faktor memiliki
beban atau nilai pengkali yang berbeda-beda. Nilai awal yang diberikan untuk tiap
faktor berkisar dari 0 – 5 dengan kriteria diberi nilai 0 apabila faktor tersebut
tidak relevan dan 5 jika sangat penting. Sedangkan bila faktor tidak penting dan
tidak relevan maka diberi nilai 3.

2.2.6.3. Technical Complexity Factors

Technical Complexity Factors (TFC) merupakan salah satu faktor diterapkan pada
perkiraan ukuran perangkat lunak dalam rangka untuk memperhitungkan
pertimbangan teknis dari sistem. Pada Tabel 2.7 dijelaskan dengan menetapkan
skor (assigned value) antara 0 (faktor tidak relevan) dan 5 (faktor penting) untuk
masing-masing dari 13 faktor teknis yang tercantum dalam tabel di bawah. Skor
ini kemudian dikalikan dengan nilai tertimbang (weighted value) yang ditetapkan

34
untuk masing-masing faktor. Total dari semua nilai yang dihitung adalah faktor
teknis (TF) [9].
Tabel 2.7 Technical Complexity Factors
Number Description Weight Assigned Weighted
value (0–5) value
T1 Distributed systems 2.0
T2 Response time or throughput 1.0
performance objectives
T3 End-user online efficiency 1.0
T4 Complex internal proccesing 1.0
T5 Reusability of code 1.0
T6 Easy to install 0.5
T7 Ease of use 0.5
T8 Portability 2.0
T9 Ease of change 1.0
T10 Concurrency 1.0
T11 Special security objectives included 1.0
T12 Direct access for third parties 1.0
T13 Special user training required 1.0
Technical Factor Value (TFACTOR)

Rumus Technical Complexity Factor


TCF = 0.6 + (0.01 * TFactor ) ------------------------------------------- (2.20)

2.2.6.4. Environmental Factors


Environmental Factors (EF) adalah faktor lain diterapkan pada perkiraan ukuran
perangkat lunak dalam rangka untuk memperhitungkan pertimbangan lingkungan
dari sistem. Hal ini ditentukan dengan menetapkan skor antara 0 (tidak ada
pengalaman) dan 5 (ahli) untuk masing-masing 8 faktor lingkungan yang
tercantum dalam tabel di bawah. Skor ini kemudian dikalikan dengan nilai
tertimbang yang ditetapkan untuk masing-masing faktor. Total dari semua nilai
yang dihitung adalah faktor lingkungan (EF).

35
Tabel 2.8 Environmental Factors

Rumus Environmental Factor


EF = 1.4 + (-0.03 * EFactor ) -------------------------------------------(2.21)

2.2.6.5. Penghitungan Use Case Points (UCP)

Nilai UUCP, TCF dan EF digunakan untuk menghitung UCP atau Unadjusted
Case Points dengan rumus:

Number Description Weight Assigned Weighted


Value (0–5) Value
E1 Familiarity with system development 1.5
process being used
E2 Application experience 0.5
E3 Object-oriented experience 1.0
E4 Lead analyst capability 0.5
E5 Motivation 1.0
E6 Requirements stability 2.0
E7 Part time staff -1.0
E8 Difficulty of programming language -1.0
Environmental Factor Value (EFACTOR)
UCP = UUCP * TFC * EF ----------------------------------------------(2.22)

Hasil UCP sudah menggambarkan ukuran dari sistem yang akan dibuat, langkah
selanjutnya menghitung berapa banyak effort atau tenaga yang dibutuhkan. Nilai
effort dapat diketahui dari hasil UCP dibagi dengan nilai PHM (Person Hour
Multiplier). Namun untuk mengetahui nilai PHM menggunakan aturan sebagai
berikut:
 F1 = Jumlah E1 sampai E6 yang < 3
 F2 = Jumlah E7 sampai E8 yang > 3
 Jika F1 + F2 <= 2 maka PHM = 20

36
 Jika F1 + F2 = 3 atau 4 maka PHM = 28
 Jika F1 + F2 > 4 maka proyek harus dibatalkan

Time = 3.0 * person months


………………………………………………………………....…
(2.23)
(in Months)

2.2.7. Seleksi Atribut

2.2.7.1. Pengertian Seleksi Atribut

Proses data mining membutukan biaya komputasi yang tinggi ketika berhadapan
dengan kumpulan data dalam jumlah besar. Mengurangi dimensi yaitu jumlah
atribut set data atau kelompok atribut, secara efektif dapat memotong biaya
tersebut. Pengurangan dimensi tersebut dilakukan dengan menekan seminimal
mungkin kerugian yang dapat terjadi akibat kehilangan sebagian informasi.
Tujuan pengurangan dimensi dalam domain data mining adalah untuk
mengidentifikasi biaya terkecil dimana algoritma data mining dapat menjaga
tingkat kesalahan di bawah perbatasan garis efisiensi. Yang dimaksud dengan
biaya adalah fungsi dari kompleksitas teoritis dari algoritma data mining yang
berasal dari model, dan berkorelasi dengan waktu yang dibutuhkan algoritma
tersebut dalam menjalankan model, serta ukuran dari kumpulan data [52]. Seleksi
atribut adalah masalah yang berhubungan dengan pengurangan dimensi. Tujuan
seleksi atribut adalah untuk mengidentifikasi tingkat kepentingan atribut dalam
kumpulan data, dan membuang semua atribut lain seperti informasi yang tidak
relevan dan berlebihan. Karena seleksi atribut mengurangi dimensi dari data,
maka hal ini akan memungkinkan operasi algoritma data mining dapat berjalan
lebih efektif dan lebih cepat. Dalam beberapa kasus dengan dilakukannya seleksi
atribut dihasilkan peningkatan tingkat accuracy klasifikasi [52].

37
Ada empat alasan utama melakukan seleksi atribut, yaitu [52]:
1. Penurunan biaya model pembelajaran
2. Meningkatkan kinerja model pembelajaran
3. Mengurangi dimensi yang tidak relevan
4. Mengurangi dimensi yang berlebihan

2.2.7.2. Kategori Algoritma Seleksi Atribut

Tujuan dari seleksi atribut adalah untuk mengurangi atribut dari dataset untuk
menghilangkan variabel yang dianggap tidak relevan. Algoritma seleksi atribut
dapat diklasifikasikan ke dalam tiga kategori utama [27].

1. Metode Filter
Metode filter adalah memilih atribut yang relevan sebelum pindah ke tahap
pembelajaran berikutnya, atribut yang dianggap paling penting yang dipilih untuk
pembelajaran, sedagankan sisanya tidak digunakan. Contoh: Chi-Square,
Euclidean Distance, Information Gain
2. Metode Wrapper
Metode wrapper menilai sekelompok variabel dengan menggunakan klasifikasi
yang sama atau algoritma regresi digunakan untuk memprediksi nilai dari variabel
target. Contoh: Sequential Forward Selection, Sequential Backward Elimination,
Randomized Hill Climbing.

3. Metode Embedded
Metode embedded, proses seleksi atribut terletak di dalam algoritma
pembelajaran, sehingga pemilihan set optima atribut secara langsung dibuat
selama fase generasi model. Contoh: Decision Trees, Weighted Naïve Bayes.

38
2.2.7.3. Sequential Forward Selection

Forward selection dimulai dengan tidak ada fitur dan menambahnya satu persatu
sampai tidak ada lagi fitur yang dapat menurunkan error secara signifikan [34].

1. Pada variabel pertama, pilih prediktor yang sangat berhubungan dengan fitur.
Jika model yang dihasilkan tidak signifikan, maka langkah ini dihentikan.
Tapi jika model yang dihasilkan adalah signifikan, maka dilanjutkan ke
langkah kedua.
2. Untuk setiap variabel yang tersisa, hitung F-statistik untuk variabel yang telah
dihitung diawal. Misalnya, pada pengujian pertama perhitungan F-statistik
menjadi F(x2|x1), F(x3|x1), F(x4|x1). Pada pengujian kedua, hasilnya menjadi
F(x3|x1, x2), dan F(x4|x1, x2). Pilih variabel dengan hasil F-statistik terbesar.
3. Untuk variabel yang dipilih pada langkah ke 2, diuji lagi menggunakan F-
statistik. Jika model yang dihasilkan tidak signifikan, langka berhenti. Tapi
jika model yang dihasilkan adalah signifikan, maka langkah kedua diulang
kembali.

2.2.7.4. Sequential Backward Elimination

Backward elimination dimulai dengan seluruh fitur yang ada kemudian dikurangi
satu persatu hingga fitur dikurangi lagi, maka error akan meningkat secara
signifikan [35].

1. Lakukan regresi menggunakan semua variabel yang tersedia. Misal


terdapat empat variabel x1, x2, x3, x4.
2. Untuk setiap variabel dalam model ini, dihitung menggunakan F-statistik.
Misalnya, pada pengujian pertama perhitungan F-statistik menjadi
F(x1|x2, x3, x4), F(x2|x1, x3, x4), dan F(x4|x1, x2, x3). Pilih variabel
dengan F-statistik terkecil. Ini merupakan nilai Fmin.

39
3. Uji signifikan Fmin. jika Fmin tidak signifikan, hapus variabel yang
berhubungan dengan Fmin dari model, dan kembali ke langkah 2. Jika
Fmin signifikan, hentikan perhitungan. Jika ini adalah pengujian pertama,
maka model ini adalah model penuh. Tetapi jika ini bukan pengujian
pertama, maka model yang sekarang dikurangi oleh satu atau lebih
variabel dari model penuh.

Pada penilitian ini, digunakan dua seleksi atribut wrapper, peneliti menggunakan
forward seletion (FS) dan backward elimination (BE). Guyon dan Elisseeff [36]
merekomendasikan menggunakan forward selection (FS) dan backward
elimination (BE).

2.3. Kerangka Pemikiran Penelitian

Berdasarkan Gambar 2.9 penelitian ini bertujuan untuk mengetahui algoritma


MLdan Non ML yang paling akurat estimasi usaha pengembangan perangkat
lunak (EUPL), dengan melakukan komparasi k-nearest neighbor, support vector
machine, neural network, function point, dan use case point dan seleksi atribut.
Masing-masing dataset akan digunakan untuk melakukan pengujian yang berbeda.
Untuk mengukur peningkatan akurasi dari hasil masing-masing, digunakan
pengukuran root mean squared error (RMSE). Nilai RMSE dari masing- masing
percobaan akan dicatat dan kemudian dikomparasi, sehingga diketahui algoritma
yang paling akurat dalam estimasi biaya dan waktu pengembangan perangkat
lunak. Semakin rendah nilai RMSE yang dicapai, maka hasil akan semakin akurat.

40
Input Metode Yang
Diusulkan Pengukuran Evaluasi

Neural
Network
NN

k-Nearest
Seleksi
Neighbor
Atrribut
k-NN

Support
Vector Model
Mechine Tingkat Terbaik
Dataset SVM Error Berdasarkan
Albercht (RMSE)
Deshernais

Function
Point

Use Case
Point

Gambar 2.9 Kerangka Pemikiran Komparasi Metode ML, Non ML dan Seleksi
Atribut

41
BAB 3
METODE PENELITIAN

3.1. Rancangan Penelitian

Model penelitian yang digunakan dalam penelitian ini adalah menggunakan model
penelitian eksperimen. Penelitian ini bertujuan untuk mengkomparasi dan
mengevaluasi algoritma estimasi machine learning (ML) dan non ML (non ML)
pada estimasi usaha perangkat lunak (EUPL). Data yang digunakan dalam
penelitian ini adalah dataset public yaitu dataset Albercth dan Desharnais.

Pada Gambar 3.1 menjelaskan metode penelitian yang memiliki tahapan


penelitian sebagai berikut:

1. Pengumpulan Data
Pengumpulan data merupakan tahap awal yang dilakukan, dimana dari
masalah tersebut dapat dikumpulkan data-data terkait bahkan serupa,
sehingga dari data tersebut dapat diteliti hal-hal apa saja yang sudah
dikerjakan oleh peneliti lainnya supaya kita bisa memberikan kontribusi.
2. Pengolahan Awal Data
Setelah data tersebut terkumpul selanjutnya yang dilakukan adalah
mengolah data yang ada, selanjutnya yang dilakukan ialah mengolah data
apakah data yang akan diolah merupakan data primer atau data sekunder.
3. Metode yang Diusulkan
Untuk metode ini menggunakan skema alur kerja yang digambarkan
dengan pembagian tabel secara jelas berserta motode perhitungan yang
dibutuhkan untuk pengolahan data tersebut.

42
4. Eksperimen dan Pengujian Model
Untuk pengujian sendiri dilakukan dengan menggunakan rapidminer, dari
algoritma yang sudah ditentukan maka dataset yang ada diolah. Sehingga
menghasilkan motode yang diinginkan.
5. Evaluasi dan Validasi Hasil
Untuk tahapan terakhir yang berupa evaluasi dan validasi hasil dilakukan
setelah dataset yang dimasukkan ke rapidminer menghasilkan motode
yang diinginkan. Sehingga hasil tersebut dianalisa hasilnya, seberapa
keakuratan yang dihasilkan dengan penambahan algoritma tersebut.

Pengumpulan Data

Pengolahan Data
Awal

Metode yang
Diusulkan

Pengujian Model

Evaluasi Hasil
Eksperimen

Gambar 3.1 Metode Penelitian

3.2. Pengumpulan Data

Dataset yang akan digunakan adalah dataset Albercth dengan jumlah data sebesar
24 project dan 8 atribut dan dataset Desherhanis. Dengan jumlah data sebesar 24
project dan 8 atribut.

43
Pada Tabel 3.1 dan Tabel 3.2 menjelaskan dataset yang di khususkan kepada
penelitian yang bertopik mengenai analisis EUPL. Oleh karena itu, sebagian besar
peneliti menggunakan dataset ini untuk melakukan penelitian.
Tabel 3.1 Dataset Albercht

Project Input Output Inquiry File FP Adj Raw FP counts Adj FP Effort
1 25 150 75 60 1 1750 1750 102.4
2 193 98 70 36 1 1902 1902 105.2
3 70 27 0 12 0.8 535 428 11.1
4 40 60 20 12 1.15 660 759 21.1
5 10 69 1 9 0.9 478.89 431 28.8
6 13 19 0 23 0.75 377.33 283 10
7 34 14 0 5 0.8 256.25 205 8
8 17 17 15 5 1.1 262.73 289 4.9
9 45 64 14 16 0.95 715.8 680 12.9
10 40 60 20 15 1.15 690.43 794 19
11 41 27 29 5 1.1 465.45 512 10.8
12 33 17 8 5 0.75 298.67 224 2.9
13 28 41 16 11 0.85 490.59 417 7.5
14 43 40 20 35 0.85 802.35 682 12
15 7 12 13 8 0.95 220 209 4.1
16 28 38 24 9 1.05 487.62 512 15.8
17 42 57 12 5 1.1 550.91 606 18.3
18 27 20 24 6 1.1 363.64 400 8.9
19 48 66 13 50 1.15 1073.91 1235 38.1
20 69 112 21 39 1.2 1310 1572 61.2
21 25 28 4 22 1.05 476.19 500 3.6
22 61 68 0 11 1 694 694 11.8
23 15 15 6 3 1.05 189.52 199 0.5
24 12 15 0 15 0.95 273.68 260 6.1

44
Tabel 3.2 Dataset Desherhanis

Project Input Output Inquiry File FP Adj Raw FP counts Adj FP Effort
1 25 150 75 60 1 1750 1750 102.4
2 193 98 70 36 1 1902 1902 105.2
3 70 27 0 12 0.8 535 428 11.1
4 40 60 20 12 1.15 660 759 21.1
5 10 69 1 9 0.9 478.89 431 28.8
6 13 19 0 23 0.75 377.33 283 10
7 34 14 0 5 0.8 256.25 205 8
8 17 17 15 5 1.1 262.73 289 4.9
9 45 64 14 16 0.95 715.8 680 12.9
10 40 60 20 15 1.15 690.43 794 19
11 41 27 29 5 1.1 465.45 512 10.8
12 33 17 8 5 0.75 298.67 224 2.9
13 28 41 16 11 0.85 490.59 417 7.5
14 43 40 20 35 0.85 802.35 682 12
15 7 12 13 8 0.95 220 209 4.1
16 28 38 24 9 1.05 487.62 512 15.8
17 42 57 12 5 1.1 550.91 606 18.3
18 27 20 24 6 1.1 363.64 400 8.9
19 48 66 13 50 1.15 1073.91 1235 38.1
20 69 112 21 39 1.2 1310 1572 61.2
21 25 28 4 22 1.05 476.19 500 3.6
22 61 68 0 11 1 694 694 11.8
23 15 15 6 3 1.05 189.52 199 0.5
24 12 15 0 15 0.95 273.68 260 6.1

3.3. Metode yang Diusulkan

Metode yang diusulkan dalam penelitian ini mulai dari pengolahan dataset hingga
menghasilkan metode dan selanjutnya metode akan diuji dengan menggunakan
dataset testing. Dataset akan dilakukan pengujian dengan menggunakan algoritma
berbeda secara bergantian. Hasil dari pengujian ini akan dilakukan komparasi

45
algoritma mana yang paling akurat. Gambar 3.2 menjelaskan langkah-langkah
yang akan dilakukan sebagai berikut:

1 Melakukan transformasi data awal, langkah ini digunakan untuk membuat


data menjadi baik sehingga dapat meningkatkan akurasi algoritma
estimasi.
2 Akan dilakukan pemilihan dataset untuk komparasi dan metode yang
terbentuk akan langsung diuji dengan dataset testing yang terbentuk, dan
nilai akurasi model akan dirata-ratakan.
3 Membandingkan hasil performa antara algoritma support vector machine,
k- nearest neighbor, neural network, fungsion point dan use case point.
Hasil RMSE metode MLdan metode non ML ini akan dibandingkan. Nilai
RMSE yang paling rendah merupakan metode paling akurat.
4 Dilanjukan dengan menambahkan seleksi atribut pada metode yang paling
akurat.

Dataset

Komparasi

Neural k Nearest Support Vector


Mechine
Function Point Use Case Point
Network Neighbor

Seleksi atrinut

RMSE Model Evalution

Gambar 3.2 Metode yang Diusulkan

46
3.4. Eksperimen dan Pengujian Model

Tahapan eksperimen pada penelitian ini adalah:

1. Mendesain metode machine learning (ML) dan non machine learning (non
ML) dengan memasukkan masing-masing parameter
2. Melakukan training dan testing terhadap masing-masing metode ML dan
non ML dan mencatat hasil RMSE
3. Membandingkan hasil RMSE metode ML dan non ML dan mengambil
hasil yang terbaik
4. Menambahkan seleksi atribut dari hasil metode ML dan mengambil hasil
yang terbaik.

Penelitian yang akan dilakukan dalam eksperimen ini adalah dengan


menggunakan komputer pada Tabel 3.3 dijelaskan untuk melakukan proses
perhitungan terhadap model yang diusulkan. Penggunaan komputer dengan
spesifikasi komputer sebagai berikut:

Tabel 3.3 Spesifikasi Komputer Yang Digunakan


Processor Processor intel core i7-3517u. 1.9GHz
Memori 8 GB
Hardisk 750 GB
Sistem Operasi Microsoft Windows 7
Aplikasi Microsoft Excel 2010 dan Rapidminer 5

3.5. Evaluasi dan Validasi

Model yang terbentuk akan diuji dengan menggunakan metode ML dan metode
non ML. Akurasi akan dihitung dari selisih seluruh prediksi untuk mengetahui
tingkat akurasi. Metode ML dan metode non ML. dihitung dari selisih seluruh
prediksi yang benar dibandingkan dengan seluruh actual effort. Semakin rendah

47
nilai akurasi, semakin baik pula model yang dihasilkan pengujian juga diukur
dengan menggunakan root mean square error (RMSE). RMSE dihitung untuk
setiap proyek. Hal ini menunjukkan perbedaan antara perkiraan dan usaha yang
sebenarnya sehubungan dengan upaya yang sebenarnya. RMSE digunakan untuk
beberapa pengamatan dari RMSE dalam mengatur seluruh data.


n
( X obs,i  X mo del ,i ) 2
i 1
RMSE 
n ...................................(3.1)
Hal ini dihitung untuk satu set proyek sesuai dengan persamaan berikut, Pred (e) =
k / n - kualitas prediksi dihitung satu set proyek n, di mana n adalah jumlah
proyek yang estimasi error (MRE) kurang dari atau sama dengan obs. Dalam
penelitian ini metode pengukuran RMSE di gunakan sebagai tujuan dan hasil
kemudin setelah itu digunakan seleksi atribut pada metode yang terbaik antara
metode ML dan non ML.

48
BAB 4
HASIL DAN PEMBAHASAN

4.1. Hasil

4.1.1. Hasil Pengujian Metode Machine Learning

4.1.1.1. K Nearnest Neigbhors

Pengujian yang diperoleh dengan menggunakan metode machine learning (ML) k-


nearnest neigbhors (kNN), yang mana dilakukan pengujian indikator pada metode
ML kNN yaitu, parameter k merupakan Jumlah digunakan tetangga terdekat.
Weight vote menunjukkan jika orang harus ditimbang dengan kesamaan. Hasil
yang diperoleh adalah nilai RMSE terbaik 6.2 pada dataset Albercth dan nilai
RMSE terbaik 9.4 pada dataset Desherhanis seperti pada Tabel 4.1 dan dan
Tabel 4.2, seperti pada Gambar 4.1 dari sebanyak 150 data, dari 2 buah dataset
yang berbeda dapat dilihat untuk nilai RMSE terbaik untuk metode ML k-nearnest
neigbhors sebesar 6.2.

Tabel 4.1 Hasil Pengujian Dataset Albertch Menggunakan K-Nearnest Neigbhors


Numerical Measure K Weight Vote RMSE
1 Yes 26.8
2 Yes 6.2
3 Yes 8.6
4 Yes 9.5
5 Yes 10.6
MixedMeasures
1 No 7.6
2 No 7.1
3 No 9.5
4 No 10.1
5 No 11.2

49
Tabel 4.2 Hasil Pengujian Dataset Desherhanis Menggunakan K-Nearnest
Neigbhors

Numerical Measure K Weight Vote RMSE


1 Yes 26.8
2 Yes 6.2
3 Yes 8.6
4 Yes 9.5
5 Yes 10.6
MixedMeasures
1 No 7.6
2 No 7.1
3 No 9.5
4 No 10.1
5 No 11.2

Machine Learning kNN

10
9
8
7
6
RMSE

5 9.4
4
3 6.2
2
1
0
Dataset Albercth Dataset Deshernanis
Dataset

Gambar 4.1 Hasil Pengukuran Metode ML kNN

4.1.1.2. Neural Networks

Pengujian yang diperoleh dengan menggunakan metode machine learning (ML)


neural networks (NN), yang mana dilakukan pengujian indikator pada metode ML
NN yaitu, parameter hidden layer menjelaskan nama dan ukuran semua lapisan

50
tersembunyi, training cycles jumlah siklus pelatihan yang digunakan untuk
pelatihan jaringan syaraf, learning rate tingkat belajar menentukan seberapa
banyak kita mengubah bobot pada setiap langkah, momentum hanya
menambahkan sebagian kecil dari update berat sebelumnya dengan yang sekarang
(mencegah maxima lokal dan menghaluskan arah optimasi). Hasil yang diperoleh
dengan menggunakan metode ML NN adalah nilai RMSE terbaik 11.7 pada
dataset Albercth dan nilai RMSE terbaik 10.8 pada dataset Desherhanis seperti
pada Tabel 4.3 dan Tabel 4.4, seperti pada Gambar 4.2 dari sebanyak 150 data,
dari 2 buah dataset yang berbeda dapat dilihat untuk nilai RMSE terbaik untuk
metode neural networks sebesar 10.8.

Tabel 4.3 Hasil Pengujian Dataset Albertch Menggunakan NN

Hidden Layer Neuron Size Traning Cycles Learning Rate Momentum RMSE
1 1 100 0.4 0.1 16.8
1 2 100 0.4 0.1 14.2
1 3 100 0.4 0.1 13.3
1 4 100 0.4 0.1 13.2
1 5 100 0.4 0.1 12.2
2 1 100 0.4 0.1 18.1
2 2 100 0.4 0.1 15.5
2 3 100 0.4 0.1 13.3
2 4 100 0.4 0.1 11.4
2 5 100 0.4 0.1 11.7

Tabel 4.4 Hasil Pengujian Dataset Desherhanis Menggunakan NN

Hidden Layer Neuron Size Traning Cycles Learning Rate Momentum RMSE
1 1 100 0.1 0.1 11.8
1 2 100 0.1 0.1 11.2
1 3 100 0.1 0.1 11.0
1 4 100 0.1 0.1 10.8
1 5 100 0.1 0.1 11.3

51
2 1 100 0.1 0.1 11.8
2 2 100 0.1 0.1 15.6
2 3 100 0.1 0.1 16.3
2 4 100 0.1 0.1 17.9
2 5 100 0.1 0.1 11.4

Machine Learning NN
11.8

11.6

11.4

11.2
RMSE

11
11.7
10.8

10.6
10.8
10.4

10.2
Dataset Albercth Dataset Deshernanis
Dataset

Gambar 4.2 Hasil Pengukuran Metode ML NN

4.1.1.3. Support Vector Machine

Pengujian yang diperoleh dengan menggunakan metode machine learning (ML)


support vector machine (SVM) yang mana dilakukan pengujian indikator pada
metode ML SVM yaitu parameter C merupakan kompleksitas SVM konstan.
untuk nilai C yang berbeda untuk positif dan negatif, epsilon merupakan ketidak
pekaan konstan. Tidak ada kerugian jika prediksi terletak dekat ini untuk nilai
sebenarnya kernel merupakan jenis kernel SVM. Hasil yang diperoleh adalah
nilai RMSE terbaik 11.1 pada dataset Albercth dan nilai RMSE terbaik 11 pada

52
dataset Desherhanis seperti pada Tabel 4.5 dan Tabel 4.6, seperti pada Gambar
4.3 dari sebanyak 150 data, dari 2 buah dataset yang berbeda dapat dilihat untuk
nilai RMSE terbaik untuk metode Support Vector Machine sebesar 11.

Tabel 4.5 Hasil Pengujian Dataset Albertch Menggunakan SVM


C Epsilon Kernel RMSE
0 0 Dot 17.178
0 1 Dot 14.724
1 0 Dot 10.362
1 1 Dot 11.137
0 0 Radial 18.96
0 1 Radial 19.048
1 0 Radial 18.96
1 1 Radial 19.048
0 0 Polynomial 20.294
0 1 Polynomial 17.892
1 0 Polynomial 27.389
1 1 Polynomial 27.683
0 0 Neural 21.951
0 1 Neural 18.348
1 0 Neural 22.632
1 1 Neural 18.246
0 0 Anova 18.428
0 1 Anova 18.388
1 0 Anova 11.231
1 1 Anova 13.009
0 0 Epachnenikov 19.313
0 1 Epachnenikov 19.442
1 0 Epachnenikov 19.313
1 1 Epachnenikov 19.442
0 0 Multiquadric 22.718
0 1 Multiquadric 22.718
1 0 Multiquadric 22.718
1 1 Multiquadric 22.718

53
Tabel 4.6 Hasil Pengujian Dataset Desherhanis Menggunakan SVM
C Epsilon Kernel RMSE
0 0 Dot 17.178
0 1 Dot 14.724
1 0 Dot 10.362
1 1 Dot 11.137
0 0 Radial 18.96
0 1 Radial 19.048
1 0 Radial 18.96
1 1 Radial 19.048
0 0 Polynomial 20.294
0 1 Polynomial 17.892
1 0 Polynomial 19.048
1 1 Polynomial 18.96
0 0 Neural 19.048
0 1 Neural 20.294
1 0 Neural 17.892
1 1 Neural 27.389
0 0 Anova 18.246
0 1 Anova 18.428
1 0 Anova 18.388
1 1 Anova 11.231
0 0 Epachnenikov 13.009
0 1 Epachnenikov 19.313
1 0 Epachnenikov 19.442
1 1 Epachnenikov 19.313
0 0 Multiquadric 19.442
0 1 Multiquadric 22.718
1 0 Multiquadric 22.718
1 1 Multiquadric 22.718

54
Machine Learning SVM
11.12
11.1
11.08
11.06
RMSE

11.04
11.02 11.1
11
10.98
11
10.96
10.94
Dataset Albercth Dataset Deshernanis
Dataset

Gambar 4.3 Hasil Pengukuran Metode ML SVM

4.1.2. Hasil Pengujian Hasil Metode Non Machine Learning

4.1.2.1. Function Point

Pengujian yang diperoleh dengan menggunakan metode non machine learning


(non ML) function point (FP) yang mana dilakukan pengujian indikator pada
metode non ML FP yaitu parameter LOC yaitu line of code. Hasil yang diperoleh
adalah nilai RMSE terbaik 4.6 pada dataset albercth dan nilai RMSE terbaik 4.7
pada dataset desherhanis seperti pada Tabel 4.7 dan Tabel 4.8, seperti pada
Gambar 4.4 dari sebanyak 150 data, dari 2 buah dataset yang berbeda dapat dilihat
untuk nilai RMSE terbaik untuk metode non ML FP sebesar 4.7.

Tabel 4.7 Hasil Pengujian Dataset Albertch Menggunakan FP


LOC Loc/1000 Effort Time RMSE
29837500 29837.5 41773 104.1
4.6
41530170 41530.2 58142 116.2

55
2565860 2565.9 3592 45.9
5510340 5510.3 7714 59.3
2109745 2109.7 2954 43.0
856075 856.1 1199 31.9
597575 597.6 837 28.3
858330 858.3 1202 31.9
5198600 5198.6 7278 58.1
5895450 5895.5 8254 60.6
2872320 2872.3 4021 47.7
776160 776.2 1087 30.8
2201760 2201.8 3082 43.7
5176380 5176.4 7247 58.1
459800 459.8 644 25.9
2787840 2787.8 3903 47.2
3866280 3866.3 5413 52.7
1694000 1694.0 2372 40.0
12022725 12022.7 16832 76.9
20836860 20836.9 29172 92.4
2172500 2172.5 3042 43.5
5343800 5343.8 7481 58.7
426855 426.9 598 25.3
600600 600.6 841 28.3

Tabel 4.8 Hasil Pengujian Dataset Desherharnis Menggunakan FP


LOC Loc/1000 Effort Time RMSE

97240 97.24 136.1 15.4


225060 225.06 315.1 20.4

59400 59.4 83.2 13.1

196350 196.35 274.9 19.5 21.3

124080 124.08 173.7 16.7

186010 186.01 260.4 19.2

57750 57.75 80.9 13.0

56
71500 71.5 100.1 13.9

145200 145.2 203.3 17.6


50160 50.16 70.2 12.4

130680 130.68 183.0 17.0

246400 246.4 345.0 21.0


75240 75.24 105.3 14.2

107360 107.36 150.3 16.0

186340 186.34 260.9 19.2


68640 68.64 96.1 13.7

101695 101.695 142.4 15.7

347600 347.6 486.6 23.6


445830 445.83 624.2 25.6

54230 54.23 75.9 12.7

503030 503.03 704.2 26.7

317900 317.9 445.1 22.9

268620 268.62 376.1 21.7

167310 167.31 234.2 18.5

363000 363 508.2 23.9

417450 417.45 584.4 25.1

478225 478.225 669.5 26.2


694980 694.98 973.0 29.7

252450 252.45 353.4 21.2

563695 563.695 789.2 27.7


190080 190.08 266.1 19.3

56430 56.43 79.0 12.9

175890 175.89 246.2 18.8


175175 175.175 245.2 18.8

102410 102.41 143.4 15.7

222530 222.53 311.5 20.3

135520 135.52 189.7 17.2

190080 190.08 266.1 19.3

58410 58.41 81.8 13.0

57
414700 414.7 580.6 25.0

73920 73.92 103.5 14.1


166980 166.98 233.8 18.5

74250 74.25 104.0 14.1

632500 632.5 885.5 28.8


242550 242.55 339.6 20.9

346940 346.94 485.7 23.6

10780 10.78 15.1 7.4


504900 504.9 706.9 26.7

12870 12.87 18.0 7.9

172260 172.26 241.2 18.7


71280 71.28 99.8 13.9

86240 86.24 120.7 14.8

232925 232.925 326.1 20.6

95040 95.04 133.1 15.3

24475 24.475 34.3 9.7

340560 340.56 476.8 23.4

73920 73.92 103.5 14.1

40040 40.04 56.1 11.5

103950 103.95 145.5 15.8


24640 24.64 34.5 9.8

135355 135.355 189.5 17.2

37125 37.125 52.0 11.2


76230 76.23 106.7 14.2

56980 56.98 79.8 12.9

186725 186.725 261.4 19.2


169400 169.4 237.2 18.6

354200 354.2 495.9 23.7

46035 46.035 64.4 12.0

59125 59.125 82.8 13.1

28215 28.215 39.5 10.2

13860 13.86 19.4 8.1

58
55055 55.055 77.1 12.8

324610 324.61 454.5 23.1


24090 24.09 33.7 9.7

173030 173.03 242.2 18.7

400400 400.4 560.6 24.7


362505 362.505 507.5 23.9

136510 136.51 191.1 17.3

424600 424.6 594.4 25.2


416240 416.24 582.7 25.1

450670 450.67 630.9 25.7

Non Machine Learning FP


25

20

15
RMSE

10 21.3

5
4.6
0
Dataset Albercth Dataset Deshernanis
Dataset

Gambar 4.4 Hasil Pengukuran Metode Non ML FP

4.1.2.2. Use Case Point

Pengujian yang diperoleh dengan menggunakan metode non machine learing (non
ML) use case point (UCP) yang mana dilakukan pengujian indikator pada metode
non ML UCP yaitu parameter UCP yaitu jumlah use case dan klasifikasinya, TCF
merupakan salah satu faktor diterapkan pada perkiraan ukuran perangkat lunak

59
dalam rangka untuk memperhitungkan pertimbangan teknis dari sistem, ECF
adalah faktor lain diterapkan pada perkiraan ukuran perangkat lunak dalam rangka
untuk memperhitungkan pertimbangan lingkungan dari sistem. Hasil yang
diperoleh dari sebanyak 150 data, dari 2 buah dataset yang berbeda dapat dilihat
seperti pada Tabel 4.9 dan dan Tabel 4.10, seperti pada Gambar 4.5 untuk nilai
RMSE terbaik untuk metode non ML UCP sebesar 8.8.

Tabel 4.9 Hasil Pengujian Dataset Albertch Menggunakan Use Case Point
UUCP TFC EF Effort Time RMSE
310 1750 1 542500 244.7
397 1902 1 755094 273.2
109 428 0.8 37321.6 100.3
132 759 1.15 115216.2 146.0
89 431 0.9 34523.1 97.7
55 283 0.75 11673.75 68.1
53 205 0.8 8692 61.7
54 289 1.1 17166.6 77.4
139 680 0.95 89794 134.3
135 794 1.15 123268.5 149.3
102 512 1.1 57446.4 115.8
63 224 0.75 10584 65.9
8.8
96 417 0.85 34027.2 97.2
138 682 0.85 79998.6 129.3
40 209 0.95 7942 59.9
99 512 1.05 53222.4 112.8
116 606 1.1 77325.6 127.8
77 400 1.1 33880 97.1
177 1235 1.15 251384.3 189.3
241 1572 1.2 454622.4 230.7
79 500 1.05 41475 103.8
140 694 1 97160 137.9
39 199 1.05 8149.05 60.4
42 260 0.95 10374 65.4

60
Tabel 4.10 Hasil Pengujian Dataset Desherharnis Menggunakan UCP
UUCP TFC EF Effort Time RMSE
336 305 305 31256400 945
348 197 321 22006476 841
101 40 100 404000 222
333 200 319 21245400 831
232 140 234 7600320 590
230 97 186 4149660 482
170 119 161 3257030 445
239 186 238 10580052 659
277 172 260 12387440 694
127 78 116 1149096 314
261 167 266 11594142 679
311 146 258 11714748 681
107 33 105 370755 216
248 162 223 8959248 623
348 223 344 26695776 897
178 119 167 3537394 457
64.5
151 57 100 860700 285
346 68 384 9034752 625
361 9 395 1283355 326
115 58 92 613640 255
615 318 587 1.15E+08 1458
289 88 258 6561456 562
484 306 438 64869552 1205
436 304 382 50631808 1110
316 89 289 8127836 603
343 86 316 9321368 631
349 71 306 7582374 589
530 148 472 37023680 1000
290 116 286 9621040 638
498 175 452 39391800 1021
217 79 207 3548601 458
195 145 183 5174325 519

61
308 174 252 13505184 714
320 194 285 17692800 782
218 126 175 4806900 506
466 317 436 64406792 1203
379 289 377 41293187 1037
384 260 404 40335360 1029
198 158 217 6788628 568
575 302 447 77621550 1280
492 451 499 1.11E+08 1441
721 661 793 3.78E+08 2169
131 64 118 989312 299
641 284 514 93570616 1362
343 182 308 19227208 804
443 173 505 38702695 1015
269 252 259 17557092 780
412 131 311 16785292 768
109 106 145 1675330 356
221 96 204 4328064 489
174 116 188 3794592 468
163 86 135 1892430 371
377 221 342 28494414 916
148 61 157 1417396 337
160 132 221 4667520 501
366 45 432 7115040 577
141 55 167 1295085 327
153 124 176 3339072 448
212 120 246 6258240 553
76 47 79 282188 197
228 126 233 6693624 565
132 101 146 1946472 375
154 78 177 2126124 386
127 69 143 1253109 323
326 194 291 18404004 792
337 224 334 25212992 880
542 323 507 88758462 1338
94 42 73 288204 198

62
130 74 117 1125540 312
126 101 158 2010708 379
105 97 139 1415715 337
178 134 211 5032772 514
671 482 709 2.29E+08 1836
209 213 286 12731862 701
267 139 282 10465866 656
728 473 655 2.26E+08 1826
453 229 398 41287326 1037
331 227 300 22541100 847
657 395 588 1.53E+08 1603
740 469 645 2.24E+08 1822
1150 886 1127 1.15E+09 3142

Non Machine Learning UCP


70

60

50

40
RMSE

30 64.5

20

10
8.8
0
Dataset Albercth Dataset Deshernanis
Dataset

Gambar 4.5 Hasil Pengukuran Metode Non ML UCP

3.1.3. Rangkuman Hasil Komparasi Algoritma Klasifikasi

Pada Tabel 4.11 dapat dilihat hasil komparasi Hasil Komparasi Metode Machine
Lerning dan Non Machine Learning dengan 2 buah dataset.

63
Tabel 4.11 Tabel Hasil Komparasi
Metode Machine Lerning dan Non Machine Learning

Dataset Dataset
Metode Machine Learning
Albercth Deshernanis
6.2 kNN 9.4
11.1 SVM 11
11.7 NN 10.8
Dataset Metode Non Machine Dataset
Albercth Learning Deshernanis
4.6 FP 21.3
8.8 UCP 64.5

Tabel 4.11 merupakan rangkuman hasil komparasi metode ML dan non ML.
Berdasarkan Tabel 4.11 didapat hasil terbaik adalah kNN dengan RMSE 6.2 dari
dataset Albercth dan 9.4 dari dataset Deshermanis

4.1.4. Hasil Pengujian Seleksi Atribut Untuk k NN

4.1.4.1. Hasil Pengujian Seleksi Aribut Forward Selection

Pada pengujian ini, dilakukan uji coba dengan menggunakan algoritma forward
selection. Tabel 4.12 adalah hasil dari percobaan yang telah dilakukan
mengasilkan 2.5 untuk Albercth dan 6.4 Deshernanis untuk penentuan nilai
RMSE.
Tabel 4.12 Tabel Forward Selection
Forward Selection
Dataset Albercth Dataset Deshernanis
K-NN
2.5 6.4

Tabel 4.12 adalah hasil komparasi forward selection. Didapat hasil yang terbaik
pada dataset Albercth 2.5 dan dataset Deshernanis 6.4.

64
4.1.4.2. Backward Elimination

Pada pengujian ini, dilakukan uji coba dengan menggunakan algoritma forward
selection. Tabel 4.13 adalah hasil dari percobaan yang telah dilakukan
mengasilkan 7.5 untuk Albercth dan 7.5 Deshernanis untuk penentuan nilai
RMSE.
Tabel 4.13 Tabel Backward Elimination
Dataset Albercth Metode Machine Learning Dataset Deshernanis
6.2 K-NN 9.4
11.1 SVM 11
11.7 NN 10.8

Tabel 4.13 adalah hasil komparasi forward selection. Didapat hasil yang terbaik
pada dataset Albercth 7.5 dan dataset Deshernanis 7.5

4.2. Pembahasan

4.2.1. Pembahasan Metode Machine Learning

Tabel 4.14 Komparasi RMSE Metode Machine Learning


Backward Elimination
Dataset Albercth Dataset Deshernanis
K-NN
7.5 7.5

Pada penelitian pertama yang menggunakan metode machine learning (ML) kNN,
NN dan SVM, dapat dilihat hasil komparasi RMSE pada Tabel 4.14. Dari Tabel
4.11 dapat kita ketahui bahwa kNN mempunyai nilai RSME yang paling baik,
dengan nilai RMSE 6.2 untuk dataset Albercth dan 9.4 untuk dataset Desherhanis.
NN menghasilkan RMSE 11.7 poin untuk dataset Albercth dan 10.8 untuk dataset
Desherhanis. SVM menghasilkan RMSE 11.1 untuk dataset Albercth dan 11
untuk dataset Desherhanis. Dari hasil tersebut, maka dapat kita simpulkan kNN

65
merupakan metode ML yang baik. Gambar 4.6 merupakan grafik komparasi
RMSE metode ML.

Dari penelitian Wen[3], Nassif[37], dan Kocaguneli[20], juga melakukan


penelitian menghasilkan hal yang berbeda hal ini dikarenakan beberapa faktor
yang mempengaruhi dari hasil tersebut salah satu peneliti Wen[3], juga
mendapatkan hasil untuk nilai estimasi usaha perangkat lunak untuk metode ML
adalah kNN.

Perbandingan Hasil Metode Machine Learning


14

12

10

8
RMS

Dataset Albercth
6 11.7 10.8
11.1 11 Dataset Deshernanis
9.4
4
6.2
2

0
K-NN SVM NN
Machine Learning

Gambar 4.5 Grafik Komparasi RMSE Metode ML

4.2.2. Pembahasan Metode Non Machine Learning

Pada penelitian kedua yang menggunakan metode non machine learning (non
ML) function point (FP) dan use case point (UCP), dapat dilihat hasil komparasi
RMSE pada Tabel 4.15. Dari Tabel 4.15 dapat kita ketahui bahwa FP mempunyai
nilai RSME yang paling baik, dengan nilai RMSE 4.6 poin untuk dataset Albercth

66
dan 21.3 poin untuk dataset Desherhanis. UCP menghasilkan RMSE 8.8 poin
untuk dataset Albercth dan 64.5 poin untuk dataset Desherhanis. Dari hasil
tersebut, maka dapat kita simpulkan FP merupakan metode non ML yang baik.
Gambar 4.6 merupakan grafik komparasi RMSE metode non ML.
Tabel 4.15 Komparasi RMSE Metode Non Machine Learning

Dataset Metode Non Machine Dataset


Albercth Learning Deshernanis
4.6 FP 21.3
8.8 UCP 64.5

Perbandingan Hasil Metode Non Machine Learing


70
60
50
40
RMSE

Dataset Albercth
30 64.5
Dataset Deshernanis
20
10 21.3
4.6 8.8
0
FP UCP
Non Machine Learning

Gambar 4.6 Grafik Komparasi RMSE Non ML

4.2.3. Pembahasan Komparasi Metode Machine Learning dan Non Machine


Learning

Penelititan ketiga adalah komparasi hasil metode machine learning (ML) dan non
machine learning (non ML) terbaik. Pada penelitian pertama, dikomparasikan tiga
metode MLyaitu kNN, NN dan SVM. Didapatkan hasil terbaik adalah kNN. Pada
penelitian kedua, dikomparasikan dua metode non MLyaitu FP dan UCP.
Didapatkan hasil terbaik adalah kNN. Maka pada penelitian ketiga ini

67
dikomparasikan antara kNN dan FP dan menghasilkan kNN sebagai metode
terbaik untuk estimasi perangkat lunak. Gambar 4.7 merupakan hasil komparasi
metode ML dan non ML terbaik untuk estimasi perangkat lunak.

Perbandingan Hasil Metode Machine Learning dan Non Machine Learning

70

60

50

40
RMSE

Dataset Albercth
64.5 Dataset Deshernanis
30

20

10 21.3

11.1 11 11.710.8
9.4 8.8
6.2 4.6
0
K-NN SVM NN FP UCP
Metode Machine Learning dan Non Machine Learning

Gambar 4.7 Perbandingan Hasil


Metode MLdan Non ML

Berdasarkan Tabel 4.15 dan hasil penelitian yang dilakuakan oleh Nassif [19],
Kocaguneli [20] Adriano [21], Nuno Jardim Constantine [22], Felfernig [23]
dapat disimpulkan bahwa Metode ML kNN mendapatkan hasil yang terbaik untuk
digunakan pada estimasi perangkat lunak.

68
4.2.4. Pembahasan Hasil Pengujian Seleksi Atribut Untuk KNN

Penelitian keempat Tabel 4.16 merupakan tabel pengujian seleksi atribut terbaik.
Dari Tabel 4.16 dapat dianalisa untuk seleksi atribut terbaik untuk setiap
algoritma klasifikasi. Untuk kNN, lebih baik menggunakan feature backward
elimination dan forward selection.

Metode seleksi atribut backward elimination (BE) dan forward selection (FS)
merupakan alternative untuk mengurangi kemungkinan adanya multi kolinearitas
dalam model yang dihasilkan. Prosedur ini tidak selalu mengarahkan ke model
yang terbaik, mengingat kita hanya mempertimbangkan sebuah subset kecil dari
semua model-model yang mungkin. Sehingga resiko melewatkan atau kehilangan
model terbaik akan bertambah seiring dengan penambahan jumlah variabel bebas.

Tabel 4.16 Tabel Pengujian Seleksi Aribut Untuk kNN

Seleksi Atribut Untuk kNN


Backward Elimination Forward Selection
Dataset Albercth 7.5 2.5
Dataset Deshernanis 7.5 6.4

Berdasarkan metode seleksi atribut dapat dibedakan menjadi dua tipe, yaitu filter
dan wrapper [17]. Contoh dari tipe filter adalah information gain (IG), chi-square,
dan log likelihood ratio. Contoh dari tipe wrapper adalah forward selection dan
backward elimination [18]. Hasil akurasi dari tipe wrapper lebih tinggi daripada
tipe filter, tetapi hasil ini tercapai dengan tingkat kompleksitas yang besar. Tabel
4.16 dan hasil penelitian dapat disimpulkan bahwa seleksi atribut FS mendapatkan
hasil yang terbaik. Dengan menggunakan kNN untuk dua dataset baik dataset
Albercth dan dataset Deshernanis, algoritma seleksi atribut FS mendapatkan hasil
yang paling baik untuk digunakan pada estimasi usaha perangkat lunak.

69
BAB 5
KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dalam penelitian ini dilakukan pengujian metode machine learning (ML) dan non
machine learning (non ML) dan mengkomparasikan hasil komparasi terbaik untuk
estimasi usaha perangkat lunak (EUPL). Beberapa eksperimen dilakukan dengan
mengkombinasikan metode ML dan non ML. Pada penelitian pertama yang
menggunakan metode ML k-nearnest neigbhors (kNN), neural networks (NN),
support vector machine (SVM), dapat dilihat hasil komparasi dapat kita ketahui
bahwa kNN mempunyai nilai RSME yang paling baik, dengan nilai RMSE 6.2
poin untuk dataset Albercth dan 9.4 poin untuk dataset Desherhanis. NN
menghasilkan RMSE 11.7 poin untuk dataset Albercth dan 10.8 poin untuk
dataset Desherhanis. SVM menghasilkan RMSE 11.1 poin untuk dataset Albercth
dan 11 untuk dataset Desherhanis. Dari hasil tersebut, maka dapat kita simpulkan
kNN merupakan metode ML yang baik.

Pada penelitian kedua yang menggunakan seleksi atribut forward selection (FS)
mendapatkan hasil yang terbaik. Dengan menggunakan kNN untuk dua dataset baik
dataset Albercth dan dataset Deshernanis, algoritma seleksi atribut FS mendapatkan
hasil yang paling baik untuk digunakan pada estimasi usaha perangkat
lunak.menghasilkan kNN dengan seleksi atribut FS sebagai metode terbaik untuk
estimasi perangkat lunak. Berdasarkan hasil eksperimen, dapat disimpulkan
sebagai berikut:

1. Hasil dari metode ML antara kNN, NN dan SVM didapatkan kNN


dengan hasil terbaik dengan nilai RMSE yang paling baik, dengan
nilai RMSE 6.2 untuk dataset Albercth dan 9.4 untuk dataset
Desherhanis. Hasil dari metode non ML antara FP dan UCP
didapatkan FP mempunyai nilai RSME yang paling baik, dengan

70
nilai RMSE 4.6 untuk dataset Albercth dan 21.3 untuk dataset
Desherhanis. Dapat disimpulkan hasil dari komparasi antara kNN
dan FP dan menghasilkan kNN sebagai metode terbaik untuk
estimasi perangkat lunak.

2. Seleksi atribut FS mendapatkan hasil yang terbaik. Dengan


menggunakan kNN untuk dua dataset baik dataset Albercth dan
dataset Deshernanis, algoritma seleksi atribut FS mendapatkan
hasil yang paling baik untuk digunakan pada estimasi usaha
perangkat lunak.menghasilkan kNN dengan seleksi atribut FS
sebagai metode terbaik untuk estimasi perangkat lunak.

5.2. Saran

Estimasi usaha perangkat lunak harus memiliki pemahaman prinsip dari berbagai
metode machine learning maupun non machine learning termasuk kelebihan dan
kekurangannya karena dapat menjadi referensi yang baik dalam memilih metode
yang sesuai. Untuk itu perlu dilakukan banyak penelitian terhadap metode -
metode estimasi yang ada baik metode machine learning maupun metode non
machine learning dengan melakukan perbandingan, kolaborasi atau pun
improvement agar dapat diperoleh metode estimasi yang lebih baik. Diharapkan
pada penelitian kedepannya disarankan untuk memakai lebih dari satu metode
dalam melakukan estimasi dan membandingkan hasilnya agar diperoleh hasil
estimasi yang akurat dan dapat dipercaya.

71
DAFTAR PUSTAKA

[1] A. Dennis, Systems Analysis and Design: An Applied Approach. Wiley; 5


edition (January 18, 2012), 2012, p. 576.
[2] Ian Sommerville, Software engineering 9. Addison-Wesley; 9 edition
(March 13, 2010), 2011, p. 792 pages.
[3] J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review
of MLbased software development effort estimation models,” Inf. Softw.
Technol., vol. 54, no. 1, pp. 41–59, 2011.
[4] J. Wen, S. Li, Z. Lin, Y. Hu, and C. Huang, “Systematic literature review
of MLbased software development effort estimation models,” Inf. Softw.
Technol., vol. 54, no. 1, pp. 41–59, Jan. 2012.
[5] L. H. Putnam, “A General Empirical Solution to the Macro Software Sizing
and Estimating Problem,” IEEE Trans. Softw. Eng., vol. SE-4, no. 4, pp.
345–361, Jul. 1978.
[6] B. W. Boehm and P. N. Papaccio, “Understanding and controlling software
costs,” IEEE Trans. Softw. Eng., 1988.
[7] K. Molokken and M. Jorgensen, “A review of software surveys on software
effort estimation,” … Softw. Eng. 2003. ISESE …, no. 1325, 2003.
[8] A. J. Albrecht and J. E. Gaffney, “Software Function, Source Lines of
Code, and Development Effort Prediction: A Software Science Validation,”
IEEE Trans. Softw. Eng., vol. SE-9, no. 6, pp. 639–648, Nov. 1983.
[9] N. Nunes, L. Constantine, and R. Kazman, “IUCP: Estimating interactive-
software project size with enhanced use-case points,” IEEE Softw., 2011.
[10] M. Shepperd, “9 . Case-based Reasoning and Software Engineering.”
[11] R. D. a. Araújo, A. L. I. I. Oliveira, and S. Soares, “A shift-invariant
morphological system for software development cost estimation,” Expert
Syst. Appl., vol. 38, no. 4, pp. 4162–4168, Apr. 2011.
[12] E. a. El-Sebakhy, “Functional networks as a novel data mining paradigm in
forecasting software development efforts,” Expert Syst. Appl., vol. 38, no.
3, pp. 2187–2194, Mar. 2011.

72
[13] M. Nouriddine and R. Bashroush, “A Performance Optimization Model
towards OAuth 2.0 Adoption in the Enterprise,” vol. 14, pp. 106–110,
2011.
[14] W. Wang and Z. H. Zhou, “Learnability of multi-instance multi-label
learning,” Chinese Sci. Bull., vol. 57, pp. 2488–2491, 2012.
[15] E. R. Carroll, “Estimating software based on use case points,” Companion
to 20th Annu. ACM SIGPLAN Conf. Object-oriented Program. Syst. Lang.
Appl. - OOPSLA ’05, p. 257, 2005.
[16] S. Wang, D. Li, X. Song, Y. Wei, and H. Li, “A feature selection method
based on improved fisher’s discriminant ratio for text sentiment
classification,” Expert Syst. Appl., vol. 38, no. 7, pp. 8696–8702, 2011.
[17] A. Mehmood, A. S. Palli, and M. N. A. Khan, “A Study of Sentiment and
Trend Analysis Techniques for Social Media Content,” Int. J. Mod. Educ.
Comput. Sci., vol. 6, no. December, pp. 47–54, 2014.
[18] D. Lowe and M. Tipping, “Index,” in Scientific Bulletin- …, vol. 10, no. 1,
2005, pp. 217–222.
[19] A. B. Nassif, L. F. Capretz, and D. Ho, “Estimating Software Effort Using
an ANN Model Based on Use Case Points,” 2012 11th Int. Conf. Mach.
Learn. Appl., vol. 7, pp. 42–47, Dec. 2012.
[20] E. Kocaguneli and T. Menzies, “Software effort models should be assessed
via leave-one-out validation,” J. Syst. Softw., vol. 86, no. 7, pp. 1879–1890,
Jul. 2013.
[21] A. L. I. Oliveira, P. L. Braga, R. M. F. Lima, and M. L. Cornélio, “GA-
based method for feature selection and parameters optimization for
MLregression applied to software effort estimation,” Inf. Softw. Technol.,
vol. 52, no. 11, pp. 1155–1166, Nov. 2010.
[22] N. Nunes, L. Constantine, and R. Kazman, “IUCP: Estimating interactive-
software project size with enhanced use-case points,” IEEE Softw., vol. 28,
pp. 64–73, 2011.
[23] S. Dubois, I. Rasovska, and R. De Guio, “Towards an automatic extraction
of Generalized System of Contradictions out of solutionless Design of

73
Experiments,” in 3nd IFIP Working Conference on Computer Aided
Innovation (CAI): Growth and Development of CAI, 2009, vol. 304, pp.
70–79.
[24] E. Papatheocharous and A. S. Andreou, “Hybrid Computational Models for
Software Cost Prediction : An Approach Using Artificial Neural Networks
and Genetic Algorithms,” pp. 87–100, 2009.
[25] A. B. Nassif, L. F. Capretz, and D. Ho, “Software Effort Estimation in the
Early Stages of the Software Life Cycle Using a Cascade Correlation
Neural Network Model,” 2012 13th ACIS Int. Conf. Softw. Eng. Artif.
Intell. Netw. Parallel/Distributed Comput., vol. 2, no. 1, pp. 589–594,
2012.
[26] M. Shepperd and S. MacDonell, “Evaluating prediction systems in software
project estimation,” Inf. Softw. Technol., vol. 54, no. 8, pp. 820–827, Aug.
2012.
[27] D. T. Larose, Discovering Knowledge in Data. 2004.
[28] M. a. Ahmed and Z. Muzaffar, “Handling imprecision and uncertainty in
software development effort prediction: A type-2 fuzzy logic based
framework,” Inf. Softw. Technol., vol. 51, no. 3, pp. 640–654, Mar. 2009.
[29] S. Nebti, “Bio-Inspired Algorithms for Color Image Segmentation,” Int. J.
Comput. Appl., vol. 73, no. 4, pp. 11–16, 2013.
[30] F. Chang, L. Chang, H. Kao, and G. Wu, “Assessing the effort of
meteorological variables for evaporation estimation by self-organizing map
neural network,” J. Hydrol., vol. 384, no. 1–2, pp. 118–129, 2010.
[31] A. I. Galushkin, Neural networks theory. Splinger, 2007, p. 440.
[32] V. Bharathi and U. Shastry, “Neural Network Based Effort Prediction
Model for,” pp. 236–239, 2011.
[33] M. W. Nisar, Y.-J. Wang, and M. Elahi, “Software Development Effort
Estimation Using Fuzzy Logic - A Survey,” 2008 Fifth Int. Conf. Fuzzy
Syst. Knowl. Discov., pp. 421–427, Oct. 2008.

74
[34] R. Moraes, J. F. Valiati, and W. P. Gavião Neto, “Document-level
sentiment classification: An empirical comparison between SVM and
ANN,” Expert Syst. Appl., vol. 40, no. 2, pp. 621–633, Feb. 2013.
[35] M. V Sudhamani and C. R. Venugopal, “Segmentation of Images through
Clustering to Extract Color Features : An Application for Image Retrieval,”
vol. 103, pp. 54–61, 2007.
[36] I. Guyon, J. Weston, S. Barnhill, and V. Vapnik, “Gene selection for cancer
classification using support vector machines,” Mach. Learn., vol. 46, pp.
389–422, 2002.
[37] A. B. Nassif, L. F. Capretz, and D. Ho, “Estimating Software Effort Based
on Use Case Point Model Using Sugeno Fuzzy Inference System,” 2011
IEEE 23rd Int. Conf. Tools with Artif. Intell., pp. 393–398, Nov. 2011.

75

Anda mungkin juga menyukai