• Tidak ada hasil yang ditemukan

PERKIRAAN BIAYA PERANGKAT LUNAK DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK YOHAN WAHYUDI

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERKIRAAN BIAYA PERANGKAT LUNAK DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK YOHAN WAHYUDI"

Copied!
32
0
0

Teks penuh

(1)

PERKIRAAN BIAYA PERANGKAT LUNAK

DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK

YOHAN WAHYUDI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

BOGOR

2009

(2)

ii

PERKIRAAN BIAYA PERANGKAT LUNAK

DENGAN JARINGAN SARAF TIRUAN PROPAGASI BALIK

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada Fakultas Matematika dan Ilmu Pengetahuan Alam

Institut Pertanian Bogor

YOHAN WAHYUDI

G64104084

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR

(3)

iii

ABSTRACT

YOHAN WAHYUDI. Perkiraan Biaya Perangkat Lunak dengan Jaringan Saraf Tiruan Propagasi Balik. Supervised by PANJI WASMANA.

In line with the advance of technology, human needs for software are also growing. Software is used to help people to lighten their work. This has caused the software becomes increasingly complex and the production cost also become increasingly expensive. No wonder if the software developers need a method of cost estimation that estimates accurately for the efficiency and effectiveness of the company. With this, the company can be protected from loss due to incorrect cost estimates.

This study uses data from the COCOMO 81 derived from the Boehm journals in 1981, entitled Software engineering economics. This data group consists of 63 projects each have 17 main attributes, namely, a numerical type of 15 Cost Driver (CD), the size of the project in Kilo Lines of Code (KLOC), and the actual cost of the project in the Person of the Month (PM). Data are grouped into two parts, namely training data and test data in the form of 15 types of Cost Drivers and the size of the project (KLOC), this data is transformed into the range [0.1, 0.9] according to the sigmoid function of range.

In this research, the neural network is used to do the software cost estimation. The network architecture used was the multilayer perceptron with a back propagation learning algorithm. The number of neuron in the hidden layer is determined from the optimal architecture which provides a best estimation value. Once found the best architecture which is has the optimal number of neuron, conducted the evaluation. The evaluation method used is the Mean Magnitude Error (MRE) and Pred (l). MRE is the error between the actual and estimated value while Pred (l) is prediction at the level L.

Results of research indicate that there are relation between the types of project with the MRE. There is a tendency for this technique provides a high accuracy if the actual value of the test data is big. Poor accuracy obtained at the small value of actual test data. This research resulted in the value of Mean MRE (MMRE) of 76%, Median MRE (MRE Med) of 23% and Pred (0.25) of 52%. On this research, normalization of the target data has not been conducted so that the error generated in the process of evaluation is big.

(4)

iv Judul : Perkiraan Biaya Perangkat Lunak dengan Jaringan Saraf Tiruan Propagasi Balik Nama : Yohan Wahyudi

NIM : G64104084

Menyetujui:

Pembimbing,

Panji Wasmana, S.Kom, M.Si NIP 197801102005011003

Mengetahui:

Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor

Dr. Drh. Hasim, DEA NIP 196103281986011002

(5)

v

RIWAYAT HIDUP

Penulis dilahirkan di Purworejo pada tanggal 10 Oktober 1986 dari pasangan Trisno Djunaedi dan Suwarni. Penulis merupakan anak pertama dari empat bersaudara.

Pada tahun 1998, penulis lulus dari SDK Penabur Purworejo, lalu pada tahun yang sama melanjutkan pendidikan di SLTP NEGERI 1Purworejo. Pada tahun 2001, penulis lulus dari SLTP dan melanjutkan sekolah di SMU Negeri 1 Purworejo hingga tahun 2004. Pada tahun yang sama lulus seleksi masuk IPB melalui jalur Seleksi Penerimaan Mahasiswa Baru IPB. Penulis memilih Program Studi Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam.

Pada akhir masa perkuliahan, penulis melaksanakan kerja praktek di Balai Besar Industri Agro selama dua bulan dari tanggal 2 Juli 2007 sampai dengan 25 Agustus 2007. Kegiatan utama dalam rangka kerja praktek tersebut adalah pengembangan Sistem Informasi Perpustakaan Balai Besar Industri Agro. Selama menuntut ilmu di IPB, penulis aktif dalam beberapa kegiatan kemahasiswaan, yaitu sebagai Wakil Koordinator Komisi Kesenian Unit Kegiatan Mahasiswa Persekutuan Mahasiswa Kristen IPB periode 2005/2006 dan anggota Himpunan Mahasiswa Ilmu Komputer (HIMALKOM) periode 2005/2006.

(6)

vi

PRAKATA

Puji syukur kepada Tuhan Yang Maha Esa atas berkat dan karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul Perkiraan Biaya Perangkat Lunak dengan Jaringan Saraf Tiruan Propagasi Balik. Tugas akhir ini merupakan salah satu syarat untuk menyelesaikan jenjang pendidikan Strata Satu Program Studi Ilmu Komputer di Institut Pertanian Bogor.

Penulis mengucapkan terima kasih kepada ayah, ibu, dan adik-adikku tercinta (Dewi, Sari, dan Montes) atas doa, kasih dan dukungan yang selalu diberikan. Penulis juga mengucapkan terima kasih kepada Bapak Panji Wasmana, S.Kom, M.Si selaku pembimbing yang telah membimbing penulis dalam menyelesaikan tugas akhir. Penulis juga mengucapkan terima kasih kepada Dr. Ir. Bapak Agus Buono, M.Si, M.Kom dan Bapak Aziz Kustiyo, S.Si, M.Kom yang bersedia menjadi penguji pada tugas akhir penulis.

Penyelesaian karya ilmiah ini tidak lepas dari bantuan beberapa pihak, oleh karena itu penulis mengucapkan terima kasih kepada teman-teman Komkes, terutama Komkes’41 atas doa dan dukungan yang diberikan, Maryo, Andri, Mas Irwan, dan saudara-saudara kelompok kecil, teman-teman Ilkomerz’41 atas semangat yang diberikan, William, Martin, Edo, Afris, Jefry, Mada, Sandro, Sammy, dan teman-teman satu kos lainnya atas kebersamaannya selama ini serta Semua pihak lain yang telah membantu penulis dan tidak dapat disebutkan satu persatu.

Akhir kata, semoga penelitian ini dapat bermanfaat.

Bogor, Agustus 2009

(7)

vii

DAFTAR ISI

Halaman

DAFTAR TABEL ...viii

DAFTAR GAMBAR ...viii

DAFTAR LAMPIRAN ...viii

PENDAHULUAN... 1 Latar Belakang ... 1 Tujuan... 1 Ruang Lingkup ... 1 Manfaat... 1 TINJAUAN PUSTAKA ... 1

Perkiraan Biaya Perangkat Lunak ... 1

Cost Driver ... 2

Effort Multipliers ... 2

Model Pengembangan Proyek ... 2

Intermediate COCOMO (Cost Constructive Model) ... 2

JST Propagasi Balik ... 3

Perkiraan Biaya Perangkat Lunak dengan JST ... 4

K-Fold Cross Validation ... 4

Evaluasi Model Perkiraan Biaya Perangkat Lunak ... 4

METODE PENELITIAN ... 5 Kerangka Pemikiran ... 5 Studi Literatur... 5 Pengambilan Data ... 5 Pelatihan ... 6 Pengujian ... 6 Lingkungan Pengembangan ... 6

HASIL DAN PEMBAHASAN ... 6

Setting Jaringan Saraf Tiruan ... 6

Pemilihan Jumlah hidden layer yang optimal ... 7

Karakteristik Jaringan Saraf Tiruan ... 9

(8)

viii

DAFTAR TABEL

Halaman

1. Daftar CD (Saliu 2003) ………... 2

2. Koefisien Model Pengembangan Proyek... 2

3. Struktur Jaringan Propagasi Balik standar ... 6

4. Nilai MMRE, Med MRE dan Pred(0.25) pada 10-fold cv……….…….. 8

5. Nilai MMRE, Med MRE dan Pred(0.25) pada 15-fold ... 9

6. Perbandingan galat antara data set 1 dan data set 2... 10

DAFTAR GAMBAR

Halaman 1. Grafik fungsi sigmoid biner………... 3

2. Grafik fungsi linear... 3

3. Model Perkiraan Biaya dengan JST... 4

4. Metode Penelitian...……….. 5

5. Grafik Nilai MMRE pada 10-fold crossvalidation………..………….………… 6

6. Grafik Nilai Median MRE pada 10-fold cross validation ……….…….………. 7

7. Grafik Perbandingan Antara Nilai Aktual dan Nilai Estimasi..………...…….… 8

8. Grafik Nilai MRE ……… 10

9. Grafik Scatter antara MRE dan Nilai Aktual Proyek …..……… 11

DAFTAR LAMPIRAN

Halaman 1. Kelompok data COCOMO 81………... 14

2. Tabel Effort Multiplier pada COCOMO ………. 16

3. Agregat Galat COCOMO 81 pada 10-fold cross validation………. 17

