• Tidak ada hasil yang ditemukan

PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA PROYEK PENGEMBANGAN PERANGKAT LUNAK.

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENERAPAN ALGORITMA NEURAL NETWORK BERBASIS PSO UNTUK ESTIMASI BIAYA DAN USAHA PROYEK PENGEMBANGAN PERANGKAT LUNAK."

Copied!
18
0
0

Teks penuh

(1)

63

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 ramliahmad@gmail.com

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

(2)

64

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].

(3)

65

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 tentang sel syaraf biologis di dalam otak, 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 yang biasa disebut dengan neuron dimana neuron tersebut akan mentransformasikan informasi yang diterima menuju neuron lainnya [11].

INPUT INPUT INPUT HIDEN LAYER HIDEN LAYER HIDEN LAYER HIDEN LAYER OUTPUT OUTPUT

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

(4)

66

[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 relasi yang terhubung, mengkalkulasikan, dan memberikan keluaran untuk layer berikutnya. 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] :

(5)

67

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

(6)

68

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 backpropagation mempunyai pengatuaran hubungan yang sangat sederhana yaitu: jika keluaran memberikan 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 (2.5) 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

(7)

69

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.

(8)

70

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, partikel ke-i dinyatakan sebagai: xi = (xi1, xi2,....xid) dalam ruang d- dimensi. Posisi terbaik sebelumnya dari partikel ke-i disimpan dan dinyatakan sebagai pbesti = (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:

(9)

71

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

(10)

72

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. Variabel yang diamati Activation Function Neuron Size Hidden Layer Software Estmstion Neural Network Particle Swarm Optimization Cocomo81 Dataset MMRE PRED Neural Network berbasis PSO Model enhancement

Indikator Metode yang diusulkan Objektivitas Pengukuran

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

(11)

73

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%.

Gambar 3.1 Desain eksperimen

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 untuk mendapatkan

Data: COCOMO 81 Algoritma: Neural Network Tanpa PSO Algoritma: Neural Network + PSO Model: Neural Network Tanpa PSO Model: Neural Network + PSO Pengujian: Cross Validasi Pengujian: Cross Validasi Evaluasi: MMRE, PRED Evaluasi: MMRE, PRED Komparasi: MMRE, PRED pada NN dan NN+PSO TAHAP 1 TAHAP 2 TAHAP 3 TAHAP 4 TAHAP 5

(12)

74 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

(13)

75

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,

(14)

76

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.

(15)

77

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.

(16)

78

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 atau 7% sedangkan total nilai MRE 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.

(17)

79

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.

(18)

80

[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.

Gambar

Gambar 2.1 Model neural network
Gambar 2.2  Kerangka pemikiran
Gambar 3.1 Desain eksperimen
Tabel 4. 2 Hasil eksperimen penetuan nilai  learning rate untuk kedua metode
+3

Referensi

Dokumen terkait

Untuk uses tree, variabel pelanggan akan mempengaruhi program training yang diorder, program training dihasilkan dari hasil TNA yang dilakukan kepada pelanggan dengan

Nasabah menyadari bahwa dalam kondisi Obligasi yang dimiliki dijual lebih awal sebelum tanggal jatuh tempo, maka harga Obligasi tersebut mungkin menjadi lebih rendah

Instrumen penelitian adalah alat atau fasilitas yang digunakan oleh peneliti dalam mengumpulkan data agar pekerjaanya lebih mudah dan hasilnya lebih baik, dalam

pengendalian pencemaran air secara terpadu yang dilakukan dengan cara optimasi pemanfaatan airnya dengan sistem yang terkoordinasi secara baik dalam melibatkan berbagai

Bab III adalah Bab Hasil Penelitian dan Pembahasan yang membahas isi putusan, dasar pertimbangan Hakim dan penjatuhan pidana oleh Hakim di Pengadilan Tingkat

Komponen pengetahuan kerja yang dapat dipelajari sesuai dengan standar kerja industri boga meliputi: a) pengetahuan tentang produksi, b) pengetahuan tentang hotel

Tersedia sistem manajemen pengelolaan satuan pendidikan mulai pendidikan anak usia dini, pendidikan dasar, dan menengah dilaksanakan berdasarkan standar pelayanan minimal

Berdasarkan latar belakang diatas, maka pada makalah ini penulisan akan memamaparkan tahapan dalam pengembangan sebuah sistem informasi laboratorium yang dapat