Teknik Pengukuran Kualitas Perangkat Lunak
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:
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)
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
wi adalah bobot untuk kriteria
ci adalah nilai untuk kriteria
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
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.
Wah harus masuk pake ISO ya, distandarkan dulu…
gak pernah kepikiran.
Assalamualikum
Pak dimana saya bisa mendapatkan buku refensi itu??
– Factors in Software Quality
apakah cara itu valid dilakukan
artikelnya mudah untuk dipahami 🙂
saya sedang cari2 bahan thesis
saya rasa ini bagus untuk jadi bahan thesis
terima kasih
Jadi gitu ya mas caranya…
Susah-susah Gampang ya Mas…
tak ada yang susah jika kita berusaha …:)
iyach kan pak..
mau tanya kak tau metode untuk komparasi 2 SW?
dan parameter (standard) penilaian untuk mengkomparasi?
salut untuk anda karena sudah menjadi salah satu orang yg mencerdaskan bangsa. ^_^
kirim e-mail yah kak kalo ada jawaban u/ pertanyaan di atas…
_salam sukses_
Pak ..mohon bantuannya..
saya mau tanya pak.. contoh instrumen(/angket untuk diberikan ke penguji ahli media) berdasarkan teori mccall itu gimana si pak..aku bingung ni kaya ap contohnya..
jadi gini aku punya aplikasi pembelajaran..masalahnya untuk mengetahui kelayakan aplikasi itu harus uji pake teori mccall.yang di uji oleh ahli media. bentuk angket penilaiannya (untuk instrumen bab III skripsi ) ky gimana ya mas..yg di uji correctnes, reliability, dan testability..
mohon bantuannya..pak
Mas romi saya mau tanya.. dimana saya bisa dapat majalah SDA untuk melihat tulisan lengkap dari mas romi? saya ada di jogja.. apakah bisa di download atau gmn? mohon bantuannya.. 🙂 saya tunggu balasan mas romi di email saya.. terima kasih mas.. 🙂
Pak Romi,itu daftar di tabel yang jumlahnya ada sebelas. Apa itu yang dimaksud 11 tekhnik pengukuran prgkt lunak berdasar IEEE. .? Terima Kasih
pak romy saya mau tanya, apakah sebuah software dikatakan memiliki fungsionality yang baik jika seluruh fungsinya berjalan dengan benar? bagaimana jika fungsi yg ada itu terbagi menjadi 2, yaitu fungsi utama dan fungsi tambahan(yg tdk begitu penting), jika fungsi tambahan tidak jalan apakah software tersebut bisa dikatakan gagal? atau software berhasil namun tingkat kualitasnya rendah?
assalamualaikum pak
pak romi saya mw nanya. saya sedang melakukan penelitian tugas akhir, dimana dalam penelitian saya ini saya menggunakan teknik pengukuran perangkat lunak dari taksonomi mcCall yang sebab akibat ini. hanya untuk unruk menentukan nilai tukang kantrol dan bobot untuk kriteria masih membingungkan untuk saya.
Apakah untuk menentukan nilai tukang kantrol dan bobot ini ada ketentuannya dan patokan nya pak?
Jika ada untuk ketentuannya dan patokan nya itu seperti apa aja pak?
mohon pencerahannya pak…
Wassalam…
Mantap Pak, Sangat berguna ilmunya