4. Grafik Boxplot Min MRE dan Pred(0.25) pada 10-fold cross validation……...……. 18

5. Grafik Boxplot MMRE pada 10-fold cross validation….……….... 19

6. Grafik Boxplot Median MRE pada 10-fold cross validation..………. 19

7. Boxplot Max MRE pada 10-fold cross validation……….………….………. .19

8. Agregat Galat COCOMO 81 pada 15-fold cross validation………. 20

9. Grafik Boxplot Min MRE dan Pred(0.25) pada 15-fold cross validation..…………. 21

10. Grafik Boxplot Mean MRE dan Med MRE pada 15-fold cross validation….………. 22

11. Grafik Boxplot Max MRE pada 15-fold cross validation...………. 22

12. Hasil Pengujian dan Nilai MRE dengan Data Latih yang Diperbanyak.………. 23

13. Agregat Galat………..………. 23

(9)

1

PENDAHULUAN

Latar Belakang

Dewasa ini kebutuhan manusia semakin meningkat seiring dengan berkembangnya teknologi. Majunya perkembangan teknologi memberi warna tersendiri bagi peradaban manusia. Berbicara tentang teknologi tentu tidak akan terlepas dari perangkat lunak karena merupakan salah satu komponen penyusunnya.

Sejalan dengan majunya teknologi, kebutuhan manusia akan perangkat lunak juga semakin bertambah. Perangkat lunak sering digunakan untuk membantu pekerjaan manusia yang makin berat. Hal ini menyebabkan perangkat lunak menjadi semakin kompleks dan biaya pembuatannya pun menjadi semakin mahal. Tidak heran kalau pihak pengembang software memerlukan metode perkiraan biaya pengembangan yang akurat untuk menghindari kerugian akibat perkiraan biaya yang salah.

Perkiraan biaya pengembangan perangkat lunak yang terlalu tinggi atau terlalu rendah akan menyebabkan proyek ditolak karena terlalu mahal, terpaksa membuang fitur yang penting dan mungkin proyek jadi terbengkalai (Al-Sakran 2006). Perkiraan biaya yang akurat akan membuat pekerjaan menjadi efektif dan efisien.

Peneliti konvensional menggunakan metode algoritmik seperti Constructive Cost Model (COCOMO, COCOMOII, SLIM) dan perkiraan biaya dengan analogi dalam memperkirakan biaya pembuatan perangkat lunak. Pada kenyataannya metode yang disebutkan di atas tidak bisa memperkirakan hasil biaya dengan akurat (Hasan Al-Sakran 2006).

Alternatif lain dalam memodelkan perkiraan biaya software adalah dengan menggunakan metode non-algoritmik seperti jaringan saraf tiruan, logika fuzzy dan algoritme genetika (Saliu 2003). Metode diatas diharapkan dapat memperkirakan biaya dengan akurat.

Dalam penelitian ini, diterapkan jaringan saraf tiruan untuk melakukan perkiraan biaya perangkat lunak. Metode jaringan saraf tiruan ini diharapkan dapat memperkirakan biaya dengan lebih akurat.

Tujuan

Tujuan dari penelitian ini adalah mengembangkan model perkiraan biaya perangkat lunak berbasis jaringan saraf tiruan kemudian menganalisis kinerja penerapan jaringan saraf tiruan dalam memperkirakan biaya pembuatan suatu perangkat lunak.

Ruang Lingkup

Penelitian ini hanya menitikberatkan pada pengembangan model perkiraan biaya perangkat lunak dengan menggunakan model jaringan saraf tiruan. Dalam penelitian ini, digunakan suatu Backpropagation Neural Network untuk melakukan learning dan testing terhadap pola himpunan data COCOMO.

Data yang digunakan pada penelitian ini adalah kelompok data COCOMO 81 versi intermediate.

Manfaat

Penelitian ini memberi manfaat berupa pemodelan perkiraan biaya perangkat lunak menggunakan jaringan saraf tiruan propagasi balik. Penelitian ini juga memberikan informasi kinerja jaringan saraf tiruan untuk perkiraan biaya perangkat lunak.

TINJAUAN PUSTAKA

Perkiraan Biaya Perangkat Lunak

Perkiraan biaya perangkat lunak adalah suatu proses untuk memperkirakan biaya yang diperlukan dalam pengembangan perangkat lunak (Leung 1990). Perkiraan biaya perangkat lunak mengacu pada perkiraan jumlah biaya, waktu dan staffing level yang diperlukan untuk membangun perangkat lunak (Saliu 2003).

Secara umum metode perkiraan biaya perangkat lunak dibagi menjadi dua pemodelan yaitu, metode pemodelan algoritmik dan non-algoritmik (Saliu 2003). Pemodelan algoritmik diturunkan dari analisis statistik proyek-proyek yang pernah ada, contohnya, Constructive Cost Model (COCOMO) dan Software Life Cycle Management (SLIM). Metode pemodelan non-algoritmik meliputi Price to win, Parkinson, expert judgement dan machine learning approaches (fuzzy, neural network, analogy based).

(10)

2 Cost Driver

Dalam pengembangan perangkat lunak terdapat faktor-faktor yang mempengaruhi biaya pengembangan yang disebut dengan Cost Driver (CD). Jumlah CD sebanyak 15 yang dikelompokkan dalam empat grup. Daftar CD dapat dilihat pada Tabel 1.

Tabel 1 Daftar CD (Saliu 2003)

Grup Cost Driver Simbol Produk Keandalan perangkat

lunak

Rely

Ukuran basis data Data Kompleksitas

produk

Cplx

Platform Batasan waktu eksekusi

Time

Batasan tempat penyimpanan utama

Stor

Mesin Virtual Virt Waktu turnaround

komputer

Turn

Personil Kemampuan analisis Acap Pengalaman dalam aplikasi Aexp Kemampuan programer Pcap Pengalaman dalam mesin virtual Vexp Pengalaman dalam bahasa pemrograman Lexp Proyek Penggunaan program modern Modp Penggunaan peralatan perangkat lunak Tool Jadwal pengembangan yang diperlukan Sced Effort Multipliers

Tiap – tiap CD pada perkiraan biaya perangkat lunak memiliki kategori. Kategori tersebut dinyatakan dalam variabel linguistik: very low, low, nominal, high dan very high. Kategori – kategori tersebut mewakili sebuah nilai, nilai tersebut adalah effort multipliers.

Daftar effort multipliers dapat dilihat pada Lampiran 1 (Saliu 2003).

Model Pengembangan Proyek

Ada tiga macam model pengembangan dalam proyek pembuatan perangkat lunak dalam COCOMO, yaitu:

1 Organik

Dalam model organik, perangkat lunak dikembangkan oleh tim yang terdiri atas orang-orang yang berpengalaman dalam sistem terkait. Ukuran perangkat lunak yang dihasilkan mencapai lebih dari 50 Kilo Delivery Source Instruction (50 KDSI).

2 Semidetached

Model pengembangan semidetached berupa campuran dari karakteristik model organik dan embedded. Ukuran dari produk yang dihasilkan dapat mencapai 300 KDSI.

3 Embedded

Faktor utama yang membedakan model embedded dengan model lainnya adalah pengoperasian dengan batasan yang ketat. Produk harus dioperasikan dalam hubungan perangkat keras, perangkat lunak, regulasi dan prosedur operasional yang kuat.

Setiap model pengembangan proyek memiliki suatu nilai koefisien. Nilai koefisien tersebut digunakan dalam menghitung perkiraan biaya perangkat lunak. Nilai koefisien untuk tiap-tiap model pengembangan proyek dapat dilihat pada Tabel 2 dimana A adalah B adalah scaling coefficient untuk effort.

Tabel 2 Koefisien model pengembangan proyek

Model A B

Organik 3.2 1.05

Semidetached 3.0 1.12 Embedded 2.8 1.2

Intermediate COCOMO (Cost Constructive Model)

Model Intermediate COCOMO adalah pengembangan lebih lanjut dari versi basic yang menghitung biaya perkiraan perangkat lunak hanya dengan mengunakan ukuran

(11)

perangkat lunak dan model pengembangan proyek saja. Dalam Intermediate

terdapat penambahan atribut perhitungan yang digunakan yaitu Cost Driver, yang terdiri 15 jenis. Dengan demikian, perkiraan biaya perangkat lunak tidak hanya berdasarkan ukuran dan model proyek tapi juga bergantung dari lingkungan pengembangan.

Persamaanya untuk perkiraan biaya perangkat lunak pada Intermediate COCOMO adalah sebagai berikut:

