Analisis Estimasi Biaya Proyek an Perangkat Lunak

9
ANALISIS ESTIMASI BIAYA PROYEK PENGEMBANGAN PERANGKAT LUNAK Author M. Rosyidi (10728) 1 , Lutfi Rachman (10800) 2 1,2 Ilmu Komputer UGM 1 [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.

Transcript of Analisis Estimasi Biaya Proyek an Perangkat Lunak

ANALISIS ESTIMASI BIAYA PROYEK

PENGEMBANGAN PERANGKAT LUNAK

Author

M. Rosyidi (10728)1, Lutfi Rachman (10800)

2

1,2Ilmu Komputer UGM

1 [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 proyek-

proyek 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. Over-

estimates 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 Cost Estimating Outputs P o i n t - p o i n tyang 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 Post-

Architecture Model”, http://sunset.usc.edu/publications/TECHRPT

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