Pages

Diberdayakan oleh Blogger.

Kamis, 05 Mei 2016

Kualitas Produk Perangkat Lunak



Kualitas perangkat lunak merupakan hal yang sangat penting dalam suatu pengembangan perangkat lunak. Kualitas perangkat lunak tidak hanya dilihat dari hasil produknya tetapi juga kualitas pada tahap pengembangan perangkat lunak itu sendiri.
Langkah awal untuk memahami kualitas perangkat lunak adalah dengan memahami konsep kualitas itu sendiri. Ada dua kubu besar ketika membahas makna dan definisi kualitas perangkat lunak :
1) Kesesuaian dengan spesifikasi: Kualitas yang didefinisikan sebagai materi produk dan layanan yang terukur dimana memenuhi karakteristik spesifikasi tetap yaitu, kesesuaian dengan spesifikasi yang sebelumnya didefinisikan.
2) Memenuhi kebutuhan pelanggan: Kualitas yang diidentifikasi independen dari setiap karakteristik terukur. Artinya, kualitas didefinisikan sebagai kemampuan produk atau jasa untuk memenuhi harapan pelanggan baik secara eksplisit atau tidak.

Jaminan kualitas perangkat lunak (Software Quality Assurance) merupakan hal yang dilakukan
pada setiap tahap pengembangan perangkat lunak, namun paling ekstensif dilakukan pada fase
construction. Selain dilakukan pada setiap tahap, software quality assurance juga dilakukan pada setiap aspek pengembangan perangkat lunak. Aspek – aspek tersebut adalah sebagai berikut:
(1). Software Quality Assurance pada standar dan prosedur
(2). Software Quality Assurance pada metric
(3). Software Quality Assurance pada Metode dan tools yang digunakan pada tahap pengembangan perangkat lunak.
(4). Software Quality Assurance pada formal technical reviews
(5). Software quality assurance pada pengaturan konfigurasi perangkat lunak dan kontrol terhadap
perubahan.
 (6). Software quality assurance pada pengujian.

Bagaimana Mendapatkan Perangkat Lunak yang Berkualitas?
Untuk menghasilkan software yang berkualitas, penerapan software quality assurance dilakukan pada setiap komponen project software development. Penerapan software quality assurance dalam tiap – tiap fase pengembangan juga dapat meminimalisasi kemungkinan terjadinya kesalahan sedini mungkin.
Pada aspek manusianya (software engineer) diperlukan proses pendidikan dan training sehingga diharapkan dengan bertambahnya pengetahuan, software engineer dapat menghasilkan software berkualitas tinggi. Pada aspek project perlu adanya manajemen proyek dan monitoring agar nantinya diharapkan project dapat dikembangkan dengan baik dan menghasilkan produk yang sesuai dan berkualitas serta tepat waktu.
Pada aspek proses untuk pengembangan project perlu adanya pengukuran dan umpan balik. Proses-proses yang dilakukan dalam pengembangan proyek sudah menghasilkan produk yang berkualitas serta efisien atau tidak oleh karena itu perlu adanya umpan balik dari pengukuran itu agar nantinya dapat dilakukan perbaikan dalam aspek proses.
Pada aspek produk yang dihasilkan untuk menjamin bahwa produk tersebut telah memenuhi
standar kualitas perlu dilakukan testing dan pengukuran untuk menentukan feasibility dari produk tersebut.

Atribut Perangkat Lunak yang Berkualitas
Untuk menentukan atau mengukur kualitas dari suatu produk kita harus melihat apakah produk
tersebut dalam artian software telah memenuhi atribut kualitas yang telah ditentukan. Atribut kualitas dapat dibedakan menurut :
·         Sudut pandang client : apakah produk yang dibuat sudah memenuhi spesifikasi yang diinginkan ataukah produk tersebut memiliki kelemahan (bug) atau tidak dll.
·         Sudut pandang developer : apakah produk itu mudah untuk di maintain atau apakah software tersebut mudah untuk melakukan testing dll.
Atribut lain yang dapat menentukan apakah software tersebut berkualitas atau tidak dapat kita lihat sebagai berikut :
Untuk memenuhi keseluruhan atribut kualitas diatas tentu akan sangat berat, oleh karena itu dalam proses pengembangan produk kita harus menentukan atribut kualitas mana saja yang harus dipenuhi dan juga membuat rencana agar atribut kualitas ini dapat terpenuhi. Selain itu kita juga harus menentukan standar dalam proses pengembangan agar kita dapat menghindari kerumitan dalam pengembangan dan juga dapat dengan mudah mengidentifikasi masalah.

Pentingnya Metrik dalam Jaminan Kualitas Perangkat Lunak
Metrik merupakan ukuran (besaran) yang digunakan untuk menilai segi tertentu yang berhubungan dengan pengembangan perangkat lunak Metrik penting pada software quality assurance karena dengan metrik, software development menjadi terukur dan dapat dikontrol. Selain itu dengan metrik tertentu, dapat diramalkan aspek tertentu kualitas perangkat lunak. Metrik terbagi atas :
1. Metrik Produk
Mengkarakterisitikkan proses output, contoh LOC (length of code).
2. Metrik Proses
Mengkarakterisitikkan aktifitas proses, contoh jumlah bug yang terjadi saat testing.
3. Metrik Resource
Mengkarakterisitikkan proses input, contoh pendidikan programmer.
4. Metrik Dinamis
Dibentuk oleh pengukuran pada saat eksekusi program, contoh : waktu efektif saat terjadinya failure. Metrik ini membantu penetapan efisiensi dan reliability.
5. Metrik Statis
Dibentuk oleh pengukuran oleh representasi sistem, contoh : jumlah method dalam class. Metrik ini membantu dalam complexity, understandability dan maintainability.