dengan adalah biaya estimasi (dalam Man-Months), SIZE adalah ukuan perangkat lunak dalam KLOC (Kilo Lines Of Codes dan B adalah koefisien untuk tiap model proyek (organik, semi-detached

embedded) dan adalah effort multiplier untuk tiap-tiap atribut pada Cost Driver

JST Propagasi Balik

Menurut Fauset (1994), ada tiga tahap pelatihan pada JST propagasi balik, yaitu pelatihan input yang bersifat umpan maju (feed forward), penghitungan propagasi balik galat yang diperoleh, dan penyesuaian bobot. Jaringan ini menggunakan metode pembelajaran terbimbing (

learning). Adapun cara kerja JST diawali dengan inisialisasi bobot dan bias.

Selanjutnya pola input

dimasukkan ke dalam jaringan. Pola masukan ini akan berubah bersamaan dengan propagasi pola tersebut ke lapisan-lapisan berikutnya hingga menghasilkan output. Output

dibandingkan dengan target, jika hasil perbandingan menghasilkan galat yang minimum maka proses pembelajaran akan berhenti. Jika galatnya belum minimum maka JST akan mengubah bobot yang ada pada hubungan antar neuron dengan suatu aturan tertentu agar nilai keluaran lebih mendekati nilai target.

Proses pengubahan bobot dilakukan dengan cara mempropagasikan kembali nilai koreksi galat keluaran JST ke lapisan sebelumnya (propagasi balik). Ke

lapisan masukan, pola akan diproses lagi untuk mengubah nilai bobot sampai akhirnya memperoleh keluaran JST baru. Demikian seterusnya proses ini dilakukan berulang ulang sampai nilai yang sama atau minimal perangkat lunak dan model pengembangan Intermediate COCOMO terdapat penambahan atribut perhitungan yang , yang terdiri atas perkiraan biaya perangkat lunak tidak hanya berdasarkan ran dan model proyek tapi juga bergantung

Persamaanya untuk perkiraan biaya perangkat lunak pada Intermediate COCOMO adalah

adalah biaya estimasi (dalam adalah ukuan perangkat Kilo Lines Of Codes), A dan B adalah koefisien untuk tiap model detached, dan effort multiplier Cost Driver.

Menurut Fauset (1994), ada tiga tahap pelatihan pada JST propagasi balik, yaitu yang bersifat umpan maju ), penghitungan propagasi balik galat yang diperoleh, dan penyesuaian bobot. Jaringan ini menggunakan metode ajaran terbimbing (supervised ). Adapun cara kerja JST diawali dengan inisialisasi bobot dan bias.

dan target dimasukkan ke dalam jaringan. Pola masukan ini akan berubah bersamaan dengan propagasi pisan berikutnya Output ini akan dibandingkan dengan target, jika hasil perbandingan menghasilkan galat yang minimum maka proses pembelajaran akan berhenti. Jika galatnya belum minimum maka JST akan mengubah bobot yang ada pada dengan suatu aturan tertentu agar nilai keluaran lebih mendekati

Proses pengubahan bobot dilakukan dengan cara mempropagasikan kembali nilai koreksi galat keluaran JST ke lapisan-lapisan sebelumnya (propagasi balik). Kemudian dari lapisan masukan, pola akan diproses lagi untuk mengubah nilai bobot sampai akhirnya memperoleh keluaran JST baru. Demikian seterusnya proses ini dilakukan berulang-ulang sampai nilai yang sama atau minimal

sesuai dengan galat yang didefinisikan penyesuaian ini disebut pembelajaran.

Dalam metode pembelajaran propagasi balik, fungsi aktivasi pada masukan dan keluaran haruslah berbentuk fungsi yang dapat dideferensialkan. Hal ini disebabkan pada tahap propagasi balik, fungsi yang digunakan adalah fungsi deferensial dari fungsi aktivasi tersebut.

Fungsi aktivasi yang digunakan dalam penelitian ini adalah sigmoid

lapisan tersembunyi dan fungsi linear pada lapisan keluaran. Fungsi sigmoid ini mempunyai daerah hasil dalam interval 0 sampai 1. Berikut adalah grafik fungsi sigmoid biner.

Persamaan fungsi sigmoid biner adalah sebagai berikut:

= , dengan turunannya,

Berikut adalah grafik dari fungsi linear

Persamaan fungsi liear adalah sebagai berikut

dengan turunannya,

Gambar 1. Grafik fungsi sigmoid

Gambar 2. Grafik fungsi linear

3 sesuai dengan galat yang didefinisikan. Proses penyesuaian ini disebut pembelajaran.

Dalam metode pembelajaran propagasi balik, fungsi aktivasi pada masukan dan keluaran haruslah berbentuk fungsi yang dapat dideferensialkan. Hal ini disebabkan pada tahap propagasi balik, fungsi yang digunakan adalah fungsi deferensial dari fungsi aktivasi

Fungsi aktivasi yang digunakan dalam penelitian ini adalah sigmoid biner pada lapisan tersembunyi dan fungsi linear pada lapisan keluaran. Fungsi sigmoid ini mempunyai daerah hasil dalam interval 0 sampai 1. Berikut adalah grafik fungsi

Persamaan fungsi sigmoid biner adalah

.

Berikut adalah grafik dari fungsi linear

fungsi liear adalah sebagai berikut sigmoid biner.

(12)

4 Perkiraan Biaya Perangkat Lunak dengan

JST

Banyak model jaringan saraf tiruan yang digunakan untuk memprediksi biaya perangkat lunak. Model ini dapat dikelompokkan ke dalam dua kategori utama. Kategori pertama adalah feed-forward networks yang tidak memiliki loop dalam jaringan tersebut. Kategori kedua adalah jaringan dengan feedback yang memiliki loop rekursif.

Dari berbagai model jaringan saraf tiruan, yang sering digunakan adalah model JST feed-forward multi layer perceptron dengan algoritme pembelajaran backpropagation (Ali Idri et al. 2002). Model jaringan ini menghasilkan output (effort) dengan mempropagasikan input mula-mula (cost drivers) dari layer masukan hingga layer terakhir. Tiap neuron dalam jaringan tersebut menghitung fungsi non linear dari input dan meneruskan hasilnya sampai ke layer output. Fungsi aktivasi yang sering digunakan adalah fungsi Sigmoid.

Penelitian sejenis menggunakan JST dilakukan oleh Wittig dan Finnie pada tahun 1997. Mereka mencoba memprediksi biaya pengembangan perangkat lunak dengan menggunakan metrik set Desharnias dan Australian Software Metrics Association (ASMA). Hasilnya cukup memuaskan dengan mendapatkan MMRE 29% untuk Desharnais dan 17% untuk ASMA.

Ardiansyah, (2007) menggunakan metode analogy based estimation untuk

memperkirakan biaya perangkat lunak. Metode ini menghasilkan MMRE sebesar 492.58%.

K-Fold Cross Validation

K-Fold Cross Validation dilakukan untuk membagi data penelitian dan data pengujian. K-Fold Cross Validation membagi data contoh secara acak ke dalam K subset yang saling bebas. Satu subset digunakan sebagai data pengujian dan K-1 subset sebagai data pelatihan. Proses cross validation akan diulang sampai K kali. Data awal dibagi menjadi K subset yang saling bebas secara acak, yaitu S1, S2, …, Sk, dengan ukuran setiap

subset kira-kira sama. Pelatihan dan pengujian dilakukan sebanyak K kali. Pada proses ke-i, subset Sidiperlakukan sebagai data pengujian

dan subset lainnya diperlakukan sebagai data pelatihan. Pada proses pertama S2, …, Sk

menjadi data pelatihan dan S1 menjadi data

pengujian, Pada proses kedua S1, S3, …, Sk

menjadi data pelatihan dan S2 menjadi data

pengujian, dan seterusnya (Fu 1994, diacu dalam Noorniawati 2007).

Evaluasi Model Perkiraan Biaya Perangkat Lunak

Standar untuk evaluasi biaya perangkat lunak adalah Magnitude of Relative Error (MRE) (Briand et al. 1999).

| |

,

MRE dihitung untuk setiap pengujian i yang biayanya telah diperkirakan. Agregat nilai MRE pada banyak pengujian, misal N, dapat diperoleh melalui Mean MRE (MMRE) (Briand et al. 1998). ∑ | !"#"| ,

Nilai MMRE sensitif pada pengujian individual yang memiliki MRE yang sangat besar. Untuk itu, agregat yang tidak sensitif pada nilai pencilan besar perlu digunakan, yaitu median dari MRE pada N pengujian (MdMRE) (Briand et al. 1998). Variable lainnya adalah MRE minimal (min MRE), MRE maksimal (max MRE), dan standar deviasi MRE (SDMRE) (Idri et al. 2001). Pengujian dapat dikatakan makin baik jika Gambar 3. Model Perkiraan Biaya dengan

(13)

5 nilai MMRE, MdMRE, min MRE, dan max

MRE makin kecil.

Standar evaluasi lain yang sering digunakan adalah prediksi pada level l, disebut juga Pred(l). Prediksi level l mengukur persentasi dari suatu hasil perkiraan yang mempunyai MRE l% dari nilai aktualnya. Hasil evaluasi dikatakan acceptable jika setelah dilakukan penghitungan dengan l yang bernilai 0.25 menghasilkan akurasi yang bernilai kurang dari atau sama dengan 0.75 (Conte et al. 1986).

Berikut ini adalah persamaan untuk mencari nilai Prediksi pada level l.

$%&'( ,

dengan N adalah jumlah total dari data latih dan k adalah banyaknya hasil perkiraan yang mempunyai nilai MRE kurang dari atau sama dengan l.

METODE PENELITIAN

