Sunday, January 16, 2011

IMPLEMENTASI METRIK PADA PENGEMBANGAN PERANGKAT LUNAK

IMPLEMENTASI METRIK PADA PENGEMBANGAN 
PERANGKAT LUNAK 
MAKALAH SKRIPSI 

IMPLEMENTASI METRIK PADA PENGEMBANGAN
PERANGKAT LUNAK

ABSTRACT
Software metrics is used to measure various aspects of software development
process. Measure is very useful to determine, for instance, how much effort have been
expended upon a development project.
This topic essentially applies metrics calculation techniques to real software
development projects. Software metrics used to estimate effort spent in software
development project.
The result of this research is a guidelines that can be used to estimate effort of
software development project in man-hours.

INTISARI
Metrik perangkat lunak digunakan untuk mengukur berbagai macam aspek
dari proses pengembangan perangkat lunak. Pengukuran sangat berguna untuk
mengetahui, salah satunya adalah besar usaha yang diperlukan dalam suatu proyek
pengembangan perangkat lunak.
Topik ini membahas penggunaan kalkulasi metrik pada pengembangan
perangkat lunak nyata. Metrik perangkat lunak digunakan untuk melakukan estimasi

usaha yang diperlukan dalam proyek pengembangan perangkat lunak.
Hasil dari penelitian ini adalah berupa petunjuk-petunjuk yang dapat
digunakan untuk melakukan estimasi besar usaha dalam proyek pengembangan
perangkat lunak yang dihitung dalam satuan orang-jam.
                                              
1Penulis, Mahasiswa S-1 Jurusan Teknik Elektro UGM

2 Dosen Pembimbing I, Staff Pengajar di Jurusan Teknik Elektro UGM

3 Dosen Pembimbing II, Staff Pengajar di Jurusan Teknik Elektro UGM

PENDAHULUAN 
Pengukuran merupakan salah satu dasar dari semua disiplin ilmu teknik.
Rekayasa perangkat lunak dalam IEEE  Standard 610.12 didefinisikan sebagai
berikut: “The application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of  software; that is, the application of
engineering to software”. Seperti profesi di bidang teknik pada umumnya, proses
rekasaya perangkat lunak juga memiliki metrik.
Metrik digunakan oleh industri perangkat lunak untuk mengukur proses
pembuatan, operasi, dan perawatan perangkat lunak. Melalui metrik, dapat
diperoleh informasi-informasi berharga dan parameter-parameter sebagai bahan
evaluasi yang obyektif mengenai atribut-atribut dan status dari suatu pengembangan
perangkat lunak. Implementasi metrik perangkat lunak pada suatu proses
pengembangan perangkat lunak dan pada suatu produk perangkat lunak melibatkan
tahapan-tahapan kompleks yang memerlukan pembelajaran yang berkelanjutan,
yang pada akhirnya dapat memberikan pengetahuan mengenai status dari suatu
proses pembuatan perangkat lunak dan atau suatu produk dari perangkat lunak.
Dengan melakukan evaluasi pada atribut-atribut yang ada dalam perangkat
lunak, dapat diperoleh status dari suatu perangkat lunak. Dari hal ini, situasi yang
ada dapat diidentifikasi dan diklasifikasikan, yang dapat digunakan untuk
membantu dalam mencari peluang-peluang baru yang bisa digunakan untuk
pengembangan dan perbaikan perangkat lunak. Evaluasi seperti ini pada akhirnya
dapat digunakan untuk membuat perencanaan dalam perubahan-perubahan yang
mungkin perlu diimplementasikan di masa yang akan datang.  Atribut-atribut yang
diidentifikasi ini juga dapat digunakan sebagai referensi dan bahan pertimbangan
bagi proses pengembangan perangkat lunak lainnya.

