Oleh
EGA KARTIKA ADHITYA
P31.2012.01288
................................................... ........................................................
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
“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.”
iii
UNIVERSITAS DIAN NUSWANTORO
PERSETUJUAN TESIS
iv
UNIVERSITAS DIAN NUSWANTORO
PENGESAHAN TESIS
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
v
ABSTRACT
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.
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
xiii
BAB 1
PENDAHULUAN
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].
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].
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.
4
1.5. Manfaat Penelitian
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.
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.
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
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
MMER
Model Evalution
PRED
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
MMER
Model Evalution
PRED
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.
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
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
12
2.1.5. Metode yang Diusulkan Felfernig [23]
13
Data Set
FP Complexity
Classes
MMER
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.
15
Data Set
Data Cleaning
Data Prosesing
Seleksi atribut
60% Traning
Data
SVM Classifier
40% Testing
Data
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.
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
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.
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.
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
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].
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
T
Hasil optimal?
MMRE
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].
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).
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
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.
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.
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].
Pada Tabel 2.3 dijelaskan komponen-komponen function point terdiri dari 5 buah
yaitu sebagai berikut:
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
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
Rumus FP
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.
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).
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.
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)
35
Tabel 2.8 Environmental Factors
Nilai UUCP, TCF dan EF digunakan untuk menghitung UCP atau Unadjusted
Case Points dengan rumus:
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
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
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.
Backward elimination dimulai dengan seluruh fitur yang ada kemudian dikurangi
satu persatu hingga fitur dikurangi lagi, maka error akan meningkat secara
signifikan [35].
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).
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
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.
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
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
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:
Dataset
Komparasi
Seleksi atrinut
46
3.4. Eksperimen dan Pengujian Model
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.
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
49
Tabel 4.2 Hasil Pengujian Dataset Desherhanis Menggunakan K-Nearnest
Neigbhors
10
9
8
7
6
RMSE
5 9.4
4
3 6.2
2
1
0
Dataset Albercth Dataset Deshernanis
Dataset
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.
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
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
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.
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
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
56
71500 71.5 100.1 13.9
57
414700 414.7 580.6 25.0
58
55055 55.055 77.1 12.8
20
15
RMSE
10 21.3
5
4.6
0
Dataset Albercth Dataset Deshernanis
Dataset
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
60
50
40
RMSE
30 64.5
20
10
8.8
0
Dataset Albercth Dataset Deshernanis
Dataset
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
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
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.
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
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 Albercth
30 64.5
Dataset Deshernanis
20
10 21.3
4.6 8.8
0
FP UCP
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.
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
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.
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:
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.
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
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