Kerangka Pemikiran

Tahapan yang dilakukan pada penelitian ini secara garis besar terdiri atas beberapa langkah, seperti yang ditunjukkan oleh skema penelitian pada Gambar 4 :

Studi Literatur

Studi pustaka dilakukan untuk membantu memahami langkah-langkah dalam metode yang digunakan dalam penelitian ini. Selain itu, perlu dipelajari sistem dan cara kerja jaringan saraf tiruan serta metode evaluasi yang digunakan. Referensi-referensi yang digunakan pada penelitian ini dapat dilihat dalam daftar pustaka.

Pengambilan Data

Data yang dipakai pada penelitian ini adalah data dari kelompok data COCOMO 81. Data ini berasal dari jurnal Boehm pada tahun 1981 yang berjudul Software engineering economics. Kelompok data ini terdiri atas 63 proyek masing-masing memiliki 17 atribut utama, yaitu, 15 jenis CD (Cost Driver) yang bertipe numerik, ukuran dari proyek dalam satuan Kilo Lines of Code (KLOC), dan biaya aktual proyek dalam satuan Person Month (PM). Satu atribut tambahan berupa nomor id proyek. Daftar atribut utama untuk kelompok data COCOMO 81 dapat dilihat pada Lampiran1.

Preprocessing Data

Data yang akan digunakan adalah data COCOMO 81 yang terdiri atas 63 proyek pengerjaan perangkat lunak. Data ini diproses terlebih dahulu sebelum digunakan oleh sistem. Prosesnya meliputi pengacakan data, normalisasi data (mengonversi data menjadi berinterval 0.1-0.9) dan mengelompokkan data menjadi suatu dataset.

Pada tahap normalisasi data, data ditransformasi sehingga range data menjadi [0.1-0.9]. Persamaan perubahan rangenya sebagai berikut :

)*0.8 . ') ( / 0.1 ,

dengan a adalah data minimum dan b adalah data maksimum. Pada penelitian ini tidak dilakukan normalisasi pada kelompok data effort. Normalisasi hanya dilakukan pada 15 jenis Cost Driver dan ukuran proyek (KLOC). Selanjutnya data ini akan dibagi menjadi dua yaitu data latih dan data uji. Pengujian dan pelatihan dilakukan dengan metode k-fold cross validation. Dalam penelitian ini digunakan 10-fold dan 15-fold cross validation.

(14)

6 Pelatihan

Arsitektur jaringan saraf tiruan yang digunakan untuk pelatihan adalah multilayer perceptron dengan algoritme pembelajaran backpropagation dan fungsi aktivasinya yaitu sigmoid.

Pelatihan Jaringan Saraf tiruan dalam MATLAB dapat dilakukan dengan berbagai macam algoritme training seperti trainlm, traingd, traincgb dan lain sebagainya. Pada penelitian ini digunakan algoritme training trainlm karena menurut Hagan, M. T. (1994) algoritme ini lebih cepat 10-100 kali dibandingkan dengan algoritma gradien biasa. Pada ukuran network yang moderat algoritme ini juga memiliki waktu konvergensi tercepat dan dapat menghasilkan mean square error yang terkecil jika dibandingkan dengan algoritma lainnya.

Pengujian

Pengujian dilakukan dengan membandingkan hasil perkiraan yang diberikan jaringan saraf tiruan dengan data aktualnya. Pada tahap pengujian ini, dilakukan validasi berulang kali sampai jaringan saraf tiruan menujukkan hasil terbaiknya. Dalam penelitian ini dilakukan perulangan sampai tiga kali.

Tingkat akurasi pendugaan dihitung dengan menggunakan fungsi MRE seperti berikut ini :

| |

Selain digunakan fungsi MRE sebagai evaluasi, tingkat akurasi juga akan ditentukan dengan nilai MMRE, MdMRE dan Pred(l).

Lingkungan Pengembangan

Perangkat lunak yang digunakan dalam penelitian ini adalah sebagai berikut :

• Mircrosoft Windows XP Profesional

• Microsoft Office Excel 2007

• MATLAB 7.0.1

Perangkat keras yang digunakan adalah sebagai berikut :

• PC Intel Pentium IV 2.8 GHz

• DDRAM 512 MB

• hardisk dengan kapasitas 80 GB

• monitor VGA dengan resolusi 1024x768 pixel

HASIL DAN PEMBAHASAN

Bab ini terdiri atas tiga bagian yaitu:

1. Setting Jaringan Saraf Tiruan 2. Pemilihan Jumlah Hidden Layer

Optimal

3. Karakteristik Jaringan Saraf tiruan

Setting Jaringan Saraf Tiruan

Model jaringan saraf tiruan dapat dibedakan menurut arsitektur jaringan, algoritme learning dan fungsi aktifasinya (Idri et al. 2002). Pada penelitian ini digunakan arsitektur jaringan multilayer perceptron dengan algoritme pembelajaran backpropagation dan fungsi aktivasinya adalah sigmoid.

Arsitektur backpropagation sendiri umumnya memliki tiga lapis beserta neuron-neuronnya. Lapisan pertama adalah lapisan input, lapisan kedua adalah lapisan tersembunyi (hidden layer) dan lapisan ketiga adalah lapisan output. Lapisan tersembunyi bisa terdiri atas satu atau lebih lapisan dan memiliki jumlah neuron yang bervariasi. Jumlah neuron pada lapisan tersembunyi akan dicari nilai optimalnya. Hal ini dilakukan dengan cara melakukan perubahan jumlah neuron pada lapisan tersembunyi secara iterasi.

Pada pembahasan ini akan terlihat kinerja arsitektur jaringan saraf tiruan yang dipilih dalam memperkirakan biaya perangkat lunak. Jaringan Saraf Tiruan ini memiliki 16 neuron input, satu buah neuron output dan neuron pada layer tersembunyi yang diiterasi. Pada proses pelatihan, digunakan algoritme training trainlm, batas toleransi 10-4, learning rate 0.01, dan maksimal epoch dibatasi 10000.

Struktur jaringan saraf tiruan selengkapnya dapat dilihat pada Tabel 3.

Tabel 3 Struktur jaringan propagasi balik standar yang digunakan dalam penelitian

KARAKTERISTIK SPESIFIKASI Neuroninput Ada 16 neuron yaitu,

Cost driver yang berjumlah 15 jenis dan ukuran dari proyek dalam KLOC

(15)

7 Lanjutan Tabel 3 KARAKTERISTIK SPESIFIKASI Neuron hidden layer Dilakukan iterasi jumlah neuron mulai dari 1 sampai 63 Neuron output

layer

1 yaitu perkiraan biaya software dalam person month Fungsi Aktivasi hidden layer Sigmoid biner Fungsi aktivasi output layer Linear Toleransi galat 10-4 Target epoch 10000 Learning rate 0.01 Algoritme training Trainlm

Pemilihan Jumlah hidden layer yang optimal

Seperti yang disebutkan dalam metode penelitian, dari penelitian ini dapat juga diperoleh artistektur terbaik dari jaringan saraf tiruan yang dipilih. Dalam hal ini penelitian hanya difokuskan untuk mencari jumlah neuron yang optimal pada lapisan layer tersembunyi. Untuk mencari jumlah neuron yang optimal, pelatihan dilakukan dengan jumlah neuron yang bervariasi (diiterasi dari 1 sampai 63). Pengujian dilakukan dengan metode 10 dan 15-fold cross validation.

Jumlah neuron pada lapisan tersembunyi yang optimal diindikasikan oleh hasil nilai mean mre, median mre, dan Pred(l) yang diperoleh pada saat pengujian data. Semakin akurat nilai pendugaannya, nilai mmre akan semakin mendekati angka nol. Nilai yang ekstrem atau nilai yang berbeda jauh dari data yang lainnya akan sangat berpengaruh pada hasil mean mre oleh karena itu digunakan perhitungan dengan median mre (MdMRE) untuk mengatasi masalah distorsi data tersebut. Prediksi level l mengukur persentasi dari suatu hasil perkiraan yang mempunyai MRE l% dari nilai aktualnya.

Seperti yang telah dijabarkan sebelumnya, untuk validasi digunakan metode k-fold cross validation. Penelitian ini menggunakan 10 dan 15-fold cross validation sebagai perbandingan. Grafik uji 10-fold cross validation untuk nilai mean MRE dapat dilihat pada Gambar 5 berikut ini.

Dari Gambar 5 tersebut dapat dilihat bahwa nilai mean MRE berubah seiring dengan pertambahan hidden layer. Nilai mean MRE yang paling tinggi terdapat pada arsitektur dengan 1 hidden neuron, nilai mean MRE yang dihasilkan sangat besar yaitu mencapai 1748,7 hal ini dikarenakan jaringan belum dapat mengenali pola dengan benar. Nilai mean MRE terendah dihasilkan pada neuron dengan jumlah hidden layer 2 yaitu 5,677. Nilai mean MRE setalah itu berfluktuatif dan grafik menunjukkan bahwa nilai mean MRE cenderung membesar. Semakin tinggi nilai mean MRE semakin besar pula kemungkinan sistem untuk melakukan kesalahan dalam pendugaan.

