Selasa, 14 April 2009

Software dan Karakteristiknya

Software atau perangkat lunak penggunaannya sudah “menjalar” ke semua aspek kehidupan. Jika kita lihat diberbagai instansi atau organisasi, maka kita akan mengenal istilah Sintem Informasi, mulai dari Akademik (SIAK) di sekolah-sekolah, sampai ke Sistem Informasi Kepolisian (SIAP). Beragam produksi Software juga menjadi pilihan atas penggunaan Software tersebut, mulai dari yang harga rendah, sedang atau harga tinggi, atau mulai dari software luar negeri atau software local.

Merebaknya penggunaan Software di satu sisi menguntungkan Programmer dan developer Software, karena banyaknya order dan pendapatan yang bisa diperoleh. Namun di sisi lain cukup mengkhawatirkan karena di Indonesia tidak ada institusi yang secara aktif bertugas membuat standard dalam pengukuran kualitas perangkat lunak. Jadi pengembang dan software house di Indonesia belum bisa 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).

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 bahwa:

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

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

Berikut adalah Faktor Kualitas (Quality Factor dan Quality Criteria) dari Perangkat Lunak

  1. Correctness—> Completeness, Consistency, Traceability
  2. Reliability —> Accuracy, Error Tolerane, Consistency, Simplicity
  3. Efficiency —> Execution Efficiency, STorage Efficiency
  4. Integrity —> Access Control, Access Audit
  5. Usability —> Communicativeness, Operability, Training
  6. Maintainability —> Consistency, Conciseness, Simplicity, Modularity, Self-documentation
  7. Testability —> Simplicity, Modularity, Instrumentation, Self -documentation
  8. Flexibility —> Expandability, Generality, Modularity, Self-doc
  9. Portability —> Software System Independence, Hardware Independent, Self-documentation
  10. Reusability —> Generality, software System Independence Hardware Independence, Modularity
  11. Interoperability —> Communication Commonality, Data Commonalit Modularity.

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:

F1 = w1c1 + w2c2 + … + wncn

Dimana:
F1 adalah nilai total dari faktor a
wn adalah bobot untuk kriteria i
cn 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

————-




Pentingnya Komputer dalam pembelajaran AUD

Perkembangan Komputer dan Teknologi Informasi merambah kesegala aspek kehidupan manusia. Setiap Aspek kehidupan, semuanya tidak akan terlepa...