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
- Fa adalah nilai total dari faktor a
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
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.
Posting Komentar