Gambar 5. Grafik Nilai MMRE pada 10-fold cross validation 0 200 400 600 800 1000 1200 1400 1600 1800 2000 1 3 5 7 9 111315171921232527293133353739414345474951535557596163 M M R E Hidden Layer

(16)

8 Dari grafik pada Gambar 5 di atas juga

dapat dilihat bahwa ada satu nilai mean MRE yang sangat tinggi, jauh melebihi nilai lainnya. Nilai mean MRE yang sangat tinggi pada beberapa hidden layer selain disebabkan oleh banyaknya pendugaan yang kurang akurat, disebabkan juga oleh terdapatnya nilai pencilan yang berbeda jauh dari hasil rata-rata. Seperti grafik pada Gambar 5 yang memperlihatkan adanya nilai MMRE yang

ekstrim melebihi nilai yang lainnya. Hal ini dikarenakan sistem melakukan perkiraan yang menghasilkan output 647.89 Di sinilah kelemahan pengukuran menggunakan mean MRE dimana mean sensitif terhadap nilai pencilan. Oleh karena adanya distorsi/nilai pencilan dalam data maka digunakan juga median MRE dan Pred(l) untuk mencari nilai terbaik. Grafik nilai median MRE untuk 10-fold dapat dilihat pada Gambar 6 berikut ini.

Gambar 6. Grafik Nilai Median MRE pada 10-fold cross validation Seperti yang terlihat dalam grafik pada

Gambar 6, nilai median MRE yang terkecil dicapai oleh arsitektur yang memiliki 6 buah neuron pada hidden layer. Nilai median MRE terbaik yang dihasilkan adalah 0,875 yaitu pada jumlah hidden neuron sama dengan 6. Nilai median MRE yang paling besar dihasilkan oleh arsitektur dengan 58 hidden neuron yaitu 31,216.

Nilai pred(0.25) yang paling baik berada pada arsitektur yang memiliki 2 buah hidden neuron yaitu sebesar 17,46%. Prediksi pada level l didefinisikan sebagai persentase jumlah dari hasil data testing yang memiliki nilai galat tidak lebih dari l% dibagi total data testing. Dalam hal ini pred(0.25)=17,46% artinya sebanyak 17,46% data testing memiliki nilai MRE 0.25 dari nilai aktualnya.

Tabel perbandingan antara MMRE, Median MRE dan Pred(l) dapat dilihat pada Tabel 4. Sebagai pembanding disertakan juga hasil tes menggunakan 15-fold cross validation. Pada tabel di bawah ini hanya disertakan 10 buah data yang memiliki tingkat akurasi paling baik. Peringkat akurasi

diurutkan berdasarkan nilai Pred(l), cetakan hitam menunjukkan tingkat akurasi yang terbaik dalam kolom tersebut. Data selengkapnya dapat dilihat pada Lampiran 3. Tabel 4 Nilai MMRE, Med MRE dan Pred(0.25) pada 10-fold cv

Hidden

Layer MMRE Med MRE Pred(0.25)

2 0.895 5.678 0.175 1 0.956 1748.7 0.159 35 5.301 119.84 0.127 3 0.907 20.858 0.111 4 0.921 21.717 0.111 18 0.984 88.094 0.111 5 1.6 25.332 0.095 6 0.875 84.318 0.095 9 1.714 18.312 0.095 12 3.097 116.14 0.095 0 10 20 30 40 50 60 1 3 5 7 9 1113 15171921232527 293133 35373941434547 495153 5557596163 M e d ia n M R E Hidden Layer

(17)

9 Tabel 5 Nilai MMRE, Med MRE dan

Pred(0.25) pada 15-fold cv Hidden

Layer MMRE Med MRE Pred(0.25)

2 0.971 8.371 0.159 14 7.673 27.542 0.143 44 6.82 125.12 0.127 4 1.546 74.27 0.111 9 0.965 156.01 0.111 15 1.328 57.867 0.111 3 1.322 10.404 0.095 7 1.795 61.264 0.095 8 1.285 105.75 0.095 10 1.348 100.21 0.095

Tabel 5 menunjukkan perbandingan antara nilai MMRE, Median MRE dan Pred(0.25) pada 15-fold cv. Uji validasi dengan menggunakan 15-fold cv menunjukkan bahwa nilai MMRE dan Pred(0.25) yang terbaik berada pada arsitektur yang memiliki jumlah neuron dua pada layer tersembunyi. Di lain pihak, nilai Median MRE pada 15-fold cv terbaik berada pada arsitektur dengan lima buah hidden neuron.

Dari kedua uji validitas dapat ditarik kesimpulan bahwa arsitektur jaringan saraf tiruan yang paling optimal adalah arsitektur yang menggunakan dua buah neuron pada lapisan layer tersembunyinya. Hal ini

dikarenakan nilai MMRE dan nilai Pred(0.25) paling baik ditemukan pada arsitektur dengan dua hidden neuron. Kita tidak memilih nilai Median MRE yang paling kecil karena pada neuron dimana didapati nilai Median MRE yang paling kecil didapati juga nilai MMRE yang besar dan nilai Pred(0.25) yang kecil. Disamping itu nilai Median MRE pada neuron dengan dua layer tersembunyi juga tidak terpaut jauh dengan nilai Median MRE yang terkecil.

Karakteristik Jaringan Saraf Tiruan Pada kedua pengujian sebelumnya didapat nilai rata-rata galat/ kesalahan yang cukup besar. Selanjutnya akan diterapkan metode yang seperti leave-one-out cross validation untuk melakukan validasi.

Pertama-tama data dibagi ke dalam dua kategori yaitu data latih dan data uji. Satu buah data dijadikan sebagai data uji sedangkan sisanya digunakan sebagai data latih. Proses pengujian ini dilakukan sebanyak 21 kali secara bergantian. Hasil pengujian dapat dilihat pada Gambar 7 berikut ini. Untuk data hasil pengujian selengkapnya dapat dilihat dalam Lampiran 12.

Grafik pada Gambar 7 adalah grafik perbandingan antara nilai aktual dan nilai estimasi. Secara keseluruhan, untuk pengujian pada tahap ini menunjukkan kinerja yang lebih baik dibandingkan dengan kedua pengujian sebelumnya. Hal ini dapat dilihat dari grafik nilai estimasi yang sudah sangat mendekati nilai aktualnya juga pada galat/ MRE yang didapat. Grafik MRE dapat dilihat pada Gambar 8.

Gambar 7. Grafik Perbandingan Antara Nilai Aktual dan Nilai Estimasi 0 2000 4000 6000 8000 10000 12000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 E st im a si Data Set Nilai Aktual Nilai Estimasi

(18)

10 Gambar 8. Grafik Nilai MRE

Grafik pada Gambar 8 menunjukkan nilai MRE yang didapat pada saat pengujian. Jika dibandingkan dengan grafik pada pengujian sebelumnya dapat dilihat bahwa MRE yang dihasilkan pada percobaan ini menunjukkan angka yang lebih kecil. Hal ini berarti galat yang terjadi juga kecil sehingga menghasilkan perkiraan yang lebih akurat. Berikut ini adalah Tabel 6 yang menunjukkan nilai MRE dan Pred(l) yang dihasilkan oleh sistem.

Tabel 6 Nilai MRE dan Pred(0.25) Nilai Min MRE 7.38x10-12 Max MRE 5.90 Median MRE 0.23 Mean MRE 0.76 Pred(0.25) 0.52

Nilai Pred(0.25) pada tahap ini mencapai nilai 52% berarti hasil estimasi sistem yang memiliki nilai MRE di bawah 25% adalah sebanyak 52%. Angka yang cukup tinggi bila dibandingkan dengan nilai Pred(0.25) yang sebelumnya yaitu 15.9% untuk 15-fold cross validation dan 17.5% untuk 10-fold cross validation. Yang membedakan percobaan ini dengan yang sebelumnya yaitu jumlah data latih yang jauh lebih banyak. Hal ini membuktikan bahwa secara umum keakuratan jaringan bertambah sejalan dengan makin

banyaknya proyek yang digunakan sebagai data latih.

Menurut Conte, Dunsmore dan Sen suatu model perkiraan biaya perangkat lunak yang bagus harus mempunyai nilai Pred(0.25) kurang dari sama dengan 75%. Pada penelitian ini diperoleh nilai MMRE terbaik sebesar 76% dan nilai Pred(0.25) terbaik sebesar 52%. Nilai-nilai ini ternyata masih jauh dari ukuran baik menurut standar ukur di atas.

Jaringan saraf tiruan bekerja berdasarkan prinsip pembelajaran dimana sistem mencoba mengenali pola masukan dari data training untuk mengetahui nilai keluaran. Karena bekerja berdasarkan prinsip tersebut jaringan saraf tiruan membutuhkan data training yang sangat besar. (Hasan Al-Sakran, 2006).

Banyak studi membuktikan bahwa pendekatan dengan jaringan saraf tiruan menghasilkan output yang kurang akurat ketika data latih berbeda dari data uji (Serluca 1995). Berikut ini adalah beberapa faktor yang menyebabkan jaringan saraf tiruan kurang akurat dalam melakukan estimasi:

