Standar Kualitas Perangkat Lunak


1.Pengertian

Berbagai macam definisi kualitas perangkat lunak (software quality) tergantung dari mana pemakai (user) memandang dan melihat sesuai dengan kebutuhannya. Menurut Crosby (1979:34) mendefinisikan kualitas atau mutu sebagai “conformance to requirements”. Selama seseorang dapat berdebat tentang perbedaan antara kebutuhan, keinginan dan kemauannya, definisi kualitas harus mempertimbangkan perspektif pemakai tersebut. Sedangkan Software / perangkat lunak, adalah sekumpulan data elektronik yang disimpan dan diatur oleh komputer, data elektronik yang disimpan oleh komputer itu dapat berupa program atau instruksi yang akan menjalankan suatu perintah. melalui sofware atau perangkat lunak inilah suatu komputer dapat menjalankan suatu perintah.
Menurut definisi dalam Steve McConnell’s Code Complete membagi perangkat lunak ke dalam dua hal yaitu: : internal dan external quality characteristics. Karakteristik kualitas eksternal merupakan bagian-bagian dari suatu produk yang berhubungan dengan para pemakainya, sedangkan karakteristik kualitas internal tidak secara langsung berhubungan dengan pemakai. Software Quality didefinisikan sebagai: kesesuaian yang diharapkan pada semua software yang dibangun dalam hal fungsi software yang diutamakan dan unjuk kerja software, standar pembangunan software yang terdokumentasi dan karakteristik yang ditunjukkan oleh software. Definisi ini menekankan pada 3 hal yaitu :
1. kebutuhan software adalah fondasi ukuran kualitas software, jika software tidak sesuai dengan kebutuhan yang ditentukan maka kualitas pun kurang
2. jika menggunakan suatu standar untuk pembangunan software maka jika software tidak memenuhi standar tersebut maka dianggap kurang berkualitas
3. seringkali ada kualitas yang secara langsung diutarakan (tersirat) seperti kemudahan penggunaan dan pemeliharaan yang baik. Kualitas software dipertanyakan jika tidak memenuhi kebutuhan ini.

2. Model Faktor Kualitas Perangkat Lunak
   1. Model Faktor McCall
      Model kualitas McCall terbagi menjadi 11 faktor kualitas. Penjelasan dari masing-masing faktor kualitas tersebut adalah sebagai berikut:
A. Correctness
Sebuah perangkat lunak dapat dikatakan benar jika memenuhi persyaratan sebagai berikut:
• Menghasilkan keluaran yang benar untuk setiap kemungkinan masukan oleh pengguna.
• Melakukan proses yang seharusnya (tidak kurang dan tidak berlebihan).
• Secara formal harus bisa dibuktikan secara matematis.

B. Reliability
Sudut pandang reliabilitas pada poin ini lebih menekankan pada kemungkinan dari failure-free suatu operasi perangkat lunak terhadap periode waktu tertentu di dalam lingkungan tertentu. Software reliability bukan fungsi langsung terhadap waktu.

C. Efficiency
Ada dua pengertian tentang efisiensi sebuah perangkat lunak, yaitu: • Menurut McCall (1977) Penggunaan sumber daya seperti waktu pemrosesan processor (eksekusi), pemakaian media penyimpanan (memori, space, bandwidth). • Menurut ISO 9126 (1993) Berkaitan dengan hubungan antara kinerja perangkat lunak dan jumlah sumber daya yang digunakan.

D. Integrity
Integritas perangkat lunak pada model McCall lebih menekankan kepada keamanan sebuah perangkat lunak. Pihak developer harus mampu melihat kebutuhan akan hak akses perangkat lunak tersebut pada setiap penggunanya.

E. Usability
Faktor ini melihat dari kemudahan perangkat lunak untuk digunakan dan dipelajari. Usability mempunyai unsur akademis seperti psikologis, ergonomi, dan human factors [Nielsen, 1993].

F. Maintainability
Maintainability adalah kemudahan dari perangkat lunak untuk dipelihara, seperti:
• Memperbaiki kerusakan
• Menemukan kebutuhan baru
• Membuat pemeliharan selanjutnya lebih mudah
• Mengatasi lingkungan yang berubah.
Sebuah perangkat lunak dikatakan dapat dipelihara jika koreksi dari minor bugs memerlukan usaha yang kecil.

G. Flexibility
Ada dua pengertian tentang faktor fleksibilitas perangkat lunak, yaitu: • Menurut McCall Kemudahan yang didalam membuat perubahan yang dibutuhkan akibat perubahan lingkungan.
• Menurut Boehm Kemampuan melakukan modifikasi kode untuk memfasilitasi perubahan yang telah ditentukan.

H. Testability
Testability adalah kemampuan perangkat lunak untuk diuji. Selain itu testability adalah derajat yang dimiliki sebuah sistem untuk memfasilitasi kriteria pengujian dan perfomansi dari pengujian tersebut untuk mengukur sejauh mana kriteria tersebut dipenuhi [IEEE, 1990].

I. Portability
Perangkat lunak dikatakan portabel jika biaya untuk memindahkannya (transport dan adaptasi) ke lingkungan yang baru lebih kecil jika dibandingkan dengan biaya untuk membangun perangkat lunak tersebut dari awal.

J. Reusability
Reusability adalah properti dari perangkat lunak yang memungkinkan perangkat lunak atau modul-modulnya digunakan kembali untuk sistem lain. Suatu perangkat lunak dikatakan reusable yang baik jika modul-modulnya dapat digunakan kembali untuk aplikasi lainnya.

K. Interoperability
Interoperability adalah kemampuan suatu perangkat lunak untuk bekerja dengan perangkat lunak lainnya tanpa mengalami kesulitan.

3. 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.

Parameter dan metode pengukuran menurut Kelvin dalam Wahono (2006), “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.” 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, 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). Tabel berikut menunjukkan daftar lengkap faktor dan kriteria dalam kualitas perangkat lunak menurut McCall :

Kualitas software diukur dengan metode penjumlahan dari keseluruhan kriteria dalam suatu faktor sesuai dengan bobot (weight) yang telah ditetapkan. 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

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

Sumber :

Mukharil Bachtiar, Adam. 2012. “Analisis Kualitas Perangkat Lunak Terhadap Sistem Informasi UNIKOM”. Majalah Ilmiah UNIKOM. Volume 11, No.2, http://jurnal.unikom.ac.id/_s/data/jurnal/volume-11-2/07-miu-11-2-adam-cs.pdf/pdf/07-miu-11-2-adam-cs.pdf, 5 Mei 2016

Rifkiaji, Haditya. “KUALITAS PERANGKAT LUNAK: Definisi, Pengukuran dan Implementasi”. 5 Mei 2016. https://hadityatechie.wordpress.com/2008/12/18/kualitas-perangkat-lunak-definisi-pengukuran-dan-implementasi/

Komentar

Posting Komentar

Postingan Populer