Metode COCOMO II
(Studi Kasus : Sistem Informasi Monitoring dan Evaluasi Penerimaan
Beasiswa)
Muchammad Aryo Puruhito
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Narotama
Surabaya.
Abstrak
Dalam mengerjakan suatu proyek perangkat lunak, keberhasilan proyek harus
dimulai dengan perencanaan yang benar. Jika perencanaannya buruk maka akan
menyebabkan kegagalan proyek. Kegagalan proyek dapat berupa proyek tidak
selesai sesuai waktu atau pembengkakan waktu proyek yang telah ditentukan pada
awal perencanaan. Pembengkakan waktu bisa mengakibatkan pembengkakan
biaya proyek. Untuk mengurangi resiko pembengkakan biaya proyek dibutuhkan
estimasi biaya yang tepat. Estimasi biaya proyek merupakan perkiraan waktu, biaya
serta jumlah pegawai yang mengerjakan proyek. Estimasi biaya pada penelitian ini
menggunakan metode COCOMO II. Metode COCOMO II menyediakan sebuah
teknik estimasi biaya yang bertujuan untuk mengetahui berapa lamanya proses
pengembangan perangkat lunak serta berapa jumlah pegawai yang dibutuhkan
untuk menyelesaikan proyek perangkat lunak tersebut. Untuk menggambarkan
karakteristik proyek, metode COCOMO II menggunakan kuesioner Scale Driver dan
Effort Multipliers yang di bagikan kepada seluruh tim proyek. Untuk
menggambarkan kompleksitas sistem yang akan dikerjakan, menggunakan nilai
Unadjusted Function Point setiap proses Sistem Informasi Monitoring dan Evaluasi
Penerimaan Beasiswa yang didapatkan dari analisis Data Flow Diagram. Hasil dari
penelitian ini adalah estimasi biaya (waktu, biaya, jumlah pegawai) untuk
menyelesaikan proyek Sistem Informasi Monitoring dan Evaluasi Penerimaan
Beasiswa.
Abstract
In working on a software project, the success of the project must begin with proper
planning. If the planning is bad, it will cause project failure. Project failure can be in
the form of a project not completed according to time or a project time swelling that
has been determined at the beginning of the plan. Swelling of time can lead to
swelling of project costs. To reduce the risk of swelling project costs, it is necessary
to estimate the right costs. Estimated project costs are estimates of time, costs and
number of employees working on the project. The cost estimation in this study uses
the COCOMO II method. The COCOMO II method provides a cost estimation
technique that aims to find out how long the software development process is and
how many employees are needed to complete the software project. To describe the
characteristics of the project, the COCOMO II method uses the Scale Driver
questionnaire and Multipliers Effort which is shared with the entire project team. To
illustrate the complexity of the system to be worked on, use the value of Unadjusted
Function Points for each process of Monitoring and Evaluation Information Systems
Achievement of Student Achievement obtained from analysis of Data Flow
Diagrams. The results of this study are estimated costs (time, cost, number of
employees) to complete the Project Monitoring and Evaluation Information System
Scholarship Acceptance project.
1. PENDAHULUAN
Dalam mengerjakan suatu proyek sistem informasi, keberhasilan suatu
proyek harus dimulai dengan perencanaan dan penyusunan tahap yang benar
(Noerlina, 2008). Karena jika dengan perencanaan yang buruk, maka akan
menyebabkan terjadinya kegagalan suatu proyek. Salah satu aktifitas dari
perencanaan proyek perangkat lunak yaitu estimasi sumber daya, biaya serta
jadwal proyek (Bertalya, 2009).
Ada beberapa model estimasi biaya, pada penelitian ini menggunakan
COCOMO II karena memiliki kelebihan dibandingkan dengan model yang lain yaitu
dapat digunakan untuk memprediksi biaya, waktu, dan jumlah pegawai yang
dibutuhkan dalam menyelesaikan proyek pembuatan perangkat lunak (Boehm,
2001). Seperti penelitian yang dilakukan oleh T.N.Sharma yang berjudul “Analysis
Software Cost Estimation using COCOMO II”. Pada penelitian tersebut
menunjukkan bagiamana membuat perkiraan biaya menggunakan COCOMO II
pada proyek sampel, COCOMO II mempermudah untuk mengklarifikasi biaya,
durasi serta semua sisi dasar perangkat lunak dengan ringkas dan jelas sehingga
mengurangi resiko proyek (Sharma, 2011).
2. LANDASAN KEPUSTAKAAN
A. Estimasi Biaya
Estimasi biaya perangkat lunak adalah proses yang sangat penting dalam
pengembangan perangkat lunak karena estimasi biaya perangkat lunak digunakan
untuk mengontrol dan mengatur efisiensi pada seluruh proses yang dilakukan dalam
pengembangan perangkat lunak. Sehingga akurasi biaya perangkat lunak sangat
dibutuhkan. Ada banyak metode untuk menghitung estimasi biaya. Namun bisa
dikelompokkan menjadi 2 model yaitu model algoritmik dan non-algoritmik. Model
algoritmik yaitu model matematika yang menghasilkan estimasi biaya sebagai fungsi
dari komponen biaya. Sedangkan model non-algoritmik merupakan model yang
menggunakan informasi estimasi biaya dari proyek sebelumnya yang memiliki
kemiripan dengan proyek yang akan di analisis (Bintiri, 2012).
B. Metode COCOMO II
COCOMO (Constructive Cost Model) II merupakan model Algoritmik yang
membantu seseorang maupun kelompok dalam melakukan estimasi biaya, usaha
dan penjadwalan proyek pada saat merencanakan aktivitas pengembangan
perencanaan perangkat lunak. COCOMO II merupakan metode yang
menyempurnakan metode sebelumnya yaitu COCOMO 81 yang dikeluarkan pada
tahun 1981. Model estimasi COCOMO telah digunakan oleh ribuan manajer proyek
suatu proyek perangkat lunak, dan berdasar pada pengalaman dari ratusan proyek
sebelumnya. Model ini menggunakan rumus regresi dasar, dengan parameter yang
berasal dari karakteristik proyek-proyek saat ini. Model COCOMO yang asli menjadi
salah satu model estimasi biaya perangkat lunak yang paling banyak digunakan dan
dibahas dalam industri. Model ini menghitung usaha pengembangan perangkat
lunak sebagai fungsi ukuran program dan serangkaian pengendali biaya yang
menyangkut penilaian subyektif terhadap produk, perangkat keras, personel dan
atribut proyek (Boehm, 2001).
Komponen Keterangan
External Input (EI) Fungsi yang memindahkan data dari
luar ke dalam aplikasi tanpa
menyajikan manipulasi data.
External Output (EO) Fungsi yang memindahkan data dari
dalam ke pengguna dan menyajikan
beberapa data yang telah dimanipulasi.
External Inquiry (EQ) Fungsi yang memindahkan data dari
dalam ke pengguna dan menyajikan
beberapa data yang tanpa
dimanipulasi.
Internal Logical File (ILF) Logika dalam bentuk data tetap, yang
dikelola oleh aplikasi melalui
penggunaan masukan dari luar.
External Interface File (EIF) Logika dalam bentuk data tetap, yang
digunakan oleh aplikasi tetapi tidak
berjalan dalam aplikasi tersebut.
Setiap komponen Function Point diklasifikasikan tingkat kompleksitasnya.
Tingkat kompleksitas menentukan kuantitas Unadjusted Function Point. Bobot
kompleksitas diklasifikasikan berdasarkan DET, RET, dan FTR. Berikut ini
merupakan penjabaran DET, RET, dan FTR.
1) RET (Record Element Types)
RET merupakan subgrup data yang dikenali oleh pengguna dalam Internal
Logical File atau External Logical File.
2) DET (Data Elements Types)
DET dikenali oleh pengguna sebagai sesuatu yang unik dan tidak berulang.
Elemen data yang unik untuk membedakan komponen Functiont Point yang satu
dengan komponen Functiont Point yang lainnya. Berupa data input untuk EI.
3) FTR (Files Type References)
FTR berupa ILF atau EIF. Setiap ILF yang berupa EI dihitung sebagai FTR.
Setiap ILF atau EIF yang direferensikan oleh EI atau EO atau EQ untuk memelihara
(insert, update, delete) dianggap sebagai FTR.
Setelah menganilisis DET, RET, dan FTR setiap fungsi, dinilai sesuai
dengan bobot kompleksitas UFP. Nilai UFP yang diperoleh, akan dikalikan dengan
nilai Quantitative Software Management untuk mendapatkan nilai SLOC sesuai
dengan bahasa pemrograman yang digunakan. Setelah itu nilai SLOC dibagi
dengan 1000 untuk mendapatkan nilai KSLOC yang bisa disubstitusikan dalam
persamaan usaha.
B. Mendapatkan Nilai Scale Driver
Untuk mendapatkan nilai Scale Driver, terdapat 5 parameter pengukuran
untuk submodel Early Design. Penilaian dilakukan dengan pengisian kuesioner
Scale Driver oleh tim proyek. Tabel 2 merupakan deskripsi parameter Scale Driver.
Tabel 2. Scale Driver
Scale Deskripsi
Faktor
Faktor skala yang menggambarkan pengalaman organisasi terhadap
PREC
proyek-proyek sebelumnya yang sejenis
Faktor skala yang menggambarkan kemampuan klien dalam
FLEX
menentukan tujuan dan menyampaikan serta mengkomunikasikan
kebutuhan perangkat lunak kepada tim pengembang perangkat lunak
Faktor skala yang menggambarkan identifikasi resiko yang terkait
RESL
dengan proyek
Faktor skala yang menggambarkan kemampuan setiap anggota tim
TEAM
proyek dalam berkomunikasi dan bekerjasama
Faktor skala yang menggambarkan kematangan proses
PMAT
pengembangan perangkat lunak dalam organisasi. Hal ini didasarkan
pada Model Kematangan Kemampuan Rekayasa Perangkat Lunak
atau Capability Maturity Model (CMM).
EM
Deskripsi
RCPX Penilaian cost driver terkait beberapa faktor yaitu :
(Product 1) Sejauh mana perangkat lunak menjalankan aplikasi
Reliability sesuai fungsinya selama periode waktu (RELY).
and 2) Ukuran database yang digunakan. Ukuran dapat dihitung
Complexity) menggunakan D/P (DATA).
3) Perangkat lunak dan perangkat keras dalam melakukan
tugasnya seperti platform (arsitektur, sistem operasi,
bahasa pemrograman dan antarmuka yang terkait),
sistem manajemen database, browser yang sesuai
digunakan dalam menjalankan aplikasi ini (CPLX).
4) Kesesuaian dokumentasi proyek terhadap kebutuhan
siklus hidup perangkat lunak (DOCU).
PERS Penilaian cost driver terkait beberapa kemampuan personel
(Personnel yaitu:
Capability) 1) Kemampuan personel dalam analisis dan desain, efisiensi
dan ketelitian, serta kemampuan untuk berkomunikasi
dan bekerja sama. Dalam hal ini, dapat dinilai dari
sertifikasi yang sudah didapatkan personel atau
pengalaman kerja tim dalam suatu proyek (ACAP).
2) Kemampuan programmer dalam efisiensi penulisan kode
program, ketelitian dan kemampuan untuk berkomunikasi
dan bekerja sama sebagai sebuah tim. Dengan kata lain,
berapa banyak proyek dimana programmer tersebut
terlibat (PCAP).
3) Pergantian personel tiap tahun pada proyek. Semakin
sedikit pergantian maka semakin tinggi skala (PCON)
RUSE Penilaian cost driver terkait tingkat upaya yang diperlukan untuk
(Developed mengembangkan komponen yang dimaksudkan untuk digunakan
for kembali pada proyek-proyek yang sedang berjalan atau proyek di
Reusability) masa mendatang
PDIF Penilaian cost driver terkait beberapa kendala yaitu :
(Platform 1) Persentase kendala waktu eksekusi yang diharapkan
Difficulty) dapat digunakan pada sistem perangkat lunak (TIME).
2) Persentase tingkat kendala penyimpanan utama yang
dikenakan pada sistem perangkat lunak (STOR).
3) Perubahan yang terjadi pada hardware dan software
dalam kurun waktu tertentu (PVOL).
PREX Penilaian cost driver terkait beberapa pengalaman yaitu :
(Personnel 1) pengalaman kerja tim proyek pada suatu proyek
Experience) pengembangan aplikasi sistem perangkat lunak atau
subsistem (APLEX).
2) pemahaman tim proyek dalam menggunakan platform,
interface database, jaringan, middleware (PLEX).
3) pengalaman tim proyek dalam pemrograman dengan
bahasa tertentu dan pemanfaatan CASE tool dalam
mengembangkan perangkat lunak (LTEX).
FCIL Penilaian cost driver terkait penggunaan CASE tool dalam
(Facilities) pengembangan perangkat lunak pada proyek, seperti dari
mengubah kode yang sederhana menjadi terintegrasi dan
bagaimana cara komunikasi yang digunakan dalam
pengembangan perangkat lunak pada proyek (TOOL, SITE).
SCED Penilaian cost driver terkait tingkat persentase dari percepatan
(Required atau kemunduran jadwal terhadap jadwal suatu proyek yang
Developmen telah ditetapkan sebelumnya.
t Schedule)
Setelah mendapatkan estimasi usaha yang dinyatakan dengan Person-
Month. Dari estimasi usaha tersebut akan dimasukkan ke dalam persamaan
estimasi biaya sehingga menghasilkan perkiraan waktu, orang serta biaya yang
dibutuhkan untuk menyelesaikan proyek SIMONEV PB.
D. ANALISIS DAN PEMBAHASAN
Berikut ini adalah proses analisis estimasi biaya menggunakan metode
COCOMO pada proyek SIMONEV PB beserta hasil analisisnya.
1. Analisis Data Flow Diagram
Analisis Data Flow Diagram digunakan untuk menggambarkan kompleksitas
SIMONEV yang diukur pada setiap fungsi. Terdapat 6 fungsi dalam SIMONEV PB
yaitu Pengguna, Wisuda, Dokumen, Pengumuman, Laporan serta Tabungan.
Berikut ini merupakan uraian salah satu proses SIMONEV PB, yaitu mengelola data
wisuda.
Proses untuk mengelola data wisuda mendapatkan input dari admin sistem
berupa proses update (tambah, ubah, dan hapus) data wisuda untuk setiap
mahasiswa (misal tanggal untuk wisuda) yang akan disimpan pada data store
wisuda. Proses ini menghasilkan output informasi untuk mahasiswa berupa data
wisuda, informasi untuk admin sistem dan pengelola berupa data alumni
mahasiswa.
2. Estimasi Usaha
ILF EIF EI EQ EO
Wisuda - Update wisuda - Jadwal wisuda
mahasiswa,
Data alumni
Hasil analisis Function Point fungsi wisuda terdapat 1 ILF yaitu Wisuda yang
berisi data yang perlu dipelihara melalui pengaksesan insert, update, atau delete di
dalam sistem aplikasi, data tersebut adalah wisuda. Dan disimpan dalam file, file
tersebut adalah wisuda. ILF wisuda memiliki 1 EI yaitu update (tambah, ubah dan
hapus) wisuda dan 2 EO yaitu jadwal wisuda mahasiswa dan data alumni.
Tidak memiliki EIF karena semua data yang diperlukan oleh sistem disimpan
di dalam sistem dan tidak ada yang disimpan di luar sistem. Serta tidak memiliki EQ
karena dalam proses wisuda tidak ada fungsi yang memindahkan data dari dalam
sistem ke pengguna dan menyajikan beberapa data yang tanpa dimanipulasi. Bobot
kompleksitas dari masing-masing Function Point pada setiap proses dinilai sesuai
aturan DET, RET, dan FTR. Tabel 5 merupakan perhitungan DET, RET, dan FTR
pada fungsi mengelola wisuda
Perhitungan Total UFP seluruh fungsi SIMONEV PB dijabarkan pada Tabel dibawah
ini.
Tabel 7. Perhitungan KSLOC
Tabel diatas merupakan penjabaran UFP seluruh fungsi, kemudian hasil
UFP dikalikan dengan standar konversi Source Line Of Code sesuai dengan bahasa
pemrograman yang digunakan untuk pembuatan SIMONEV PB. Bahasa
pemrograman yang digunakan adalah HTML, sehingga UFP setiap fungsi dikalikan
dengan nilai 40. Untuk mendapatkan nilai size dalam satuan KSLOC yang bisa
digunakan dalam persamaan Faktor Eksponen, SLOC harus dibagi 1000 sehingga
didapatkan satuan KSLOC setiap fungsi. Hasil total KSLOC atau size SIMONEV PB
sebesar 12.88
Tabel 8 merupakan perhitungan Scale Driver dari tim proyek SIMONEV PB.
Keterangan :
R = Responden
VL = Very Low,
L = Low,
N = Normal,
H = High,
VH = Very High,
EH = Extra High
Diketahui bahwa nilai A = 2.94 (for COCOMO II.2000). Size merupakan nilai
keseluruhan UFP dalam satuan KSLOC yaitu sebesar 12.88. Size dipangkatkan
dengan E yang merupakan Faktor Eksponen. Nilai E sebesar 1.05. EM merupakan
nilai rata-rata nilai Effort Multiplier sebesar 1.06. Maka didapatkan nilai PM sebesar
45.59.