• Proyek yang baru sangat berbeda dari proyek yang ada dalam proses pelatihan

• Terlalu sedikitnya proyek yang digunakan sebagai data latih dalam proses pelatihan

Tidak adanya relasi yang jelas antara CD yang dipilih (input sistem) dengan effort (keluaran sistem). 0 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 M R E Data Set MRE

(19)

11 Selanjutnya akan dilihat sebaran yang

terjadi pada hasil pengujian ini. Akan dibuat suatu grafik scatter yang memperlihatkan sebaran nilai aktual dan MRE pada evaluasi. Grafik scatter dapat dilihat pada Gambar 9 berikut ini.

Pada Gambar 9 terlihat bahwa ada garis linear yang makin menuju ke titik nol pada

saat nilai aktual semakin besar. Hal ini menunjukkan adanya keterkaitan antara jenis proyek dengan nilai MRE. Ada kecenderungan teknik ini memberikan akurasi yang tinggi jika nilai aktual pada data uji besar dan hasil akurasi yang kecil didapat pada saat nilai aktual pada data uji kecil.

Gambar 9. Grafik Scatter antara MRE dan Nilai Aktual Proyek

KESIMPULAN DAN SARAN

Kesimpulan

Penelitian ini menghasilkan beberapa kesimpulan di antaranya adalah jaringan saraf tiruan backpropagation dapat digunakan dalam melakukan perkiraan biaya perangkat lunak jika memiliki jumlah data training yang cukup untuk mengenali pola data masukan. Biasanya jumlah data training yang dibutuhkan cukup besar. Penambahan hidden layer tidak selalu membuat sistem lebih akurat dalam melakukan estimasi. Dalam penelitian ini diperoleh hidden layer yang optimal adalah dua buah neuron dengan nilai MMRE sebesar 5.67, Median MRE sebesar 0.89 dan Pred(0.25) sebesar 17%.

Pada pengujian dengan menggunakan data latih yang lebih banyak didapati galat/ kesalahan yang minimal. Nilai MMRE yang dihasilkan adalah sebesar 0.76, Median MRE sebesar 0.23 dan Pred(0.25) sebesar 52%.

Hasil penelitian menunjukkan bahwa ada kaitan antara jenis proyek dengan MRE. Ada kecenderungan teknik ini memberikan akurasi yang tinggi jika nilai aktual pada data uji besar. Hasil akurasi yang kecil didapat pada saat nilai aktual pada data uji kecil.

Saran

Penelitian ini masih memerlukan pengembangan lebih lanjut. Hal yang mungkin untuk dikembangkan adalah :

• Kelompok data ini memiliki beberapa outlier (terdapat data yang berbeda jauh dengan data yang lainnya). Hal ini dapat mengurangi keakuratan sistem dalam melakukan perkiraan sehingga nilai-nilai outlier tersebut perlu dihilangkan

• Melakukan normalisasi pada data target

• Mengkalibrasi dahulu data COCOMO sebelum dilakukan proses estimasi

-

Proyek dalam database sangat

bervariasi sehingga kalibrasi lokal dalam suatu grup dapat meningkatkan akurasi model.

DAFTAR PUSTAKA

Al-Sakran, H. 2006. Software Cost Estimation Model Based on Integration of Multiagent and Case-Based Reasoning. Journal of Computer Science Vol.2, hlm. 276-282 0 0.2 0.4 0.6 0.8 1 1.2 1.4 0 200 400 600 800 M R E Nilai Aktual Dataset Linear (Dataset)

(20)

12 Ardiansyah. 2007. Analisis Metode Analogy

Based Estimation untuk Perkiraan Biaya Perangkat Lunak. [Skripsi]. Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor.

Briand, Lionell. Et al. 1999. An Assessment and Comparison of Common Software Cost Estimation Modeling Techniques [catatan penelitian]. International Software Engineering Network Technical Report.

Conte, S., Dunsmore, H., and Shen, V. 1986. Software Engineering Metrics and Models. Benjamin/Cummings, Menlo Park, California.

Fausett, Laurene. 1994. Fundamental of Neural Networks Architectures, Algorithms, and Application. Prentice Halls, New Jersey.

Hagan, M. T., and M. Menhaj. 1994. Training feedforward networks with the Marquardt algorithm [catatan penelitian]. IEEE Transactions on Neural Networks, vol. 5, no.6, hlm. 989-993.

Idri, Ali. et al. 2002. Can Neural Network be easily Interpreted in Software Cost Estimation?. Di dalam : World Congress on Computational Intelligence. Honolulu, Hawaii.

Jong Jek Siang. 2005. Jaringan Saraf Tiruan dan Pemrogramannya Menggunakan Matlab. Andi : Yogyakarta.

Leung, Hareton. dan Zhang Fan. 2001. Software Cost Estimation. Departement of Computing, The Hong Kong Polytechnic University.

Noorniawati VY. 2007. Metode Support Vector Machine untuk Klasifikasi pada Sistem Temu Kembali Citra [skripsi]. Bogor: Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor.

Promise Software Engineering Repository dataset. 2004. http://www.promisedata.org.

Saliu, Moshood Omolade. 2003. Adaptive Fuzzy Logic Based Framework For Software Development Effort Prediction. King Fahd University of Petroleum & Minerals.

Serluca, C. 1995. An Investigation into Software Effort Estimation using a Back-propagation Neural Network [tesis]. Bournemouth University

(21)
(22)

14 Lampiran 1 Kelompok data COCOMO 81

No rely data cplx time stor virt turn acap aexp pcap vexp lexp modp tool sced Ukuran Perangkat

lunak (kloc) PM 1 0.88 1.16 0.7 1 1.06 1.15 1.07 1.19 1.13 1.17 1.1 1 1.24 1.1 1.04 113 2040 2 0.88 1.16 0.85 1 1.06 1 1.07 1 0.91 1 0.9 0.95 1.1 1 1 293 1600 3 1 1.16 0.85 1 1 0.87 0.94 0.86 0.82 0.86 0.9 0.95 0.91 0.91 1 132 243 4 0.75 1.16 0.7 1 1 0.87 1 1.19 0.91 1.42 1 0.95 1.24 1 1.04 60 240 5 0.88 0.94 1 1 1 0.87 1 1 1 0.86 0.9 0.95 1.24 1 1 16 33 6 0.75 1 0.85 1 1.21 1 1 1.46 1 1.42 0.9 0.95 1.24 1.1 1 4 43 7 0.75 1 1 1 1 0.87 0.87 1 1 1 0.9 0.95 0.91 0.91 1 6.9 8 8 1.15 0.94 1.3 1.66 1.56 1.3 1 0.71 0.91 1 1.21 1.14 1.1 1.1 1.08 22 1075 9 1.15 0.94 1.3 1.3 1.21 1.15 1 0.86 1 0.86 1.1 1.07 0.91 1 1 30 423 10 1.4 0.94 1.3 1.11 1.56 1 1.07 0.86 0.82 0.86 0.9 1 1 1 1 29 321 11 1.4 0.94 1.3 1.11 1.56 1 1.07 0.86 0.82 0.86 0.9 1 1 1 1 32 218 12 1.15 0.94 1.3 1.11 1.06 1 1 0.86 0.82 0.86 1 0.95 0.91 1 1.08 37 201 13 1.15 0.94 1.3 1.11 1.06 1.15 1 0.71 1 0.7 1.1 1 0.82 1 1 25 79 14 1.15 0.94 1.65 1.3 1.56 1.15 1 0.86 1 0.7 1.1 1.07 1.1 1.24 1.23 3 60 15 1.4 0.94 1.3 1.3 1.06 1.15 0.87 0.86 1.13 0.86 1.21 1.14 0.91 1 1.23 3.9 61 16 1.4 1 1.3 1.3 1.56 1 0.87 0.86 1 0.86 1 1 1 1 1 6.1 40 17 1.4 1 1.3 1.3 1.56 1 0.87 0.86 0.82 0.86 1 1 1 1 1 3.6 9 18 1.15 1.16 1.15 1.3 1.21 1 1.07 0.86 1 1 1 1 1.24 1.1 1.08 320 11400 19 1.15 1.08 1 1.11 1.21 0.87 0.94 0.71 0.91 1 1 1 0.91 0.91 1 1150 6600 20 1.4 1.08 1.3 1.11 1.21 1.15 1.07 0.71 0.82 1.08 1.1 1.07 1.24 1 1.08 299 6400 21 1 1.16 1.15 1.06 1.14 0.87 0.87 0.86 1 1 1 1 0.91 0.91 1 252 2455 22 1.15 1 1 1.27 1.06 1 1 0.86 0.82 0.86 0.9 1 0.91 1 1.23 118 724 23 1.15 1 1 1.08 1.06 1 1 0.86 0.82 0.86 0.9 1 1 1 1.23 77 539 24 0.88 1 0.85 1.06 1.06 1 0.87 1 1.29 1 1.1 0.95 0.82 0.83 1 90 453 25 1.15 1.16 1.3 1.15 1.06 1 0.87 0.86 1 0.86 1.1 1 0.82 0.91 1.08 38 523 26 0.94 1 0.85 1.07 1.06 1.15 1.07 0.86 1 0.86 1.1 1 0.91 1.1 1.08 48 387 27 1.15 0.94 1.15 1.35 1.21 1 0.87 1 1 1 1 1 0.82 1.1 1.08 9.4 88 28 1.15 1.08 1.3 1.11 1.21 1.15 1.07 0.86 1 0.86 1.1 1.07 1.1 1.1 1 13 98 29 0.88 1 1 1 1 1 1 1.1 1.29 0.86 1 1 0.91 0.91 1.23 2.14 7.3 30 0.88 1 1 1 1 1 1 1 1.29 0.86 1 1 0.91 0.91 1.23 1.98 5.9

