Kualitas Software


Kualitas software merupakan ukuran seberapa bagus software tersebut di disain (quality design), dan seberapa bagus software tersebut sesuai dengan disain yang ditentukan (quality of conformance) [wikipedia, 2010]. Salah satu ukuran kualitas software adalah software quality matrics. Software quality matrics ini dibagi menjadi tiga sudut pandang yaitu dilihat dari defect, customer problem, dan cuatomer satisfaction seperti pada Gambar berikut :

kualitas software

 Gambar 1 : Lingkup dari Software Quality Metrics

Ukuran software dari segi algoritma program adalah big O notation. Big O notation (Bell 2009) digunakan dalam ilmu komputer untuk mendiskripsikan performasi dan kekomplekan sebuah algoritma. Big O notation khususnya mendiskripsikan skenario terburuk dan dapat digunakan untuk mendiskripsikan waktu eksekusi yang diperlukan atau space yang diperlukan oleh suatu algoritma.

Pada konsep pemrograman berorientasi objek, terdapat beberpa pengukuran yaitu kohesi dalam sebuah klas dan smel-smell pada refactoring. Kohesi merupakan ketertatikan objek-objek pada sebuah kelas yang sama. Apabila suatu objek lebih banyak berhubungan dengan kelas lain dari pada klas nya sendiri maka objek tersebut dikatakan kohesinya rendah. Sedangkan code refactoring (wikipedia 2010) merupakan proses perubahan program komputer tanpa memodifikasi fungsional dari program tersebut dengan tujuan untuk meningkatkan kualitas software. Keuntungan dari refactorign adalah mengurangi kekomplekan progeam (complexity) dan meningkatkan code readability. Dalam refactoring ini terdapat bed smell yang dapat mengurangi kualitas software. Kode program yang mengandung bed smell tersebut dapat diidentifikasikan dan kemudian dihitung.

Kekomplekan sebuah program diukur dengan cyclomatic complexity. Cyclomatic complexity (Pressman, 2010) merupakan software metric yang menghasilkan ukuran kuantitaf logika kekomplekan suatu program. Cyclomatic complexity (V(G)) dihitung dengan control flow graph dalam program, dimana node (sekelompok peritah dalam program) dan edge (hubungan antar sekelompok perintah dalam program). V(G) = edge – node + 2.

Adapun ukuran-ukuran dalam program yang lainnya adalah duplikasi source code, rule-rule tertentu yang ditambahkan secara opsional untuk mengatur kualitas program, komentar dalam API, technical debt, dan lain sebagainya.

Reference :

Kan,  S.H (2002) , Metrics and Models in Software Quality Engineering, Second Edition, Addison-Wesley Professional, 85-125

Bell, Rob. A Beginer’s Guide to Big O Notation. http://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/. 2009. didunduh pada tanggal 13 Desember 2010.

Code refactoring, http://en.wikipedia.org/wiki/Code_refactoring, diunduh pada tanggal 15 Desember 2010.

Pressman Roger, S .Software Engineering (a practitioner’s approach) edisi 7. Mc Graw Hill International. Singapore. 2010


Leave a Reply