Penggunaaan metric sangat penting dalam software quality assurance. Metrik secara kuantitatif
mendefinisikan sukes tidaknya dan atau derajat sukses tidaknya produk, proses atau people.
Metric merupakan pondasi dari jenis pengukuran mana yang akan dilakukan Standard yang
terspesifikasi mendefinisikan kumpulan kriteria yang menuntun kearah mana software dibentuk.
Attribut metrik software yang efektif antara lain :
  •         Simpel dan dapat dikomputasi 
  •         Empiris dan persuasive
  •         Konsisten dan objektif
  •        Konsisten pada unit dan dimensi
  •       Independen pada bahasa pemrograman
  •       Mempunyai mekanisme untuk feedback yang berkualitas

Metode Pengukuran
Pengukuran yang berhubungan dengan fungsi (Metric Function Oriented) adalah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi.Pengukuran tersebut dapat dilakukan dengan pengukuran function point. Adapun parameter yang digunakan untuk pengukuran Function Point adalah:
1 .       External Input (EI).
Setiap masukan eksternal berasal dari pengguna atau dikirim dari aplikasi lain dan menyediakan data berorientasi aplikasi yang berbeda atau informasi pengendalian. Masukan sering digunakan untuk memperbarui internal logic file (ILF).
2 .       External Output (EO).
Setiap keluaran eksternal diturunkan dari data aplikasi yang memberikan informasi kepada pengguna. External Output (EO) mengacu pada laporan, layar, pesan kesalahan, dan sebagainya.
3 .       External Inquiry (EQ).
Kombinasi input/output yang dihasilkan oleh input dalam bentuk output sederhana dan singkat. Hasil inquiry misalnya berupa hasil pencarian data.
4 .       Internal Logical File (ILF).
Merupakan data user atau kontrol informasi yang dikendalikan total oleh aplikasi. File logical dapat berupa file flat atau tabel tunggal dalam database relasional.
5 .       External Interface Files (EIF). File yang dikendalikan oleh aplikasi lain tetapi diperlukan oleh aplikasi. External interface file dapat berupa sekelompok data logical atau kontrol informasi yang keluar dan masuk ke aplikasi.
      Langkah pertama dalam menghitung CFP (Crude Function Points) adalah dengan mencari jumlah dari komponen fungsional sistem pertama kali diidentifikasi dan dilanjutkan dengan mengevaluasi kuantitasi bobot kerumitan dari tiap komponen tersebut. Pembobotan tersebut kemudian dijumlahkan dan menjadi angka CFP.

Alur Penentuan Bobot Kompleksitas Langkah kedua untuk menghitung function point adalah dengan menghitung RCAF (Relative Complexity Adjustment Factor), yang dihitung berdasarkan pada keseluruhan kompleksitas sistem. Cara menghitung RCAF (Relative Complexity Adjustment Factor) adalah dengan menggunakan 14 (empat belas) GSC (General System Characteristic), dimana masing-masing GSC berskala 0 (nol) sampai 5 (lima) . Skala 0 (nol) menunjukkan tidak adanya pengaruh dan skala 5 (lima) menunjukkan adanya pengaruh yang luas terhadap keseluruhan proyek.
Menghitung Function Point (FP) Setelah setiap karakteristik diberi bobot masing-masing dan dijumlahkan, maka langkah selanjutnya adalah proses melakukan perhitungan untuk mendapat nilai Function point (FP) dari software yang dibangun. Untuk menghitung Function Point menggunakan rumus pada persamaan sebagai berikut :

FP = CFP x (0.65 + 0.01 x RCAF)

Misalkan diketahui nilai CFP = 74 dan RCAF = 60.
Maka nilai FP dapat dicari sebagai berikut : FP = 74 x (0.65 + 0.01 x 60) = 74 x 1.25 = 92.5 Setelah mendapatkan nilai FP, maka dapat digunakan sebagai acuan untuk mengestimasi kualitas perangkat lunak dengan cara membandingkan nilai FP dengan banyak error (kesalahan) yang terdapat pada perangkat lunak yang dibangun. Jika dalam pembangunan perangkat lunak tersebut ditemukan kesalahan sebanyak 35 kesalahan, maka dapat dihitung kesalahan per FP-nya adalah sebagai berikut :
Kesalahan / FP = 35 / 92.5 = 0.3783
Kualitas = 100% - (0.3783 x 100%) = 62.17%
Berdasarkan nilai presentase kualitas perangkat lunak adalah 62.17% maka perangkat lunak tersebut memiliki tingkatan cukup baik.


Daftar Pustaka :
R. W. Hoyer and B. B. Y. Hoyer, "What is quality?", Quality Progress, no. 7, pp. 52-62, 2001.
Anam Chairul,  “Jurnal Jaminan Kualitas Perangkat Lunak”, Sekolah Tinggi Ilmu Komputer PGRI Banyuwangi, 2007.
G. Gordon Schulmeyer, “Handbook of Software Quality Assurance”, ARTECH HOUSE. INC, London, 2008.
Parwita Wayan Gede Suka dan Luh Arida Ayu Rahning Putri, ”Jurnal Komponen Penilaian Kualitas Perangkat Lunak berdasarkan Software Quality Models”, Universitas Gajah Mada, 2012.
Rinci Kembang Hapsari dan M Juhari Husen, “Jurnal Stimasi Kualitas Perangkat Lunak berdasarkan Pengukuran Kompleksitas Menggunakan Metrik Function Oriented”, Institut Teknologi Adhi Tama Surabaya, 2015.


 

Blogger news

Blogroll

About