(23)

15 Lanjutan

No

rely data cplx time stor virt turn acap aexp pcap vexp lexp modp tool sced Ukuran Perangkat

lunak (kloc) PM 31 1.4 1.08 1 1.48 1.56 1.15 1.07 0.86 0.82 0.86 1.1 1.07 1 1 1 62 1063 32 0.88 1.08 0.85 1 1 1 1 0.71 0.82 1 1 1 1.1 1.1 1 390 702 33 1.4 1.08 1.3 1.48 1.56 1.15 0.94 0.86 0.82 0.86 0.9 1 0.91 0.91 1 42 605 34 1.15 1.08 1 1.06 1 1 0.87 1 1 1 1 1 0.91 1.1 1.23 23 230 35 0.75 0.94 1.3 1.06 1.21 1.15 1 1 0.91 1 1.1 1 1.24 1.24 1 13 82 36 0.88 1.05 0.81 1 1 0.87 0.87 1.19 1 1.17 0.9 0.95 1 0.91 1.04 15 55 37 0.88 0.94 0.7 1 1.06 1 1 0.86 0.82 0.86 1 1 1 1 1 60 47 38 1 1 1.15 1 1 0.87 0.87 0.71 0.91 1 0.9 0.95 0.82 0.91 1 15 12 39 1 1 1.15 1 1 0.87 1 0.71 0.82 0.7 1 0.95 0.91 1.1 1 6.2 8 40 1 0.94 1.3 1 1 1 0.87 0.86 0.82 1.17 1 1 1.1 1 1 3 8 41 0.88 0.94 1 1 1 0.87 0.87 1 0.82 0.7 0.9 0.95 0.91 0.91 1 5.3 6 42 0.88 1.04 1.07 1 1.06 0.87 1.07 0.86 1 0.93 0.9 0.95 0.95 0.95 1.04 45.5 45 43 1 1.04 1.07 1 1.21 0.87 1.07 0.86 1 1 0.9 0.95 1 1 1.04 28.6 83 44 0.88 1.04 1.07 1.06 1.21 0.87 1.07 1 1 1 0.9 0.95 1.1 1 1.04 30.6 87 45 0.88 1.04 1.07 1 1.06 0.87 1.07 1 1 1 0.9 0.95 1 0.95 1.04 35 106 46 0.88 1.04 1.07 1 1.06 0.87 1.07 1 1 0.86 0.9 0.95 1 1 1.04 73 126 47 0.75 0.94 1.3 1 1 0.87 0.87 0.71 0.82 0.7 1.1 1.07 1.1 1 1.04 23 36 48 0.88 0.94 0.85 1 1 0.87 1 1.19 0.91 1.17 0.9 0.95 1.1 1 1.04 464 1272 49 1 1 0.85 1 1 1 0.87 0.71 1 0.7 1.1 1 0.82 0.91 1 91 156 50 1.15 1 1 1.3 1.21 1 0.87 0.86 1 0.86 1.1 1 1 1 1 24 170 51 0.88 1 1 1 1 1 1.15 1.19 1 1.42 1 0.95 1.24 1.1 1.04 10 122 52 0.88 0.94 0.85 1 1.06 1.15 1 1 1 1 1.1 1.07 1.24 1.1 1 8.2 41 53 0.88 0.94 1.15 1.11 1.21 1.3 1 0.71 1 0.7 1.1 1.07 1 1.1 1.08 5.3 14 54 1 0.94 1 1 1.06 1.15 0.87 1 0.82 1 1 0.95 0.91 1.1 1 4.4 20 55 0.88 0.94 0.7 1 1 0.87 0.87 0.86 0.82 1.17 0.9 0.95 1.1 1 1 6.3 18 56 1.15 0.94 1.3 1.3 1.21 1 1 0.86 0.91 1 1.1 1.07 1.1 1.1 1.08 27 958 57 1 0.94 1.15 1.11 1.21 1.3 1 1 1 1 1.1 1.07 1.1 1.1 1.23 17 237 58 1.4 0.94 1.3 1.66 1.21 1 1 0.71 0.82 0.7 0.9 0.95 0.91 1 1 25 130 59 1 0.94 1.15 1.06 1.06 1 0.87 1 1 1 1 1 0.91 1 1 23 70 60 1.15 0.94 1.3 1.11 1.06 1 1 0.86 1.13 0.86 1.1 1.07 1.1 1.1 1.08 6.7 57 61 1 0.94 1.15 1 1 0.87 0.87 0.86 1 0.86 0.9 1 0.82 1 1 28 50 62 0.88 0.94 1.3 1.11 1.21 1.15 1 0.78 0.82 0.7 1.21 1.14 0.91 1.24 1 9.1 38 63 1 0.94 1.15 1 1 1 0.87 0.71 0.82 0.86 1 1 0.82 1 1 10 15

(24)

16 Lampiran 2 Tabel Effort Multiplier pada COCOMO

COCOMO I - EFORT MULTIPLIERS

COST DRIVER RATING V. LOW LOW NOM-INAL HIGH V. HIGH EX. HIGH (PRODUCT) RELY 0.75 0.88 1.00 1.15 1.40 . .. DATA . 0.94 1.00 1.08 1.16 . .. CPLX 0.70 0.85 1.00 1.15 1.30 1.65 (COMPUTER) TIME . . 1.00 1.11 1.30 1.66 .. STOR . . 1.00 1.06 1.21 1.56 .. VIRT . 0.87 1.00 1.15 1.30 . .. TURN . 0.87 1.00 1.07 1.15 . (PERSONNEL) ACAP 1.46 1.19 1.00 0.86 0.71 . .. AEXP 1.29 1.13 1.00 0.91 0.82 . .. PCAP 1.42 1.17 1.00 0.86 0.70 . .. VEXP 1.21 1.10 1.00 0.90 . . .. LEXP 1.14 1.07 1.00 0.95 . . PROJECT MODP 1.24 1.10 1.00 0.91 0.82 . .. TOOL 1.24 1.10 1.00 0.91 0.83 . .. SCED 1.23 1.08 1.00 1.04 1.10 .

(25)

17 Lampiran 3 Agregat Galat COCOMO 81 pada 10-fold cross validation

Hidden Layer Min MRE MAX MRE MED

MRE MMRE PRED(0.25) 1 0.116 66.188 0.956 1748.7 0.159 2 0.047 32.173 0.895 5.678 0.175 3 0.092 208.45 0.907 20.858 0.111 4 0.036 156.24 0.921 21.717 0.111 5 0.167 149.24 1.6 25.332 0.095 6 0.042 958.74 0.875 84.318 0.095 7 0.358 381.4 2.767 28.091 0.032 8 0.001 441.53 2.242 32.824 0.048 9 0.017 109.07 1.714 18.312 0.095 10 0.083 542.23 2.234 42.77 0.079 11 0.072 325.97 7.016 44.921 0.063 12 0.226 1816.4 3.097 116.14 0.095 13 0.009 98.536 4.806 31.281 0.079 14 0.066 317.51 9.015 101.06 0.063 15 0.083 782.66 1.485 59.213 0.079 16 0.205 464.72 6.269 42.923 0.079 17 0.006 970.4 4.358 71.133 0.063 18 0.068 740.42 0.984 88.094 0.111 19 0.092 1120.2 4.869 83.774 0.063 20 0.045 234.86 6.947 58.196 0.063 21 0.104 540.18 2.667 76.955 0.063 22 0.059 559.13 4.16 89.466 0.048 23 0.18 340.39 9.542 50.731 0.032 24 0.341 258.38 5.914 68.839 0.016 25 0.166 611.12 11.044 169.61 0.048 26 0.029 402.96 5.59 73.916 0.048 27 0.135 701.71 3.604 73.419 0.048 28 0.085 487.64 7.611 83.342 0.079 29 0.143 176.31 3.946 65.838 0.032 30 0.386 1432.3 7.443 113.04 0.016 31 0.001 228.06 6.956 79.626 0.079 32 0.041 1084.9 7.048 91.101 0.032 33 0.19 3236.4 18.536 106.09 0.016 34 0.015 553.88 19.83 67.352 0.063 35 0.063 1932.8 5.301 119.84 0.127 36 0.313 630.07 8.861 90.151 0 37 0.002 3252.9 11.63 114.06 0.063 38 0.187 470.5 13.821 115.56 0.032 39 0.313 2025.7 9.706 80.016 0.048 40 0.023 1588.4 8.852 93.428 0.032

