PERKIRAAN USAHA PENGEMBANGAN PERANGKAT
LUNAK MENGGUNAKAN
FUZZY - INTERMEDIATE
COCOMO
AUSSIE KOMALA RANI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Perkiraan Usaha Pengembangan Perangkat Lunak Menggunakan Fuzzy - Intermediate COCOMO adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Agustus 2014
Aussie Komala Rani
ABSTRAK
AUSSIE KOMALA RANI. Perkiraan Usaha Pengembangan Perangkat Lunak Menggunakan Fuzzy - Intermediate COCOMO. Dibimbing oleh IRMAN HERMADI.
Memprediksi biaya (atau usaha) pengembangan perangkat lunak adalah bagian yang paling menantang dalam proyek pengembangan perangkat lunak. Keberhasilan proyek dapat diprediksi sebelumnya baik dari perencanaan dan proses penjadwalan. Prediksi diukur dalam istilah person month yang diperlukan untuk mengembangkan proyek. Penelitian ini menggunakan logika fuzzy dan
Constructive Cost Model (COCOMO) model dengan tiga variasi fungsi keanggotaan (MF), yaitu trapesium (MF1), berbentuk lonceng (MF2), dan kombinasi trapesium dan berbentuk lonceng (MF3). Data set yang digunakan dikumpulkan dari NASA yang terdiri atas 102 proyek dari tahun 1971 sampai 1990. Beberapa ukuran evaluasi yang digunakan adalah Mean Magnitude of Relative Error (MMRE) dan Magnitude of Relative Error (MRE) untuk mengukur keakuratan prediksi. Percobaan ini menghasilkan MMRE untuk MF1 65,51%, 92,74% MF2, dan MF3 163,36%. Meskipun MF2 memiliki MRE terkecil, yaitu, 0%, MF1 memiliki akurasi terbaik.
Kata kunci: perkiraan usaha perangkat lunak, COCOMO, logika fuzzy, fungsi keanggotaan
ABSTRACT
AUSSIE KOMALA RANI. Software Development Effort Estimation Using Fuzzy – Intermediate COCOMO. Supervised by IRMAN HERMADI.
Predicting software developmentcost (or effort) is the most challenging part in software development project. The success of a project can be predicted earlier from both planning and scheduling processes. The prediction is measured in term of person month that is required to develop the project. This research used fuzzy logic and Constructive Cost Model (COCOMO) model with three variations of membership function (MF), i.e. trapezoidal (MF1), bell-shaped (MF2), and combination of trapezoidal and bell-shaped (MF3). The dataset used is collected from NASA that consists of 102 projects from 1971 to 1990. Some evaluation measures used are Mean Magnitude of Relative Error (MMRE) and Magnitude of Relative Error (MRE) to measure the accuracy of the prediction. The experiments resulted MMRE for MF1 65.51%, MF2 92.74%, and MF3 163.36%. While MF2 has the least MRE, i.e., 0%, MF1 has the best accuracy.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Ilmu Komputer
pada
Departemen Ilmu Komputer
PERKIRAAN USAHA PENGEMBANGAN PERANGKAT
LUNAK MENGGUNAKAN
FUZZY - INTERMEDIATE
COCOMO
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
BOGOR 2014
Judul Skripsi : Perkiraan Usaha Pengembangan Perangkat Lunak Menggunakan
Fuzzy - Intermediate COCOMO Nama : Aussie Komala Rani
NIM : G64100080
Disetujui oleh
Irman Hermadi, SKomp MSc PhD Pembimbing I
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
PRAKATA
Alhamdulillah hirobil alamin, puji dan syukur penulis panjatkan kepada Allah S.W.T. atas segala karunia dan rahmat-Nya sehingga tugas akhir dengan judul Perkiraan Usaha Pengembangan Perangkat Lunak Menggunakan Fuzzy - Intermediate COCOMO dapat diselesaikan.
Terima kasih penulis ucapkan kepada semua pihak yang telah membantu dalam penelitian ini, antara lain kepada orang tua penulis Almarhum Bapak Prof Dr Komari, MSc, Ibu Dr Astuti Lamid, MCN, dan Adini Alvina atas kasih sayang, dukungan dan doa yang terus mengalir, serta Bapak Irman Hermadi, SKom MSc PhD selaku pembimbing pertama atas bimbingan dan arahannya selama penelitian dan penyusunan skripsi.
Penulis juga mengucapkan terimakasih kepada Aries Fitriawan, Diba Safitri, Asfi Rohyani Latifah atas semangat, motivasi, kesabaran, dan bantuannya dalam senang maupun susah, teman-teman satu bimbingan Bayu, Adit, Uki, dan Umam atas kebersamaan dan bantuan selama bimbingan, serta Nurul, Laura dan Arin yang telah bersedia menjadi pembahas seminar. Terima kasih juga penulis ucapkan kepada Dwi, Colin, Ajeng dan teman-teman Ilmu Komputer 47 semuanya, serta kepada pihak-pihak lain yang telah membantu penulisan skripsi ini.
Bogor, Agustus 2014
DAFTAR ISI
DAFTAR TABEL vi
DAFTAR GAMBAR vi
DAFTAR LAMPIRAN vi
PENDAHULUAN 1
Latar Belakang 1
Perumusan Masalah 2
Tujuan Penelitian 2
Manfaat Penelitian 2
Ruang Lingkup Penelitian 2
METODE 3
Studi Pustaka 4
Pengumpulan Data 4
Identifikasi variabel 5
Fuzzy - Intermediate COCOMO 6
Evaluasi 7
HASIL DAN PEMBAHASAN 7
Pengumpulan Data 7
Identifikasi variabel 8
Fuzzy – Intermediate COCOMO 9
Evaluasi 9
SIMPULAN DAN SARAN 11
Simpulan 11
Saran 11
DAFTAR PUSTAKA 12
LAMPIRAN 13
DAFTAR TABEL
1. COCOMO cost drivers 5
2. Koefisien mode pengembangan proyek 6
3. Effortmultipliers COCOMO cost drivers 8
4. Hasil evaluasi 10
DAFTAR GAMBAR
1 Metode Penelitian 3
2 Perbedaan nilai MMRE dari ketiga perlakuan penelitian 11
DAFTAR LAMPIRAN
1. Fungsi keanggotaan trapezoidalcost drivers 13 2. Daftar titik fungsi keanggotaan trapezoidalcost drivers 14 3. Fungsi keanggotaan bell-shaped cost drivers 16 4. Daftar titik fungsi keanggotaan bell-shapedcost drivers 17 5. Fungsi keanggotaan trapezoidal dan bell-shaped cost drivers 19 6. Daftar titik fungsi keanggotaan trapezoidal dan bell-shapedcost drivers 20
7. Contoh perhitungan Intermediate COCOMO 22
PENDAHULUAN
Latar Belakang
Memperkirakan pengerjaan proyek yang masih dalam pengembangan merupakan tugas yang paling menantang dalam manajemen proyek (Malik et al. 2013). Pada tahun 2012, studi tingkat keberhasilan proyek menunjukkan bahwa terdapat 39% proyek sukses (tepat waktu, sesuai anggaran, dan dengan fitur dan fungsi yang diperlukan), 43% proyek terhambat (terlambat, melebihi anggaran, dengan kurang dari fitur yang diperlukan dan fungsi), dan 18% proyek gagal (dibatalkan sebelum selesai atau disampaikan dan tidak pernah digunakan) (SGI 2012). Studi tersebut menegaskan bahwa suatu proyek dapat dikatakan sukses jika perencanaan dan penjadwalan dilakukan dengan baik sehingga proyek perangkat lunak tidak melebihi anggaran ataupun melebihi tenggat waktu.
Proses memprediksi usaha yang dibutuhkan untuk menyelesaikan suatu proyek perangkat lunak merupakan hal yang dikerjakan dalam perkiraan usaha pengembangan perangkat lunak. Akan tetapi model perkiraan selalu berubah dikarenakan teknik pengembangan perangkat lunak yang selalu berkembang. Banyak model perkiraan usaha pengembangan perangkat lunak seperti Software Life Cycle Management (SLIM), CoStar, CostXpert, PRICE S, SEER, SoftCost, dan Constructive Cost Model (COCOMO). Penelitian ini menggunakan COCOMO karena model tersebut tidak proprietary, bebas untuk digunakan, dan relatif mudah untuk dipelajari dan dioperasikan.
COCOMO merupakan model perkiraan usaha perangkat lunak berbasis regresi yang dibuat oleh Boehm (Boehm et al. 2000). Model COCOMO transparan, sehingga orang dapat melihat cara kerjanya tidak seperti model lain (Merlo-Schett 2002). Akan tetapi akurasi COCOMO masih jauh dari yang diharapkan oleh pengembang proyek, yaitu mendekati usaha aktual pengembangan sebuah proyek.
Oleh karena itu, banyak penelitian yang dilakukan guna meningkatkan akurasi COCOMO. Penelitian sebelumnya dilakukan oleh Mulyadi (2008) dengan membandingkan Intermediate COCOMO dan Fuzzy Intermediate COCOMO menggunakan fungsi keanggotaan trapezoidal. Data yang digunakan adalah data NASA pada tahun 1980 hingga 1990. Hasil pengujian menunjukkan bahwa pendekatan terbaik adalah melalui pendekatan Fuzzy Intermediate COCOMO dibandingkandengan Intermediate COCOMO.
Logika fuzzy merupakan metodologi untuk menyelesaikan masalah yang terlalu rumit untuk dipahami secara kuantitatif, berdasarkan teori fuzzy set, yang dikenalkan oleh Prof. Zadeh pada tahun 1965 (Zadeh 1965). Metode ini merepresentasikan variabel linguistik dengan baik yang mampu mewakili data masukan dan keluaran dibandingkan dengan pendekatan lainnya seperti, neuro networks atau genetic algorithms.
2
perlakuan dalam penelitian guna melihat model yang menghasilkan akurasi terbaik untuk perkiraan usaha pengembangan perangkat lunak dengan COCOMO.
Perumusan Masalah
Perkiraan usaha pengembangan perangkat lunak dengan COCOMO memiliki akurasi yang masih jauh jika dibandingkan dengan usaha nyata yang dilakukan. Penelitian ini menggunakan logika fuzzy yang diaplikasikan pada
Intermediate COCOMO untuk mendapatkan akurasi yang lebih baik.
Logika fuzzy memiliki fungsi keanggotaan untuk merepresentasikan variabel secara linguistik. Seperti fungsi keanggotaan bell-shaped dan trapezoidal yang keduanya memiliki batas atas. Akan tetapi, fungsi keanggotaan bell-shaped
memiliki satu parameter lebih dari fungsi keanggotaan trapezoidal, sehingga dapat mendekati non-fuzzy set jika parameter bebas disesuaikan.
Untuk mendapatkan akurasi yang paling baik, dalam penelitian terdapat tiga perlakuan. Dari ketiga perlakuan tersebut diharapkan menghasilkan sebuah model yang terbaik untuk memprediksi usaha yang dibutuhkan dalam pengembangan perangkat lunak.
Tujuan Penelitian
Tujuan dari penelitian ini adalah memodelkan perkiraan usaha pengembangan perangkat lunak dengan Fuzzy - Intermediate COCOMO menggunakan fungsi keanggotaan bell-shaped dan trapezoidal. Penelitian ini juga membandingkan tingkat akurasi dari tiga perlakuan.
Manfaat Penelitian
Penelitian ini diharapkan dapat memberikan masukan dalam perkiraan usaha pengembangan perangkat lunak. Sehingga perkiraan usaha pengembangan perangkat lunak yang akan datang lebih baik dalam hal akurasi dan hasil perkiraan yang didapat.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah sebagai berikut:
1 Data yang digunakan untuk pengujian metode Fuzzy - Intermediate COCOMO adalah kelompok data NASA yang merupakan 102 data proyek dari tahun 1971 hingga 1990.
3
METODE
Penelitian perkiraan usaha pengembangan perangkat lunak dilakukan dengan menggunakan beberapa tahapan. Tahapan-tahapan tersebut seperti studi pustaka, pengumpulan data, data set, identifikasi variabel, Fuzzy - Intermediate
COCOMO, evaluasi, dan hasil evaluasi seperti pada Gambar 1.
4
Studi Pustaka
COCOMO
COCOMO adalah model perkiraan biaya perangkat lunak berbasis regresi yang dibuat oleh Boehm (Boehm et al. 2000). Model ini merupakan model empiris yang berasal dari kumpulan data proyek perangkat lunak yang besar. Model COCOMO dapat digunakan untuk mengetahui usaha untuk menyelesaikan suatu proyek perangkat lunak.
Intermediate COCOMO
Intermediate COCOMO memakai perhitungan Basic COCOMO, tetapi terdapat 15 cost drivers yang dikategorikan dari ‘very low’ hingga ‘very high’
untuk menghitung effort multiplier (Merlo-Schett 2002). Penghitungan cost esimation diamati lebih detail dengan banyak faktor proyek seperti jumlah penyimpanan eksternal yang diperlukan, pengalaman programmer dalam tim, pengalaman dengan bahasa pemrograman dan implementasi, penggunaan tool
perangkat lunak, dan lain sebagainya.
Cost Drivers
Cost drivers adalah karakteristik dari pengembangan perangkat lunak yang mempengaruhi upaya dalam melaksanakan proyek tertentu. Cost drivers dipilih berdasarkan alasan bahwa cost drivers mempengaruhi usaha secara liniear. Anotasi oleh Boehm tahun 2000 adalah kemungkinan untuk menetapkan transisi peringkat kategori dan berat untuk effort multipliers. Effort multipliers selanjutnya diratakan untuk membentuk nilai rata-rata yang mencerminkan pada sosok yang lebih masuk akal. Semua cost drivers memiliki kategori, yaitu ‘very low’, ‘low’, ‘nominal’, ‘high’, dan ‘very high’ yang mengungkapkan dampak dari cost driver
dan effort multipliers yang sesuai. Kategori ‘nominal’ selalu memiliki effort multipliers bernilai 1,00 yang tidak mengubah usaha pembuatan perangkat lunak. (Merlo-Schett 2002)
Logika Fuzzy
Logika fuzzy adalah metodologi untuk menyelesaikan masalah yang terlalu rumit secara kuantitatif berdasarkan teori fuzzy set. Fuzzy set dalam ekspresi logika banyak dikenal sebagai logika fuzzy. Logika fuzzy banyak dipakai untuk merepresentasikan variabel dalam nilai liguistik dari data yang sulit dikategorikan seperti data yang berada di antara dua kategori berbeda. Data yang didapatkan direpresentasikan menggunakan fungsi keanggotaan yang memiliki tingkatan yang berbeda-beda.
Pengumpulan Data
5
Data set
Kumpulan data yang digunakan berupa data proyek pengembangan perangkat lunak. Terdapat dua kumpulan data yang dipakai di dalam penelitian, yaitu data-data NASA yang terdiri atas 93 data proyek dikumpulkan dari tahun 1971 hingga 1987 dan data proyek sebanyak 60 data yang dikumpulkan dari tahun 1980 hingga 1990. Tetapi pada data tahun 1980 hingga 1990 terdapat data yang
overlap. Sebelum perhitungan, data set dikonversi ke dalam fail Excel untuk memudahkan perhitungan.
Identifikasi variabel
Pada tahapan ini, data yang ada kemudian diidentifikasi untuk mendapatkan variabel-variabel penting bagi penelitian dan membuang variabel tidak penting.
Data set NASA memiliki 23 variabel, yaitu 15 jenis cost drivers, tujuh deskripsi proyek, jumlah baris kode program, dan usaha aktual pengembangan proyek. Penelitian ini hanya mengambil 15 jenis cost drivers, jumlah baris kode program, tipe proyek, dan usaha aktual pengembangan proyek.
CostDrivers
Perkiraan usaha pengembangan perangkat lunak disesuaikan dengan faktor
cost drivers yang mempengaruhi usaha pengembangan perangkat lunak. Cost drivers penelitian ini dibagi menjadi empat kategori (lihat Tabel 1).
Tabel 1 COCOMO cost drivers
No Kategori Cost Driver Simbol
Product
1 Required Software Reliability RELY 2 Data Base Size DATA 3 Process Complexity CPLX
Platform 9 Application Experience AEXP 10 Programmers Capability PCAP 11 Virtual Machine Experience VEXP 12 Language Experience LEXP
Project
6
Tipe proyek
Terdapat tiga mode pengembangan dasar, yaitu organic, semidetached, dan
embedded (Saliu 2003). Dalam COCOMO, mode organic terkait sistem dengan kompleksitas rendah, dikembangankan oleh tim kecil pembuat perangkat lunak.
Proyek perangkat lunak dengan mode embedded beroperasi dengan kendala yang ketat, seperti real-time system, sedangkan mode semidetached berada di atara organic dan embedded.
Setiap mode pengembangan memiliki nilai koefisien. Nilai koefisien setiap mode digunakan untuk menghitung perkiraan usaha pengembangan perangkat lunak (lihat Tabel 2).
Jumlah baris kode program
Ukuran jumlah baris kode program yang dipakai adalah Kilo Source Line of Code (KSLOC). Tujuannya adalah mengukur jumlah karya intelektual yang dimasukkan ke dalam pengembangan program (Merlo-Schett 2002). Jumlah baris kode program ini digunakan untuk menghitung perkiraan usaha yang dibutuhkan dalam menyelesaikan proyek perangkat lunak.
Fuzzy - Intermediate COCOMO
Penelitian dilakukan berdasarkan model Intermediate COCOMO dan logika
fuzzy dengan masukan data cost drivers, jumlah baris kode program, tipe proyek, dan usaha aktual pengembangan proyek.
Cost drivers merupakan faktor yang mempengaruhi perubahan usaha pada perkiraan usaha pengembangan perangkat lunak. Cost driver yang digunakan dalam penelitian ini berjumlah 15. Tetapi tidak semua cost driver akan didefinisikan menjadi fuzzy set.
Variabel masukan pada Fuzzy - Intermediate COCOMO diubah menjadi variabel fuzzy berdasarkan proses fuzzification. Data akan dihitung melalui fuzzy set dan diberikan tiga perlakuan, yaitu MF1, MF2, dan MF3. Setelah melewati salah satu dari tiga perlakuan, data akan dihitung dengan perhitungan Intermediate
COCOMO.
Sebelum memasuki perhitungan Intermediate COCOMO, untuk perlakuan MF1, data set akan diproses menggunakan fungsi keanggotaan trapezoidal.
Sedangkan pada MF2, data set akan diproses menggunakan fungsi keanggotaan
bell-shaped. Perlakuan MF3 menerapkan gabungan fungsi keanggotaan bell dan
trapezoidal. Dalam MF3, fungsi keanggotaan bell diaplikasikan untuk kategori ‘nominal’, sedangkan fungsi keanggotaan trapezoidal diaplikasikan untuk kategori ‘very low’, ‘low’, ‘high’, dan ‘very high’.
Tabel 2 Koefisien mode pengembangan proyek
No Mode A B
7 Pada fungsi keanggotaan trapezodial terdapat empat parameter yang dipakai, yaitu parameter a, b, c, dan d. Parameter a dan d merupakan titik ‘kaki’ dari trapezoidal, sedangkan parameter b dan c merupakan lokasi ‘punggung’ atau
puncak trapezoidal. Namun pada fungsi keanggotaan bell-shaped hanya diperlukan tiga parameter, yaitu parameter a yang menunjukkan lebar fungsi keanggotaan, parameter c merupakan pusat fungsi, dan parameter b yang biasanya positif.
Evaluasi
Usaha dalam model COCOMO digambarkan sebagai Person Months (PM). PM adalah usaha yang diperlukan seseorang atau sekelompok orang untuk menyelesaikan suatu proyek. Penelitian ini menggunakan Magnitude of Relative Error (MRE) dan Mean Magnitude of Relative Error (MMRE) dalam mengevaluasi hasil penelitian. Selain dua rumus tersebut, pada penelitian juga dilihat nilai maksimum, minimum, median, dan standar deviasi dari MRE.
M
MM N ∑ M i N
i
Hasil Evaluasi
Hasil MRE dari setiap proyek akan dihitung sebagai MMRE. Nilai MMRE perlakuan MF1, MF2, dan MF3 kemudian dibandingkan satu sama lain. Dari hasil analisis dapat ditarik kesimpulan perlakuan mana yang menghasilkan akurasi lebih baik dan mendekati usaha nyata pembuatan perangkat lunak.
HASIL DAN PEMBAHASAN
Pengumpulan Data
Pada tahap awal penelitian diputuskan akan memakai model COCOMO II, akan tetapi data scale factor tidak tersedia dalam situs PROMISE. Maka diputuskan agar penelitian ini memakai data COCOMO I, yaitu 93 data proyek dari tahun 1971 hingga 1987 dan 60 data proyek dari tahun 1980 hingga 1990. Jumlah data yang terkumpul adalah sebanyak 153 data proyek.
Data set
Data set yang dikumpulkan berupa data linguistik berupa kategori ‘very low’, ‘low’, ‘nominal’, ‘high’, dan ‘very high’. Untuk diproses kedalam Fuzzy – Intermediate COCOMO, data set terlebih dahulu diubah menjadi data nominal. Data nominal diperoleh dengan mengambil nilai puncak logika fuzzy (Idri et al.
8
‘low’ nilai nominal cost driver tersebut adalah nilai puncak cost driver pada logika fuzzy. Nilai puncak, yaitu nilai batas atas berada di antara 0 hingga 5, nilai nominalnya adalah nilai random di antara nilai tersebut.
Kumpulan data didapat dari tahun 1971 hingga 1990, tetapi pada data tahun 1980 hingga 1990 terdapat data yang overlap. Setelah melalui pengecekan ulang, dari 60 data jumlah sebanyak 9 data yang tidak overlap. Sehingga didapatkan jumlah data penelitian sebanyak 102 data proyek.
Identifikasi variabel
Pada penelitian ini terdapat 15 variabel dengan effort multipliers masing-masing memiliki nilai dari 0.70 hingga 1.46 (lihat Tabel 3) yang akan dikalikan dengan cost drivers. Effort multipliers dipelajari oleh Boehm pada tahun 1981 setelah analisis regresi proyek dalam kumpulan data COCOMO I.
Tabel 3 Effortmultipliers COCOMO cost drivers
No Cost Driver Very 4 Time Constraint for CPU
(TIME) 1.00 1.11 1.30 1.66
5 Main Memory Constraint
(STOR) 1.00 1.06 1.21 1.56 14 Use of Software Tools
(TOOL) 1.24 1.10 1.00 0.91 0.83
9 Akan tetapi tidak semua cost drivers didefinisikan dalam fuzzy sets karena
cost drivers tersebut hanya berupa sebuah deskripsi biasa (Saliu 2003). Cost drivers tersebut adalah RELY, CPLX, MODP, dan TOOL (Idri et al. 2000a). Sedangkan untuk jumlah baris kode program pada penelitian ini menggunakan
Kilo Size Line Of Code (KSLOC).
Fuzzy – Intermediate COCOMO
Selanjutnya menentukan fungsi keanggotaan untuk proses fuzzyfication. Fungsi keanggotaan yang digunakan diambil dari jurnal Cost Model Using Fuzzy Logic (Idri et al. 2001). Pembuatan fungsi keanggotaan ini dibantu dengan Fuzzy Logic Toolbox dalam MATLAB. Fungsi keanggotaan dalam jurnal adalah fungsi keanggotaan trapezoidal (lihat Lampiran 1). Pada grafik fungsi keanggotaan digambarkan range setiap cost drivers. Titik-titik fungsi keanggotaan berbeda-beda setiap cost drivers (lihat Lampiran 2). Perlakuan dengan fungsi keanggotaan
trapezoidal merupakan perlakuan MF1.
Penelitian ini akan membandingkan penggunaan fungsi keanggotaan
trapezoidal dengan fungsi keanggotaan bell-shaped. Untuk perlakuan MF2 menggunakan fungsi keanggotaan bell-shaped. Fungsi keanggotaan bell-shaped
didapatkan dengan bantuan MATLAB dengan mengubah trapezoid sehingga didapatkan titik-titik bell-shaped dan grafik fungsinya. Fungsi keanggotaan bell-shaped dibuat dengan melihat pendekatan interval yang memiliki kemiripan dengan fungsi keanggotaan trapezoidal (lihat Lampiran 3).
Pada bell-shaped, jumlah titik yang digunakan berbeda dengan trapezoidal. Fungsi keanggotaan trapezoidal menggunakan empat titik untuk membuat grafik sedangkan bell-shaped hanya membutuhkan tiga titik (lihat Lampiran 4).
Perlakuan terakhir, yaitu MF3 merupakan gabungan fungsi keanggotaan
trapezoidal dan bell-shaped (lihat Lampiran 5). Perlakuan ini bertujuan untuk mencari model yang terbaik. Untuk kategori ‘nominal’ digunakan fungsi keanggotaan bell-shaped, sedangkan kategori ‘very low’, ‘low’, ‘high’, dan ‘very high’ digunakan fungsi keanggotaan trapezoidal. Untuk MF3 dipilih kategori ‘nominal’ pada cost drivers untuk diubah menjadi fungsi bell-shaped dengan pertimbangan bahwa kategori ‘nominal’ memliki interval yang lebar. Titik-titik yang digunakan pada perlakuan MF3 dapat dilihat pada Lampiran 6.
Data yang telah masuk diproses dengan logika fuzzy akan dihitung dengan perhitungan Intermediate COCOMO, contoh perhitungan Intermediate COCOMO dapat dilihat pada Lampiran 7. Setelah hasil perkiraan usaha didapatkan untuk setiap perlakuan maka akan diukur keakuratannya.
Evaluasi
10
MRE setiap perlakuan dapat dilihat pada Gambar 2. Penelitian ini memakai nilai
threshold sebesar 20% (Idri et al. 2000b). Dari grafik nilai MRE pada perlakuan MF1, hanya 32 proyek yang memenuhi nilai threshold. Sedangkan pada MF2 terdapat 17 proyek dan MF3 tidak ada proyek yang memenuhi threshold. Tetapi sebagian besar proyek tidak memenuhi threshold yang ditentukan.
Semakin kecil nilai MRE maka hasil perkiraan usaha perangkat lunak semakin mendekati nilai usaha aktual. Untuk mengukur keakuratan terhadap data set maka dipakailah rata-rata nilai MRE (MMRE) pada ketiga perlakuan. Hasil penelitian dari ketiga perlakuan dapat dilihat pada Tabel 4. Nilai MMRE perlakuan MF1 terkecil dibanding perlakuan lain. Maka perlakuan MF1 mempunyai hasil perkiraan yang lebih baik. Nilai maksimum dan standar deviasi MRE perlakuan MF1 juga lebih bagus dibanding perlakuan MF2 dan MF3. Contoh perhitungan evaluasi MRE dapat dilihat pada Lampiran 9.
Gambar 2 Perbandingan nilai MRE setiap perlakuan 0
11 Hasil Evaluasi
Pembandingan perlakuan dari nilai MMRE didapatkan bahwa MF1 memiliki nilai terkecil, kemudian MF2 dengan perbedaan 27.23% dan MF3 dengan nilai MMRE terbesar (lihat Gambar 3). Grafik tersebut menggambarkan tingkat akurasi MF1 lebih tinggi dibanding dua perlakuan lainnya. Karena jika nilai MMRE semakin tinggi maka perbedaan hasil perkiraan semakin jauh dengan nilai aktual usaha.
Perlakuan MF1 memiliki nilai minimum MRE sebesar 0.02% tetapi perlakuan MF2 memiliki nilai minimum MRE lebih kecil, yaitu 0%. Perbandingan presentase nilai minimum MRE memperlihatkan bahwa MF2 dapat menjangkau data lebih baik, walaupun begitu MF1 memiliki hasil yang baik dalam perhitungan MRE secara keseluruhan.
SIMPULAN DAN SARAN
Simpulan
Setelah dilakukannya percobaan dengan menggunakan perlakuan MF1, MF2 dan MF3. Hasil yang diperoleh bahwa MF1 merupakan perlakuan lebih baik dibanding MF2 dan MF3. Karena nilai MF1 memiliki nilai MMRE terkecil di antara perlakuan lainnya. Sedangkan pada poin minimum MRE, MF2 memiliki nilai terkecil 0% dibanding MF2 dan MF3. Dapat ditarik kesimpulan bahwa fungsi keanggotaan trapezoidal memberikan akurasi yang lebih bagus dibanding menggunakan bell-shaped. Tetapi bell-shaped memiliki hasil nilai MRE terkecil.
Saran
Semakin cepatnya pertumbuhan teknologi menyebabkan semakin banyak metode dan logika baru yang lebih efektif dalam menyelesaikan sebuah permasalahan. Penelitian selanjutnya diharapkan bekerjasama dengan institusi-institusi penyedia data NASA untuk menguji model perkiraan usaha. Penelitian baru juga diharapkan dapat memberikan data yang lebih baru.
Gambar 3 Perbedaan nilai MMRE dari ketiga perlakuan penelitian
12 223; [diunduh 2014 Mar 26]. Tersedia pada: http://publicationslist. org/data /a.abran/ref-1933/465.pdf
Idri A, Abran A, Khoshgoftaar TM. 2000b. Fuzzy case-based reasoning models for software cost estimation. Soft Computing in Software Engineering: Studies in Fuzziness and Soft Computing. [Internet]. [diunduh 2014 April 20]; 159: 64-96. Tersedia pada: http://publicationslist.org/data/a.abran/ref-2062/803.pdf
Idri A, Abran A. 2001. La Logique Appliquee Aux Modeles d’ stimation de Development de Logiciels Cas du Modele COCOMO’81. IEEE Computer Society. [Internet]. [diacu 2014 Jan 5]. Tersedia pada: http://s3.amazonaws. com/publicationslist.org/data/a.abran/ref-1920/560.pdf
Malik A, Pandrey V, Kaushik A. 2013. An analysis of fuzzy approaches for COCOMO II. IJ Intelligent Systems and Applications. 05: 68-75. doi: 10.5815/ijisa.2013.05.08.
Menzies T, Caglayan B, Kocaguneli E, Krall J, Peters F, and Turhan B. 2012. The PROMISE Repository of empirical software engineering data.West Virginia University, Department of Computer Science. [Internet]. [diunduh 2013 Okt 19]. Tersedia pada: http://promisedata.googlecode.com
Merlo-Schett N. 2002. COCOMO (Constructive Cost Model). Seminar on Cost Estimation WS 02/03. Zurich (CH): University of Zurich. [Internet]. [diacu 2014 Okt 19]. Tersedia pada: http://ifi.uzh.ch/req/courses/seminar_ws02/ reports/Seminar_4.pdf.
Mulyadi DS. 2008. Perkiraan biaya perangkat lunak menggunakan logika fuzzy
[skripsi]. Bogor (ID): Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor
Saliu MO. 2003. Adaptive Fuzzy Logic Based Framework For Software Development Effort Prediction [thesis]. Dhahran (SA): King Fahd University of Petroleum & Minerals.
13 Lampiran 1 Fungsi keanggotaan trapezoidalcost drivers
(Idri et al. 2001)
DATA TIME
STOR ACAP
PCAP TURN
AEXP VIRT
SCED VEXP
14
Lampiran 2 Daftar titik fungsi keanggotaan trapezoidalcost drivers
No. Cost Drivers Kategori Titik fungsi keanggotaan trapezoidal
15
Lampiran 2 Lanjutan
No. Cost Drivers Kategori Titik fungsi keanggotaan trapezoidal
[a b c d]
10 LEXP Very low [0 0 0.5 1]
Low [0.5 1 2.5 4]
Nominal [2.5 4 8 12]
High [8 12 36 36]
11 SCED Very low [0 0 37.5 75]
Low [37.5 75 80 85]
Nominal [80 85 92.5 100]
High [92.5 100 115 130]
Very high [115 130 160 160]
16
Lampiran 3 Fungsi keanggotaan bell-shaped cost drivers
DATA TIME
STOR ACAP
PCAP AEXP
ACED VEXP
LEXP TURN
17 Lampiran 4 Daftar titik fungsi keanggotaan bell-shapedcost drivers
18
Lampiran 4 Lanjutan
No. Cost Drivers Kategori Titik fungsi keanggotaan bell-shaped [a b c]
10 LEXP Very low [0.72 3.6 -0.01]
Low [3.54 9.9 6.41]
Nominal [13.8 17.25 23.8] High [1.20 10.5 2.08] 11 SCED Very low [34.21 3.94 20.6]
Low [6.37 6.37 88.88]
19 Lampiran 5 Fungsi keanggotaan trapezoidal dan bell-shaped cost drivers
DATA TIME
STOR ACAP
PCAP AEXP
ACED VEXP
LEXP TURN
20
Lampiran 6 Daftar titik fungsi keanggotaan trapezoidal dan bell-shapedcost drivers
No Cost Drivers Kategori Fungsi
keanggotaan Titik fungsi keanggotaan
21 Lampiran 6 Lanjutan
No. Cost Drivers Kategori Fungsi
keanggotaan Titik fungsi keanggotaan High Trapezoidal [8 12 36 36]
10 LEXP Very low Trapezoidal [0 0 0.5 1] Low Trapezoidal [0.5 1 2.5 4] Nominal Bell-shaped [13.8 17.25 23.8] High Trapezoidal [8 12 36 36] 11 SCED Very low Trapezoidal [0 0 37.5 75]
22
Lampiran 7 Contoh perhitungan Intermediate COCOMO Proyek 1
No. Cost Driver Kategori Effort Multipliers
1 RELY High 1,15
Jumlah Baris Kode Program (KLSOC) = 25,9
Usaha aktual pengembangan proyek = 117,6
Misalkan dari contoh data proyek di atas akan dihitung nilai usaha menggunakan model Intermediate COCOMO
Effort Adjustment Factor (EAF) = 1,15 x 0,94 x 1,15 x 1,00 x 1,00 x 0,87 x 0,87 x 1,00 x 1,00 x 1,00 x 1,00 x 1,00 x 0,91 x 1,00 x 1,08
=
0.925
Effort Adjustment Factor
(Effort) = EAF x Koef A x KSLOC
Koef B = 0.925 x 3 x 25,91,12
23 Lampiran 8 Nilai Magnitude of Relative Error (MRE) pada tiga perlakuan
25 Lampiran 8 Lanjutan
No. MF1 MF2 MF3
84 65,94 29,49 100,00
85 14,89 22,24 98,60
86 34,40 16,40 99,69
87 32,83 25,90 88,96
88 44,03 33,69 99,99
89 83,99 84,62 100,00
90 34,48 26,08 99,96
91. 41,14 98,64 100,00 92 638,09 624,98 100,00
93 2,46 4,52 100,00
94 53,50 146,38 100,00 95 7,04 235,09 100,00 96 7,16 130,89 100,00 97 100,00 30,89 100,00 98 41,47 19,17 100,00
99 0,80 59,95 100,00
26
Lampiran 9 Contoh perhitungan evaluasi Magnitude of Relative Error (MRE) Data untuk perhitungan MRE diambil dari contoh kasus Lampiran 7.
Nilai usaha aktual pengembangan project = 117.6 person per month
Nilai perhitungan perkiraan usaha Fuzzy - Intermediate COCOMO = 106,208
person per month
| | ... (1) Berdasarkan rumus (1), maka
| |
| |
MRE = 0.0969
Dari hasil perhitungan, didapatkan nilai MRE sebesar 9.69%
MMRE didapatkan apabila ada sekumpulan data hasil perhitungan MRE, dimisalkan sebuah array berisi sekumpulan data hasil perhitungan MRE yang didefinisikan seperti di bawah ini.
dataMRE = [0.1131 0.432 0.322 0.065 0.021 0.5326 0.4322 0.54311] Sedangkan rumus MMRE didefinisikan sebagai berikut
27 Lampiran 9 Lanjutan
Berdasarkan rumus (2), maka
∑
Dari hasil perhitungan, didapatkan nilai Mean MRE sebesar 30.76%
Untuk mendapatkan nilai minimum MRE dan maksimum MRE dapat dicari dengan cara melihat nilai minimum dan maksimum di dalam elemen array.
Minimum MRE = min (dataMRE) ... (3)
Minimum MRE = 0.021
Maximmum MRE = max (dataMRE) ... (4)
Maximmum MRE = 0.54311
Untuk mendapatkan nilai standar deviasi MRE dicari dengan melihat dari standar deviasi data
√ ∑ ... (5)
28
Lampiran 9 Lanjutan
√
√
29