TINJAUAN PUSTAKA DAN DASAR TEORI 
Metrik perangkat lunak memiliki batasan-batasan yang luas. Metrik perangkat
lunak tergantung pada atribut-atribut perangkat lunak yang ingin dinilai kuantitas dan
kualitasnya. Hal-hal yang harus diukur dalam perangkat lunak adalah: masukan,
keluaran, dan efektifitas hasil [Hetzel, 1993]. Secara umum, metrik perangkat lunak
dibagi dalam dua kelas yang berbeda, yaitu metrik yang digunakan pada proyek
pengembangan perangkat lunak dan metrik yang digunakan pada produk perangkat
lunak. Pada Metik terdapat penggunaan privat dan publik untuk data-data proses yang
diperoleh. Beberapa metrik proses bisa bersifat privat untuk tim dalam proyek, namun
bisa bersifat publik untuk seluruh anggota tim [Grady, 1992].
Metrik pada proyek pengembangan perangkat lunak berhubungan dengan
tenaga dan pikiran yang diperlukan untuk menyelesaikan proyek, sumber daya yang
digunakan untuk menyelesaikannya, dan metodologi yang diterapkan, misalnya:
waktu yang diperlukan untuk menyelesaikan, tenaga ahli yang diperlukan, biaya-biaya
yang dikeluarkan, dan metodologi yang digunakan dalam pembuatan perangkat lunak.
Banyak tipe dari atribut-atribut dari perangkat lunak yang dapat diukur. Metrik
yang diaplikasikan sangat bergantung pada sifat alamiah dari produk perangkat lunak
yang dibuat. Misalnya, ingin diketahui seberapa banyak kebutuhan yang dimiliki oleh
suatu proyek, spesifikasi perangkat lunak (untuk memperkecil ambiguitas) dan
kelengkapan yang digunakan untuk memenuhi seluruh fungsi yang diperlukan. Pada
produk dari suatu aplikasi, mungkin ingin diketahui jumlah baris kode, kerumitan,
fungsionalitas yang dipenuhi, jumlah kesalahan yang mungkin dapat terjadi, dan
jumlah ujicoba yang dilakukan untuk memastikan bahwa semua keperluan sudah diimplementasikan. Di sisi lain, reliabilitas dari suatu perangkat lunak dapat diukur
ketika produk tersebut telah didistribusikan kepada konsumen.
Metrik Dalam Proses dan Proyek
Indikator proses digunakan oleh organisasi atau perusahaan yang bergerak
dalam bidang rekayasa perangkat lunak  untuk memperoleh data-data yang dapat
digunakan untuk meningkatkan efisiensi dalam proses pengembangan perangkat
lunak. Dalam proses terdapat beberapa faktor penentu, yaitu: sumber daya manusia,
kompleksitas produk, dan perkembangan teknologi [Paulish, 1994].
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 Berorientasi Ukuran
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). 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 harus digunakan analisis desain tingkat tinggi.
Metrik Berorientasi Fungsi
Metrik berorientasi fungsi menggunakan ukuran fungsionalitas yang
dihasilkan oleh aplikasi sebagai nilai normalisasi. Fungsionalitas tidak dapat diukur
secara langsung, sehingga untuk memperolehnya digunakan pengukuran langsung
terlebih dahulu, lalu hasil pengukuran langsung tersebut digunakan sebagai masukan.
Metrik berorientasi fungsi pertama kali diusulkan oleh Albrecth [1979], yang
menyarankan pengukuran yang disebut function point (FP).
Estimasi Berbasis Masalah
Dalam estimasi berbasis masalah, perencana proyek memulai dengan
kumpulan pernyataan yang berisi kerangka dan batasan-batasan dari perangkat lunak
dan dari peryataan-pernyataan tersebut kemudian mencoba untuk melakukan
dekomposisi perangkat lunak ke dalam banyak fungsi permasalahan (problem
function) dan melakukan estimasi variabel-variabel (LOC dan FP) pada tiap fungsi
permasalahan. Sebagai alternatif, perencana proyek dapat memilih komponen untuk
menentukan ukuran, seperti kelas obyek, perubahan, atau proses bisnis yang
terpengaruh.
Model Estimasi Empiris
Model estimasi perangkat lunak menggunakan formula yang diperoleh secara
empiris untuk memperkirakan tenaga sebagai sebuah fungsi dari LOC atau FP. Data
empiris yang paling banyak mendukung dalam model-model estimasi diperoleh dari
sampel proyek yang jumlahnya terbatas. Dengan alasan ini, maka tidak ada model
estimasi yang cocok untuk semua lingkungan pengembangan perangkat lunak. Maka dari itu, penerapan hasil yang diperoleh dari model-model yang sudah disediakan
harus digunakan secara bijaksana sesuai dengan keadaan lingkungan masing-masing
pengembang.

METODOLOGI PENELITIAN 
Metode yang digunakan dalam penyusunan tugas akhir ini adalah
1. Tinjauan pustaka, mempelajari buku, artikel, dan situs yang terkait dengan metrik
pada perangkat lunak.
2. Wawancara, melakukan studi dengan metode wawancara kepada dosen ataupun
praktisi yang berhubungan dengan permasalahan yang dibahas dalam tugas akhir
ini.
3. Pengumpulan data, mengumpulkan data-data yang terkait dengan proyek
pembuatan perangkat lunak yang sedang dikerjakan.
4. Implementasi, mengimplementasikan teori metrik perangkat lunak pada proyek
pengembangan perangkat lunak yang sedang dikerjakan.

