ANALISIS ESTIMASI BIAYA PROYEK PENGEMBANGAN PERANGKAT LUNAK Author M. Rosyidi (10728)1, Lutfi Rachman (10800)2 1,2
1
Ilmu Komputer UGM
[email protected], 2
[email protected]
Abstract Paper ini disusun dengan maksud memberikan gambaran tentang analisis estimasi biaya pada proyek pengembangan perangkat lunak. Metode yang disajikan adalah metode analisis. Analisis dilakukan dengan menjelaskan dan menganalisis informasi proyek perangkat lunak yang telah didapat, mencakup estimasi biaya. Metode ini menggunakan fungsi analisis poin. Estimasi biaya dimaksudkan agar kebutuhan sumber daya dapat diorganisir sehingga mengoptimalkan penyelesaian sebuah proyek. Estimasi biaya ini merupakan rangkuman dari Project Cost Management (PCM) yang aktifitasnya meliputi cost estimating, cos budgeting, cost control. Tiga hal ini dimaksudkan untuk mendapatkan model pembiayaan yang tepat dalam pengembangan perangkat lunak. Kata kunci: Estimasi, Usaha,
Fungsi
analisis
poin,
Analisis
proyek
perangkat
lunak
,
model
pembiayaan.
1. PENDAHULUAN 1.1
Latar Belakang
Dalam proyek fisik seperti pembangunan jalan atau yang lainnya, estimasi biaya dapat dilakukan dengan lebih nyata karena semua komponen proyek dapat diestimasi dengan perkiraan secara fisik. Dalam proyek software estimasi biaya mempunyai kesulitan tersendiri karena karakteristik-karakteristik software yang lain dengan proyek fisik. Kesulitan-kesulitan yang sering dihadapi dalam estimasi proyek software sangat berkaitan dengan sifat alami software khususnya kompleksitas dan invisibilitas. Selain itu pengembangan software merupakan kegiatan yang lebih banyak dilakukan secara intensif oleh manusia sehingga tidak dapat diperlakukan secara mekanis murni. Selain kesulitan di atas masih banyak lagi yang lainnya, antara lain : 1. Novel application of software artinya dalam rekayasa proyek tradisional, suatu system dapat dikontruksi dengan system sebelumnya yang serupa tetapi dalam lokasi dan customer yang berbeda. Sehingga dapat dilakukan estimasi proyek berdasarkan pengalaman sebelumnya. Dalam proyek software akan mempunyai produk yang unik sehingga akan menimbulkan ketidakpastian estimasi. 2. Changing technology, Untuk mengikuti perkembangan teknologi, maka suatu software aplikasi yang sama dapat diimplementasikan dalam lingkungan yang berbeda sehingga akan mempunyai estimasi proyek yang berbeda. 3. Lack of homogeneity of project experience, untuk mendapatkan estimasi proyek yang efektif harus didasarkan pada informasi bagaimana proyekproyek sebelumnya dilakukan. Estimasi biaya dan usaha proyek merupakan suatu kegiatan pengaturan sumber daya dalam mencapai tujuan dan sasaran dari proyek, sehingga proyek dapat berjalan sesuai dengan tahapan dan target yang dikehendaki. Dalam usaha estimasi sering menghadapi dua permasalahan yaitu over-estimates dan underestimates. Overestimates atau estimasi berlebihan akan menimbulkan penambahan alokasi sumberdaya dari yang dibutuhkan sehingga akan meningkatkan penanganan managerial. Sedangkan estimasi yang kurang atau underestimates akan mengurangi kualitas dari produk karena tidak sesuai dengan standar. Untuk itu perlu dilakukan langkah yang hati hati dalam melakukan estimasi suatu proyek software sehingga dapat dicapai keberhasilan proyek yaitu tepat waktu, sesuai budget dan terpenuhinya standar kualitas produk.
Barry Boehm, telah mengidentifikasi beberapa metode estimasi biaya dan usaha proyek pengembangan software sebagai berikut : Model algoritmik, Analogi, Pendapat pakar, Parkinson, Top-down, dan Bottom-up. Estimasi parametric berdasarkan karakteristikkarakteristik dari software ukuran proyek software yaitu function point dan object point serta KLOC (Kilo line of Code). Metode estimasi parametric yang sering digunakan saat ini adalah dengan mengunakan metode COCOMO yang tidak sesuai jika diterapkan untuk estimasi proyek software di Indonesia. Oleh karena itu dalam penelitian ini akan dikembangkan metode tersebut yang disesuaikan dengan data-data dan informasi pengembangan software dalam negri, sehingga diharapkan dapat diperoleh parameter yang mempunyai tingkat validitas estimasi yanglebih tinggi.
2. Analisis 2.1
Metrik Software
Metrik proyek digunakan oleh manajer proyek dan tim pengembang untuk dapat beradaptasi dengan alur kerja dan aktifitas-aktivitas yang bersifat teknis. Metrik proyek ini pertama kali digunakan pada saat perencanaan proyek. Metrik-metrik yang dikumpulkan dari proyek-proyek di masa lalu digunakan sebagai acuan untuk melakukan estimasi pada proyek yang sedang dikerjakan. Manajer proyek menggunakan data-data tersebut untuk melakukan pengawasan dan kendali proyek. Metrik beorientasi ukuran diperoleh dengan cara melakukan normalisasi ukuran kualitas dan produktivitas dengan menghitung ukuran dari perangkat lunak yang dibuat. Ukuran yang biasanya dijadikan sebagai acuan normalisasi adalah LOC (lines of code) adan Function points. Metrik berorientasi ukuran tidak dapat diterima secara universal sebagai cara terbaik untuk mengukur proses rekayasa perangkat lunak [Jones, 1986]. Alasan yang dikemukakan adalah kadang-kadang fungsionalitas program dapat dicapai dengan baris program yang lebih sedikit. Selain itu, untuk melakukan estimasi LOC dan function point harus digunakan analisis desain tingkat tinggi. Ukuran merupakan factor utama untuk menentukan biaya, penjadwalan, dan usaha. Kegagalan dari perkiraan ukuran yang tepat akan mengakibatkan penggunaan biaya yang berlebih atau keterlambatan penyelesaian proyek. Estimasi ukuran software merupakan suatu aktifitas yang komplek dan sukar berdasarkan pada beberapa alas an seperti kemampuan programmer, factor lingkungan dan sebagainya. Tetapi karena tindakan ini harusdilakukan dan untuk mendapatkannya dengan mengukur ukuran proyek menggunakan ukuran dua buah acuan normalisasi tersebut.
2.1.1
Ukuran jumlah baris program (SLOC)
SLOC merupakan ukuran yang kurang akurat dan merupakan sebuah topik yang menimbulkan perdebatan selama bertahuntahun, dipandang sebagai sebuah ukuran untuk mengestimasi biaya dan waktu, tidak dapat dipastikan bahwa dua program yang mempunyai SLOC sama akan membutuhkan waktu implementasi yang sama walaupun keduanya diimplemenatsikan dengan kondisi pemrograman yang standard. Meskipun metode ini kurang akurat dan merupakan metodologi yang belum diterima secara luas, tetapi metrik dengan orientasi ukuran ini merupakan kunci pengukuran dan banyak estimasi software yang menggunakan model ini. Secara virtual tidak mungkin untuk menghitung SLOC dari dokumen requirement awal. SLOC pengukurannya didasarkan pada bahasa pemrograman tertentu, oleh karena itu muncul banyak masalah dalam membuat standard pengukuran dengan teknik SLOC.Ukuran lain yang ada untuk mengukur besaran software adalah ukuran yang berorientasi fungsi dan ukuran yang berorientasi object. Metode ini merupakan metode yang lebih konsisten dan diterima secara luas. 2.1.2
Metrik yang berorientasi fungsi(Function Point)
Pendekatan yang berorientasi fungsi mengukur fungsionalitas aplikasi untuk mengestimasi ukuran software dan selanjutnya digunakan untuk estimasi biaya dan usaha yang diperlukan untuk mengembangkan system. Pendekatan ini diusulkan oleh Albrecht yang disebut sebagai metrik Function Points. Metrik ini diperoleh dari keterhubungan dasar antara domain informasi software dan kompleksitas software (Gambar 1). Function Points biasanya digunakan dalam mengukur system informasi manajemen (SIM).
Gbr 1. Analisis Function points
Pada metodologi ini software dapat diklasifikasikan menjadi 5 domain yaitu: • Jumlah data input pengguna • Jumlah data output pengguna • Jumlah data permintaan pengguna • Jumlah file • Jumlah file interface luar Kemudian hitung nilai fungsi proyek yang mungkin pada setiap katagori dan kemudian setiap nilai perhitungan dikalikan dengan factor kompleksitas sebagai berikut : • Sederhana (simple) • Rata-rata (average) • Komplek (complex) Untuk menghitung Unadjusted Function Points digunakan tabel berikut berdasarkan kriteria dari setiap kategori.
Untuk menghitung function point digunakan persamaan berikut: FP = count total * [0.65 * 0.01 * sum(Fj)] Dimana count total adalah total yang diperoleh dari table function point analisis sum(Fj) adalah jumlah dari 14 faktor kompleksitas yang bernilai 0 s/d 5.
2.2
Pendekatan Model
Pendekatan model yang digunakan dalam menghitung besaran proyek adalah model function point (FP). Dibandingkan dengan pendekatan berbasis ukuran baris (LOC/Line Of Code). Pendekatan FP lebih independen terhadap bahasa pemrograman sehingga bisa diterapkan pada jenis aplikasi yang berbeda baik aplikasi
database yang non-procedural, sistem informasi berbasis web, maupun aplikasi penghitungan, misalnya payroll. Pendekatan ini juga lebih mudah diprediksi daripada LOC karena parameternya dihitung berdasarkan data yang lebih diketahui, misalnya prediksi jumlah input dan ouput. Meskipun FP dianggap memiliki kelemahan dalam subyektifitas data yang dimasukkan tetapi beberapa kriteria, misalnya untuk menentukan kategori sederhana atau kompleks, telah ditetapkan secara numerik untuk lebih memastikan obyektivitas data. Disamping itu, hasil perhitungan FP juga sering dianggap tidak memiliki arti yang mudah dipahami dibandingkan dengan LOC yang besarannya menunjukkan jumlah ukuran coding. Akan tetapi, hasil akhir FP dapat dikonversikan ke dalam LOC berdasarkan jenis bahasa pemrograman yang dipakai. Untuk mendapatkan model estimasi dilakukan analisa regresi linierterhadap sample hasil survey yang menghasilkan jumlah FP dan jumlah usaha dari suatu proyek pengembangan software yang dilakukan oleh beberapa software house. Kuesioner diisi dengan cara in-depth interview maupun dengan menyediakan fasilitas pengisian secara online. Dari kuesioner tersebut didapatkan jumlah function point dan jumlah usaha untuk mengerjakan suatu proyek software.
3. Pemodelan Estimasi Biaya (Cost Estimating) S
e
c
a
r
a
G
a
r
i
s
B
e
s
a
r
A
l
u
r
p
r
o
s
e
s
e
s
t
i
m
a
s
i
b
i
a
y
a
d
i
t
u
n
j
u
k
k
a
n
s
e
p
e
r
t
i
g
a
m
b
a
r
d
i
b
a
w
a
h
i
n
i
:
3.1
Cost Estimating Input
Point-point yang sangat penting dalam cost estimating input ini, yaitu : 1. Faktor Perubahan Lingkungan Meliputi produk/ model software yang dibutuhkan serta standar tarif yang ditetapkan. 2. Proses Pengaturan Aset Meliputi Cost estimating policies, cost estimating templates, informasi masa lalu, dan file project. 3. Ruang Lingkup Project Meliputi spesifikasi kebutuhan pembuatan software, batasan agar tidak melebihi sesuai kebutuhan dan model software yang akan dikembangkan 4. Struktur Kerja dan Perencanaan project Rencana pengembangan meliputi ekskusi, monitoring, dan proses pengontrolan project serta tambahan rencana lainnya misalnya jeda atau masa istirahat yang akan memudahkan dalam estimasi biaya proyek. 3.2
Cost Estimating Tools and techniques
Point-point yang sangat penting dalam cost estimating input ini, yaitu : 1. Melihat jalannya proyek dan estimasinya terutama di sisni perkiraan pembiayaannya. 2. Menetapkan biaya masing-masing bagian resource, hal ini sangat penting karena dengan penetapan ini akan jelas berapa cost secara keseluruhan yang akan dikeluarkan, walaupun belum mencapai final. 3. Kontrol estimasi biaya sejak proyek dimulai hingga penentuan kualitas estimasi biaya. 4. parametrik estimasi, seperti yang telah dijelaskan pada pembahasan di atas. 5. Memanage proyek pengembangan perangkat lunak lebih optimal. 6. Analisis per vendor 7. Analisis nilai kesalahan, kerugian secara keseluruhan 8. Kualitas dari pembiayaan itu sendiri.
3.3 P
o
i
n
Cost Estimating Outputs t
-
p
o
i
n
t
yang sangat
p
e
n
t
i
n
g
d
a
l
a
m
c
o
s
t
e
s
t
i
m
a
t
i
n
g
i
n
p
u
t
i
n
i
,
y
a
i
t
u
:
1. Aktivitas estimasi pembiayaan secara garis besar. 2. Aktivitas estimasi pembiayaan detail dengan sebaran tiap-tiap bagian dari keseluruhan proyek. 3. Pembagian biaya berdasarkan penghitungan nilai estimasi yang telah dilakukan. 4. Rencana pembiayaan selanjutnya berupa update rencana untuk proyek selanjutnya.
4. PENUTUP Dari hasil analisa sebelumnya dalam proyek pengembangan software dapat disimpulkan hal hal sebagai berikut: 1. Proyek software hasil observasi mempunyai tingkat komplesitas yang relatif tinggi serta 2. menggunakan ukuran metrik function point yang cenderung besar dibandingkan dengan biaya yang dialokasikan. 3. Proyek software hasil observasi menggunakan dana atau biaya penyelesaian proyek yang relatif kecil atau cenderung kecil jika dibandingkan dengan besaran ukuran software yang dikembangkan, hal ini menunjukan bahwa software house hasil observasi belum mengestimasi biaya pengembangan software secara real sesuai ukuran software. 4. Model estimasi biaya pengembangan software yang diperoleh dari hasil observasi mempunyai bentuk model eksponensial 5. Sistem estimasi biaya proyek dapat digunakan bagi para pengembang software (software developer), manajer proyek, dan staf IT lainnya.
6. Estimasi biaya meliputi tiga tahapan umum cost estimating input, cost estimating tools and techniques, dan cost estimating outputs. Di dalam tiap bagian mempunyai subbagian lagi yang mencerminkan proyek sejak perencanaan sampai dengan eveluasi akhir.
5. DAFTAR PUSTAKA 1 ] Devnani, S., Clark, B., Boehm B., “Calibratingthe COCOMO II Posthttp://sunset.usc.edu/publications/TECHRPT Architecture Model”, S/1998/usccse98-502/CalPostArch.pdf [ 2 ] J.E. Matson, 1994, B.E. Barret, and J.M. Mellichamp, Software Development Cost Estimation Using Function Points, IEEE Trans. Software Eng., vol. 20, no. 4, pp. 275–287, April 1994 [ 3 ] Levy, H, and Samat, M, (1978), Capital Investment and Financial Decisions, Prentice Hall International, Inc. [ 4 ] M. Jorgensen, “A Review of Studies on Expert Estimation of Software Development Effort”, http://www.simula.no/photo/expertsubmitnov ember2002_copy.pdf [ 5 ] Mendes, E., Mosley, N. and Counsell, S. “Web Metrics - Estimating Design and Authoring Effort”, http://csdl.computer.org/comp/mags/mu/200 1/01/u1050abs.htm [ 6 ] Suharjito, “Sistem Estimasi Biaya Dan Usaha Proyek Pengembangan Software Sistem Informasi Bisnis” …./ suhardjito.pdf
[