JURNAL INFORMATIKA HAMZANWADI Vol. 2 No. 1, Mei 2017, hal. 63-80
ISSN: 2527 - 6069
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA PROYEK PENGEMBANGAN PERANGKAT LUNAK Ramli Ahmad1, Baiq Andriska Candra Permana2, Hariman Bahtiar3 1,2,3 Universitas Hamzanwadi
[email protected]
Abstract Software is a discipline that addresses all aspects of software production, starting from the early stages of capturing requirements (user needs analysis), specification (specify the specification of user needs), design, coding, testing to maintenance of the system after use [1]. Accurate estimation is the key to the success of software development projects. There are many mechanisms of the estimated costs and business software, but estimated costs and accurate business is still a challenge for researchers and managers of software development projects [2]. Research that uses neural network method in estimating the cost and effort of software development projects have error rates are still high, so it still needs improvement to obtain a more optimal result. In this study created a model of neural network algorithms and neural network algorithm model based particle swarm optimization to get the architecture in estimating the cost and effort of software development projects and to obtain a lower rate of error. After testing the two models of neural network algorithms and neural network algorithm based on particle swarm optimization, the results obtained are neural network algorithm generates values Magnitude Mean Relative Error (MMRE) of 0965 and Prediction value of 25% or Pred (0.25) by 70% , but after the improvement of the model is based on neural network algorithm particle swarm optimization MMRE value obtained for 0668 and the value Pred (0.25) by 95%. So that both methods have different MMRE value that is equal to 0.297 and the difference in value Pred (0.25) by 25%. This study can be enhanced by the selection of appropriate methods for several attributes such as: virt, turn, often, Aexp, PCAP, vexp, lexp and SCED that could affect attribute weights. Furthermore, comparing datasets COCOMO 81 with another dataset, to see the model and measurement results are better. This research can be developed with other optimization methods such as NN + GA, SVM + PSO, or others. Keywords: Effort and Cost Estimation, Software Engineering, Neural Network, Particle Swarm optimization.
63
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
PENDAHULUAN Perangkat lunak merupakan suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan [1]. Kebutuhan akan perangkat lunak semakin tinggi akibat dari semakin berkembanhnya kemajuan teknologi, akan tetapi beberapa kendala masih sering kali dialami oleh perusahaan yang bergerak dalam bidang pengembang perangkat lunak dalam melakukan estimasi biaya pengembangan perangkat lunak [3]. Estimasi biaya dan usaha proyek adalah suatu kegiatan pengaturan sumber daya dalam mencapai tujuan dan sasaran dari proyek, sehingga proyek dapat berjalan sesuai dengan tahapan dan target yang dikehendaki. Dalam usaha estimasi sering menghadapi dua permasalahan yaitu over-estimates dan under-estimates. Over- estimates (estimasi berlebihan) akan menimbulkan penambahan alokasi sumberdaya dari yang dibutuhkan sehingga akan meningkatkan penanganan managerial. Sedangkan estimasi yang kurang (under-estimates) akan mengurangi kualitas dari produk karena tidak sesuai dengan standar. Untuk itu perlu dilakukan langkah yang hati hati dalam melakukan estimasi suatu proyek software sehingga dapat dicapai keberhasilan proyek yaitu tepat waktu, sesuai budget dan terpenuhinya standar kualitas produk [4]. Nilai Mean Magnitude Relative Error (MMRE) dan Prediction 25% (Pred 0.25) adalah nilai-nilai yang menjadi ukuran dalam menentukan hasil estimasi biaya dan usaha yang lebih, jika nilai MMRE makin rendah dan Pred 0.25 makin tinggi maka kinerja dari metode-metode yang digunakan para peneliti dalam mengestimasi biaya dan usaha proyek pengembangan perangkat lunak dianggap makin maksimal. Neural Network [2], COCOMO, Gaussian Membership Function (GMF),Trapezoidal Membership Function (TMF) [5], Radial Basis Function Neural Network (RBFNN) [6], dan tiga metode fuzzy logic yaitu: Triangular Membership Function (TRMF), Trapezoidal Membership Function (TMF) dan gaussian membership function (GMF) [7], adalah metode-metode yang diusulkan oleh banyak peneliti untuk mengestimasi biaya dan usaha proyek pengembangan perangkat lunak pada dataset yang sama yaitu dataset cocomo 81. Neural Network memiliki kelebihan pada prediksi nonlinear, kuat di parallel processing dan kemampuan untuk mentoleransi kesalahan, tapi memiliki kelemahan pada perlunya data training yang besar, over-fitting, lambatnya konvergensi, dan sifatnya yang local optimum [8]. 64
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
Particle Swarm Optimization (PSO) adalah metode optimisasi yang terbukti efektif digunakan untuk memecahkan masalah optimisasi multidimensi dan multi parameter pada pembelajaran machine learning seperti di neural network, support vector machine, dan classifier yang lainnya dengan memilih fitur yang sesuai untuk bobot atribut agar kinerja metode neural network lebih maksimal [9]. Pada penelitian ini particle swarm optimization akan diterapkan untuk memecahkan masalah yang terjadi pada neural network dengan memilih fitur pada bobot atribut untuk memaksimalkan kinerja dari model neural network sehingga hasil estimasi proyek pengembangan perangkat lunak memiliki tingkat error yang lebih rendah.
Neural Network Neural network adalah suatu sistem pemroses informasi yang memiliki karakteristik menyerupai dengan jaringan syaraf biologi pada manusia. Neural network didefinisikan sebagai sistem komputasi di mana arsitektur dan operasi diilhami dari pengetahuan syaraf biologis
di dalam otak,
tentang sel
yang merupakan salah satu representasi buatan dari otak
manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut [10]. Neural network dibuat berdasarkan model syaraf manusia tetapi dengan bagian - bagian yang lebih sederhana. Komponen terkecil dari neural network adalah unit atau disebut
dengan
neuron
dimana
neuron
tersebut
yang
biasa
akan mentransformasikan informasi
yang diterima menuju neuron lainnya [11]. HIDEN LAYER
INPUT
HIDEN LAYER
OUTPUT
HIDEN LAYER
OUTPUT
INPUT
INPUT
HIDEN LAYER
Gambar 2.1 Model neural network Neural network terdiri dari dua atau lebih lapisan, meskipun sebagian besar jaringan terdiri dari tiga lapisan: lapisan input, lapisan tersembunyi, dan lapisan output 65
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
[12]. Pendekatan neural network dimotivasi oleh jaringan syaraf biologis. Secara kasar, neural network adalah satu set terhubung input/output unit, di mana masing-masing sambungan memiliki berat yang terkait dengannya. Neural network memiliki beberapa properti yang membuat
mereka populer untuk clustering.
Pertama, neural network adalah arsitektur
pengolahan inheren paralel dan terdistribusi. Kedua, neural network belajar dengan menyesuaikan bobot interkoneksi dengan data, Hal ini memungkinkan neural network untuk "menormalkan" pola dan bertindak sebagai fitur (atribut) extractors untuk
kelompok
yang
berbeda. Ketiga, neural network memproses vektor numerik dan membutuhkan pola objek untuk diwakili oleh fitur kuantitatif saja [13]. Neural network terdiri dari kumpulan node (neuron) dan relasi. Ada tiga tipe node (neuron) yaitu, input, hidden dan output. Setiap relasi menghubungkan dua buah node dengan bobot tertentu dan juga terdapat arah yang menujukkan aliran data dalam proses [14]. Input node terdapat pada layer pertama dalam neural network. Secara umum setiap input node merepresentasikan sebuah input parameter seperti umur, jenis kelamin, atau pendapatan. Hidden node merupakan node yang terdapat di bagian tengah. Hidden node ini menerima masukan dari input node pada layer pertama atau dari hidden node dari layer sebelumnya. Hidden node mengombinasikan
semua
masukan
berdasarkan
bobot
dari
mengkalkulasikan, dan memberikan keluaran untuk layer berikutnya.
relasi
yang
terhubung,
Output
node
mempresentasikan atribut yang diprediksi [14]. Setiap node (neuron) dalam neural network merupakan sebuah unit pemrosesan. Tiap node memiliki beberapa masukan dan sebuah keluaran. Setiap node mengkombinasikan beberapa nilai masukan, melakukan kalkulasi, dan membangkitkan nilai keluaran (aktifasi). Dalam setiap node 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 [14]. Serta beberapa
fungsi aktifasi
yang dapat digunakan yaitu heaviside
(threshold), step activation, piecewise, linear, gaussian, sigmoid, hyperbolic tangent [13]. Salah satu keuntungan menggunakan neural network adalah bahwa neural network cukup kuat sehubungan dengan data. Karena neural network berisi banyak node (neuron buatan) dengan bobot ditugaskan untuk setiap koneksi [12]. Algoritma neural network mempunyai karakteristik-karakteristik lainnya antara lain [10] : 66
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
1. Masukan dapat berupa nilai diskrit atau real yang memiliki banyak dimensi.. 2. Keluaran berupa vektor yang terdiri dari beberapa nilai diskrit atau real 3. Dapat mengetahui permasalahan secara black box, dengan hanya mengetahui nilai masukan serta keluarannya saja. 4. Mampu menangani pembelajaran terhadap data yang memiliki derau (noise). 5. Bentuk dari fungsi target pembelajaran tidak diketahui karena hanya berupa bobot-bobot nilai masukan pada setiap neuron. 6. Karena harus mengubah banyak nilai bobot pada proses pembelajaran, maka waktu pembelajaran menjadi lama, sehingga tidak cocok untuk masalah- masalah yang memerlukan waktu cepat dalam pembelajaran. 7. Neural network hasil pembelajaran tiruan dapat dijalankan dengan tepat.
Penelitian di bidang neural network dimulai pada masa komputer digital. McCulloch dan Pitts [15], mengemukakan model matematika pertama untuk neural
network.
Rosenblatt
[16], mengemukakan model perceptron dan algoritma pembelajaran pada tahun 1962 [17]. Minsky dan Papert [18], menunjukkan
keterbatasan
single layer perceptron
untuk
menyelesaikan masalah yang nonlinearly separable. Kemudian Rumelhart, Hinton, and Williams [19], yang mempresentasikan algoritma backpropagation untuk multilayer perceptron yang dapat menyelesaikan masalah yang nonlinearly separable [20]. Metode pelatihan terbimbing/terawasi (supervised learning) adalah pelatihan yang memasukkan target keluaran dalam data untuk proses pelatihan. Ada beberapa metode pelatihan terbimbing yang telah ditemukan oleh para peneliti,
diantaranya
adalah
yang paling sering diaplikasikan adalah perseptron dan
backpropagation (feedforward).
Algoritma Backpropagation Algoritma pelatihan backpropagation atau ada yang diterjemahkan menjadi propagasi balik pertama kali dirumuskan oleh Paul Werbos pada tahun 1974 dan dipopulerkan oleh Rumelhart bersama McClelland untuk dipakai pada neural network. Meode backpropagation pada awalnya dirancang untuk neural network feedforward, tetapi pada perkembangannya, metode ini diadaptasi untuk pembelajaran pada model neural network lainnya [10]. Salah
67
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
satu metode pelatihan terawasi pada neural network adalah metode backpropagation, di mana ciri dari metode ini adalah meminimalkan error pada output yang dihasilkan oleh jaringan. Algoritma sederhana
backpropagation
yaitu: jika
mempunyai
keluaran memberikan
pengatuaran
hubungan
yang sangat
hasil yang salah, maka bobot (weight)
dikoreksi supaya galatnya dapat diperkecil dan respon jaringan selanjutnya diharapkan akan mendekati nilai yang benar. Algoritma ini juga berkemampuan untuk memperbaiki bobot pada lapisan tersembunyi (hidden layer) [21]. Algoritma pelatihan bakpropagation terdiri dari dua tahapan yaitu feedforward dan bakpropagation dari galatnya. Langkah pembelajaran dalam algoritma bakpropagation adalah sebagai berikut [22]: Langkah 1 : Inisialisasi bobot jaringan secara acak (biasanya antara -0.1 sampai 1.0) Langkah 2 : Untuk
setiap
data
pada
data
training,
hitung
input
untuk
simpul
berdasarkan nilai input dan bobot jaringan saat itu, menggunakan rumus: ∑
(2.1)
Langkah 3 : Berdasarkan input dari langkah dua, selanjutnya membangkitkan output untuk simpul menggunakan fungsi aktifasi sigmoid: (2.2) Langkah 4 : Hitung nilai Error antara nilai yang diprediksi dengan nilai yang sesungguhnya menggunakan rumus: (
)
(2.3)
Langkah 5 : Setelah nilai Error dihitung, selanjutnya dibalik ke layer sebelumnya (bakpropagation). Untuk menghitung nilai Error pada hidden layer, menggunakan rumus: ∑
(2.4)
Langkah 6 : Nilai Error yang dihasilkan dari langkah sebelumnya digunakan untuk memperbarui bobot relasi menggunakan rumus: Wij = Wij + l * Errorj * Outputi Keterangan Notasi: Outputj
= Output aktual dari simpul j
Errork = error simpul k Wjk
= Bobot relasi dari simpul j ke simpul k pada layer berikutnya
Outputj
= Output aktual dari simpul j 68
(2.5)
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
Targetj = Nilai target yang sudah diketahui pada data training Oi
= Output simpul i dari layer sebelumnya
wij
= bobot relasi dari simpul i pada layer sebelumnya ke simpul j
ᶿj
= bias (sebagai pembatas)
Wij
= bobot relasi dari unit i pada layer sebelumnya ke unit j
l
= learning rate (konstanta, nilainya antara 0 sampai dengan 1)
Errorj = Error pada output layer simpul j Outputi
= Output dari simpul i
Feature Selection Feature
Selection
terkait
erat dengan masalah
pengurangan
dimensi dimana
tujuannya adalah untuk mengidentifikasi fitur dalam kumpulan data-sama pentingnya,
dan
membuang fitur lain seperti informasi yang tidak relevan dan berlebihan dan akurasi dari seleksinya pada masa depan yang dapat ditingkatkan. 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 di mana algoritma data mining dapat menjaga tingkat kesalahan di bawah perbatasan garis efisiensi [25]. Masalah feature selection
mengacu pada pemilihan fitur yang sesuai yang harus
diperkenalkan dalam analisis untuk memaksimalkan kinerja dari model yang dihasilkan. Feature selection adalah proses komputasi, yang digunakan untuk memilih satu set fitur yang mengoptimalkan langkah evaluasi yang mewakili kualitas fitur [24]. Tujuan seleksi fitur adalah untuk pengurangan fitur, untuk menghilangkan dari dataset subset dari variabel yang tidak dianggap relevan untuk tujuan dari kegiatan data mining dan fitur metode seleksi dapat diklasifikasikan ke dalam tiga kategori utama [26]: 1. Metode filter Metode Filter adalah memilih atribut yang relevan sebelum pindah ke tahap pembelajaran berikutnya, atribut yang dianggap paling penting yang dipilih untuk pembelajar, sedangkan sisanya dikecualikan. 2. Metode wrapper
69
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
Metode wrapper menilai sekelompok variabel dengan menggunakan klasifikasi yang sama atau algoritma regresi digunakan untuk memprediksi nilai dari variable target. 3. Metode embedded. Untuk metode embedded, proses seleksi atribut terletak di dalam algoritma pembelajaran, sehingga pemilihan set optimal atribut secara langsung dibuat selama fase generasi model.
Particle Swarm Optimization Particle Swarm Optimization (PSO) adalah teknik optimasi berbasis populasi yang dikembangkan oleh Eberhart dan Kennedy pada tahun 1995, yang terinspirasi oleh perilaku sosial kawanan burung atau ikan [23]. Particle swarm optimization dapat diasumsikan sebagai kelompok burung secara mencari makanan disuatu daerah. Burung tersebut tidak tahu dimana makanan tersebut berada, tapi mereka tahu sebarapa jauh makanan itu berada, jadi strategi terbaik untuk menemukan makanan tersebut adalah dengan mengikuti burung yang terdekat dari makanan tersebut [24]. Particle swarm optimization
digunakan
untuk memecahkan
masalah optimasi.
Serupa dengan algoritma genetik (GA), Particle swarm optimization melakukan
pencarian
menggunakan populasi (swarm) dari individu (partikel) yang akan diperbaharui
dari
iterasi. Particle swarm optimization memiliki beberapa parameter seperti posisi, kecepatan, kecepatan maksimum, konstanta percepatan, dan berat inersia. Particle swarm optimization memiliki perbandingan lebih atau bahkan pencarian kinerja lebih unggul untuk banyak masalah optimasi dengan lebih cepat dan tingkat konvergensi yang lebih stabil [23]. Untuk menemukan solusi yang optimal, masing-masing partikel bergerak kearah posisi yang terbaik sebelumnya dan posisi terbaik secara global. Sebagai contoh, dinyatakan sebelumnya
sebagai:
xi =
dari partikel
(xi1, xi2,....xid) ke-i disimpan
dalam
ruang
d- dimensi.
dan dinyatakan sebagai
pbesti
partikel Posisi =
ke-i
terbaik (pbesti,1,
pbesti,2,...pbesti,d). Indeks partikel terbaik diantara semua partikel dalam kawanan group dinyatakan sebagai gbestd. Kecepatan partikel dinyatakan sebagai: vi = (vi,1,vi,2,....vi,d). Modifikasi kecepatan dan posisi partikel dapat dihitung menggunakan kecepatan saat ini dan jarak pbesti, gbestd seperti ditunjukan persamaan berikut: vi,d = w * vi,d + c1 * R * (pbesti,d - xi,d) + c2 * R * (gbestd - xi,d) 70
(2.6)
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
xid = xi,d + vi,d
(2.7)
Dimana: Vi, d
= Kecepatan partikel ke-i pada iterasi ke-i
w
= Faktor bobot inersia
c1, c2 = Konstanta akeselerasi (learning rate) R
= Bilangan random (0-1)
Xi, d
= Posisi saat ini dari partikel ke-i pada iterasi ke-i
pbesti = Posisi terbaik sebelumnya dari partikel ke-i gbesti = Partikel terbaik diantara semua partikel dalam satu kelompok atau populasi n
= Jumlah partikel dalam kelompok
d
= Dimensi Persamaan (2.6) menghitung kecepatan baru untuk tiap partikel (solusi potensial)
berdasarkan pada kecepatan sebelumnya (Vi,m), lokasi partikel dimana nilai fitness terbaik telah dicapai (pbest), dan lokasi populasi global (gbest untuk versi global, lbest untuk versi local) atau local neighborhood pada algoritma versi local dimana nilai fitness terbaik telah dicapai. Persamaan (2.7) memperbaharui posisi tiap partikel pada ruang solusi. Dua bilangan acak c1 dan c2 dibangkitkan sendiri. Penggunaan berat inersia w telah memberikan performa yang meningkat pada sejumlah aplikasi. Hasil dari perhitungan partikel yaitu kecepatan partikel diantara interval (0 dan 1) [23].
Perangkat Lunak (Software) Software adalah perintah (program komputer) yang dieksekusi memberikan fungsi dan petunjuk kerja seperti yang diinginkan. Struktur data yang memungkinkan program memanipulasi informasi secara proporsional dan dokumen yang menggambarkan operasi dan kegunaan program. Software memiliki dua peran, disatu sisi berfungsi sebagai sebuah produk dan disisi lain sebagai pengontrol pembuatan sebuah produk.
kerangka pemikiran Komponen
dari
model
kerangka
pemikiran
penelitian
ini
adalah Indikator,
metode yang diusulkan, objektivitas, dan Pengukuran. Kerangka pemikiran pada penelitian ini dimulai dari estimasi cocomo81 dataset kemudian seleksi atribut oleh PSO selanjutnya data 71
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
diestimasi menggunakan Neural Network dengan pengukuran akhirnya diharapkan adanya peningkatan pada MMRE dan PRED. Berdasarkan anlisa diatas maka dengan ini penulis membuat sebuah soft computing dengan mengunakan neural network berbasis Particle Swarm Optimization. Metode yang diusulkan
Indikator
Objektivitas
Pengukuran
Cocomo81 Dataset
Particle Swarm Optimization
MMRE Model enhancement
Hidden Layer Software Estmstion Neural Network
Neuron Size
PRED
Activation Function Variabel yang diamati
Neural Network berbasis PSO
Gambar 2.2 Kerangka pemikiran
Pada peneilitian ini, data set yang digunakan adalah data set cocomo81. Sedangkan metode yang diusulkan (Proposed Method) adalah menggunakan metode neural network, di mana pada proses seleksi fiturnya dibantu oleh Particle Swarm Optimization. Indikator yang diamati adalah parameter yang terdiri dari hidden layer, neuron size, dan activation
function
pada algoritma neural network. Tujuan (Objektivitas) pada penelitian ini adalah adanya peningkatan magnitude relative error dan prediction pada model, dimana peningkatan yang di harapkan pada MMRE dan PRED.
kerangka teori dan hiotesis Dengan menganalisa cara kerja dari particle swarm optimization PSO dalam mengoptimasi neural network. Dapat disusun hipotesis menegenai kinerja dari kedua metode tersebut dan membandingkan hasil pengolahan data tanpa menggunakan PSO dengan hasil pengolahan data menggunakan PSO. Hipotesis akan diuji untuk membuktikan adanya perbedaan antara neural network dengan neural network ditambah PSO. Untuk membuktikan adanya perbedaan antara kedua metode tersebut, penulis menggunakan data dari cocomo81. Kedua metode akan diteliti masing-masing
72
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
sampai kedua metode tersebut selesai. Setelah itu kedua metode akan dibandingkan, yang akan menentukan perbedaan antara kedua metode tersebut. Variable yang akan diukur adalah data-data actual dan estimasi sebagai perbandingan antara hasil estimasi dengan data actual sebenarnya. Semua data tersebut akan diproses menjadi rasio estimasi yang digunakan dalam menentukan keakuratan teknik estimasi biaya dan usaha perangkat lunak.
METODE Desain eksperimen Dalam penelitian ini desain eksperimen yang diusulkan berdasarkan state of the art tentang model Neural Network berbasis Particle Swarm Optimazation untuk memperkecil tingkat error dalam estimasi biaya dan usaha proyek pengembangan perangkat lunak. Untuk memperkecil tingkat error dari estimasi Neural network dilakukan penyesuaian parameter-parameter yang ada pada neural network
sehingga didapat model arsitektur neural network yang terbaik.
Selanjutnya arsitektur neural network tersebut dioptimasi bobotnya dengan menggunakan PSO sehingga menghasilkan output berupa Mean Magnitude Relative Error (MMRE) yang terkecil dan Prediction 0.25 atau PRED 25%. TAHAP 1
Algoritma: Neural Network Tanpa PSO
Model: Neural Network Tanpa PSO
TAHAP 2
Pengujian: Cross Validasi
Data: COCOMO 81
Evaluasi: MMRE, PRED
TAHAP 5
Algoritma: Neural Network + PSO
Komparasi: MMRE, PRED pada NN dan NN+PSO
Gambar 3.1 Desain eksperimen Model: Neural Network + PSO
Pengujian: Cross Validasi
Evaluasi: MMRE, PRED
TAHAP 4
TAHAP 3
Berdasarkan gambar 3.1 desain eksperimen dibagi menjadi 5 tahap yaitu: 1. Tahap 1 : data diolah menggunakan model neural network dan diuji dengan cross validasi dimana data diuji sebanyak 10 kali dengan perbandingan jumlah data yang dijadikan data training dan data testing yaitu mulai dari 10% untuk data training dan 90% untuk data testing hingga 90% untuk data training dan 10% untuk data testing 73
untuk mendapatkan
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
hasil estimasi yang terbaik. 2. Tahap 2 : data hasil estimasi pada tahap 1 diolah kembali menggunakan exel dengan memasukkan formula sesuai dengan rumus untuk mendapatkan nilai MMRE dan PRED. 3. Tahap 3: sama seperti tahap 1 bedanya hanya pada model yang digunakan pada tahap ini data diolah menggunakan model neural network berbasis particle swarm optimization. 4. Tahap 4 : data hasil estimasi pada tahap 2 diolah kembali menggunakan exel dengan memasukkan formula sesuai dengan rumus untuk mendapatkan nilai MMRE dan PRED. 5. Tahap 5 : nilai MMRE dan PRED yang didapatkan pada tahap 2 dan tahap 4 dibandingkan untuk mendapatkan nilai MMRE dan PRED terbaik dan umtuk mengetahui apakah neural network berbasis PSO lebih baik dari pada neural network. Pada gambar diatas menunjukan proses yang dilakukan dalam tahap modeling untuk estimasi biaya dan usaha proyek pengembangan perangkat lunak dengan menggunakan dua metode yaitu algoritma neural network dan algoritma neural network berbasis particle swarm optimization (PSO). 1. Neural Network yaitu suatu metode komputasi yang meniru sintem jaringan saraf. Metode ini menggunakan elemen perhitungan non-nonlinear dasar yang disebut neuron
yang
diorganisasikan sebagai jaringan yang saling berhubungan. 2. Neural Network + PSO yaitu metode untuk meningkatkan ketelitian dalam proses Feature selection dengan cara menyeleksi fitur dari sebuah model, fitur yang dipilih adalah metode yang memiliki nilai bobot yang diatas “0”.
HASIL PENELITIAN DAN PEMBAHASAN Parameter Neural Network dan Particle Swarm Optimazation Berdasarkan eksperimen yang telah dilakukan dapat dijelaskan sebagai berikut: Tabel 4. 1 Hasil eksperimen penetuan nilai training cycles untuk kedua metode
74
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
Berdasarkan hasil percobaan di atas, maka untuk parameter neural network dipilih nilai 2000 untuk training cycle, 0.3 untuk learning rate dan nilai 0.2 untuk momentum sedangkan neural network berbasis particle swarm optimization dipilih nilai 1800 untuk training cycle, 0.3 untuk learning rate dan nilai 0.2 untuk momentum dengan perolehan nilai MMRE untuk masing-masing metode yaitu 1.284 untuk neural network dan 1.392 untuk neural network berbasis particle swarm optimization. Pada tahap ini nilai MMRE neural network lebih rendah dari pada neural network berbasis particle swarm optimization. Tabel 4. 2 Hasil eksperimen penetuan nilai learning rate untuk kedua metode
Berdasarkan hasil percobaan di atas, maka untuk parameter neural network dipilih nilai 2000 untuk training cycle, 0.8 untuk learning rate dan nilai 0.2 untuk momentum sedangkan neural network berbasis particle swarm optimization dipilih nilai 1800 untuk training cycle, 0.4 untuk learning rate dan nilai 0.2 untuk momentum dengan perolehan nilai MMRE untuk 75
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
masing-masing metode yaitu 1.048 untuk neural network dan 1.272 untuk neural network berbasis particle swarm optimization. Pada tahap ini nilai MMRE neural network lebih rendah dari pada neural network berbasis particle swarm optimization. Tabel 4. 3 Hasil eksperimen penetuan nilai momentum untuk kedua metode
Berdasarkan hasil percobaan di atas, maka untuk parameter neural network dipilih nilai 2000 untuk training cycle, 0.8 untuk learning rate dan nilai 0.3 untuk momentum sedangkan neural network berbasis particle swarm optimization dipilih nilai 1800 untuk training cycle, 0.4 untuk learning rate dan nilai 0.2 untuk momentum dengan perolehan nilai MMRE untuk masing-masing metode yaitu 0.965 untuk neural network dan 1.272 untuk neural network berbasis particle swarm optimization. Pada tahap ini nilai MMRE neural network lebih rendah dari pada neural network berbasis particle swarm optimization. Tabel 4. 4 Hasil eksperimen penetuan nilai neuron size untuk kedua metode
76
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
Berdasarkan hasil percobaan di atas, maka untuk neuron size untuk neural network berada pada neuron size 10 dan neuron size untuk neural
network berbasis
particle
swarm
optimization berada pada neuron size 10 dengan perolehan nilai MMRE untuk masing-masing metode yaitu 0.965 untuk neural network dan 0.668 untuk neural network berbasis particle swarm optimization. Pada tahap ini nilai MMRE neural network berbasis particle swarm optimization lebih rendah dari pada neural network. Tabel 4. 5 Nilai MRE dan PRED (0.25) untul kedua metode
77
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
Dengan estimasi sebesar 25% diperoleh : NN pred (0,25) = 70% dan NN berbasis PSO Pred (0,25) = 95% model neural network yang memenuhi persyaratan dihitung menggunakan rumus MRE diatas sehingga didapatkan total nilai MRE sebesar 0,07 nilai
MRE
atau
7%
sedangkan total
model neural network berbasis particle swarm optimization didapatkan sebesar
0,11 atau 11%. Terdapat perbandingan sebesar 4% antara neural network berbasis particle swarm optimization dengan model neural network.
KESIMPULAN DAN SARAN Kesimpulan Dari hasil analisis optimasi model algoritma neural network memberikan nilai MMRE sebesar 0.965 dan neural network berbasis particle swarm optimization memberikan nilai MMRE 0.668, maka nilai MMRE untuk algoritma neural network berbasis particle swarm optimization lebih rendah dari pada algoritma neural network selisih 0.297. Sementara nilai PRED(0.25) untuk model algoritma neural network adalah 70% dan PRED(0.25) untuk model algoritma neural network berbasis particle swarm optimization adalah 95% . Dari evaluasi PRED(0.25) tersebut maka algoritma neural network
berbasis
particle
swarm
optimization lebih tinggi jika dibandingkan dengan algoritma neural network dengan selisih 25%. Sehingga dapat disimpulkan bahwa algoritma neural network berbasis particle swarm optimization lebih akurat dalam mengestimasi biaya dan usaha proyek pengembangan perangkat lunak bila dibandingkan algoritma neural network.
Saran Saran-saran yang dapat digunakan untuk penelitian berikutnya untuk mencapai hasil yang lebih baik diantaranya: 1. Beberapa atribut seperti: virt, turn, acap, aexp, pcap, vexp, lexp dan sced tidak berpengaruh terhadap bobot atribut, sebaiknya gunakan metode penyeleksian agar atribut bisa berpengaruh terhadap bobot atribut. 2. Penelitian ini diharapkan dapat digunakan peneliti yang ingin mengembangkan metode etimasi biaya dan usaha proyek pengembangan perangkat lunak.
78
PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA …
3. Membandingkan dataset COCOMO 81 dengan dataset yang lain, untuk melihat hasil pengukuran yang lebih baik serta dapat dikembangkan dengan metode optimasi lainnya seperti NN+GA, SVM + PSO, atau yang lainnya.
DAFTAR PUSTAKA [1] R. S. Wahono, “Meluruskan Salah Kaprah Rekayasa Perangkat Lunak,” 2006. [2] Imran Qureshi And Muhammad Waseem Khan, “Neural Network based Software Effort Estimation : A Survey,” 2014. [3] K. M. and M. Jørgensen, “A Review of Surveys on Software Effort Estimation,” 2009. [4] S. and B. Prasetyo, “Penggunaan Model Function Point dalam Estimasi Biaya dan Usaha Proyek Pengembangan Software Sistem Informasi Bisnis,” 2006. [5] R. S. P. and R. S. N. S. V. S. . Prasad Reddy P.V.G.D, Sudha K.R, “Software Effort Estimation using Radial Basis and Generalized Regression Neural Networks,” 2010. [6] S. Srichandan, “A new approach of Software Effort Estimation Using Radial Basis Function Neural Networks,” 2012. [7] S. Kad and V. Chopra, “Software Development Effort Estimation Using Soft Computing,” Int. J. Mach. Learn. Comput., 2011. [8] R. A. Calvo, H. A. Ceccatto, and R. D. Piacentini, “Neural network prediction of solar activity,” 2007. [9] R. Brits, A. P. Engelbrecht, and F. van den Bergh, “Locating multiple optima using particle swarm optimization,” Jun. 2007. [10] Y. Y. Nazaruddin and P. Astuti, “Development of Intelligent Controller with Virtual Sensing,” ITB J. Eng. Sci., 2009. [11] R. Kala, A. Shukla, R. Tiwari, M. L. Road, and M. Pradesh, “Dynamic Environment Robot Path Planning using Hierarchical Evolutionary Algorithms Abstract :,” 2010. [12] M. Cilimkovic, “Neural Networks and Back Propagation Algorithm,” 2010. [13] A. S. Ftoiu and F. G. Peter Vilmann, “Efficacy of an artificial neural network-based approach to endoscopic ultrasound elastography in diagnosis of focal pancreatic masses.,” Jan. 2012. [14] E. T. Luthfi, “Implementasi Adaptive Neuro Fuzzy Inference System Pada Prediksi Pembayaran Pinjaman Berdasar Analisis Rencana Pembiayaan Nasabah ( Studi Kasus : BMT XYZ ),” 2007. [15] waren S. McCulloch and Walter Pitts, “A logical calculus of the ideas immanent in nervous activity.” 1945. [16] F. Rosenblat, “Perceptrón,” 1958. [17] M. Gonen and E. Alpaydin, “Localized Multiple Kernel Regression,” 2010 20th Int. Conf. Pattern Recognit., Aug. 2010. [18] L. T. Functions and P. Algorithm, “A Brief Introduction to Perceptrons,” 1991. [19] and R. J. W. d. e. Rumelhart, G.E. Hinton, “Learning Internal Representations by Error Propagation.” 1986. [20] Jiawei Han & Micheline Kamber Jian Pe, “Data Mining Concepts and Techniques,” Mar. 2012.
79
Ramli Ahmad, Baiq Andriska Candra Permana, Hariman Bahtiar
[21] B. Soesilo, P. Studi, T. Informatika, F. Teknik, and U. Trunojoyo, “Pemanfaatan Jaringan Saraf Tiruan untuk Mendeteksi Gangguan Paru-paru Menggunakan Metode Backpropagation,” 2010. [22] Maindonald and Braun, “Data Analysis and Graphics Using R,” 2007. [23] M. Liu, Dongbo Liu, Guorong Yu, “An Improved FastSLAM Framework Based on Particle Swarm Optimization and Unscented Particle Filter,” 2012. [24] a. Salappa, M. Doumpos, and C. Zopounidis, “Feature selection algorithms in classification problems: an experimental evaluation,” Optim. Methods Softw., Feb. 2007. [25] O. M. and L. Rokach, “Data Mining and Knowledge Discovery Handbook,” Mar. 2001. [26] C. Qingkui and R. Junhu, “Study on the Demand Forecasting of Hospital Stocks Based on Data Mining and BP Neural Networks,” Jun. 2009. [27] P. . Roger S. Pressman, Software Engineering a Practitioner’s approach.
80