(26)

18 Lanjutan Hidden Layer Min MRE MAX MRE MED

MRE MMRE PRED(0.25) 41 0.025 587.87 7.967 101.13 0.032 42 0.233 2970 11.344 120.21 0.032 43 0.059 1452.3 9.081 159.14 0.032 44 0.054 1077.2 4.461 79.749 0.095 45 0.17 284 14.662 69.091 0.032 46 0.033 885.58 10.239 82.885 0.079 47 0.235 383.97 16.536 78.81 0.032 48 0.04 1279 9.794 91.6 0.032 49 0.072 2180.1 15.226 110.61 0.063 50 0.094 363.92 18.552 130.53 0.016 51 0.139 1600.8 16.284 123.66 0.016 52 0.005 1247.3 13.115 91.421 0.079 53 0.265 514.01 18.664 130.4 0 54 0.042 2916.9 14.749 102.83 0.048 55 0.29 2121.4 16.036 142.65 0.016 56 0.04 826.06 27.256 96.755 0.016 57 0.029 1423.2 20.968 186.83 0.095 58 0.055 1265.5 51.393 130.73 0.079 59 0.088 3080.2 18.983 200.33 0.079 60 0.019 926.68 18.489 131.07 0.048 61 0.034 2334.2 25.655 120.69 0.032 62 0.189 1509.7 21.649 138.79 0.048 63 0.085 3000 26.468 164.21 0.048

Lampiran 4 Grafik Boxplot Min MRE dan Pred(0.25) pada 10-fold cross validation

PRED(0.25) Min MRE 0.4 0.3 0.2 0.1 0.0 D a t a

(27)

19 Lampiran 5 Grafik Boxplot MMRE pada 10-fold cross validation

2000 1500 1000 500 0 M M R E

Lampiran 6 Grafik Boxplot Median MRE pada 10-fold cross validation

50 40 30 20 10 0 M E D M R E

Lampiran 7 Grafik Boxplot Max MRE pada 10-fold cross validation

3500 3000 2500 2000 1500 1000 500 0 M A X M R E

(28)

20 Lampiran 8 Agregat Galat COCOMO 81 pada 15-fold cross validation

Hidden Layer Min MRE MAX MRE MED

MRE MMRE PRED(0.25) 1 0.137 46.477 1.52 14.104 0.063 2 0.08 34.867 0.971 8.371 0.159 3 0.057 24.793 1.322 10.404 0.095 4 0.094 245.11 1.546 74.27 0.111 5 0.043 240.78 0.78 144.01 0.079 6 0.055 849.28 0.939 49.137 0.079 7 0.12 1422.4 1.795 61.264 0.095 8 0.012 2737 1.285 105.75 0.095 9 0.007 511.97 0.965 156.01 0.111 10 0.054 114.06 1.348 100.21 0.095 11 0.01 1314.2 3.688 79.115 0.079 12 0.091 236.6 1.829 107.35 0.079 13 0.448 89.03 4.506 50.326 0.048 14 0.02 427.22 7.673 27.542 0.143 15 0.069 891.54 1.328 57.867 0.111 16 0.119 106.09 2.848 83.291 0.079 17 0.008 305.42 3.791 59.233 0.048 18 0.017 222.72 4.158 94.819 0.063 19 0.191 372.07 3.356 95.088 0.079 20 0.022 207.53 4.951 140.96 0.079 21 0.078 62.335 3.006 99.844 0.079 22 0.216 753.86 5.757 89.282 0.079 23 0.278 232.53 4.279 65.588 0.079 24 0.151 227.5 5.512 61.439 0.079 25 0.163 589.72 4.374 61.574 0.048 26 0.047 1431.8 4.485 98.264 0.032 27 0.193 183.24 10.169 108.7 0.016 28 0.192 188.22 3.201 65.295 0.095 29 0.179 300.9 8.446 160.19 0.048 30 0.259 231.58 10.018 111.12 0.048 31 0.263 1367.4 33.207 87.937 0 32 0.269 1385.2 5.881 86.281 0.048 33 0.406 557.8 13.589 68.592 0.063 34 0.079 971.8 7.347 76.309 0.048 35 0.261 1075.8 31.209 121.67 0.032 36 0.371 2620.5 11.477 119.87 0.048 37 0.058 950.42 10.255 95.16 0.048 38 0.19 2075.1 9.57 102.75 0.048 39 0.131 1598.5 8.325 93.965 0.032 40 0.1 965.64 8.328 94.638 0.063

(29)

21 Lanjutan Hidden Layer Min MRE MAX MRE MED

MRE MMRE PRED(0.25) 41 0.175 806.06 22.761 79.588 0.032 42 0.227 1387.6 18.339 117.15 0.016 43 0.239 566.02 5.27 76.012 0.079 44 0.026 2632.5 6.82 125.12 0.127 45 0.369 1707 23.497 139.54 0.032 46 0.07 1883 7.838 121.06 0.048 47 0.527 1076.7 20.102 104.34 0.032 48 0.426 1391.9 23.708 87.742 0.048 49 0.103 241.56 9.158 79.282 0.032 50 0.253 3326.3 18.892 133.97 0.032 51 0.108 1688.9 4.654 132.2 0.095 52 0.518 1904.7 14.787 116.77 0.032 53 0.328 1264.5 14.831 130.76 0 54 0.119 1084.3 9.381 73.857 0.079 55 0.186 835.47 14.185 112.31 0.032 56 0.105 3185.6 9.315 200.95 0.032 57 0.03 543.98 28.328 55.674 0.048 58 0.103 602 28.56 78.44 0.063 59 0.741 2949.9 36.866 213.51 0 60 0.234 2071.3 17.267 207.59 0.032 61 0.188 2638.1 30.607 149.15 0.032 62 0.019 6445.2 33.511 224.98 0.032 63 0.102 2270 22.574 111.19 0.063

Lampiran 9 Grafik Boxplot Min MRE dan Pred(0.25) pada 15-fold cross validation

PRED(0.25) Min MRE 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.0 D a t a

(30)

22 Lampiran 10 Grafik Boxplot Mean MRE dan Med MRE pada 15-fold cross validation

MED MRE MMRE 250 200 150 100 50 0 D a t a

Lampiran 11 Grafik Boxplot Max MRE pada 15-fold cross validation

7000 6000 5000 4000 3000 2000 1000 0 M A X M R E

(31)

23 Lampiran 12 Hasil Pengujian dan Nilai MRE dengan Data Latih yang Diperbanyak

Nilai Aktual Nilai Estimasi MRE

1600 5616.1 2.51 8 26.519 2.315 423 428.22 0.012 218 245.05 0.124 9 62.136 5.904 11400 11274 0.011 6400 6400 5.93x10-10 2455 2453.8 0.001 539 539 7.38x10-12 453 107.4 0.763 523 644.72 0.233 702 881.31 0.255 82 30.427 0.629 12 7.778 0.352 8 12.066 0.508 1272 1257.8 0.011 156 61.054 0.609 122 99.375 0.185 41 50.592 0.234 70 69.996 5.58x10-05 57 130.11 1.283

Lampiran 13 Agregat Galat

Galat Max MRE 5.904 Min MRE 7.384x10-12 Median MRE 0.234 STD MRE 1.379 Pred(25) 0.524 Mean MRE 0.759

(32)

24 Lampiran 14 Grafik Boxplot Nilai Aktual, Nilai Estimasi dan Nilai MRE

Nilai Aktual MRE Nilai Estimasi 12000 10000 8000 6000 4000 2000 0 D a t a

Referensi

Dokumen terkait

Pada penelitian ini, digunakan jaringan saraf tiruan propagasi balik dalam mengenali kata tulisan tangan huruf Korea ( hangūl ) menggunakan metode diagonal based

Penelitian ini akan mendiagnosis tingkat keganasan kanker payudara dari keberadaan mikrokalsifikasi pada citra mamografi dengan metode jaringan saraf tiruan

Dari hasil penelitian tugas akhir ini dapat ditarik kesimpulan telah dibangunnya sebuah Jaringan Saraf Tiruan Backpropagation untuk Aplikasi Pengenalan Tanda Tangan. Aplikasi ini

Pada penelitian ini, jaringan saraf tiruan backpropagation digunakan dalam mengenali tulisan tangan aksara Batak Toba melalui beberapa tahap pra proses meliputi binarization

Arsitektur terbaik jaringan saraf tiruan dengan algoritma Backpropagation untuk mengenali pola karakter Braille ditentukan dengan cara melakukan beberapa percobaan

jaringan saraf tiruan adalah untuk mengaktifkan keluaran dari jaringan dan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak. Oleh karena

Tujuan penelitian ini dilakukan adalah untuk menganalisis kinerja jaringan saraf tiruan metode backpropagation dalam mengenali pola dari ketiga parameter data

Dalam pelatihan pada model jaringan saraf tiruan backpropagation, dilakukan pembelajaran pola dari 66 database sinyal ECG pada software jaringan saraf tiruan