Deras masuknya produk perangkat lunak dari luar negeri
di satu sisi menguntungkan pengguna karena banyaknya pilihan produk dan harga.
Namun di sisi lain cukup mengkhawatirkan karena di Indonesia tidak ada
institusi yang secara aktif bertugas membuat standard dalam pengukuran kualitas
perangkat lunak yang masuk ke Indonesia. Demikian juga dengan produk-produk
perangkat lunak lokal, tentu akan semakin meningkat daya saing internasionalnya
apabila pengembang dan software house di Indonesia mulai memperhatikan masalah
kualitas perangkat lunak ini.
Kualitas
perangkat lunak (software quality) adalah tema kajian dan penelitian
turun temurun dalam sejarah ilmu rekayasa perangkat lunak (software
engineering). Kajian dimulai dari apa yang akan diukur (apakah proses atau produk),
apakah memang perangkat lunak bisa diukur, sudut pandang pengukur dan bagaimana
menentukan parameter pengukuran kualitas perangkat lunak.
Bagaimanapun
juga mengukur kualitas perangkat lunak memang bukan pekerjaan mudah. Ketika
seseorang memberi nilai sangat baik terhadap sebuah perangkat lunak, orang lain
belum tentu mengatakan hal yang sama. Sudut pandang seseorang tersebut mungkin
berorientasi ke satu sisi masalah (misalnya tentang reliabilitas dan efisiensi
perangkat lunak), sedangkan orang lain yang menyatakan bahwa perangkat lunak
itu buruk menggunakan sudut pandang yang lain lagi (usabilitas dan aspek
desain).
APA YANG
DIUKUR?
Pertanyaan pertama yang muncul ketika membahas pengukuran kualitas perangkat lunak, adalah apa yang sebenarnya mau kita ukur. Kualitas perangkat lunak dapat dilihat dari sudut pandang proses pengembangan perangkat lunak (process) dan hasil produk yang dihasilkan (product). Dan penilaian ini tentu berorientasi akhir ke bagaimana suatu perangkat lunak dapat dikembangkan sesuai dengan yang diharapkan oleh pengguna. Hal ini berangkat dari pengertian kualitas (quality) menurut IEEE Standard Glossary of Software Engineering Technology [3] yang dikatakan sebagai:
Pertanyaan pertama yang muncul ketika membahas pengukuran kualitas perangkat lunak, adalah apa yang sebenarnya mau kita ukur. Kualitas perangkat lunak dapat dilihat dari sudut pandang proses pengembangan perangkat lunak (process) dan hasil produk yang dihasilkan (product). Dan penilaian ini tentu berorientasi akhir ke bagaimana suatu perangkat lunak dapat dikembangkan sesuai dengan yang diharapkan oleh pengguna. Hal ini berangkat dari pengertian kualitas (quality) menurut IEEE Standard Glossary of Software Engineering Technology [3] yang dikatakan sebagai:
The degree to which a system, component, or process
meets customer or user needs or expectation.
Dari sudut
pandang produk, pengukuran kualitas perangkat lunak dapat menggunakan standard
dari ISO 9126 atau best practice yang dikembangkan para praktisi dan pengembang
perangkat lunak. Taksonomi McCall adalah best practice yang cukup terkenal dan
diterima banyak pihak, ditulis oleh J.A. McCall dalam technical report
yang dipublikasikan tahun 1977 [1].
Di lain pihak,
dari sudut pandang proses, standard ISO 9001 dapat digunakan untuk mengukur
kualitas perangkat lunak. Dan diskusi tentang ini berkembang dengan munculnya
tema kajian tentang CMM (The Capability Maturity Model) yang dikembangkan di
Software Engineering Institute, Carnegie Mellon University serta beberapa
kajian lain seperti SPICE (Software Process Improvement and Capability
dEtermination) dan BOOTSTRAP. CMM, SPICE dan BOOTSTRAP mengukur kualitas
perangkat lunak dari seberapa matang proses pengembangannya.
Tulisan ini
akan mencoba fokus ke bagaimana mengukur perangkat lunak dilihat dari sudut
pandang produk. Untuk pengukuran proses pengembangan perangkat lunak akan
dibahas pada tulisan lain.
PARAMETER DAN
METODE PENGUKURAN
When you can measure what you are speaking about, and express it in
numbers, you know something about it. But when you can not measure it, when you
can not express it in numbers, your knowledge is of a meagre and unsatisfactory
kind.
(Lord Kelvin)
(Lord Kelvin)
Pendekatan
engineering menginginkan bahwa kualitas perangkat lunak ini dapat diukur secara
kuantitatif, dalam bentuk angka-angka yang mudah dipahami oleh manusia. Untuk
itu perlu ditentukan parameter atau atribut pengukuran. Menurut taksonomi
McCall [1], atribut tersusun secara hirarkis, dimana level atas (high-level
attribute) disebut faktor (factor), dan level bawah (low-level attribute)
disebut dengan kriteria (criteria). Faktor menunjukkan atribut kualitas produk
dilihat dari sudut pandang pengguna. Sedangkan kriteria adalah parameter
kualitas produk dilihat dari sudut pandang perangkat lunaknya sendiri. Faktor
dan kriteria ini memiliki hubungan sebab akibat (cause-effect) [4][5]. Tabel 1
menunjukkan daftar lengkap faktor dan kriteria dalam kualitas perangkat lunak
menurut McCall [1].
Tabel 1: Faktor dan Kriteria dalam Kualitas Perangkat Lunak
Kualitas
software diukur dengan metode penjumlahan dari keseluruhan kriteria dalam suatu
faktor sesuai dengan bobot (weight) yang telah ditetapkan [2]. Rumus pengukuran
yang digunakan adalah:
Fa = w1c1 + w2c2 + … + wncn
Dimana:
Fa adalah nilai
total dari faktor a
wi adalah bobot untuk kriteria i
ci adalah nilai untuk kriteria i
wi adalah bobot untuk kriteria i
ci adalah nilai untuk kriteria i
Kemudian
tahapan yang harus kita tempuh dalam pengukuran adalah sebagai berikut:
Tahap 1: Tentukan kriteria yang digunakan untuk mengukur suatu faktor
Tahap 2: Tentukan bobot (w) dari setiap kriteria (biasanya 0 <= w <= 1)
Tahap 3: Tentukan skala dari nilai kriteria (misalnya, 0 <= nilai kriteria <= 10)
Tahap 4: Berikan nilai pada tiap kriteria
Tahap 5: Hitung nilai total dengan rumus Fa = w1c1 + w2c2 + … + wncn
Tahap 2: Tentukan bobot (w) dari setiap kriteria (biasanya 0 <= w <= 1)
Tahap 3: Tentukan skala dari nilai kriteria (misalnya, 0 <= nilai kriteria <= 10)
Tahap 4: Berikan nilai pada tiap kriteria
Tahap 5: Hitung nilai total dengan rumus Fa = w1c1 + w2c2 + … + wncn
CONTOH
PENGUKURAN PERANGKAT LUNAK
Untuk
mempermudah pemahaman, akan diberikan sebuah contoh pengukuran kualitas
perangkat lunak dari faktor usabilitas (usability). Yang akan diukur adalah dua
buah perangkat lunak yang memiliki fungsi untuk mengkontrol peralatan
elektronik (electronic device). Perangkat lunak yang pertama bernama
TukangKontrol, sedangkan kedua bernama Caktrol. Contoh dan hasil pengukuran
dapat dilihat pada Table 2 dan 3.
Tabel 2: Contoh Pengukuran Usabilitas Dua Perangkat Lunak
Tabel 3: Hasil Pengukuran Usabilitas Dua Perangkat Lunak
Dari
penghitungan yang ada di Tabel 3, dapat kita simpulkan bahwa dari faktor
usabilitas, kualitas dari perangkat lunak bernama TukangKontrol lebih baik
daripada Caktrol. Nilai total TukangKontrol untuk faktor usabilitas adalah
16.8, sedangkan Caktrol adalah 10.2 (dari maksimum total nilai 20).
Catatan: Edisi
lengkap dari tulisan ini dapat dibaca di majalah SDA Magazine edisi Juni 2006.
REFERENSI
[1] J.A. McCall, P.K. Richards, and G.F. Walters, Factors in Software Quality, Tehnical Report RADC-TR-77-369, US Department of Commerce, 1977.
[2] T.P. Bowen, G.B Wigle, and J.T. Tsai, Specification of Software Quality Attributes: Software Quality Evaluation Guidebook, Technical Report RADC-TR-85-37, Rome Air Development Center, Griffiss Air Force Base, 1985.
[3] IEEE Standard Glossary of Software Engineering Technology, IEEE Std 610.12-1990, Institute of Electrical and Electronics Engineers, New York, 1990.
[4] Hans Van Vliet, Software Engineering – Principles and Practice, John Wiley & Sons, 2000.
[5] James F. Peters and Witold Pedrycz, Software Engineering: An Engineering Approach, John Wiley & Sons, 2000.
[1] J.A. McCall, P.K. Richards, and G.F. Walters, Factors in Software Quality, Tehnical Report RADC-TR-77-369, US Department of Commerce, 1977.
[2] T.P. Bowen, G.B Wigle, and J.T. Tsai, Specification of Software Quality Attributes: Software Quality Evaluation Guidebook, Technical Report RADC-TR-85-37, Rome Air Development Center, Griffiss Air Force Base, 1985.
[3] IEEE Standard Glossary of Software Engineering Technology, IEEE Std 610.12-1990, Institute of Electrical and Electronics Engineers, New York, 1990.
[4] Hans Van Vliet, Software Engineering – Principles and Practice, John Wiley & Sons, 2000.
[5] James F. Peters and Witold Pedrycz, Software Engineering: An Engineering Approach, John Wiley & Sons, 2000.
Tidak ada komentar:
Posting Komentar