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.
Tolong contoh produk softwarenya dong… saya mau coba download nih…
Bisa dijelaskan contoh produk software apa yang ingin anda download?
Mungkin maksud mas Bill Gates contoh software hasil karya mas Romi.
Untuk mas Paul, kalau itu benar yang diungkapkan mas Bill, sepertinya ada di luar point diskusi kita dalam artikel ini ๐ Tapi thanks komentarnya.
hhehe..terima kasih,,sepertinya saya mendapat pencerahan setelah membaca ini …
Bang Romi, kebetulan saya sudah membeli majalah SDAnya..disana ditulis pada tabel 2
kriteria Usabilitas Nilai tukang katrol
Communication (C) 7
Operability (O) 8
Training (T) 9
yang ingin saya menanyakan bagaimana cara mendapatkan nilai 7,8,9 tersebut?
yang berikutnya pada tabel 1
Quality Factor (Effect) Quality Criteria
(Cause)
Correctness Completeness, Consistency, Traceability
Reliability Accuracy, Error Tolerance, Consistancecy, Simplicity
Efficiency Execution Efficiently, Storage Efficiency
Integrity Access Control, Access Audit
Usability Communicativeness, Operability, Training
Maintainability Consistency, Conciseness, Simplicity, Modularity, Self-documentation
Testability Simplicity,Modularity,Instrumentaion, Self-documentation
Flexsibility Expandability, Generality, Modularity, Self-documentation
Portability Software System Independence, Hardware Independence, Modularity, Self-documentation
Reusability Generality, Software System Independence, Hardware Independence, Modularity, Self-documentation
Interoperability Communication, Commonality, Data Commonality,Modularity
bisa dijelaskan secara tehnikal waynya..dikarenakan ada faktor yang ditanyakan kembali contoh
Testability Simplicity,Modularity,Instrumentaion, Self-documentation
Flexsibility Expandability, Generality, Modularity, Self-documentation
apakah sama Modularty untuk Testability dengan Modularty untuk Flexsibility, setahu saya..jarang sekali software di Indonesia yang secara khusus membagi2 modulnya, dan apalagi Self-documentationnya..?
Mohon bantuannya…
oai kalo dilihat dari segi hardware bagaimana caranya? baik produk maupun process?
hehe maaf banyak nanya yaa..
Untuk mas Taufik, nilai itu saya berikan contoh saja. Dan itu didapat dari pengujian dengan asumsi nilai maksimal adalah 10, jadi nilai itu yang kita berikan untuk satu kriteria. Pengukuran hardware itu di luar bidang saya yang rekayasa perangkat lunak ๐ Bukannya saya nggak bisa, tapi secara etika science, mungkin sebaiknya dibahas oleh yang ahli di bidangnya …
hehe thanks Bang Romi, nah kalo mengukur kinerja sistem, apakah perlu dinilai juga perangka lunaknya dengan metode ini, kira2 bisa nyambung apa enggak yah..kebetulan nih Bang Romi mengangkat mengenai RPL..ada tugas kampus…oia kapan ada seminar di Gundarmana lagi hehehe!
tambahanya..teorinya kinerja sistem refrensinya dari mana yah..kok saya googling tidak ketemu2..
Teman saya skrg sedang mencari cara/teori tentang pembuatan software yang berbasis user. Artinya SW yang betul-betul bisa dimanfaatkan user dalam membantu pekerjaanya. Kelihatannya ini berasal dari kekecewaan beliau, dari sekian banyak SW yang telah dibuat sedikit sekali yang betul-betul dimanfaatkan. Sepertinya metode pengukuran diatas cukup relevan untuk kasus teman saya. Kalo metode pengukuran diatas dilakukan, kapan pengukuran itu berlansung? apakah pra develop atau pasca develop atau ketika proses develop SW itu sendiri. Terima Kasih
salam hormat,
pak romi saya masih bingung dengan pengkuran kualitas perangkat lunak. apa yang dimaksud dengan produk dan proses?sebagai contoh saya mau mengukur kualitas perangkat lunak content management system alfresco, sedangkan alfresco adalah knowledge management system open source. jadi apakah alfresco bisa disebut sebagai “produk”??
Terus langkah pertama untuk mengukur kualitas perangkat lunak bagaimana, khususnya seperti saya ini yang masih awam dalam rekayasa perangkat lunak?nohon pencerahan pak romi
terima kasih,
mas romi, punya gak materi landasan filosohpy penggunaan komputer dalam education, kalau punya boleh dong dishare
salam hormat,
pak romi saya seorang mahasiswa jurusan informatika. bisa bantu saya, mencarikan artikel2 tentang “software quality assurance”? terimakasih.
Pak Romi saya salah satu mahasiswa di wilayah Serang-banten, saya saat ini sedang menghadapi beban untuk menyusun tugas akhir..kebetulan saya pada semester akhir ini dapat tugas matakuliah rekayaa perangkat lunak, saya ingin tanya bagaimana membuat suatu produk suatu barang beserta pendekatan rancangan programnya?”…terimakasih
# Bowie: Sudah baca berapa referensi dan apa saja? Proposal sudah sampai tahap mana?
Ass…saya mohon bimbingan,saya mahasiswa jurusan teknik informatika UII semester 6,saya dan kelompok saya mendapat tugas membuat sebuah buku tentang sistem informasi,judul buku kelompok kami Alfresco untuk majemen Content untuk matakuliah kapita selekta sistem informasi(KSSI),akan tetapi dalam pengerjaan nya kami mendapat kesulitan karena kami tidak memiliki panduan / contoh tentang penggunaan alfresco.mohon panduaanya/bimbingannya,terima kasih wassalam.
pak, bisa bantu saya berikan referensi yang bagus dalam mengimplementasikan kebijakan pengendalian kualitas (Quality assurance) serta best practices langkah/prosedur yang harus dilakukan ? Terima kasih banyak
Asssaya mohon bimbingan,saya mahasiswa jurusan ilmu komputer UB semester 10, saya kebingungan mencari segala informasi tentang analisa dan desain algoritma pada teknik kompresi dengan menggunakan metode DCT dan fraktal. mohon bantuannya denagn sangat, untuk skripsi, karena saya bentar lagi harus udah nikah ๐ . wass.
mas ROmi apa seeeh bedanya software engineering sama software project management ? yang terakhir aku belum pernah tahu tapi rasa-rasanya kalau baca punya si Pressman SE itu yaa Project Management u/ Software. Mohon petuahnya.
Pak Romi, Saya mau belajar pengembangan software, setelah membaca criteria penilaian sebuah software dengan form factor di atas, apakah pernah ada referensi yang memberikan nilai pada kriteria sehingga kita bisa menghitungnya dengan akurat, kalo ada mohon disharing. Kemudian saya minta tolong dishare juga ISO 9126 dan ISO 9001.
Kalo seandainya kita ingin mengklasifikasikan produk software, bagaimanakah carannya?
Mohon bantuannya.
Pak Romi,
bagaimana cara mengukur harga software yang akan kita buat?
misalnya saya ada pesanan sebuah software bagaimana menentukan harganya, baik itu tailor made atau produk yang sudah jadi?
terima kasih
Pak Romi… saya mahasiswa T. Industri UII..
saya mo nyari pengertian kualitas menurut tokoh-tokoh seperti,
Juran
Deming
Figenbrum
ASCI
dan Crowsby..
cuman karena kemaren saya nggak terlalu memeprhatikan paparan dosen saya.. jadinya saya bingung nyari referensi untuk tugas pengertian tersebut…
kalo boleh saya dikasih link referensi untuk pengertian tersebut…
kalo dikasih jawaban persinya malah terima kasih…
boleh e-mail ke chamot@mybestmail.com…
makasih atas tanggapannya pak…
semoga sukses menyertai bapak
Pak Romi, menarik sekali ulasan diatas teknik pengukuran kualitas sebuah produk software. Saya sebagai orang awam sangat sulit untuk menentukan nilai yang diperoleh dalam satu kriteria mis.effisiency atau portability. kebetulan saya bekerja dibagian QC produk software disebuah perusahaan. Ya selama ini cuma kami test dalam hal fungsi2x nya saja (apa sdh berfungsi dengan baik apa belum ). Terus apa pula hubungannya dengan test scripts, test case, test suite,test plan, test scenario,test effort dan test harness? mohon diberikan pencerahan
terima kasih atas replynya
wassalam
Halo mas Romi, sy adalah mahasiswa IT yang jg bergelut di dunia Software Engineering. Makasih bwat pencerahannya.
Mas Romi, kalo saya pake metode kualitatif bisa ngga? Nanti yang dijadikan ukuran apa saya mas?
Bang Romi yth.
Bisa minta contoh hasil analisisnya ga? kebetulan sy mo bikin kajian ttg software quality and information quality.
Thanx b4
Ass…mas romi.
saya lagi ada problem ni tentang tugas akhir.bisa minta tolong gak?
kalo boleh saya minta alamat website atau email yang bisa membantu saya mencari judul dan data lengkap tentang tugas akhir secara lengkap.
kalo boleh, tolong kirim ke email saya secepatnya.terimakasih mas sebelumnya…
wass…
mas,bisa bantu saya gimana caranya mendapatkan program MHAND dan QS 3 0 yang biasa digunakan untuk lay out pada pabrik.sehubungan dengan hal tersebut saya kuliah di jurusan teknik industri dan saya sangat membutuhkan sekali cara mendapatkan program tersebut.terimakasih banyak sebelumnya..
Kalau saya ingin melakukan studi komparatif antara fitur yang diusung oleh dua software berbeda untuk fungsi/tujuan tertentu, misalnya antara fitur Animation Ms. Powerpoint dan Action Script 2 Flash utk membangun media ajar fisika topik mekanika, bagaimana kira-kira model pengukurannya? Wassalam.
baik perangkat lunak maupun perangkat keras, dan bidang engineering secara umumnya perlu dilakukan pengukuran dengan metode yang tepat. apakah ini mas termasuk juga kerjaan teman2 di SNI??
jadi inget sama matakuliah testing dan implementasi sistem loh.
Saya kesulitan membuat tabel kebutuhan perangkat lunak dengan deskripsinya. thanks y
Pak Romy menarik skali tulisannya.
Saya mau tanya : bagaimana menentukan bobot pada contoh disebutkan C = 0.2, O = 0.8 dan T = 1. Apakah ada teori yang mendukung penentuan bobot sehingga C harus 0.2 dst ? kalo ada mohon info bukunya pak. Atau bobot tsb di berikan berdasarkan asumsi ? kalo iya, apa saja yang asumsi yang harus dipertimbangkan sehingga C menjadi 0.2 dst. Hal yang sama juga saya tanyakan tentang penentuan Nilai.
Mohon maaf, jika pertanyaan saya sudah ditanyakan oleh rekan lain, maklum pak, rookie ๐
mas, sy lagi ada tugas mk testing dan implementasi, tu soalnya suruh nyari tentang jurnal pengujian program atau pengujian system dengan metode dan pendekatan tertentu. lumayan nyarinya agak susah, ada referensi situs2 nya ga buat nyari yg lengkap, apa mas mau posting yang baru yang kira2 sama, he..
mas, saya kebetulan lagi garap skripsi mengenai studi komparasi antara software opensource senayan dengan openbiblio, keduanya sama2 katalog digital.
gimana caranya untuk mengukur kualitas secara kuantitatif, trus referensi apa yang harus saya pake?
mohon balasannya donk……
terimakasih, salam………
mas,saya ada tugas tentang metodologi pembangunan perangkat lunak berbasis proses.tapi kebanyakan dari blog ataupun artikel membahas tentang PL yang berbasis object,saya minta tolong untuk bisa dapetin artikel tentang tema diatas…mohon dibales..
makasih sebelumnya…
assalamualaikum, mas,,
saya mhs ilmu komputer,, sedang mengambil mata kuliah rekayasa perangkat lunak. Saya kesulitan mencari contoh perhitungan software metric di tingkat design model,, bisa saya minta tolong ditunjukkan referensi yang bisa saya pelajari? Referensi yang saya gunakan saat ini hanya dari buku Roger S. Pressman, dan ini kurang membantu saya untuk menerapkannya secara langsung, dan saya juga kesulitan mendapatkan contoh tersebut di internet. Terima kasih sebelumnya…