5 BAB 2 LANDASAN TEORI 2.1. Estimasi Effort. Estimasi effort merupakan area penelitian yang cukup besar. Magne Jorgensen, salah satu peneliti senior di area ini, yang saat ini memelihara situs BESTweb (Grimstad & Jorgensen, 2007) sedang mendaftar sejumlah besar makalah penelitian dan artikel jurnal yang berhubungan dengan estimasi effort pada pengembangan software. Meskipun situs web tidak berisi daftar lengkap dari publikasi area ini, saat ini situs tersebut telah mendata sekitar 1,200 publikasi. Berbagai model parametrik bermunculan, seperti COCOMO (Boehm, Software engineering economics, 1984), COCOMO II (Boehm, Safe and Simple Software Cost Analysis, 2000), SLIM (Putnam, 1981), ESTIMACS (Rubin, 1983), yang semuanya berbasis Functional Size Measurement (FSM) dalam estimasi effort. Kualitas data untuk model ini bias tergantung penilaian subjektif untuk masing-masing ukuran fungsional. Model pada COCOMO dan SLIM tergantung pada jumlah SLOC (Source Line of Code) yang diestimasi sebelum memulai proses estimasi effort. Dalam prakteknya, metode estimasi effort pada industri software masih menggunakan expert judgement. Proses expert judgement ini sebagian besar dilakukan oleh individu, kelompok, dimana menggunakan penilaian intuitif dari estimasi berdasarkan keahlian estimator. Sebagai akibatnya, hasil penilaian tidak konsisten, karena tingkat keahlian bervariasi setiap orang. Dan fakta membuktikan banyaknya peningkatan jumlah kegagalan dari industri software, 5 6 dimana alasan utamanya adalah estimasi yang tidak akurat (Grimstad & Jorgensen, 2007). 2.2. Functional Size Measurement. Perbandingan ukuran effort berbanding lurus dengan ukuran fungsionalnya. Untuk estimasi yang lebih baik serta pemahaman yang mendalam untuk variabel ukuran fungsional, industri merumuskan beberapa metode FSM. Pada 1979, Allan Albretch mengusulkan FSM pada Function Point Analysis (FPA) (Albrecht, 1979) yang dinamakan Function Point (FP). Idenya kemudian divalidasi oleh banyak studi. Dengan demikian, pengukuran FP software menjadi satu-kesatuan dalam estimasi effort. 2.3. COCOMO. COCOMO (Constructive Cost Model) merupakan model regresi yang dikembangkan oleh Prof. Barry W. Boehm. Metode ini memperkenalkan pendekatan non-linear pada tahun 1981. COCOMO mengkategorikan proyek menjadi tiga tingkat, yaitu Basic, Intermediate, dan Detail. Saat masih dataset tersebut banyak digunakan dalam prediksi software effort dan perencanaan anggaran (Reddy, Rao, Raju, & Kumari, 2008). Selanjutnya, upaya penelitian COCOMO II dimulai pada tahun 1994 di University of Southern California untuk mengatasi masalah pada model nonsequential dan proses development yang cepat, rekayasa ulang, pendekatan reuse driven, pendekatan berorientasi objek, dan lainnya. Model COCOMO II dapat dijelaskan dengan persamaan berikut: 7 ∏ (1) dengan ∑ Dimana dan adalah konstanta kalibrasi awal, (2) mengacu pada ukuran proyek software diukur secara Source Line Of Code (kSLOC), SF adalah faktor skala, dan EM adalah Effort multiplier. COCOMO II mempunyai 17 Effort Multiplier (EMS) yang digunakan dalam model Post-Arsitektur. Tabel 1 menjelaskan Effort Multiplier COCOMO II atau cost driver dengan kategori produk, Komputer, Personalia dan Faktor Projek dengan nilai rating masingmasing. 2.4. Teorema Fuzzy. Teorema Fuzzy diperkenalkan oleh Zadeh (1997) sebagai model representasi matematis untuk mengatasi masalah ketidakpastian dan ketidakakuratan di dunia nyata. Lebih lanjut, model Fuzzy mengasosiasikan Fuzzy set ke dalam bahasa manusia. Masing-masing Fuzzy set dideskripsikan dalam beberapa jenis fungsi keanggotaan seperti Triangular, Trapezoidal dan Gaussian yang memiliki nilai keanggotaan antara nilai 0 dan 1 untuk masing-masing poin dalam semesta pembicaraan. Nilai keanggotaan ini merepresentasikan derajat kepemilikan dari salah satu poin dalam Fuzzy set. 2.4.1. Fungsi Membership Fuzzy. Selanjutnya, masing-masing Fuzzy set dalam model fuzzy akan diasosiasikan dengan salah satu fungsi keanggotaan yang telah ditetapkan. Beberapa jenis fungsi keanggotaan diantaranya: Triangular, Gaussian bell, Trapezoidal, sigma, 8 fungsi S dan fungsi Z. Tiga diantaranya yaitu Triangular, Gaussian dan Trapezoidal sangat umum dipergunakan pada model estimasi software karena lebih cocok untuk mendeskripsikan istilah linguistik. Berikut fungsi Triangular, Gaussian dan Trapezoidal beserta parameternya. Masing- masing notasi matematika pada fungsi keanggotaan tersebut dijelaskan pada persamaan di bawah ini. Berikut beberapa jenis Fungsi Keanggotaan. { Dimana [ ] [ ] [ ] (3) merupakan batas kiri nilai keanggotaan, merupakan batas kanan nilai keanggotaan ( adalah nilai modal dan ). (4) Dimana merupakan posisi tengah kurva, [ ] [ [ { Dimana tengah dan 2.5. adalah penyebarannya. ] (5) ] [ ] merupakan batas kiri nilai keanggotaan, adalah batas kanan nilai keanggotaan ( dan merupakan batas ). Neuro-Fuzzy. ANFIS merupakan model terintegrasi antara Fuzzy Inference System (FIS) dengan Neural Network. Kombinasi teknik dalam mempelajari pola data yang rumit dan penalaran terhadap masalah ambiguitas dunia nyata memberikan manfaat pada model tersebut. Kunci keberhasilan pada FIS adalah menemukan 9 rule base. FIS mengkonversikan pengetahuan manusia ke dalam sebuah rule base sehingga dapat memaksimalkan kinerja model dan meminimalkan kesalahan output. ANFIS memetakan karakteristik input ke dalam fungsi keanggotaan input, kemudian dari fungsi keanggotaan input ke dalam rules, rules untuk sebuah set karakteristik output, dari karakteristik output ke dalam fungsi keanggotaan output, dari fungsi keanggotaan output ke dalam output bernilai tunggal atau keputusan terkait output. Parameter dapat secara otomatis disesuaikan tergantung data yang ditraining pada model. ANN dan Fuzzy merupakan model yang paling banyak digunakan pada penelitian effort estimation (Bhatnagar, Bhattacharjee, & Ghose, 2010). Tekrnik perpaduan hybrid pun menjadi pilihan karena menghasilkan akurasi yang menjanjikan (Huang, Ho, Ren, & Capretz, 2007). Struktur ANFIS untuk model 1-input 1-output menggunakan fuzzy type Takagi dan Sugeno yang memiliki rule base: (6) . dimana fuzzy set dan melambangkan nilai rating dengan range VL sampai XH adalah multiplier value dari . Membership function yang digunakan adalah sebagai berikut: { (7) 10 Layer 1 Layer 2 Layer 3 Layer 5 Layer 4 CDRi A1 w1 N ẁ1 ẁ1CDi1 N A2 ... ... A6 CDf ... w6 N ... ẁ1CDi6 ẁ6 CDRi Gambar 1. Model NeuroFuzzy yang digunakan Fungsi dari masing-masing node dijelaskan sebagai berikut: 1. Layer 1: setiap node k di layer ini merupakan square node dengan fungsi: (8) Dimana x adalah input dari node k, dan fungsi node tersebut. derajat keanggotaan adalah fuzzy set rating dari merupakan fungsi membership yang menentukan . 2. Layer 2: setiap node berlabel ∏ merupakan multiplier value dengan persamaan berikut: (9) Setiap output node melambangkan nilai yang ditembakkan berdasarkan fuzzy rules. 3. Layer 3: Normalisasi firing strength. setiap node berlabel N yang merupakan kalkulasi dari rasio ke-k dari rule firing strength total keseluruhan dari seluruh rules firing strength: 11 ̅ (10) ∑ 4. Layer 4: Setting konsekuen parameter. Setiap node k di layer ini merupakan square node dengan fungsi ̅ ̅ Dimana ̅ adalah output dari layer 3 dan (11) adalah konsekuen parameter. 5. Layer 5: Terdapat single node dengan symbol ∑ yang menghitung keseluruhan output dari sinyal yang masuk. ∑ ̅ (12) Tahap ini disebut juga dengan defuzifikasi. 2.5.1. Algoritma Pengelompokan Subtraktif. Dalam ANFIS konvensional, jumlah rules dan fungsi keanggotaan (MF) ditentukan oleh ahli. Namun pada kondisi tidak ada ahli yang tersedia atau jika dataset yang sulit divisualisasikan karena memiliki lebih dari tiga input, diperlukan suatu metode identifikasi otomatis. Algoritma Pengelompokan Subtraktif (Subtractive Clustering) merupakan pendekatan yang cocok untuk ANFIS untuk memperkirakan jumlah rules dan fungsi keanggotaan yang optimal. Teknik Clustering menggunakan fungsi radial basis network dalam inisialisasi posisi awal cluster. Dengan kumpulan data point n pada ruang dimensi m, dimana masing-masing data point merupakan kandidat pusat cluster, tingkat density dari data point xi dinotasikan sebagai berikut: 12 ‖ ∑ dimana ‖ (13) konstanta. Sebuah titik data akan memiliki density tinggi jika memiliki banyak titik tetangga. Data point yang memiliki density tertinggi akan dinyatakan sebagai pusat cluster pertama. Kemudian density akan dihitung kembali dengan formula: ‖ ‖ (14) Data point terdekat pusat cluster pertama akan berkurang secara signifikan sehingga tidak mungkin terpilih menjadi pusat cluster berikutnya. Setelah ukuran density dihitung kembali, pusat cluster xc2 berikutnya akan dipilih. Proses ini diulang sampai jumlah pusat cluster cukup. Kemudian, pusat cluster tersebut akan digunakan pada fuzzy rules tipe Sugeno atau Radial Basis Function Network (RBFN). Dengan asumsi ci adalah pusat cluster i yang dikemposisi menjadi vektor pi dan qi, maka derajat keanggotaan fuzzy rule i dinotasikan dengan persamaan ‖ ‖ (15) Setelah fungsi dasar radial ditentukan, bobot untuk unit output RBFN dihitung dengan metode least-squared. 2.6. Particle Swarm Optimization. PSO adalah metode heuristik yang diajukan oleh Kennedy dan Eiberhart pada tahun 1995 sebagai salah satu metode evolutionary computation. Metode ini didasarkan pada kelakuan biologis dan sosiologis organisme yang berbasis populasi. Metode ini bertujuan untuk mengoptimalkan masalah dengan iteratif 13 berusaha untuk meningkatkan solusi kandidat berkaitan dengan ukuran tertentu kualitas. Metode tersebut dikenal sebagai Meta Heuristic karena mereka membuat sedikit atau tidak ada asumsi tentang masalah yang sedang dioptimalkan dan dapat mencari ruang lingkup yang sangat besar. PSO adalah pencarian berbasis populasi dimana setiap solusi direpresentasikan sebagai partikel dari populasi (disebut swarm). Setiap partikel harus dicatat solusi optimal yang pada jalur melalui mereka, Solusi yang disebut solusi optimal lokal (Pbest). Setiap partikel juga harus memiliki perilaku sosial yang setiap partikel untuk menemukan solusi optimal dalam pencarian saat ini, yang disebut solusi optimal global (Gbest). (16) Ketika partikel mendapatkan Pbest dan Gbest, menggunakan persamaan di atas memperbarui kecepatan perpindahan setiap partikel. Partikel koordinat selanjutnya untuk lokasi saat koordinat menambah kecepatan penerbangan diperbarui sebagai koordinat baru. Dalam eq tersebut. 3, yang adalah Gbest, , adalah Pbest, adalah konstanta learning. 2.7. Penelitian sebelumnya. Sebelumnya ada banyak penelitian menggunakan berbagai macam teknik untuk effort estimation, seperti yang dijelaskan pada tabel berikut: 14 Tabel 2. Tabel Ringkasan Hasil Penelitian Effort Estimation dengan Machine Learning Tahun Model Dataset MMRE Model pred(25) Model 2010 PSO COCOMO 81 12.19 90.41 2013 ANN-SVM COCOMO81 7.6 92.1 (Dingra & Singh, 2013) 2013 ANFIS NASA-93, Maxwell-62 6.6 90.9 (Reddy P. , 2010) 2010 RBNN COCOMO81 17.29 90.48 (Karel, 2012) 2014 GA-FA COCOMO 81 & NASA 22.53 88.17 (Jin-Cherng Lin, Chu-Ting, & Sheng-Yu, 2011) 2011 SVR COCOMO 81 36.32 88.89 Penulis (Sheta A.F., Ayesh A., & Rine D., 2010) (Prabhakar & Maitreyee Dutta, Application of machine learning techniques for predicting software effort, 2013) Hasil penelitian terhadap dataset NASA menunjukkan ANFIS dan PSO menghasilkan akurasi tertinggi dalam mengevaluasi PRED dan MMRE. Hasil penelitian juga menunjukkan model hybrid yang menggunakan ANFIS sebagai pondasinya memiliki peningkatan yang cukup baik. Evaluasi terhadap kriteria MMRE menghasilkan error yang lebih rendah jika dibandingkan dengan MLP dan SVR. Kriteria PRED juga menghasilkan akurasi tertinggi pada model hybrid tersebut. Berdasarkan survei literatur, model hybrid dari ANFIS dan PSO dikenal efektif untuk permasalahan prediksi dan peramalan. Diantaranya untuk memprediksi harga tarif listrik dimana menghasilkan MAPE sebesar 5.07 atau meningkat 3.84 dari model ANFIS biasa (Catalao & Pousinho, 2010). Penerapan pada kontroler pemanas air (Naveenkumar & Visalakshi, 2014). Penerapan pada prediksi cuaca (Osorio, Matias, & Catalao, 2014) hingga memprediksi kedalaman lumpur sungai (Basser & Karami, 2015). 15 Pada penelitian ini, penulis menggunakan metode ANFIS dan PSO pada kasus estimasi dengan pertimbangan sebagai berikut: Kemampuan belajar Model yang diusulkan memiliki adaptasi untuk data nonlinear yang sangat kompleks antara effort dan cost driver. Dataset yang tidak memiliki presisi/kepastian Model secara efektif dapat menangani informasi masukan yang tidak tepat dan tidak pasti, namun tetap tidak sensitif terhadap noise dan outlayer seperti rating pada cost driver. Mudah diformulasikan Meskipun pendekatan neural-net sangat ampuh untuk model yang kompleks yang berhubungan dengan data sebelumnya, tetapi masih memiliki kelemahan dalam kemudahan memahami proses pengambilan keputusannya. Namun, model neurofuzzy sangat dipahami oleh user selama proses pengambilan keputusan dan parameter learning dan dapat divalidasi oleh pakar ahli. Dengan metode interpolasi linear, metode neurofuzzy dapat mudah diterima oleh manajemen projek. Kemudahan Integrasi pengetahuan Fuzzy rules memberikan kemudahan dalam mengintegrasikan pengetahuan ahli dengan data numerik dalam model. Model menggunakan informasi yang asli dari sumber dalam proses pengambilan keputusan untuk mencapai estimasi yang lebih akurat dan masuk akal. Parameter yang sederhana 16 Parameter yang dipergunakan dalam proses learning untuk model ini hanya terdiri dari dua jenis, yaitu: dan .