Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy
ABSTRAK
DENNY SETIA MULYADI. Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy.
Dibimbing oleh IRMAN HERMADI dan WISNU ANANTA KUSUMA.
Perkiraan biaya perangkat lunak merupakan salah satu bagian terpenting dari pengembangan
perangkat lunak. Perkiraan biaya yang terlalu kecil akan mengakibatkan perangkat lunak yang
dihasilkan berkualitas rendah. Sebaliknya, perkiraan biaya yang terlalu besar akan mengakibatkan
pemborosan sumber daya yang digunakan.
Pada penelitian ini, dikembangkan suatu model perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Penelitian ini membandingkan dua metode perkiraan biaya perangkat
lunak, yaitu Intermediate COCOMO dan Fuzzy Intermediate COCOMO. Data yang digunakan
adalah data proyek NASA yang telah dilakukan pada tahun 1980 sampai 1990. Model yang
dihasilkan dievaluasi menggunakan MRE (Magnitude of Relative Error), Mean MRE (MMRE),
Median MRE (MdMRE), Min MRE, Max MRE, dan Standar Deviasi MRE (SdMRE). Kinerja
model secara umum direpresentasikan dalam nilai MMRE.
Penelitian menghasilkan nilai galat MMRE sebesar 59.50% untuk Intermediate COCOMO
dan 51.95% untuk Fuzzy Intermediate COCOMO. Hal ini menunjukkan hasil pengujian terbaik
didapatkan pada pengujian yang menggunakan pendekatan logika fuzzy. Fuzzy Intermediate
COCOMO juga sensitif terhadap perbedaan nilai Cost Driver.
Kata kunci: perkiraan biaya perangkat lunak, fuzzy logic, COCOMO, MMRE
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
DENNY SETIA MULYADI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2008
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
DENNY SETIA MULYADI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2008
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh:
DENNY SETIA MULYADI
G64104030
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2008
ABSTRAK
DENNY SETIA MULYADI. Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy.
Dibimbing oleh IRMAN HERMADI dan WISNU ANANTA KUSUMA.
Perkiraan biaya perangkat lunak merupakan salah satu bagian terpenting dari pengembangan
perangkat lunak. Perkiraan biaya yang terlalu kecil akan mengakibatkan perangkat lunak yang
dihasilkan berkualitas rendah. Sebaliknya, perkiraan biaya yang terlalu besar akan mengakibatkan
pemborosan sumber daya yang digunakan.
Pada penelitian ini, dikembangkan suatu model perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Penelitian ini membandingkan dua metode perkiraan biaya perangkat
lunak, yaitu Intermediate COCOMO dan Fuzzy Intermediate COCOMO. Data yang digunakan
adalah data proyek NASA yang telah dilakukan pada tahun 1980 sampai 1990. Model yang
dihasilkan dievaluasi menggunakan MRE (Magnitude of Relative Error), Mean MRE (MMRE),
Median MRE (MdMRE), Min MRE, Max MRE, dan Standar Deviasi MRE (SdMRE). Kinerja
model secara umum direpresentasikan dalam nilai MMRE.
Penelitian menghasilkan nilai galat MMRE sebesar 59.50% untuk Intermediate COCOMO
dan 51.95% untuk Fuzzy Intermediate COCOMO. Hal ini menunjukkan hasil pengujian terbaik
didapatkan pada pengujian yang menggunakan pendekatan logika fuzzy. Fuzzy Intermediate
COCOMO juga sensitif terhadap perbedaan nilai Cost Driver.
Kata kunci: perkiraan biaya perangkat lunak, fuzzy logic, COCOMO, MMRE
Judul : Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy
Nama : Denny Setia Mulyadi
NIM
: G64104030
Menyetujui:
Pembimbing I,
Pembimbing II,
Irman Hermadi, S.Kom, MS.
NIP 132321422
Wisnu Ananta Kusuma, ST, MT.
NIP 132312485
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Dr. Drh. Hasim, DEA
NIP 131578806
Tanggal Lulus:
RIWAYAT HIDUP
Penulis dilahirkan di Indramayu tanggal 9 November 1986. Penulis merupakan anak
pertama dari tiga bersaudara pasangan Dudung Mulyadi dan Akhomaedah. Pada tahun 2004,
penulis lulus dari SMU Negeri 5 Bogor dan pada tahun yang sama diterima menjadi mahasiswa S1
Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian
Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI).
PRAKATA
Alhamdulillah hirobil alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas
segala karunia dan rahmat-Nya sehingga tugas akhir dengan judul Perkiraan Biaya Perangkat
Lunak Menggunakan Logika Fuzzy dapat diselesaikan.
Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penelitian
ini, antara lain kepada orang tua penulis Bapak Dudung Mulyadi dan Ibu Akhomaedah atas kasih
sayang, dukungan dan doa yang terus mengalir, Bapak Irman Hermadi, S.Kom, MS selaku
pembimbing pertama atas bimbingan dan arahannya selama penelitian dan penyusunan skripsi,
Bapak Wisnu Ananta Kusuma S.T, M.T selaku pembimbing kedua atas bimbingan dan motivasi
selama penyusunan karya tulis ini, serta Ibu Annisa S.Kom M.Kom selaku dosen penguji.
Penulis juga mengucapkan terimakasih kepada Ineza Nur Oktabroni atas semangat,
motivasi, kesabaran, dan bantuannya dalam senang maupun susah, teman-teman satu bimbingan
Syadid, Safar, Wawan, Teny, Yohan dan Welly atas kebersamaan dan bantuan selama bimbingan,
Pandu dan Dani yang telah bersedia menjadi pembahas seminar. Terima kasih juga penulis
ucapkan kepada Lewe, Toink, Hode, Popi, dan teman-teman Ilmu Komputer 41 semuanya, serta
kepada pihak-pihak lain yang telah membantu penulisan skripsi ini.
Semoga tulisan ini dapat bermanfaat. Amin.
Bogor, Mei 2008
Denny Setia Mulyadi
v
DAFTAR ISI
Halaman
DAFTAR TABEL............................................................................................................................vi
DAFTAR GAMBAR .......................................................................................................................vi
DAFTAR LAMPIRAN....................................................................................................................vi
PENDAHULUAN ............................................................................................................................1
Latar Belakang ...........................................................................................................................1
Tujuan ........................................................................................................................................1
Ruang Lingkup...........................................................................................................................1
Manfaat ......................................................................................................................................1
TINJAUAN PUSTAKA....................................................................................................................1
Perkiraan Biaya Perangkat Lunak..............................................................................................1
Proyek Analogi .........................................................................................................................1
Cost Driver ................................................................................................................................1
Effort Multipliers .......................................................................................................................2
Model Pengembangan Proyek ...................................................................................................2
Intermediate COCOMO ...........................................................................................................2
Logika Fuzzy .............................................................................................................................3
Variabel Linguistik ....................................................................................................................3
Fuzzy Intermediate COCOMO ..................................................................................................3
Evaluasi Model Perkiraan Biaya Perangkat Lunak....................................................................4
METODE PENELITIAN..................................................................................................................4
Studi Literatur ............................................................................................................................4
Pengumpulan Data .....................................................................................................................4
Pengembangan Sistem ...............................................................................................................5
Pengujian dan Analisis...............................................................................................................5
Lingkungan Pengembangan ......................................................................................................5
HASIL DAN PEMBAHASAN .......................................................................................................6
Pengujian dan Analisis Perkiraan Biaya Menggunakan Intermediate COCOMO .....................6
Pengujian dan Analisis Fuzzy Intermediate COCOMO ............................................................7
a Akurasi Fuzzy Intermediate COCOMO ........................................................................8
b Kinerja Penggunaan Logika Fuzzy..................................................................................9
KESIMPULAN DAN SARAN ......................................................................................................10
Kesimpulan ..............................................................................................................................10
Saran ........................................................................................................................................10
DAFTAR PUSTAKA .....................................................................................................................10
LAMPIRAN....................................................................................................................................12
vi
DAFTAR TABEL
Halaman
1
2
3
4
Daftar CD......................................................................................................................................2
Koefisien Model Pengembangan Proyek ......................................................................................2
Agregat Galat menggunakan Fuzzy Intermediate COCOMO .......................................................7
Nilai CD dan Pengujian Proyek yang Analogi..............................................................................9
DAFTAR GAMBAR
Halaman
1
2
3
4
5
6
Himpunan fuzzy dan himpunan klasik..........................................................................................3
Metode penelitian ........................................................................................................................4
Grafik MRE NASA Project. ........................................................................................................6
Grafik perbandingan biaya aktual dengan hasil pengujian...........................................................6
Grafik perbandingan tiga MMRE terkecil....................................................................................8
Grafik perbandingan tiga MMRE terbesar. ..................................................................................8
DAFTAR LAMPIRAN
Halaman
1
2
3
4
5
Effort multipliers. ........................................................................................................................12
Membership function Cost Driver...............................................................................................12
Data NASA Project.....................................................................................................................14
Hasil pengujian menggunakan Intermediate COCOMO ............................................................18
Hasil pengujian menggunakan Fuzzy Intermediate COCOMO ..................................................20
1
PENDAHULUAN
Latar Belakang
Perkiraan biaya perangkat lunak sangat
penting dalam pengembangan perangkat
lunak. Perkiraan yang terlalu kecil dari biaya
aktualnya akan mengakibatkan perangkat
lunak yang dihasilkan berkualitas rendah.
Sebaliknya, apabila perkiraan biaya yang
terlalu besar akan mengakibatkan pemborosan
sumber daya yang digunakan.
Dalam pengembangan perangkat lunak
terdapat banyak faktor yang mempengaruhi
biaya pembuatan perangkat lunak. Faktorfaktor tersebut diukur dalam enam linguistic
value, yaitu: ‘very low’, ‘low’, ‘nominal’,
‘high’, ‘very high’ dan ‘extra high’. Dengan
demikian setiap faktor hanya masuk dalam
satu kelas (skala ordinal) tertentu. Hal ini akan
menimbulkan perbedaan perkiraan biaya
perangkat lunak yang cukup jauh pada dua
proyek yang analogi. Masalah ini disebabkan
karena penggunaan interval klasik dalam
merepresentasikan variabel linguistik.
Pada penelitian yang dilakukan oleh Idri et
al (2001), representasi variabel linguistik tidak
dilakukan dengan interval klasik melainkan
menggunakan himpunan fuzzy (fuzzy sets).
Kinerja dari penggunaan konsep fuzzy tersebut
menunjukan hasil estimasi yang lebih akurat
daripada menggunakan interval klasik.
Tujuan
Tujuan dari penelitian ini adalah
memodelkan perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Dari pemodelan
tersebut akan dianalisis kinerja penerapan
logika fuzzy untuk perkiraan biaya perangkat
lunak.
Ruang Lingkup
Ruang lingkup penelitian ini adalah
sebagai berikut:
1 Data yang digunakan untuk pengujian
adalah NASA Project yang terdiri dari 93
proyek dari tahun 1980 – 1990.
2 Atribut yang dipakai dalam perhitungan
perkiraan biaya perangkat lunak ini adalah
model pengembangan proyek, ukuran
perangkat lunak, biaya aktual, dan 15 jenis
Cost Driver.
Manfaat
Penelitian ini memberikan manfaat berupa
pemodelan perkiraan biaya perangkat lunak
menggunakan logika fuzzy yang digunakan
untuk memprediksi biaya pada proyek yang
selanjutnya.
TINJAUAN PUSTAKA
Perkiraan Biaya Perangkat Lunak
Perkiraan biaya perangkat lunak adalah
proses memprediksi biaya yang diperlukan
dalam pengembangan sistem perangkat lunak
(Leung 2001). Perkiraan biaya perangkat
lunak mengacu pada prediksi jumlah biaya,
waktu, dan staffing level yang diperlukan
untuk membangun sistem perangkat lunak
(Saliu 2003).
Perkiraan biaya perangkat lunak dapat
diklasifikasi menjadi metode pemodelan
algoritmik dan pemodelan non-algoritmik.
Pemodelan algoritmik diturunkan dari analisis
statistikal dari data proyek terdahulu (Saliu
2003). Contoh dari pemodelan algoritmik
adalah model linear, model multiplikatif, dan
model power-function. Sedangkan pemodelan
non-algoritmik berdasarkan pengalaman pakar
dan perbandingan dengan proyek sebelumnya
yang analogi (Dickson 2007). Contoh yang
paling umum adalah expert judgment dan
analogy costing.
Proyek Analogi
Proyek yang analogi adalah proyek-proyek
yang paling serupa (Briand et al. 1999).
Proyek analogi dapat dicari dengan
menggunakan persamaan jarak Euclidan ndimensi dimana setiap dimensi mewakili satu
atribut (Schofield dan Shepperd 1996).
Persamaannya adalah sebagai berikut :
E=
(a1 − a2 )2 + (b1 − b2 )2 + ... + (z1 − z 2 )2 ...(1)
dimana E adalah jarak Euclidean, serta a,b,..,z
adalah atribut-atribut proyek 1 dan proyek 2.
Dua buah proyek dengan jarak terkecil akan
dinyatakan sebagai proyek yang analogi.
Cost Driver
Dalam pengembangan perangkat lunak
terdapat faktor-faktor yang mempengaruhi
biaya pengembangan yang disebut dengan
Cost Driver (CD). Menurut Saliu (2003)
terdapat 15 jenis CD yang dikelompokkan
dalam empat grup. Daftar CD dapat dilihat
pada Tabel 1.
2
Tabel 1 Daftar CD
Grup
Produk
Platform
Personil
Proyek
CD
Keandalan perangkat
lunak
Ukuran basisdata
Kompleksitas
produk
Batasan waktu
eksekusi
Batasan tempat
penyimpanan utama
Mesin Virtual
Waktu turnaround
komputer
Kemampuan analisis
Pengalaman dalam
aplikasi
Kemampuan
programer
Pengalaman dalam
mesin virtual
Pengalaman dalam
bahasa
pemrograman
Penggunaan
program modern
Penggunaan
peralatan perangkat
lunak
Jadwal
pengembangan yang
diperlukan
Simbol
Rely
Data
Cplx
Time
Stor
Virt
Turn
Acap
Aexp
Pcap
Vexp
Lexp
Modp
Tool
Sced
Effort Multipliers
Tiap–tiap CD pada perkiraan biaya
perangkat lunak memiliki kategori. Kategori
tersebut dinyatakan dalam linguistic value
yaitu very low, low, nominal, high dan very
high. Kategori – kategori tersebut mewakili
sebuah nilai yang disebut dengan 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
(NASA, 2005), yaitu:
1 Organic
Dalam model organic, perangkat lunak
dikembangkan oleh tim yang terdiri dari
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
merupakan campuran dari karakteristik
model organic 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 (Saliu 2003).
Tabel 2 Koefisien model pengembangan
proyek
Model
Organic
Semidetached
Embedded
A
3.2
3.0
2.8
B
1.05
1.12
1.20
Intermediate COCOMO (Cost Constructive
Model)
Model Intermediate COCOMO adalah
ekstensi dari versi awal yang menghitung
biaya perkiraan perangkat lunak hanya dengan
mengunakan ukuran perangkat lunak dan
model pengembangan proyek saja. Dalam
Intermediate COCOMO terdapat penambahan
atribut perhitungan yang digunakan yaitu CD,
yang terdiri dari 15 jenis (Idri et al. 2001).
Sehingga perkiraan biaya perangkat lunak
tidak hanya berdasarkan ukuran dan model
proyek tapi juga bergantung dari lingkungan
pengembangan.
Persamaan perkiraan biaya perangkat
lunak pada Intermediate COCOMO adalah
sebagai berikut:
i =15
MM est = A × SIZE B ∏ Cij ...(2)
i =1
dimana MM est adalah biaya estimasi (dalam
Man-Months), SIZE adalah ukuran perangkat
lunak dalam KDSI (Kilo Delivery Source
Instruction), A dan B adalah koefisien untuk
tiap model proyek (organic, semidetached,
3
dan
embedded)
dan
Cij
adalah
effort
multiplier untuk tiap-tiap atribut pada Cost
Driver.
Logika Fuzzy
x
Zadeh (1996) menyatakan bahwa logika
fuzzy berhubungan dengan prinsip-prinsip
pemberian alasan formal mengenai suatu hal
yang tidak mempunyai ketentuan atau
pemberian alasan perkiraan. Penggunaan
model logika fuzzy memungkinkan pembuatan
keputusan yang relatif di dalam suatu
lingkungan ketidaktentuan dan ketidaktepatan.
Himpunan fuzzy berbeda dengan himpunan
klasik (crisp sets). Dalam himpunan klasik,
objek yang merupakan elemen dari suatu
himpunan, maka fungsi keanggotaanya adalah
1. Sedangkan jika objek tersebut bukan
elemen dari suatu himpunan, maka fungsi
keanggotaanya adalah 0. Dengan demikian
himpunan klasik ini nilainya adalah {0,1}.
Tipe pemikiran ini merupakan logika bivalent
atau two-value-logic, yaitu logika yang hanya
mempunyai dua nilai kebenaran, yaitu true
(benar/1) dan false (salah/0). Problem dalam
logika bivalent ini adalah dalam dunia nyata
sesuatu pada umumnya tidak hanya ada dalam
dua nilai kebenaran.
Dalam himpunan fuzzy, suatu objek
mungkin menjadi elemen suatu himpunan
secara sebagian. Tingkat keanggotaan dalam
himpunan fuzzy disebut derajat keanggotaan,
dimana nilainya diukur dari perluasan fungsi
keanggotaan himpunan klasik. Fungsi
keanggotaan pada himpunan fuzzy A
dinyatakan dengan μA (x). Fungsi keanggotaan
ini memetakan x kedalam kodomain dalam
bentuk interval dari 0 sampai 1. Nilai 0
menunjukan bahwa x bukan anggota
himpunan, nilai 1 menunjukan x anggota
himpunan secara penuh, sedangkan nilai
antara 0 sampai 1 (selain 0 dan 1)
menunjukkan derajat keanggotaan x dalam
suatu himpunan. Ilustrasi dari perbedaan
antara himpunan fuzzy dan himpunan klasik
dapat dilihat pada Gambar 1.
Gambar 1 (a) Himpunan fuzzy
(b) himpunan klasik.
Pada Gambar 1 terlihat bahwa pada
himpunan fuzzy suatu nilai bisa menjadi
anggota himpunan secara sebagian (misal x =
3000), sedangkan pada himpunan klasik nilai
tersebut hanya masuk ke salah satu himpunan
saja (too expensive)
Variabel Linguistik
Variabel linguistik (linguistic variable)
adalah suatu variabel yang nilainya adalah
kata atau kalimat di dalam bahasa natural
(Zadeh 1996). Sebagai contoh, umur adalah
variabel linguistik jika nilainya “muda”,
“tidak muda”, “sangat muda”, “tua”, “tidak
tua” atau “sangat tua”. Umumnya, nilai
variabel linguistik dibangkitkan dari nilai
utama, contohnya “muda” dan lawan katanya
“tua”.
Fuzzy Intermediate COCOMO
Proses dalam perkiraan biaya perangkat
lunak menggunakan logika fuzzy adalah
mendefinisikan fungsi keanggotaan untuk
setiap variabel linguistik pada Cost Driver
dengan fungsi keanggotaan yang bertipe
trapezoid (Idri et al. 2001). Tetapi tidak semua
faktor pada Cost Driver didefinisikan dalam
fuzzy sets karena hanya merupakan sebuah
deskripsi biasa (Saliu 2003). Faktor-faktor
tersebut adalah RELY, CPLX, MODP, dan
TOOL (Idri et al. 2001). Fungsi keanggotaan
untuk setiap Cost Driver dapat dilihat pada
Lampiran 2 (Idri et al. 2001). Proses
penghitungan perkiraan biaya perangkat lunak
menggunakan logika fuzzy sama dengan
COCOMO, tetapi effort multipliers yang
digunakan berasal dari sebuah persamaan.
Persamaannya adalah :
ki
F _ Cij = ∑ μ VAij ( P ) × Cij ...(3)
x
j =1
dimana F _ Cij adalah
effort multipliers
yang didapatkan dari himpunan fuzzy,
μ Av
i
j
4
adalah fungsi keanggotaan dari himpunan
fuzzy A j yang berasosiasi dengan Cost
Driver Vi ,
P adalah urutan proyek dan
K i adalah jumlah Cost Driver.
Evaluasi Model Perkiraan Biaya Perangkat
Lunak
Proses evaluasi model perkiraan biaya
perangkat lunak adalah membandingkan
akurasi dari biaya estimasi dengan biaya
aktualnya (Boehm, 1981 dalam Indri et al,
2001). Dalam COCOMO digunakan lima
jenis nilai untuk mengukur keakuratan dari
sebuah model perkiraan biaya perangkat
lunak, (Briand et all, 1998) yaitu:
• MREi =
dimana
i
i
− MM act
MM est
i
MM act
MREi
...(4)
adalah Magnitude of
i
Relative Error dari proyek ke-i, MM est
adalah biaya estimasi untuk proyek kei
i, dan MM act
adalah biaya aktual
untuk proyek ke-i.
• Mean MRE =
1
N
∑ MRE
i
i
…(5)
Mean MRE (MMRE) digunakan untuk
menghitung agregat nilai MRE pada N
proyek (pengujian).
• Median MRE (MdMRE) digunakan untuk
menghitung nilai tengah dari sekumpulan
MRE proyek.
• Standar
Deviasi
MRE
(SdMRE)
digunakan untuk mengukur seberapa besar
penyimpangan nilai MRE dari nilai rataratanya.
• Pengukuran lainnya adalah MRE terkecil
(min MRE) dan MRE terbesar (max
MRE). Nilai tersebut digunakan untuk
mengetahui seberapa baik dan buruk
akurasi dari sistem.
METODE PENELITIAN
Tahapan penelitian yang digunakan dapat
dilihat pada Gambar 2, dengan tahap – tahap
sebagai berikut :
Gambar 2 Metode penelitian.
Studi Literatur
Pada tahap ini, dilakukan pengumpulan
informasi tentang perkiraan biaya perangkat
lunak menggunakan Fuzzy Intermediate
COCOMO. Literatur berupa buku, jurnal dan
artikel dari internet.
Pengumpulan Data
Data yang dipakai pada penelitian ini
adalah NASA Project, yang didapat dari situs
http://www.promisedata.org. Data tersebut
berasal dari berbagai proyek yang dilakukan
NASA dari tahun 1980 – 1990, yang terdiri
dari 93 proyek. Data ini terdiri dari 24 atribut,
yaitu 15 jenis CD yang bertipe numerik, 7
atribut tentang deskripsi proyek, ukuran
perangkat lunak dalam KDSI, dan biaya
aktual proyek dalam satuan Man Month
(MM). Data NASA Project dapat dilihat pada
Lampiran 3.
5
Tidak seluruh atribut pada NASA Project
digunakan dalam penelitian ini. Atribut yang
digunakan adalah 15 jenis CD, model
pengembangan proyek, ukuran perangkat
lunak dan biaya aktual proyek. Enam atribut
lainnya tidak digunakan karena hanya berupa
deskripsi proyek, seperti: nomor id, tahun
pengembangan, nama proyek, kategori
aplikasi yang dikembangkan, dan lokasi
pengembangan.
Pengembangan Sistem
Proses pengembangan sistem pada
penelitian ini mempunyai dilaksanakan dalam
dua tahap, yaitu: pengembangan sistem, dan
pengujian sistem.
Pada tahap pengembangan sistem, tiaptiap CD berikut nilai dan derajat
keanggotaannya
akan
dibuat
fungsi
keanggotaannya. Fungsi keanggotaan yang
digunakan pada penelitian ini berasal dari
jurnal Cost Model Using Fuzzy Logic (Idri at
al. 2001). Kemudian kode program untuk
fungsi keanggotaan ini dibuat menggunakan
MATLAB.
Setelah sistem selesai dibuat, maka
dilakukan
pengujian
terhadap
sistem.
Pengujian dilakukan dengan melakukan
pengecekan terhadap kesalahan syntax
ataupun logika pada kode program yang
dibuat. Jika sistem sudah teruji barulah dapat
memproses data.
Pengujian dan Analisis
Pengujian pada penelitian ini dibagi
menjadi dua tahap. Tahap yang pertama
adalah pengujian dan analisis sebelum
penerapan logika fuzzy. Penghitungan biaya
perangkat lunak pada pengujian ini dilakukan
dengan
menggunakan
Intermediate
COCOMO. Atribut yang digunakan dalam
pengujian
adalah
15
CD,
model
pengembangan, ukuran perangkat lunak dan
biaya aktual.
Pengujian akan menghasilkan perkiraan
besarnya biaya yang diperlukan untuk
pengembangan perangkat lunak. Hasil
pengujian
tersebut
dievaluasi
dengan
membandingkan dengan biaya aktualnya
menggunakan MRE. Setelah dihitung nilai
MRE dihitung juga nilai-nilai galat : MMRE,
min MRE, max MRE, MdMRE dan SdMRE.
Pengujian untuk kelompok yang kedua
adalah pengujian setelah penerapan logika
fuzzy.
Pengujian
dilakukan
dengan
menggunakan metode Fuzzy Intermediate
COCOMO. Atribut yang dipakai sama seperti
pada pengujian kelompok pertama. Evaluasi
juga dilaksanakan dengan menggunakan nilainilai galat yang sama dengan pengujian
menggunakan Intermediate COCOMO.
Hasil pengujian Fuzzy Intermediate
COCOMO akan dibandingkan dengan hasil
pengujian
Intermediate
COCOMO.
Perbandingan yang dilakukan adalah akurasi
dan kinerja kedua metode tersebut. Analisis
terhadap akurasi dilakukan dengan cara
membandingkan besarnya nilai-nilai galat
MMRE, min MRE dan max MRE antara
kedua metode tersebut. Sedangkan untuk
perbandingan kinerja dilakukan pada dua
proyek yang analogi. Kedua proyek tersebut
dihitung biaya perkiraannya menggunakan
Intermediate
COCOMO
dan
Fuzzy
Intermediate COCOMO, kemudian hasilnya
akan dibandingkan dan dianalisis.
Lingkungan Pengembangan
Perangkat lunak yang digunakan dalam
penelitian ini adalah sebagai berikut :
• Microsoft Windows XP Profesional,
• Microsoft Office Excel 2007,
• MATLAB 7.0.
Sedangkan perangkat keras yang
digunakan adalah sebagai berikut :
• PC Intel Pentium IV 2.67 GHz,
• DDRAM 1024 MB,
• VGA,
• hardisk dengan kapasitas 120 GB,
• monitor VGA dengan resolusi 1024x768
pixel,
• keyboard,
• mouse.
6
Gambar 3 Grafik MRE NASA Project.
HASIL DAN PEMBAHASAN
Pengujian dan analisis perkiraan biaya
menggunakan Intermediate COCOMO
Terhadap 93 Proyek dalam NASA Project
akan dilakukan pengujian. Galat pada tiap
pengujian dihitung dengan menggunakan
MRE. Setelah dihitung MRE pada seluruh
proyek, dihitung MMRE, min MRE, max
MRE, MdMRE dan SdMRE. Hasil pengujian
dan nilai MRE pada masing proyek dapat
dilihat pada Lampiran 4. Grafik MRE untuk
seluruh pengujian dapat dilihat pada Gambar
3.
Pada Gambar 3 terlihat bahwa terdapat 4
buah nilai pencilan tinggi. Nilai tersebut
berada pada proyek ke-59, 67, 78 dan 92
dengan nilai masing-masing 442,25%,
492,68%, 1041,53% dan 638,09%. Keempat
pencilan ini terlihat mencolok karena
perbedaan nilai MRE yang sangat jauh dengan
nilai MRE proyek lainnya. Pencilan-pencilan
tersebut sangat mempengarui nilai rata-rata
MRE. Hal ini terlihat dari selisih nilai yang
besar antara MMRE dan MdMRE yang
masing-masing sebesar 59,50% dan 29,53%.
Dapat dilihat secara rinci pada Lampiran 3
bahwa penyebab besarnya nilai MRE pada
pencilan-pencilan tersebut adalah karena
biaya aktual yang lebih kecil dibandingkan
proyek lain yang sejenis. Sebagai contoh:
proyek ke-92 memiliki biaya aktual 12 MM
dan proyek ke-93 biaya aktualnya 36 MM.
Seluruh CD pada kedua proyek tersebut
memiliki kategori yang sama. Perbedaan
kedua proyek tersebut terletak pada ukuran
perangkat lunak, proyek ke-92 sebesar 6,2
KDSI dan proyek ke-93 sebesar 3 KDSI.
Seharusnya makin besar ukuran perangkat
lunak, makin besar biaya pengembangannya.
Namun hal ini berkebalikan dengan biaya
aktual pada proyek ke-92. Sehingga saat
dibandingkan biaya perkiraan hasil pengujian
dengan biaya aktualnya, didapatkan nilai
MRE yang cukup besar. Kondisi ini dialami
juga oleh tiga pencilan lainnya.
Agar dapat diketahui selisih antara hasil
pengujian dengan biaya aktual, Gambar 4
menampilkan grafik perbandingan antara
biaya aktual dengan biaya perkiraan.
Pada Gambar 4 terlihat bahwa kedua
grafik tersebut tidak jauh berbeda. Hanya
tampak dua perbedaan yang mencolok pada
kedua grafik tersebut, yaitu pada pengujian
proyek ke-59 dan proyek ke-90. Dua proyek
tersebut memiliki selisih antara biaya aktual
dan biaya perkiraan yang cukup besar
dibandingkan dengan proyek lainnya. Proyek
yang memiliki selisih biaya yang paling besar
adalah proyek ke-59 yang juga merupakan
pencilan pada pengujian menggunakan
Intermediate COCOMO.
Gambar 4 Grafik perbandingan biaya akual dengan hasil pengujian.
7
Pengujian dan Analisis Fuzzy Intermediate
COCOMO
Karena dalam basis data NASA Project
pada tiap Cost Driver hanya dicantumkan
informasi kategori saja yang berupa “very
low”, “low”, “nominal”, “high” dan “very
high”. Sedangkan pada pengujian yang
menggunakan metode fuzzy diperlukan sebuah
nilai dari setiap Cost Driver. Hal ini
diperlukan sebagai input untuk
μ VA (P )
i
j
(derajat keanggotaan dari Cost Driver) pada
persamaan 3. Oleh karena itu dibuatlah
dataset (data tiruan) yang berasal dari basis
data yang sebenarnya. Dataset ini berisi nilai
effort multipliers yang sesuai dengan data
yang sebenarnya (Idri et al. 2001). Sebagai
contoh, misalkan proyek ke-1 dalam NASA
Project Cost Driver DATA tertulis ‘low’,
maka pada proyek ke-1 dalam dataset dengan
Cost Driver DATA akan berisi nilai random
antara 0 sampai 10. Pada pengujian ini akan
digunakan sepuluh dataset.
Pengujian dari kesepuluh dataset tersebut
dilakukan dengan menghitung MRE setiap
proyek. Setelah dihitung nilai MRE, dihitung
nilai MMRE, min MRE, max MRE, MdMRE
dan SdMRE pada setiap pengujian dataset.
Hasil pengujian dapat dilihat pada Tabel 3.
Sedangkan nilai galat MRE tiap proyek pada
masing-masing dataset dapat dilihat pada
Lampiran 5.
Pada Tabel 3 terlihat bahwa hasil
pengujian kesepuluh dataset menghasilkan
nilai galat yang berbeda-beda. Namun jika
kesepuluh
dataset
tersebut
dihitung
menggunakan Intermediate COCOMO, maka
akan didapatkan nilai galat yang sama seperti
pada pengujian data NASA Project. Hal ini
terjadi karena pada Intermediate COCOMO
yang digunakan sebagai inputan untuk
menghitung biaya perkiraan adalah kategori
dari kelima belas CD. Lain hal pada Fuzzy
Intermediate COCOMO, yang digunakan
sebagai inputan adalah nilai dari kelima belas
CD. Dari nilai CD tersebut akan didapatkan
derajat keanggotaan kategori tiap CD yang
kemudian akan dikalikan dengan effort
multipliers. Dengan demikian, walaupun
kesepuluh dataset tersebut kategori CD nya
sama, tapi hasil pengujiaanya bisa saja
berbeda jika nilai-nilai CD nya berbeda. Dapat
disimpulkan
bahwa
hasil
pengujian
menggunakan
konsep
fuzzy
sangat
dipengaruhi oleh nilai CD.
Analisis yang akan dilakukan pada metode
Fuzzy Intermediate COCOMO meliputi dua
hal, yaitu akurasi dan kinerja. Namun karena
sepuluh dataset pada Tabel 3 dihasilkan dan
diuji dengan mekanisme yang sama, maka
tidak semua dataset akan dibahas. Hanya pada
dataset tertentu saja, yaitu pada dataset
dengan nilai MMRE terbesar ataupun terkecil.
Tabel 3 Agregat Galat menggunakan Fuzzy Intermediate COCOMO
Galat (%)
Min MRE
Max MRE
Mean MRE
Median MRE
Standar Deviasi MRE
Dataset 1
0.40
978.12
52.42
29.80
116.35
Dataset 2
0.75
604.88
41.53
26.78
76.67
Dataset 3
0.89
891.14
51.71
32.28
103.21
Dataset 4
1.86
1023.16
61.30
24.90
143.33
Dataset 5
0.02
1014.53
61.61
24.65
140.78
Dataset 6
1.24
999.82
60.79
25.63
138.46
Dataset 7
0.01
604.88
44.35
27.53
81.62
Dataset 8
0.61
815.44
52.70
33.08
96.35
Dataset 9
0.27
933.84
50.41
30.81
104.77
Dataset 10
0.02
538.75
42.64
26.72
74.19
Dataset
8
Gambar 5 Grafik perbandingan tiga MMRE terkecil.
a Akurasi Fuzzy Intermediate COCOMO
Nilai akurasi didapatkan dari nilai galat
MMRE, min MRE dan max MRE pada tiaptiap dataset. Makin kecil nilai-nilai tersebut
maka makin baik akurasinya.
Pada Tabel 3 terlihat bahwa terdapat tiga
dataset yang memiliki nilai galat MMRE
terkecil yaitu: dataset 2, dataset 7 dan dataset
10 masing-masing sebesar 42,68%, 44,49%,
dan 47,52%. Grafik perbandingan MMRE
untuk ketiga dataset tersebut dapat dilihat
pada Gambar 5. Sebagai pembanding
dicantumkan pula grafik hasil pengujian
Intermediate COCOMO.
Pada Gambar 5 terlihat bahwa grafik hasil
pengujian dataset 2, dataset 7, dataset 10 dan
Intermediate COCOMO memiliki bentuk
grafik yang hampir sama. Hal tersebut
menunjukkan
hasil
pengujian
antara
Intermediate
COCOMO
dan
Fuzzy
Intermediate
COCOMO
menghasilkan
MMRE yang tidak jauh berbeda. Perbedaan
MMRE yang cukup jauh hanya pada empat
proyek, yaitu proyek ke-59, 67, 78 dan 92,
dan merupakan pencilan pada grafik-grafik di
atas. Pengujian yang menggunakan Fuzzy
Intermediate COCOMO menghasilkan nilai
galat MRE yang lebih kecil dari pada
Intermediate COCOMO pada empat pencilan
tersebut. Hal tersebut yang menyebabkan nilai
MMRE ketiga dataset lebih baik daripada
nilai MMRE Intermediate COCOMO.
Tiga dataset yang memiliki nilai galat
MMRE terbesar yaitu: dataset 4, dataset 5
dan dataset 6 masing-masing sebesar 59,46%,
61,74% dan 59,81%. Grafik perbandingan
MMRE untuk ketiga dataset tersebut dapat
dilihat pada Gambar 6. Sebagai pembanding
ditampilkan pula grafik hasil pengujian
Intermediate COCOMO.
Pada Gambar 6 terlihat grafik hasil
pengujian dataset 4, 5, dan 6 memiliki bentuk
yang sama
dengan hasil pengujian
Intermediate COCOMO. Pencilan-pencilan
juga terletak pada proyek yang sama. Secara
umum nilai galat MRE tiap proyek pada
ketiga dataset tersebut nilainya sama dengan
nilai galat Intermediate COCOMO. Sehingga
nilai galat MMRE ketiga dataset tersebut tidak
jauh berbeda dengan Intermediate COCOMO.
Nilai galat MMRE digunakan untuk
menghitung akurasi dari sistem secara umum
(seluruh proyek). Nilai galat min dan max
MRE menunjukan seberapa baik dan buruk
akurasi dari sistem tersebut. Tiga dataset yang
memiliki nilai galat MRE terkecil yaitu:
dataset 5, dataset 7 dan dataset 10, dengan
masing-masing nilai min MRE yaitu: 0.02%,
0.01% dan 0.02% yang terdapat pada
pengujian proyek ke-57, 21 dan 18. Nilai-nilai
min MRE ini hampir sama dengan nilai min
MRE
pada
pengujian
menggunakan
Intermediate COCOMO yaitu sebesar 0.02%.
Hal ini menunjukan bahwa perkiraan biaya
perangkat lunak menggunakan logika fuzzy
juga dapat memiliki akurasi sebaik
Intermediate COCOMO.
Nilai galat MRE terbesar pada pengujian
Fuzzy Intermediate COCOMO terletak pada
dataset 4 proyek ke-78 yaitu sebesar
1023.16%. Nilai galat ini lebih besar dari hasil
pengujian dengan Intermediate COCOMO.
Penyebabnya adalah nilai random CD yang
dihasilkan pada dataset 4 proyek ke-78 adalah
nilai-nilai besar. Karena nilai 15 CD tersebut
besar maka akan menghasilkan fuzzy effort
multiplie yang besar. Sehingga pengujian
menghasilkan biaya perkiraan yang besar.
Biaya perkiraan yang dihasilkan adalah
1089.50 MM sedangkan biaya aktualnya
adalah 97 MM.
9
Gambar 6 Grafik perbandingan tiga MMRE terbesar.
b Kinerja Pengunaan Logika Fuzzy
Dalam menghitung biaya perangkat,
semakin besar nilai CD: STOR, DATA,
TIME, TURN, VIRT, CPLX dan RELY,
semakin besar pula biaya perkiraan yang
dihasilkan. Sedangkan untuk nilai CD: ACAP,
PCAP, AEXP, MODP, TOOL, VEXP, dan
LEXP yang semakin besar akan menurunkan
biaya perkiraan.
Karena Fuzzy Intermediate COCOMO
sangat dipengaruhi oleh nilai CD, akan
dianalisis kinerja logika fuzzy berdasarkan
perbedaaan nilai-nilai CD. Analisis akan
dilakukan pada proyek yang analogi (proyek
yang serupa).
Salah satu contoh proyek yang analogi
pada pengujian Fuzzy Intermediate COCOMO
dengan menggunakan dataset 1 adalah proyek
ke-21 dan proyek ke-24.
Berdasarkan Tabel 4 pengujian dua proyek
tersebut menghasilkan biaya perkiraan yang
tidak jauh berbeda. Namun jika diuji
menggunakan Intermediate COCOMO hasil
pengujian dua proyek tersebut menghasilkan
biaya perkiraan sebesar 74,25 MM untuk
proyek ke-21 dan 62,22 MM untuk proyek ke24. Penyebab besarnya selisih biaya
perkiraaan adalah walaupun dua proyek
tersebut analogi tetapi kategori CD kedua
proyek tersebut berbeda.
Dari hasil pengujian dua proyek tersebut
terlihat bahwa hasil pengujian Fuzzy
Intermediate COCOMO sangat sensitif
terhadap perbedaan nilai CD, sedangkan pada
Intermediate COCOMO hasil pengujian
dipengaruhi oleh kategori kelima belas CD.
Pengujian
menggunakan
Intermediate
COCOMO akan menghasilkan biaya pekiraan
yang sama apabila kategori kelima belas CD
antara dua proyek tersebut sama. Sehingga
walaupun dua proyek tersebut nilai CD nya
tidak jauh berbeda, tapi kategori CD nya
berbeda maka selisih biaya perkiraan antara
dua proyek tersebut akan besar. Hal ini
berbeda
dengan
Fuzzy
Intermediate
COCOMO, biaya perkiraan yang dihasilkan
sesuai dengan nilai CD. Semakin besar
perbedaan nilai CD antara dua proyek, maka
semakin besar pula selisih biaya perkiraan
yang dihasilkan. Perbedaan kategori CD pada
dua
proyek
tersebut
tidak
begitu
mempengaruhi hasil pengujian.
Tabel 4 Nilai CD dan hasil pengujian proyek
yang analogi
Nilai CD
DATA
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
SCED
Biaya
Perkiraan
Dataset 1
proyek ke-21
Dataset 1
proyek ke-24
9
25
29
180
0.5
54
24
53
8
17
81
11
50
25
120
4
49
36
55
9
12
95
60,24 MM
63,18 MM
Pengujian menggunakan Intermediate
COCOMO akan menghasilkan biaya pekiraan
yang sama apabila kategori kelima belas CD
antara dua proyek tersebut sama. Sehingga
walaupun dua proyek tersebut nilai CDnya
tidak jauh berbeda, tapi kategori CDnya
berbeda maka selisih biaya perkiraan antara
dua proyek tersebut akan besar. Hal ini
berbeda
dengan
Fuzzy
Intermediate
COCOMO, biaya perkiraan yang dihasilkan
10
sesuai dengan nilai CD. Semakin besar
perbedaan nilai CD antara dua proyek, maka
semakin besar pula selisih biaya perkiraan
yang dihasilkan. Perbedaan kategori CD pada
dua
proyek
tersebut
tidak
begitu
mempengaruhi hasil pengujian.
KESIMPULAN DAN SARAN
Kesimpulan
Perkiraan
biaya
perangkat
lunak
menggunakan Intermediate COCOMO yang
digunakan sebagai nilai input adalah kategori
kelima belas CD sehingga akan menghasilkan
biaya perkiraan dengan selisih yang besar
pada proyek – proyek yang analogi. Begitu
juga sebaliknya, pada proyek-proyek dengan
nilai CD yang berbeda jauh akan
menghasilkan biaya perkiraan yang sama
. Kekurangan dari metode Intermediate
COCOMO diatasi dengan menggunakan
Fuzzy Intermediate COCOMO. Dalam metode
ini yang digunakan sebagai nilai input adalah
nilai setiap CD sehingga besarnya biaya
perkiraan yang dihasilkan sesuai dengan
besarnya nilai CD. Semakin besar perbedaan
nilai CD antara dua proyek maka semakin
besar pula selisih biaya antara dua proyek
tersebut.
Berdasarkan pengujian sepuluh dataset
menggunakan Fuzzy Intermediate COCOMO
didapatkan rata-rata nilai galat MMRE yaitu
sebesar 51,95%. Nilai galat ini lebih kecil dari
Intermediate COCOMO yaitu sebesar
59,50%.
Saran
Fuzzy Intermediate COCOMO dapat
dikembangkan lebih jauh lagi dengan cara
merepresentasikan ukuran perangkat lunak
dan model pengembangan proyek dalam
himpunan fuzzy.
DAFTAR PUSTAKA
Briand, Lionel. et al. 1999. An Assessment and
Comparison of Common Software Cost
Estimation Model Based on Integration
of
Multi-agent
and
Case-Based
Reasoning. Journal of Computer Science
2. ISSN, 3:276-282.
Dickson, Gardner, 2007. Software Cost
Estimation. Faculty of Computer Science
– Faculty of Engineering, Universiry of
New Brunswick, Canada.
Idri, Ali dan Abran, Alain. COCOMO Cost
Model Using Fuzzy Logic. Department
of Computer Science, UAQM. Montreal,
Canada.
Idri, Ali. et al. 2001. Fuzzy Analogy: A New
Approach for Software Cost Estimation.
International Workshop on Software
Measurement. Montreal, Canada.
Idri, Ali. et al. 2001. La Logique Appliquee
Aux
Modeles
d’Estimation
de
Development de Logiciels Cas du
Modele COCOMO 81 : International
Workshop on Software Measurement.
Montreal, Canada.
Leung, Hareton. dan Zhang Fan. 2001.
Software Cost Estimation. Departement
of Computing, The Hong Kong
Polytechnic University.
NASA Cost Estimating Web Site. 2005.
http://cost.jsc.nasa.gov/COCOMO.html
Promise Software Engineering Repository
data
set.
2004.
http://www.promisedata.org
Saliu, Moshood. 2003, Adaptive Fuzzy Logic
Based
Framework
For
Software
Development Effort Prediction. King
Fahd University of Petroleum &
Minerals.
Shepperd, M. dan Schofield, C. 1996. Effort
Estimation Using Analogy. Proceedings
of the 18th International Conference on
Software Enginering. Berlin, Germany.
Zadeh, L. 1996, Fuzzy Logic: Computing With
Words, IEEE Transactions on Fuzzy
Systems, Vol.4, No.2, pp. 103-111.
LAMPIRAN
12
Lampiran 1 Effort multipliers
Cost Driver
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
Very Low
Low
Normal
High
Very High
0.75
0.70
0.88
0.94
0.85
1.46
1.29
1.42
1.21
1.14
1.24
1.24
1.23
0.87
0.87
1.19
1.13
1.17
1.10
1.07
1.10
1.10
1.08
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.15
1.08
1.15
1.11
1.06
1.15
1.07
0.86
0.91
0.86
0.90
0.95
0.91
0.91
1.04
1.40
1.16
1.30
1.30
1.21
1.30
1.15
0.71
0.82
0.70
Extra High
1.65
1.66
1.56
0.82
0.83
1.10
Lampiran 2 Membership function Cost Driver
Grafik membership function DATA
Grafik membership function STORE
Grafik membership function TIME
Grafik membership function VIRT
13
Lanjutan
Grafik membership function TURN
Grafik membership function VEXP
Grafik membership function ACAP
Grafik membership function LEXP
Grafik membership function AEXP
Grafik membership function PCAP
Grafik membership function SCED
14
Lampiran 3 Data NASA Project
No
Model
Pengembangan
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
1
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
25.9
117.6
2
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
24.6
117.6
3
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
7.7
31.2
4
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
8.2
36
5
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
9.7
25.2
6
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
2.2
8.4
7
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
3.5
10.8
Cost Driver
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
8
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
66.6
352.8
9
semidetached
h
l
h
xh
xh
l
h
h
h
h
n
h
h
h
n
7.5
72
10
semidetached
n
l
h
n
n
l
l
h
vh
vh
n
h
n
n
n
20
72
11
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
6
24
12
semidetached
n
l
h
n
n
l
l
h
vh
vh
n
h
n
n
n
100
360
13
semidetached
n
l
h
n
n
l
l
h
vh
n
n
l
n
n
n
11.3
36
14
semidetached
n
l
h
n
n
h
l
h
h
h
l
vl
n
n
n
100
215
15
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
20
48
16
semidetached
n
l
h
n
n
l
l
h
n
n
n
vl
n
n
n
100
360
17
semidetached
n
l
h
n
xh
l
l
h
vh
vh
n
h
n
n
n
150
324
18
semidetached
n
l
h
n
n
l
l
h
h
h
n
h
n
n
n
31.5
60
19
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
15
48
20
semidetached
n
l
h
n
xh
l
l
h
h
n
n
h
n
n
n
32.5
60
21
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
19.7
60
22
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
66.6
300
23
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
29.5
120
24
semidetached
h
n
n
h
n
n
n
n
h
h
n
n
n
n
n
15
90
15
Lanjutan
Cost Driver
No
Model
Pengembangan
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
25
semidetached
h
n
h
n
n
n
n
n
h
h
n
n
n
n
n
38
210
26
semidetached
n
n
n
n
n
n
n
n
h
h
n
n
n
n
n
10
48
27
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
15.4
70
28
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
48.5
239
29
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
16.3
82
30
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
12.8
62
31
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
32.6
170
32
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
35.5
192
33
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
5.5
18
34
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
10.4
50
35
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
14
60
36
semidetached
h
n
h
n
n
n
n
n
n
n
n
n
n
n
n
6.5
42
37
semidetached
n
n
h
n
n
n
n
n
n
n
n
n
n
n
n
13
60
38
semidetached
n
n
h
n
n
n
n
n
n
h
n
h
h
h
n
90
444
39
semidetached
n
n
h
n
n
n
n
n
n
n
n
n
n
n
n
8
42
40
semidetached
n
n
h
h
n
n
n
n
n
n
n
n
n
n
n
16
114
41
semidetached
n
h
h
vh
h
l
h
h
n
h
l
h
h
n
l
177.9
1248
42
semidetached
h
l
h
n
n
l
l
n
n
h
n
n
h
vl
n
302
2400
43
semidetached
n
h
l
n
n
h
n
h
h
n
n
n
h
h
n
282.1
1368
44
semidetached
h
h
l
n
n
n
h
h
h
n
n
n
h
n
n
284.7
973
45
semidetached
h
h
n
n
n
l
l
n
h
h
n
h
n
n
n
79
400
46
semidetached
l
n
n
n
n
l
l
h
h
vh
n
h
l
l
h
423
2400
47
semidetached
n
n
n
n
n
l
n
h
vh
vh
l
h
h
n
n
190
420
48
semidetached
n
n
h
n
h
n
n
h
h
n
n
h
h
n
h
47.5
252
16
Lanjutan
Cost Driver
No
Model
Pengembangan
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
49
semidetached
vh
n
xh
h
h
l
l
n
h
n
n
n
l
h
n
21
107
50
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
78
571.4
51
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
11.4
98.8
52
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
19.3
155
53
semidetached
h
n
vh
h
h
l
h
h
n
n
h
h
l
vh
h
101
750
54
semidetached
h
n
h
h
h
l
h
n
h
n
n
n
l
vh
n
219
2120
55
semidetached
h
n
h
h
h
l
h
n
h
n
n
n
l
vh
n
50
370
56
semidetached
vh
h
h
vh
vh
n
n
vh
vh
vh
n
h
h
h
l
227
1181
57
semidetached
n
h
vh
n
n
l
n
h
n
vh
l
n
h
n
l
70
278
58
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
0.9
8.4
59
semidetached
vh
l
xh
xh
vh
l
l
h
vh
h
vl
h
vl
vl
h
980
4560
60
embedded
n
l
h
n
n
l
l
vh
n
vh
h
h
n
l
n
350
720
61
embedded
h
n
xh
h
h
l
l
h
n
n
h
h
h
h
n
70
458
62
embedded
h
n
xh
h
h
l
l
h
n
n
h
h
h
h
n
271
2460
63
organic
n
n
n
n
n
l
l
h
h
h
n
h
n
l
n
90
162
64
organic
n
n
n
n
n
l
l
h
h
h
n
h
n
l
n
40
150
65
embedded
h
n
h
h
n
l
l
h
h
h
n
h
n
n
n
137
636
66
embedded
h
n
h
h
n
h
l
h
h
h
n
h
n
vl
n
150
882
67
embedded
vh
n
h
h
n
l
l
h
h
h
n
h
n
n
n
339
444
68
organic
l
h
l
n
n
h
l
h
h
h
n
h
n
l
n
240
192
69
semidetached
h
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
144
576
70
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
151
432
71
semidetached
n
l
h
n
vh
l
n
h
h
h
h
h
l
l
l
34
72
72
semidetached
n
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
98
300
17
Lanjutan
Cost Driver
No
Model
Pengembangan
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
73
semidetached
n
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
85
300
74
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
20
240
75
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
111
600
76
semidetached
h
vh
h
n
vh
l
n
h
h
h
h
h
l
l
l
162
756
77
semidetached
h
h
vh
n
vh
l
n
h
h
h
h
h
l
l
l
352
1200
78
semidetached
h
n
vh
n
vh
l
n
h
h
h
h
h
l
l
l
165
97
79
embedded
h
n
vh
h
h
l
vh
h
n
n
h
h
h
vh
h
60
409
80
embedded
h
n
vh
h
h
l
vh
h
n
n
h
h
h
vh
h
100
703
81
embedded
h
vh
vh
xh
xh
h
h
n
n
n
l
l
n
n
h
32
1350
82
embedded
h
h
h
vh
xh
h
h
h
h
h
h
h
h
n
n
53
480
83
embedded
h
l
vh
vh
xh
l
n
vh
vh
vh
vl
vl
h
h
n
41
599
84
embedded
h
l
vh
vh
xh
l
n
vh
vh
vh
vl
vl
h
h
n
24
430
85
embedded
vh
h
vh
xh
xh
n
n
h
h
h
h
h
h
n
h
165
4178.2
86
embedded
vh
h
vh
xh
xh
n
n
h
h
h
h
h
h
n
h
65
1772.5
87
embedded
vh
h
vh
xh
xh
n
l
h
h
h
h
h
h
n
h
70
1645.9
88
DENNY SETIA MULYADI. Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy.
Dibimbing oleh IRMAN HERMADI dan WISNU ANANTA KUSUMA.
Perkiraan biaya perangkat lunak merupakan salah satu bagian terpenting dari pengembangan
perangkat lunak. Perkiraan biaya yang terlalu kecil akan mengakibatkan perangkat lunak yang
dihasilkan berkualitas rendah. Sebaliknya, perkiraan biaya yang terlalu besar akan mengakibatkan
pemborosan sumber daya yang digunakan.
Pada penelitian ini, dikembangkan suatu model perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Penelitian ini membandingkan dua metode perkiraan biaya perangkat
lunak, yaitu Intermediate COCOMO dan Fuzzy Intermediate COCOMO. Data yang digunakan
adalah data proyek NASA yang telah dilakukan pada tahun 1980 sampai 1990. Model yang
dihasilkan dievaluasi menggunakan MRE (Magnitude of Relative Error), Mean MRE (MMRE),
Median MRE (MdMRE), Min MRE, Max MRE, dan Standar Deviasi MRE (SdMRE). Kinerja
model secara umum direpresentasikan dalam nilai MMRE.
Penelitian menghasilkan nilai galat MMRE sebesar 59.50% untuk Intermediate COCOMO
dan 51.95% untuk Fuzzy Intermediate COCOMO. Hal ini menunjukkan hasil pengujian terbaik
didapatkan pada pengujian yang menggunakan pendekatan logika fuzzy. Fuzzy Intermediate
COCOMO juga sensitif terhadap perbedaan nilai Cost Driver.
Kata kunci: perkiraan biaya perangkat lunak, fuzzy logic, COCOMO, MMRE
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
DENNY SETIA MULYADI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2008
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
DENNY SETIA MULYADI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2008
PERKIRAAN BIAYA PERANGKAT LUNAK
MENGGUNAKAN LOGIKA FUZZY
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh:
DENNY SETIA MULYADI
G64104030
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2008
ABSTRAK
DENNY SETIA MULYADI. Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy.
Dibimbing oleh IRMAN HERMADI dan WISNU ANANTA KUSUMA.
Perkiraan biaya perangkat lunak merupakan salah satu bagian terpenting dari pengembangan
perangkat lunak. Perkiraan biaya yang terlalu kecil akan mengakibatkan perangkat lunak yang
dihasilkan berkualitas rendah. Sebaliknya, perkiraan biaya yang terlalu besar akan mengakibatkan
pemborosan sumber daya yang digunakan.
Pada penelitian ini, dikembangkan suatu model perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Penelitian ini membandingkan dua metode perkiraan biaya perangkat
lunak, yaitu Intermediate COCOMO dan Fuzzy Intermediate COCOMO. Data yang digunakan
adalah data proyek NASA yang telah dilakukan pada tahun 1980 sampai 1990. Model yang
dihasilkan dievaluasi menggunakan MRE (Magnitude of Relative Error), Mean MRE (MMRE),
Median MRE (MdMRE), Min MRE, Max MRE, dan Standar Deviasi MRE (SdMRE). Kinerja
model secara umum direpresentasikan dalam nilai MMRE.
Penelitian menghasilkan nilai galat MMRE sebesar 59.50% untuk Intermediate COCOMO
dan 51.95% untuk Fuzzy Intermediate COCOMO. Hal ini menunjukkan hasil pengujian terbaik
didapatkan pada pengujian yang menggunakan pendekatan logika fuzzy. Fuzzy Intermediate
COCOMO juga sensitif terhadap perbedaan nilai Cost Driver.
Kata kunci: perkiraan biaya perangkat lunak, fuzzy logic, COCOMO, MMRE
Judul : Perkiraan Biaya Perangkat Lunak Menggunakan Logika Fuzzy
Nama : Denny Setia Mulyadi
NIM
: G64104030
Menyetujui:
Pembimbing I,
Pembimbing II,
Irman Hermadi, S.Kom, MS.
NIP 132321422
Wisnu Ananta Kusuma, ST, MT.
NIP 132312485
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Dr. Drh. Hasim, DEA
NIP 131578806
Tanggal Lulus:
RIWAYAT HIDUP
Penulis dilahirkan di Indramayu tanggal 9 November 1986. Penulis merupakan anak
pertama dari tiga bersaudara pasangan Dudung Mulyadi dan Akhomaedah. Pada tahun 2004,
penulis lulus dari SMU Negeri 5 Bogor dan pada tahun yang sama diterima menjadi mahasiswa S1
Departemen Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian
Bogor melalui jalur Undangan Seleksi Masuk IPB (USMI).
PRAKATA
Alhamdulillah hirobil alamin, puji dan syukur penulis panjatkan kepada Allah SWT atas
segala karunia dan rahmat-Nya sehingga tugas akhir dengan judul Perkiraan Biaya Perangkat
Lunak Menggunakan Logika Fuzzy dapat diselesaikan.
Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penelitian
ini, antara lain kepada orang tua penulis Bapak Dudung Mulyadi dan Ibu Akhomaedah atas kasih
sayang, dukungan dan doa yang terus mengalir, Bapak Irman Hermadi, S.Kom, MS selaku
pembimbing pertama atas bimbingan dan arahannya selama penelitian dan penyusunan skripsi,
Bapak Wisnu Ananta Kusuma S.T, M.T selaku pembimbing kedua atas bimbingan dan motivasi
selama penyusunan karya tulis ini, serta Ibu Annisa S.Kom M.Kom selaku dosen penguji.
Penulis juga mengucapkan terimakasih kepada Ineza Nur Oktabroni atas semangat,
motivasi, kesabaran, dan bantuannya dalam senang maupun susah, teman-teman satu bimbingan
Syadid, Safar, Wawan, Teny, Yohan dan Welly atas kebersamaan dan bantuan selama bimbingan,
Pandu dan Dani yang telah bersedia menjadi pembahas seminar. Terima kasih juga penulis
ucapkan kepada Lewe, Toink, Hode, Popi, dan teman-teman Ilmu Komputer 41 semuanya, serta
kepada pihak-pihak lain yang telah membantu penulisan skripsi ini.
Semoga tulisan ini dapat bermanfaat. Amin.
Bogor, Mei 2008
Denny Setia Mulyadi
v
DAFTAR ISI
Halaman
DAFTAR TABEL............................................................................................................................vi
DAFTAR GAMBAR .......................................................................................................................vi
DAFTAR LAMPIRAN....................................................................................................................vi
PENDAHULUAN ............................................................................................................................1
Latar Belakang ...........................................................................................................................1
Tujuan ........................................................................................................................................1
Ruang Lingkup...........................................................................................................................1
Manfaat ......................................................................................................................................1
TINJAUAN PUSTAKA....................................................................................................................1
Perkiraan Biaya Perangkat Lunak..............................................................................................1
Proyek Analogi .........................................................................................................................1
Cost Driver ................................................................................................................................1
Effort Multipliers .......................................................................................................................2
Model Pengembangan Proyek ...................................................................................................2
Intermediate COCOMO ...........................................................................................................2
Logika Fuzzy .............................................................................................................................3
Variabel Linguistik ....................................................................................................................3
Fuzzy Intermediate COCOMO ..................................................................................................3
Evaluasi Model Perkiraan Biaya Perangkat Lunak....................................................................4
METODE PENELITIAN..................................................................................................................4
Studi Literatur ............................................................................................................................4
Pengumpulan Data .....................................................................................................................4
Pengembangan Sistem ...............................................................................................................5
Pengujian dan Analisis...............................................................................................................5
Lingkungan Pengembangan ......................................................................................................5
HASIL DAN PEMBAHASAN .......................................................................................................6
Pengujian dan Analisis Perkiraan Biaya Menggunakan Intermediate COCOMO .....................6
Pengujian dan Analisis Fuzzy Intermediate COCOMO ............................................................7
a Akurasi Fuzzy Intermediate COCOMO ........................................................................8
b Kinerja Penggunaan Logika Fuzzy..................................................................................9
KESIMPULAN DAN SARAN ......................................................................................................10
Kesimpulan ..............................................................................................................................10
Saran ........................................................................................................................................10
DAFTAR PUSTAKA .....................................................................................................................10
LAMPIRAN....................................................................................................................................12
vi
DAFTAR TABEL
Halaman
1
2
3
4
Daftar CD......................................................................................................................................2
Koefisien Model Pengembangan Proyek ......................................................................................2
Agregat Galat menggunakan Fuzzy Intermediate COCOMO .......................................................7
Nilai CD dan Pengujian Proyek yang Analogi..............................................................................9
DAFTAR GAMBAR
Halaman
1
2
3
4
5
6
Himpunan fuzzy dan himpunan klasik..........................................................................................3
Metode penelitian ........................................................................................................................4
Grafik MRE NASA Project. ........................................................................................................6
Grafik perbandingan biaya aktual dengan hasil pengujian...........................................................6
Grafik perbandingan tiga MMRE terkecil....................................................................................8
Grafik perbandingan tiga MMRE terbesar. ..................................................................................8
DAFTAR LAMPIRAN
Halaman
1
2
3
4
5
Effort multipliers. ........................................................................................................................12
Membership function Cost Driver...............................................................................................12
Data NASA Project.....................................................................................................................14
Hasil pengujian menggunakan Intermediate COCOMO ............................................................18
Hasil pengujian menggunakan Fuzzy Intermediate COCOMO ..................................................20
1
PENDAHULUAN
Latar Belakang
Perkiraan biaya perangkat lunak sangat
penting dalam pengembangan perangkat
lunak. Perkiraan yang terlalu kecil dari biaya
aktualnya akan mengakibatkan perangkat
lunak yang dihasilkan berkualitas rendah.
Sebaliknya, apabila perkiraan biaya yang
terlalu besar akan mengakibatkan pemborosan
sumber daya yang digunakan.
Dalam pengembangan perangkat lunak
terdapat banyak faktor yang mempengaruhi
biaya pembuatan perangkat lunak. Faktorfaktor tersebut diukur dalam enam linguistic
value, yaitu: ‘very low’, ‘low’, ‘nominal’,
‘high’, ‘very high’ dan ‘extra high’. Dengan
demikian setiap faktor hanya masuk dalam
satu kelas (skala ordinal) tertentu. Hal ini akan
menimbulkan perbedaan perkiraan biaya
perangkat lunak yang cukup jauh pada dua
proyek yang analogi. Masalah ini disebabkan
karena penggunaan interval klasik dalam
merepresentasikan variabel linguistik.
Pada penelitian yang dilakukan oleh Idri et
al (2001), representasi variabel linguistik tidak
dilakukan dengan interval klasik melainkan
menggunakan himpunan fuzzy (fuzzy sets).
Kinerja dari penggunaan konsep fuzzy tersebut
menunjukan hasil estimasi yang lebih akurat
daripada menggunakan interval klasik.
Tujuan
Tujuan dari penelitian ini adalah
memodelkan perkiraan biaya perangkat lunak
menggunakan logika fuzzy. Dari pemodelan
tersebut akan dianalisis kinerja penerapan
logika fuzzy untuk perkiraan biaya perangkat
lunak.
Ruang Lingkup
Ruang lingkup penelitian ini adalah
sebagai berikut:
1 Data yang digunakan untuk pengujian
adalah NASA Project yang terdiri dari 93
proyek dari tahun 1980 – 1990.
2 Atribut yang dipakai dalam perhitungan
perkiraan biaya perangkat lunak ini adalah
model pengembangan proyek, ukuran
perangkat lunak, biaya aktual, dan 15 jenis
Cost Driver.
Manfaat
Penelitian ini memberikan manfaat berupa
pemodelan perkiraan biaya perangkat lunak
menggunakan logika fuzzy yang digunakan
untuk memprediksi biaya pada proyek yang
selanjutnya.
TINJAUAN PUSTAKA
Perkiraan Biaya Perangkat Lunak
Perkiraan biaya perangkat lunak adalah
proses memprediksi biaya yang diperlukan
dalam pengembangan sistem perangkat lunak
(Leung 2001). Perkiraan biaya perangkat
lunak mengacu pada prediksi jumlah biaya,
waktu, dan staffing level yang diperlukan
untuk membangun sistem perangkat lunak
(Saliu 2003).
Perkiraan biaya perangkat lunak dapat
diklasifikasi menjadi metode pemodelan
algoritmik dan pemodelan non-algoritmik.
Pemodelan algoritmik diturunkan dari analisis
statistikal dari data proyek terdahulu (Saliu
2003). Contoh dari pemodelan algoritmik
adalah model linear, model multiplikatif, dan
model power-function. Sedangkan pemodelan
non-algoritmik berdasarkan pengalaman pakar
dan perbandingan dengan proyek sebelumnya
yang analogi (Dickson 2007). Contoh yang
paling umum adalah expert judgment dan
analogy costing.
Proyek Analogi
Proyek yang analogi adalah proyek-proyek
yang paling serupa (Briand et al. 1999).
Proyek analogi dapat dicari dengan
menggunakan persamaan jarak Euclidan ndimensi dimana setiap dimensi mewakili satu
atribut (Schofield dan Shepperd 1996).
Persamaannya adalah sebagai berikut :
E=
(a1 − a2 )2 + (b1 − b2 )2 + ... + (z1 − z 2 )2 ...(1)
dimana E adalah jarak Euclidean, serta a,b,..,z
adalah atribut-atribut proyek 1 dan proyek 2.
Dua buah proyek dengan jarak terkecil akan
dinyatakan sebagai proyek yang analogi.
Cost Driver
Dalam pengembangan perangkat lunak
terdapat faktor-faktor yang mempengaruhi
biaya pengembangan yang disebut dengan
Cost Driver (CD). Menurut Saliu (2003)
terdapat 15 jenis CD yang dikelompokkan
dalam empat grup. Daftar CD dapat dilihat
pada Tabel 1.
2
Tabel 1 Daftar CD
Grup
Produk
Platform
Personil
Proyek
CD
Keandalan perangkat
lunak
Ukuran basisdata
Kompleksitas
produk
Batasan waktu
eksekusi
Batasan tempat
penyimpanan utama
Mesin Virtual
Waktu turnaround
komputer
Kemampuan analisis
Pengalaman dalam
aplikasi
Kemampuan
programer
Pengalaman dalam
mesin virtual
Pengalaman dalam
bahasa
pemrograman
Penggunaan
program modern
Penggunaan
peralatan perangkat
lunak
Jadwal
pengembangan yang
diperlukan
Simbol
Rely
Data
Cplx
Time
Stor
Virt
Turn
Acap
Aexp
Pcap
Vexp
Lexp
Modp
Tool
Sced
Effort Multipliers
Tiap–tiap CD pada perkiraan biaya
perangkat lunak memiliki kategori. Kategori
tersebut dinyatakan dalam linguistic value
yaitu very low, low, nominal, high dan very
high. Kategori – kategori tersebut mewakili
sebuah nilai yang disebut dengan 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
(NASA, 2005), yaitu:
1 Organic
Dalam model organic, perangkat lunak
dikembangkan oleh tim yang terdiri dari
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
merupakan campuran dari karakteristik
model organic 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 (Saliu 2003).
Tabel 2 Koefisien model pengembangan
proyek
Model
Organic
Semidetached
Embedded
A
3.2
3.0
2.8
B
1.05
1.12
1.20
Intermediate COCOMO (Cost Constructive
Model)
Model Intermediate COCOMO adalah
ekstensi dari versi awal yang menghitung
biaya perkiraan perangkat lunak hanya dengan
mengunakan ukuran perangkat lunak dan
model pengembangan proyek saja. Dalam
Intermediate COCOMO terdapat penambahan
atribut perhitungan yang digunakan yaitu CD,
yang terdiri dari 15 jenis (Idri et al. 2001).
Sehingga perkiraan biaya perangkat lunak
tidak hanya berdasarkan ukuran dan model
proyek tapi juga bergantung dari lingkungan
pengembangan.
Persamaan perkiraan biaya perangkat
lunak pada Intermediate COCOMO adalah
sebagai berikut:
i =15
MM est = A × SIZE B ∏ Cij ...(2)
i =1
dimana MM est adalah biaya estimasi (dalam
Man-Months), SIZE adalah ukuran perangkat
lunak dalam KDSI (Kilo Delivery Source
Instruction), A dan B adalah koefisien untuk
tiap model proyek (organic, semidetached,
3
dan
embedded)
dan
Cij
adalah
effort
multiplier untuk tiap-tiap atribut pada Cost
Driver.
Logika Fuzzy
x
Zadeh (1996) menyatakan bahwa logika
fuzzy berhubungan dengan prinsip-prinsip
pemberian alasan formal mengenai suatu hal
yang tidak mempunyai ketentuan atau
pemberian alasan perkiraan. Penggunaan
model logika fuzzy memungkinkan pembuatan
keputusan yang relatif di dalam suatu
lingkungan ketidaktentuan dan ketidaktepatan.
Himpunan fuzzy berbeda dengan himpunan
klasik (crisp sets). Dalam himpunan klasik,
objek yang merupakan elemen dari suatu
himpunan, maka fungsi keanggotaanya adalah
1. Sedangkan jika objek tersebut bukan
elemen dari suatu himpunan, maka fungsi
keanggotaanya adalah 0. Dengan demikian
himpunan klasik ini nilainya adalah {0,1}.
Tipe pemikiran ini merupakan logika bivalent
atau two-value-logic, yaitu logika yang hanya
mempunyai dua nilai kebenaran, yaitu true
(benar/1) dan false (salah/0). Problem dalam
logika bivalent ini adalah dalam dunia nyata
sesuatu pada umumnya tidak hanya ada dalam
dua nilai kebenaran.
Dalam himpunan fuzzy, suatu objek
mungkin menjadi elemen suatu himpunan
secara sebagian. Tingkat keanggotaan dalam
himpunan fuzzy disebut derajat keanggotaan,
dimana nilainya diukur dari perluasan fungsi
keanggotaan himpunan klasik. Fungsi
keanggotaan pada himpunan fuzzy A
dinyatakan dengan μA (x). Fungsi keanggotaan
ini memetakan x kedalam kodomain dalam
bentuk interval dari 0 sampai 1. Nilai 0
menunjukan bahwa x bukan anggota
himpunan, nilai 1 menunjukan x anggota
himpunan secara penuh, sedangkan nilai
antara 0 sampai 1 (selain 0 dan 1)
menunjukkan derajat keanggotaan x dalam
suatu himpunan. Ilustrasi dari perbedaan
antara himpunan fuzzy dan himpunan klasik
dapat dilihat pada Gambar 1.
Gambar 1 (a) Himpunan fuzzy
(b) himpunan klasik.
Pada Gambar 1 terlihat bahwa pada
himpunan fuzzy suatu nilai bisa menjadi
anggota himpunan secara sebagian (misal x =
3000), sedangkan pada himpunan klasik nilai
tersebut hanya masuk ke salah satu himpunan
saja (too expensive)
Variabel Linguistik
Variabel linguistik (linguistic variable)
adalah suatu variabel yang nilainya adalah
kata atau kalimat di dalam bahasa natural
(Zadeh 1996). Sebagai contoh, umur adalah
variabel linguistik jika nilainya “muda”,
“tidak muda”, “sangat muda”, “tua”, “tidak
tua” atau “sangat tua”. Umumnya, nilai
variabel linguistik dibangkitkan dari nilai
utama, contohnya “muda” dan lawan katanya
“tua”.
Fuzzy Intermediate COCOMO
Proses dalam perkiraan biaya perangkat
lunak menggunakan logika fuzzy adalah
mendefinisikan fungsi keanggotaan untuk
setiap variabel linguistik pada Cost Driver
dengan fungsi keanggotaan yang bertipe
trapezoid (Idri et al. 2001). Tetapi tidak semua
faktor pada Cost Driver didefinisikan dalam
fuzzy sets karena hanya merupakan sebuah
deskripsi biasa (Saliu 2003). Faktor-faktor
tersebut adalah RELY, CPLX, MODP, dan
TOOL (Idri et al. 2001). Fungsi keanggotaan
untuk setiap Cost Driver dapat dilihat pada
Lampiran 2 (Idri et al. 2001). Proses
penghitungan perkiraan biaya perangkat lunak
menggunakan logika fuzzy sama dengan
COCOMO, tetapi effort multipliers yang
digunakan berasal dari sebuah persamaan.
Persamaannya adalah :
ki
F _ Cij = ∑ μ VAij ( P ) × Cij ...(3)
x
j =1
dimana F _ Cij adalah
effort multipliers
yang didapatkan dari himpunan fuzzy,
μ Av
i
j
4
adalah fungsi keanggotaan dari himpunan
fuzzy A j yang berasosiasi dengan Cost
Driver Vi ,
P adalah urutan proyek dan
K i adalah jumlah Cost Driver.
Evaluasi Model Perkiraan Biaya Perangkat
Lunak
Proses evaluasi model perkiraan biaya
perangkat lunak adalah membandingkan
akurasi dari biaya estimasi dengan biaya
aktualnya (Boehm, 1981 dalam Indri et al,
2001). Dalam COCOMO digunakan lima
jenis nilai untuk mengukur keakuratan dari
sebuah model perkiraan biaya perangkat
lunak, (Briand et all, 1998) yaitu:
• MREi =
dimana
i
i
− MM act
MM est
i
MM act
MREi
...(4)
adalah Magnitude of
i
Relative Error dari proyek ke-i, MM est
adalah biaya estimasi untuk proyek kei
i, dan MM act
adalah biaya aktual
untuk proyek ke-i.
• Mean MRE =
1
N
∑ MRE
i
i
…(5)
Mean MRE (MMRE) digunakan untuk
menghitung agregat nilai MRE pada N
proyek (pengujian).
• Median MRE (MdMRE) digunakan untuk
menghitung nilai tengah dari sekumpulan
MRE proyek.
• Standar
Deviasi
MRE
(SdMRE)
digunakan untuk mengukur seberapa besar
penyimpangan nilai MRE dari nilai rataratanya.
• Pengukuran lainnya adalah MRE terkecil
(min MRE) dan MRE terbesar (max
MRE). Nilai tersebut digunakan untuk
mengetahui seberapa baik dan buruk
akurasi dari sistem.
METODE PENELITIAN
Tahapan penelitian yang digunakan dapat
dilihat pada Gambar 2, dengan tahap – tahap
sebagai berikut :
Gambar 2 Metode penelitian.
Studi Literatur
Pada tahap ini, dilakukan pengumpulan
informasi tentang perkiraan biaya perangkat
lunak menggunakan Fuzzy Intermediate
COCOMO. Literatur berupa buku, jurnal dan
artikel dari internet.
Pengumpulan Data
Data yang dipakai pada penelitian ini
adalah NASA Project, yang didapat dari situs
http://www.promisedata.org. Data tersebut
berasal dari berbagai proyek yang dilakukan
NASA dari tahun 1980 – 1990, yang terdiri
dari 93 proyek. Data ini terdiri dari 24 atribut,
yaitu 15 jenis CD yang bertipe numerik, 7
atribut tentang deskripsi proyek, ukuran
perangkat lunak dalam KDSI, dan biaya
aktual proyek dalam satuan Man Month
(MM). Data NASA Project dapat dilihat pada
Lampiran 3.
5
Tidak seluruh atribut pada NASA Project
digunakan dalam penelitian ini. Atribut yang
digunakan adalah 15 jenis CD, model
pengembangan proyek, ukuran perangkat
lunak dan biaya aktual proyek. Enam atribut
lainnya tidak digunakan karena hanya berupa
deskripsi proyek, seperti: nomor id, tahun
pengembangan, nama proyek, kategori
aplikasi yang dikembangkan, dan lokasi
pengembangan.
Pengembangan Sistem
Proses pengembangan sistem pada
penelitian ini mempunyai dilaksanakan dalam
dua tahap, yaitu: pengembangan sistem, dan
pengujian sistem.
Pada tahap pengembangan sistem, tiaptiap CD berikut nilai dan derajat
keanggotaannya
akan
dibuat
fungsi
keanggotaannya. Fungsi keanggotaan yang
digunakan pada penelitian ini berasal dari
jurnal Cost Model Using Fuzzy Logic (Idri at
al. 2001). Kemudian kode program untuk
fungsi keanggotaan ini dibuat menggunakan
MATLAB.
Setelah sistem selesai dibuat, maka
dilakukan
pengujian
terhadap
sistem.
Pengujian dilakukan dengan melakukan
pengecekan terhadap kesalahan syntax
ataupun logika pada kode program yang
dibuat. Jika sistem sudah teruji barulah dapat
memproses data.
Pengujian dan Analisis
Pengujian pada penelitian ini dibagi
menjadi dua tahap. Tahap yang pertama
adalah pengujian dan analisis sebelum
penerapan logika fuzzy. Penghitungan biaya
perangkat lunak pada pengujian ini dilakukan
dengan
menggunakan
Intermediate
COCOMO. Atribut yang digunakan dalam
pengujian
adalah
15
CD,
model
pengembangan, ukuran perangkat lunak dan
biaya aktual.
Pengujian akan menghasilkan perkiraan
besarnya biaya yang diperlukan untuk
pengembangan perangkat lunak. Hasil
pengujian
tersebut
dievaluasi
dengan
membandingkan dengan biaya aktualnya
menggunakan MRE. Setelah dihitung nilai
MRE dihitung juga nilai-nilai galat : MMRE,
min MRE, max MRE, MdMRE dan SdMRE.
Pengujian untuk kelompok yang kedua
adalah pengujian setelah penerapan logika
fuzzy.
Pengujian
dilakukan
dengan
menggunakan metode Fuzzy Intermediate
COCOMO. Atribut yang dipakai sama seperti
pada pengujian kelompok pertama. Evaluasi
juga dilaksanakan dengan menggunakan nilainilai galat yang sama dengan pengujian
menggunakan Intermediate COCOMO.
Hasil pengujian Fuzzy Intermediate
COCOMO akan dibandingkan dengan hasil
pengujian
Intermediate
COCOMO.
Perbandingan yang dilakukan adalah akurasi
dan kinerja kedua metode tersebut. Analisis
terhadap akurasi dilakukan dengan cara
membandingkan besarnya nilai-nilai galat
MMRE, min MRE dan max MRE antara
kedua metode tersebut. Sedangkan untuk
perbandingan kinerja dilakukan pada dua
proyek yang analogi. Kedua proyek tersebut
dihitung biaya perkiraannya menggunakan
Intermediate
COCOMO
dan
Fuzzy
Intermediate COCOMO, kemudian hasilnya
akan dibandingkan dan dianalisis.
Lingkungan Pengembangan
Perangkat lunak yang digunakan dalam
penelitian ini adalah sebagai berikut :
• Microsoft Windows XP Profesional,
• Microsoft Office Excel 2007,
• MATLAB 7.0.
Sedangkan perangkat keras yang
digunakan adalah sebagai berikut :
• PC Intel Pentium IV 2.67 GHz,
• DDRAM 1024 MB,
• VGA,
• hardisk dengan kapasitas 120 GB,
• monitor VGA dengan resolusi 1024x768
pixel,
• keyboard,
• mouse.
6
Gambar 3 Grafik MRE NASA Project.
HASIL DAN PEMBAHASAN
Pengujian dan analisis perkiraan biaya
menggunakan Intermediate COCOMO
Terhadap 93 Proyek dalam NASA Project
akan dilakukan pengujian. Galat pada tiap
pengujian dihitung dengan menggunakan
MRE. Setelah dihitung MRE pada seluruh
proyek, dihitung MMRE, min MRE, max
MRE, MdMRE dan SdMRE. Hasil pengujian
dan nilai MRE pada masing proyek dapat
dilihat pada Lampiran 4. Grafik MRE untuk
seluruh pengujian dapat dilihat pada Gambar
3.
Pada Gambar 3 terlihat bahwa terdapat 4
buah nilai pencilan tinggi. Nilai tersebut
berada pada proyek ke-59, 67, 78 dan 92
dengan nilai masing-masing 442,25%,
492,68%, 1041,53% dan 638,09%. Keempat
pencilan ini terlihat mencolok karena
perbedaan nilai MRE yang sangat jauh dengan
nilai MRE proyek lainnya. Pencilan-pencilan
tersebut sangat mempengarui nilai rata-rata
MRE. Hal ini terlihat dari selisih nilai yang
besar antara MMRE dan MdMRE yang
masing-masing sebesar 59,50% dan 29,53%.
Dapat dilihat secara rinci pada Lampiran 3
bahwa penyebab besarnya nilai MRE pada
pencilan-pencilan tersebut adalah karena
biaya aktual yang lebih kecil dibandingkan
proyek lain yang sejenis. Sebagai contoh:
proyek ke-92 memiliki biaya aktual 12 MM
dan proyek ke-93 biaya aktualnya 36 MM.
Seluruh CD pada kedua proyek tersebut
memiliki kategori yang sama. Perbedaan
kedua proyek tersebut terletak pada ukuran
perangkat lunak, proyek ke-92 sebesar 6,2
KDSI dan proyek ke-93 sebesar 3 KDSI.
Seharusnya makin besar ukuran perangkat
lunak, makin besar biaya pengembangannya.
Namun hal ini berkebalikan dengan biaya
aktual pada proyek ke-92. Sehingga saat
dibandingkan biaya perkiraan hasil pengujian
dengan biaya aktualnya, didapatkan nilai
MRE yang cukup besar. Kondisi ini dialami
juga oleh tiga pencilan lainnya.
Agar dapat diketahui selisih antara hasil
pengujian dengan biaya aktual, Gambar 4
menampilkan grafik perbandingan antara
biaya aktual dengan biaya perkiraan.
Pada Gambar 4 terlihat bahwa kedua
grafik tersebut tidak jauh berbeda. Hanya
tampak dua perbedaan yang mencolok pada
kedua grafik tersebut, yaitu pada pengujian
proyek ke-59 dan proyek ke-90. Dua proyek
tersebut memiliki selisih antara biaya aktual
dan biaya perkiraan yang cukup besar
dibandingkan dengan proyek lainnya. Proyek
yang memiliki selisih biaya yang paling besar
adalah proyek ke-59 yang juga merupakan
pencilan pada pengujian menggunakan
Intermediate COCOMO.
Gambar 4 Grafik perbandingan biaya akual dengan hasil pengujian.
7
Pengujian dan Analisis Fuzzy Intermediate
COCOMO
Karena dalam basis data NASA Project
pada tiap Cost Driver hanya dicantumkan
informasi kategori saja yang berupa “very
low”, “low”, “nominal”, “high” dan “very
high”. Sedangkan pada pengujian yang
menggunakan metode fuzzy diperlukan sebuah
nilai dari setiap Cost Driver. Hal ini
diperlukan sebagai input untuk
μ VA (P )
i
j
(derajat keanggotaan dari Cost Driver) pada
persamaan 3. Oleh karena itu dibuatlah
dataset (data tiruan) yang berasal dari basis
data yang sebenarnya. Dataset ini berisi nilai
effort multipliers yang sesuai dengan data
yang sebenarnya (Idri et al. 2001). Sebagai
contoh, misalkan proyek ke-1 dalam NASA
Project Cost Driver DATA tertulis ‘low’,
maka pada proyek ke-1 dalam dataset dengan
Cost Driver DATA akan berisi nilai random
antara 0 sampai 10. Pada pengujian ini akan
digunakan sepuluh dataset.
Pengujian dari kesepuluh dataset tersebut
dilakukan dengan menghitung MRE setiap
proyek. Setelah dihitung nilai MRE, dihitung
nilai MMRE, min MRE, max MRE, MdMRE
dan SdMRE pada setiap pengujian dataset.
Hasil pengujian dapat dilihat pada Tabel 3.
Sedangkan nilai galat MRE tiap proyek pada
masing-masing dataset dapat dilihat pada
Lampiran 5.
Pada Tabel 3 terlihat bahwa hasil
pengujian kesepuluh dataset menghasilkan
nilai galat yang berbeda-beda. Namun jika
kesepuluh
dataset
tersebut
dihitung
menggunakan Intermediate COCOMO, maka
akan didapatkan nilai galat yang sama seperti
pada pengujian data NASA Project. Hal ini
terjadi karena pada Intermediate COCOMO
yang digunakan sebagai inputan untuk
menghitung biaya perkiraan adalah kategori
dari kelima belas CD. Lain hal pada Fuzzy
Intermediate COCOMO, yang digunakan
sebagai inputan adalah nilai dari kelima belas
CD. Dari nilai CD tersebut akan didapatkan
derajat keanggotaan kategori tiap CD yang
kemudian akan dikalikan dengan effort
multipliers. Dengan demikian, walaupun
kesepuluh dataset tersebut kategori CD nya
sama, tapi hasil pengujiaanya bisa saja
berbeda jika nilai-nilai CD nya berbeda. Dapat
disimpulkan
bahwa
hasil
pengujian
menggunakan
konsep
fuzzy
sangat
dipengaruhi oleh nilai CD.
Analisis yang akan dilakukan pada metode
Fuzzy Intermediate COCOMO meliputi dua
hal, yaitu akurasi dan kinerja. Namun karena
sepuluh dataset pada Tabel 3 dihasilkan dan
diuji dengan mekanisme yang sama, maka
tidak semua dataset akan dibahas. Hanya pada
dataset tertentu saja, yaitu pada dataset
dengan nilai MMRE terbesar ataupun terkecil.
Tabel 3 Agregat Galat menggunakan Fuzzy Intermediate COCOMO
Galat (%)
Min MRE
Max MRE
Mean MRE
Median MRE
Standar Deviasi MRE
Dataset 1
0.40
978.12
52.42
29.80
116.35
Dataset 2
0.75
604.88
41.53
26.78
76.67
Dataset 3
0.89
891.14
51.71
32.28
103.21
Dataset 4
1.86
1023.16
61.30
24.90
143.33
Dataset 5
0.02
1014.53
61.61
24.65
140.78
Dataset 6
1.24
999.82
60.79
25.63
138.46
Dataset 7
0.01
604.88
44.35
27.53
81.62
Dataset 8
0.61
815.44
52.70
33.08
96.35
Dataset 9
0.27
933.84
50.41
30.81
104.77
Dataset 10
0.02
538.75
42.64
26.72
74.19
Dataset
8
Gambar 5 Grafik perbandingan tiga MMRE terkecil.
a Akurasi Fuzzy Intermediate COCOMO
Nilai akurasi didapatkan dari nilai galat
MMRE, min MRE dan max MRE pada tiaptiap dataset. Makin kecil nilai-nilai tersebut
maka makin baik akurasinya.
Pada Tabel 3 terlihat bahwa terdapat tiga
dataset yang memiliki nilai galat MMRE
terkecil yaitu: dataset 2, dataset 7 dan dataset
10 masing-masing sebesar 42,68%, 44,49%,
dan 47,52%. Grafik perbandingan MMRE
untuk ketiga dataset tersebut dapat dilihat
pada Gambar 5. Sebagai pembanding
dicantumkan pula grafik hasil pengujian
Intermediate COCOMO.
Pada Gambar 5 terlihat bahwa grafik hasil
pengujian dataset 2, dataset 7, dataset 10 dan
Intermediate COCOMO memiliki bentuk
grafik yang hampir sama. Hal tersebut
menunjukkan
hasil
pengujian
antara
Intermediate
COCOMO
dan
Fuzzy
Intermediate
COCOMO
menghasilkan
MMRE yang tidak jauh berbeda. Perbedaan
MMRE yang cukup jauh hanya pada empat
proyek, yaitu proyek ke-59, 67, 78 dan 92,
dan merupakan pencilan pada grafik-grafik di
atas. Pengujian yang menggunakan Fuzzy
Intermediate COCOMO menghasilkan nilai
galat MRE yang lebih kecil dari pada
Intermediate COCOMO pada empat pencilan
tersebut. Hal tersebut yang menyebabkan nilai
MMRE ketiga dataset lebih baik daripada
nilai MMRE Intermediate COCOMO.
Tiga dataset yang memiliki nilai galat
MMRE terbesar yaitu: dataset 4, dataset 5
dan dataset 6 masing-masing sebesar 59,46%,
61,74% dan 59,81%. Grafik perbandingan
MMRE untuk ketiga dataset tersebut dapat
dilihat pada Gambar 6. Sebagai pembanding
ditampilkan pula grafik hasil pengujian
Intermediate COCOMO.
Pada Gambar 6 terlihat grafik hasil
pengujian dataset 4, 5, dan 6 memiliki bentuk
yang sama
dengan hasil pengujian
Intermediate COCOMO. Pencilan-pencilan
juga terletak pada proyek yang sama. Secara
umum nilai galat MRE tiap proyek pada
ketiga dataset tersebut nilainya sama dengan
nilai galat Intermediate COCOMO. Sehingga
nilai galat MMRE ketiga dataset tersebut tidak
jauh berbeda dengan Intermediate COCOMO.
Nilai galat MMRE digunakan untuk
menghitung akurasi dari sistem secara umum
(seluruh proyek). Nilai galat min dan max
MRE menunjukan seberapa baik dan buruk
akurasi dari sistem tersebut. Tiga dataset yang
memiliki nilai galat MRE terkecil yaitu:
dataset 5, dataset 7 dan dataset 10, dengan
masing-masing nilai min MRE yaitu: 0.02%,
0.01% dan 0.02% yang terdapat pada
pengujian proyek ke-57, 21 dan 18. Nilai-nilai
min MRE ini hampir sama dengan nilai min
MRE
pada
pengujian
menggunakan
Intermediate COCOMO yaitu sebesar 0.02%.
Hal ini menunjukan bahwa perkiraan biaya
perangkat lunak menggunakan logika fuzzy
juga dapat memiliki akurasi sebaik
Intermediate COCOMO.
Nilai galat MRE terbesar pada pengujian
Fuzzy Intermediate COCOMO terletak pada
dataset 4 proyek ke-78 yaitu sebesar
1023.16%. Nilai galat ini lebih besar dari hasil
pengujian dengan Intermediate COCOMO.
Penyebabnya adalah nilai random CD yang
dihasilkan pada dataset 4 proyek ke-78 adalah
nilai-nilai besar. Karena nilai 15 CD tersebut
besar maka akan menghasilkan fuzzy effort
multiplie yang besar. Sehingga pengujian
menghasilkan biaya perkiraan yang besar.
Biaya perkiraan yang dihasilkan adalah
1089.50 MM sedangkan biaya aktualnya
adalah 97 MM.
9
Gambar 6 Grafik perbandingan tiga MMRE terbesar.
b Kinerja Pengunaan Logika Fuzzy
Dalam menghitung biaya perangkat,
semakin besar nilai CD: STOR, DATA,
TIME, TURN, VIRT, CPLX dan RELY,
semakin besar pula biaya perkiraan yang
dihasilkan. Sedangkan untuk nilai CD: ACAP,
PCAP, AEXP, MODP, TOOL, VEXP, dan
LEXP yang semakin besar akan menurunkan
biaya perkiraan.
Karena Fuzzy Intermediate COCOMO
sangat dipengaruhi oleh nilai CD, akan
dianalisis kinerja logika fuzzy berdasarkan
perbedaaan nilai-nilai CD. Analisis akan
dilakukan pada proyek yang analogi (proyek
yang serupa).
Salah satu contoh proyek yang analogi
pada pengujian Fuzzy Intermediate COCOMO
dengan menggunakan dataset 1 adalah proyek
ke-21 dan proyek ke-24.
Berdasarkan Tabel 4 pengujian dua proyek
tersebut menghasilkan biaya perkiraan yang
tidak jauh berbeda. Namun jika diuji
menggunakan Intermediate COCOMO hasil
pengujian dua proyek tersebut menghasilkan
biaya perkiraan sebesar 74,25 MM untuk
proyek ke-21 dan 62,22 MM untuk proyek ke24. Penyebab besarnya selisih biaya
perkiraaan adalah walaupun dua proyek
tersebut analogi tetapi kategori CD kedua
proyek tersebut berbeda.
Dari hasil pengujian dua proyek tersebut
terlihat bahwa hasil pengujian Fuzzy
Intermediate COCOMO sangat sensitif
terhadap perbedaan nilai CD, sedangkan pada
Intermediate COCOMO hasil pengujian
dipengaruhi oleh kategori kelima belas CD.
Pengujian
menggunakan
Intermediate
COCOMO akan menghasilkan biaya pekiraan
yang sama apabila kategori kelima belas CD
antara dua proyek tersebut sama. Sehingga
walaupun dua proyek tersebut nilai CD nya
tidak jauh berbeda, tapi kategori CD nya
berbeda maka selisih biaya perkiraan antara
dua proyek tersebut akan besar. Hal ini
berbeda
dengan
Fuzzy
Intermediate
COCOMO, biaya perkiraan yang dihasilkan
sesuai dengan nilai CD. Semakin besar
perbedaan nilai CD antara dua proyek, maka
semakin besar pula selisih biaya perkiraan
yang dihasilkan. Perbedaan kategori CD pada
dua
proyek
tersebut
tidak
begitu
mempengaruhi hasil pengujian.
Tabel 4 Nilai CD dan hasil pengujian proyek
yang analogi
Nilai CD
DATA
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
SCED
Biaya
Perkiraan
Dataset 1
proyek ke-21
Dataset 1
proyek ke-24
9
25
29
180
0.5
54
24
53
8
17
81
11
50
25
120
4
49
36
55
9
12
95
60,24 MM
63,18 MM
Pengujian menggunakan Intermediate
COCOMO akan menghasilkan biaya pekiraan
yang sama apabila kategori kelima belas CD
antara dua proyek tersebut sama. Sehingga
walaupun dua proyek tersebut nilai CDnya
tidak jauh berbeda, tapi kategori CDnya
berbeda maka selisih biaya perkiraan antara
dua proyek tersebut akan besar. Hal ini
berbeda
dengan
Fuzzy
Intermediate
COCOMO, biaya perkiraan yang dihasilkan
10
sesuai dengan nilai CD. Semakin besar
perbedaan nilai CD antara dua proyek, maka
semakin besar pula selisih biaya perkiraan
yang dihasilkan. Perbedaan kategori CD pada
dua
proyek
tersebut
tidak
begitu
mempengaruhi hasil pengujian.
KESIMPULAN DAN SARAN
Kesimpulan
Perkiraan
biaya
perangkat
lunak
menggunakan Intermediate COCOMO yang
digunakan sebagai nilai input adalah kategori
kelima belas CD sehingga akan menghasilkan
biaya perkiraan dengan selisih yang besar
pada proyek – proyek yang analogi. Begitu
juga sebaliknya, pada proyek-proyek dengan
nilai CD yang berbeda jauh akan
menghasilkan biaya perkiraan yang sama
. Kekurangan dari metode Intermediate
COCOMO diatasi dengan menggunakan
Fuzzy Intermediate COCOMO. Dalam metode
ini yang digunakan sebagai nilai input adalah
nilai setiap CD sehingga besarnya biaya
perkiraan yang dihasilkan sesuai dengan
besarnya nilai CD. Semakin besar perbedaan
nilai CD antara dua proyek maka semakin
besar pula selisih biaya antara dua proyek
tersebut.
Berdasarkan pengujian sepuluh dataset
menggunakan Fuzzy Intermediate COCOMO
didapatkan rata-rata nilai galat MMRE yaitu
sebesar 51,95%. Nilai galat ini lebih kecil dari
Intermediate COCOMO yaitu sebesar
59,50%.
Saran
Fuzzy Intermediate COCOMO dapat
dikembangkan lebih jauh lagi dengan cara
merepresentasikan ukuran perangkat lunak
dan model pengembangan proyek dalam
himpunan fuzzy.
DAFTAR PUSTAKA
Briand, Lionel. et al. 1999. An Assessment and
Comparison of Common Software Cost
Estimation Model Based on Integration
of
Multi-agent
and
Case-Based
Reasoning. Journal of Computer Science
2. ISSN, 3:276-282.
Dickson, Gardner, 2007. Software Cost
Estimation. Faculty of Computer Science
– Faculty of Engineering, Universiry of
New Brunswick, Canada.
Idri, Ali dan Abran, Alain. COCOMO Cost
Model Using Fuzzy Logic. Department
of Computer Science, UAQM. Montreal,
Canada.
Idri, Ali. et al. 2001. Fuzzy Analogy: A New
Approach for Software Cost Estimation.
International Workshop on Software
Measurement. Montreal, Canada.
Idri, Ali. et al. 2001. La Logique Appliquee
Aux
Modeles
d’Estimation
de
Development de Logiciels Cas du
Modele COCOMO 81 : International
Workshop on Software Measurement.
Montreal, Canada.
Leung, Hareton. dan Zhang Fan. 2001.
Software Cost Estimation. Departement
of Computing, The Hong Kong
Polytechnic University.
NASA Cost Estimating Web Site. 2005.
http://cost.jsc.nasa.gov/COCOMO.html
Promise Software Engineering Repository
data
set.
2004.
http://www.promisedata.org
Saliu, Moshood. 2003, Adaptive Fuzzy Logic
Based
Framework
For
Software
Development Effort Prediction. King
Fahd University of Petroleum &
Minerals.
Shepperd, M. dan Schofield, C. 1996. Effort
Estimation Using Analogy. Proceedings
of the 18th International Conference on
Software Enginering. Berlin, Germany.
Zadeh, L. 1996, Fuzzy Logic: Computing With
Words, IEEE Transactions on Fuzzy
Systems, Vol.4, No.2, pp. 103-111.
LAMPIRAN
12
Lampiran 1 Effort multipliers
Cost Driver
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
Very Low
Low
Normal
High
Very High
0.75
0.70
0.88
0.94
0.85
1.46
1.29
1.42
1.21
1.14
1.24
1.24
1.23
0.87
0.87
1.19
1.13
1.17
1.10
1.07
1.10
1.10
1.08
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.00
1.15
1.08
1.15
1.11
1.06
1.15
1.07
0.86
0.91
0.86
0.90
0.95
0.91
0.91
1.04
1.40
1.16
1.30
1.30
1.21
1.30
1.15
0.71
0.82
0.70
Extra High
1.65
1.66
1.56
0.82
0.83
1.10
Lampiran 2 Membership function Cost Driver
Grafik membership function DATA
Grafik membership function STORE
Grafik membership function TIME
Grafik membership function VIRT
13
Lanjutan
Grafik membership function TURN
Grafik membership function VEXP
Grafik membership function ACAP
Grafik membership function LEXP
Grafik membership function AEXP
Grafik membership function PCAP
Grafik membership function SCED
14
Lampiran 3 Data NASA Project
No
Model
Pengembangan
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
1
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
25.9
117.6
2
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
24.6
117.6
3
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
7.7
31.2
4
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
8.2
36
5
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
9.7
25.2
6
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
2.2
8.4
7
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
3.5
10.8
Cost Driver
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
8
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
66.6
352.8
9
semidetached
h
l
h
xh
xh
l
h
h
h
h
n
h
h
h
n
7.5
72
10
semidetached
n
l
h
n
n
l
l
h
vh
vh
n
h
n
n
n
20
72
11
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
6
24
12
semidetached
n
l
h
n
n
l
l
h
vh
vh
n
h
n
n
n
100
360
13
semidetached
n
l
h
n
n
l
l
h
vh
n
n
l
n
n
n
11.3
36
14
semidetached
n
l
h
n
n
h
l
h
h
h
l
vl
n
n
n
100
215
15
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
20
48
16
semidetached
n
l
h
n
n
l
l
h
n
n
n
vl
n
n
n
100
360
17
semidetached
n
l
h
n
xh
l
l
h
vh
vh
n
h
n
n
n
150
324
18
semidetached
n
l
h
n
n
l
l
h
h
h
n
h
n
n
n
31.5
60
19
semidetached
n
l
h
n
n
l
l
h
vh
h
n
h
n
n
n
15
48
20
semidetached
n
l
h
n
xh
l
l
h
h
n
n
h
n
n
n
32.5
60
21
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
19.7
60
22
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
66.6
300
23
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
29.5
120
24
semidetached
h
n
n
h
n
n
n
n
h
h
n
n
n
n
n
15
90
15
Lanjutan
Cost Driver
No
Model
Pengembangan
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
25
semidetached
h
n
h
n
n
n
n
n
h
h
n
n
n
n
n
38
210
26
semidetached
n
n
n
n
n
n
n
n
h
h
n
n
n
n
n
10
48
27
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
15.4
70
28
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
48.5
239
29
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
16.3
82
30
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
12.8
62
31
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
32.6
170
32
semidetached
n
vh
h
vh
vh
l
h
vh
h
n
l
h
vh
vh
l
35.5
192
33
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
5.5
18
34
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
10.4
50
35
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
14
60
36
semidetached
h
n
h
n
n
n
n
n
n
n
n
n
n
n
n
6.5
42
37
semidetached
n
n
h
n
n
n
n
n
n
n
n
n
n
n
n
13
60
38
semidetached
n
n
h
n
n
n
n
n
n
h
n
h
h
h
n
90
444
39
semidetached
n
n
h
n
n
n
n
n
n
n
n
n
n
n
n
8
42
40
semidetached
n
n
h
h
n
n
n
n
n
n
n
n
n
n
n
16
114
41
semidetached
n
h
h
vh
h
l
h
h
n
h
l
h
h
n
l
177.9
1248
42
semidetached
h
l
h
n
n
l
l
n
n
h
n
n
h
vl
n
302
2400
43
semidetached
n
h
l
n
n
h
n
h
h
n
n
n
h
h
n
282.1
1368
44
semidetached
h
h
l
n
n
n
h
h
h
n
n
n
h
n
n
284.7
973
45
semidetached
h
h
n
n
n
l
l
n
h
h
n
h
n
n
n
79
400
46
semidetached
l
n
n
n
n
l
l
h
h
vh
n
h
l
l
h
423
2400
47
semidetached
n
n
n
n
n
l
n
h
vh
vh
l
h
h
n
n
190
420
48
semidetached
n
n
h
n
h
n
n
h
h
n
n
h
h
n
h
47.5
252
16
Lanjutan
Cost Driver
No
Model
Pengembangan
SIZE
(KDSI)
Biaya Aktual
(Man - Months)
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
49
semidetached
vh
n
xh
h
h
l
l
n
h
n
n
n
l
h
n
21
107
50
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
78
571.4
51
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
11.4
98.8
52
semidetached
n
h
h
vh
n
n
h
h
h
h
n
h
l
l
h
19.3
155
53
semidetached
h
n
vh
h
h
l
h
h
n
n
h
h
l
vh
h
101
750
54
semidetached
h
n
h
h
h
l
h
n
h
n
n
n
l
vh
n
219
2120
55
semidetached
h
n
h
h
h
l
h
n
h
n
n
n
l
vh
n
50
370
56
semidetached
vh
h
h
vh
vh
n
n
vh
vh
vh
n
h
h
h
l
227
1181
57
semidetached
n
h
vh
n
n
l
n
h
n
vh
l
n
h
n
l
70
278
58
semidetached
h
l
h
n
n
l
l
n
n
n
n
h
h
n
l
0.9
8.4
59
semidetached
vh
l
xh
xh
vh
l
l
h
vh
h
vl
h
vl
vl
h
980
4560
60
embedded
n
l
h
n
n
l
l
vh
n
vh
h
h
n
l
n
350
720
61
embedded
h
n
xh
h
h
l
l
h
n
n
h
h
h
h
n
70
458
62
embedded
h
n
xh
h
h
l
l
h
n
n
h
h
h
h
n
271
2460
63
organic
n
n
n
n
n
l
l
h
h
h
n
h
n
l
n
90
162
64
organic
n
n
n
n
n
l
l
h
h
h
n
h
n
l
n
40
150
65
embedded
h
n
h
h
n
l
l
h
h
h
n
h
n
n
n
137
636
66
embedded
h
n
h
h
n
h
l
h
h
h
n
h
n
vl
n
150
882
67
embedded
vh
n
h
h
n
l
l
h
h
h
n
h
n
n
n
339
444
68
organic
l
h
l
n
n
h
l
h
h
h
n
h
n
l
n
240
192
69
semidetached
h
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
144
576
70
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
151
432
71
semidetached
n
l
h
n
vh
l
n
h
h
h
h
h
l
l
l
34
72
72
semidetached
n
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
98
300
17
Lanjutan
Cost Driver
No
Model
Pengembangan
RELY
DATA
CPLX
TIME
STOR
VIRT
TURN
ACAP
AEXP
PCAP
VEXP
LEXP
MODP
TOOL
SCED
73
semidetached
n
n
h
n
vh
l
n
h
h
h
h
h
l
l
l
85
300
74
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
20
240
75
semidetached
n
l
n
n
vh
l
n
h
h
h
h
h
l
l
l
111
600
76
semidetached
h
vh
h
n
vh
l
n
h
h
h
h
h
l
l
l
162
756
77
semidetached
h
h
vh
n
vh
l
n
h
h
h
h
h
l
l
l
352
1200
78
semidetached
h
n
vh
n
vh
l
n
h
h
h
h
h
l
l
l
165
97
79
embedded
h
n
vh
h
h
l
vh
h
n
n
h
h
h
vh
h
60
409
80
embedded
h
n
vh
h
h
l
vh
h
n
n
h
h
h
vh
h
100
703
81
embedded
h
vh
vh
xh
xh
h
h
n
n
n
l
l
n
n
h
32
1350
82
embedded
h
h
h
vh
xh
h
h
h
h
h
h
h
h
n
n
53
480
83
embedded
h
l
vh
vh
xh
l
n
vh
vh
vh
vl
vl
h
h
n
41
599
84
embedded
h
l
vh
vh
xh
l
n
vh
vh
vh
vl
vl
h
h
n
24
430
85
embedded
vh
h
vh
xh
xh
n
n
h
h
h
h
h
h
n
h
165
4178.2
86
embedded
vh
h
vh
xh
xh
n
n
h
h
h
h
h
h
n
h
65
1772.5
87
embedded
vh
h
vh
xh
xh
n
l
h
h
h
h
h
h
n
h
70
1645.9
88