HASIL IMPLEMENTASI DAN PEMBAHASAN
Petunjuk Estimasi Perangkat Lunak
Berdasarkan pengalaman yang diperoleh dari proyek pengembangan perangkat
lunak, diperoleh diagram alur kerja estimasi proyek pengembangan perangkat lunak
yang terdapat pada gambar
Hasil Pengamatan di Lapangan
Hasil pengamatan yang dilakukan pada proses perancangan sampai proyek
pembuatan prototype SIMANCA selesai dilakukan. Pengamatan dilakukan dengan
menghitung jumlah hari dan jam yang diperlukan berdasarkan tabel presensi yang
disediakan untuk masing-masing anggota tim yang telah disiapkan sebelumnya.
Sumber daya manusia yang terlibat dalam pengembangan prototype
SIMANCA berjumlah 4 (empat) orang dengan komposisi analis sistem atau basis data
berjumlah 1 (satu) orang, dan programmer berjumlah 3 (tiga) orang. Hasil akumulasi
presensi ditampilkan dalam tabel berikut: Orang Jumlah Hari Jumlah Jam
A 18 79
B 18 81
C 16 76
D 17 83
Total orang-jam 319
Hasil Estimasi Dengan Berbagai Model
Hasil estimasi dengan berbagai model yang sudah ada terdapat dalam tabel
berikut:
Model  Estimasi EOJ
Estimasi Berbasis LOC
Analisis LOC umum 630,92
Model Waltson-Felix 1891,32
Model Bailey-Basili 1278,79
Model Sederhana Boehm 1304,47
Model COCOMO 1294,69
Estimasi berbasis FP
Model Albrecth dan Gaffney 2358,99
Model Kemerer 98730,44
Model Matson, Barnett, dan Mellichamp 1399864,94
Estimasi berbasis proses
Estimasi berbasis proses 649,99
Dari perhitungan diperoleh bahwa tiap model memiliki hasil perhitungan yang
berbeda untuk LOC dan FP yang sama. Hasil yang berbeda diperoleh karena masingmasing model menggunakan indikator yang berbeda pada saat pembuatan estimasi.
Selain itu, masing-masing hasil estimasi tersebut diperoleh berdasarkan pengalaman
dari masing-masing pencipta model estimasi.
Apabila data hasil estimasi dibandingkan dengan hasil pengamatan pada
proyek, maka diperoleh selisih, dimana hasil estimasi tenaga lebih besar dari
kenyataan yang terjadi di lapangan. Salah satu faktor yang dapat diterima sebagai
alasan adalah tim yang direkrut untuk melakukan pengembangan SIMANCA telah
memiliki pengalaman dalam mengerjakan  proyek serupa, sehingga jumlah waktu
pengerjaan sistem dapat menjadi lebih kecil dari estimasi.

KESIMPULAN 
Kesimpulan yang diambil dari tugas akhir ini adalah:
1. Estimasi perangkat lunak digunakan untuk melakukan perkiraan terhadap sumber
daya dan biaya yang diperlukan untuk menyelesaikan suatu proyek pengembangan
perangkat lunak.
2. Kebenaran hasil estimasi perangkat lunak baru dapat diketahui ketika suatu
proyek pengembangan perangkat lunak telah diselesaikan.
3. Untuk memperoleh perkiraan yang tepat perlu dilakukan pembelajaran dengan
melakukan kalibrasi pada perumusan konstanta estimasi, sesuai dengan kondisi yang berlaku pada proyek pengembangan perangkat lunak yang sedang
dijalankan.

DAFTAR PUSTAKA 
B. Hetzel, 1993,  Making Software Measurement Work: Building an Effective
Measurement Program, QED Technical Publishing Group, Boston,
Massachusetts, ISBN: 0471565687
C. Jones, 1986, Programming Productivity, McGraw-Hill Book Company, New York,
New York, ISBN: 0070328110
Grady, Robert B., 1992,  Practical Software Metrics for Project Management and
Process Improvement, Prentice-Hall, Inc., ISBN: 0137203845
Lowell Jay Arthur, 1985, Measuring Programmer Productivity and Software Quality,
John Wiley & Sons, Inc., New York, NY, ISBN: 0471887137
Pressman, 2000, R. S. Software Engineering A Practitioner’s Approach, 5th Edition,
New York, McGraw Hill, ISBN: 0073655783
Albrecht, A. J., 1979,  Measuring Application  Development Productivity, IBM
Applications Development Symposium, Monterey, CA , pp. 83-92
D.J. Paulish and A.D. Carleton, 1994, Case Studies of Software-Process-Improvement
Measurement, IEEE Computer, Vol. 27, No. 9, September 1994, pp. 50 – 57
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
Wikipedia, http://www.wikipedia.org/, diakses tanggal 28 Agustus 2005
ConvertAll, http://www.bellz.org/convertall/, diakses tanggal 5 September 2005

No comments:

Post a Comment