22
DEFINISI KUALITAS PERANGKAT LUNAKDEFINISI KUALITAS PERANGKAT LUNAK
3 poin penting3 poin penting
–Kebutuhan2 perangkat lunak merupakan fondasi Kebutuhan2 perangkat lunak merupakan fondasi
darimana kualitas diukurdarimana kualitas diukur
–Standar2 spesifik yg menentukan kriteria Standar2 spesifik yg menentukan kriteria
pengembangan yg menuntun pembuatan suatu pengembangan yg menuntun pembuatan suatu
perangkat lunakperangkat lunak
–Terdapat kebutuhan2 yg implisit yg sering tidak Terdapat kebutuhan2 yg implisit yg sering tidak
diperhatikan (mis, keinginan untuk pemeliharaan diperhatikan (mis, keinginan untuk pemeliharaan
yg terbaik)yg terbaik)
33
FAKTOR KUALITAS PERANGKAT LUNAKFAKTOR KUALITAS PERANGKAT LUNAK
Yg dapat dihitung secara langsungYg dapat dihitung secara langsung
–ErrorError (Kesalahan) (Kesalahan)
–Kilobytes Lines of CodeKilobytes Lines of Code (KLOC) (KLOC)
Dihitung secara tidak langsung Dihitung secara tidak langsung
–UsabilityUsability (Kegunaan) (Kegunaan)
–MaintainabilityMaintainability (Pemeliharaan) (Pemeliharaan)
55
FAKTOR KUALITAS … (McCall)FAKTOR KUALITAS … (McCall)
CorrectnessCorrectness : besarnya program dapat memuaskan : besarnya program dapat memuaskan
spesifikasi & objektivitas dari misi pelangganspesifikasi & objektivitas dari misi pelanggan
ReliabilityReliability : besarnya program dapat diharapkan : besarnya program dapat diharapkan
memenuhi fungsi2 yg dikehendakimemenuhi fungsi2 yg dikehendaki
Efficiency : Efficiency : jumlah sumber2 & kode yg dibutuhkan jumlah sumber2 & kode yg dibutuhkan
program utk menjalankan fungsi2program utk menjalankan fungsi2
IntegrityIntegrity : besarnya pengontrolan pengaksesan oleh : besarnya pengontrolan pengaksesan oleh
seseorang yg tidak mempunyai otorisasi terhadap seseorang yg tidak mempunyai otorisasi terhadap
perangkat lunak atau dataperangkat lunak atau data
UsabilityUsability : effort (usaha) yg dibutuhkan utk : effort (usaha) yg dibutuhkan utk
mempelajari, mengoperasikan, menyiapkan input & mempelajari, mengoperasikan, menyiapkan input &
mengintepretasi kan output programmengintepretasi kan output program
66
FAKTOR KUALITAS … (McCall) lanj.FAKTOR KUALITAS … (McCall) lanj.
MaintainabilityMaintainability : usaha yg dibutuhkan utk menempatkan : usaha yg dibutuhkan utk menempatkan
& menetapkan suatu kesalahan pada program & menetapkan suatu kesalahan pada program
Flexibility Flexibility : usaha yg dibutuhkan utk memodifikasi : usaha yg dibutuhkan utk memodifikasi
program yg dioperasikanprogram yg dioperasikan
Testability Testability : usaha yg dibutuhkan utk menguji program : usaha yg dibutuhkan utk menguji program
utk menjamin tlh dijalankannya program yg diharapkanutk menjamin tlh dijalankannya program yg diharapkan
PortabilityPortability : usaha yg dibutuhkan utk mentransfer : usaha yg dibutuhkan utk mentransfer
program dari lingkungan sistem per.lunak &/ per.keras program dari lingkungan sistem per.lunak &/ per.keras
ke lingkungan lainke lingkungan lain
ReusabilityReusability : besarnya program dpt digunakan oleh : besarnya program dpt digunakan oleh
aplikasi lainaplikasi lain
InteroperabilityInteroperability : usaha yg dibutuhkan utk memasang- : usaha yg dibutuhkan utk memasang-
kan satu sistem dgn yg lainkan satu sistem dgn yg lain
77
PENGUKURAN KUALITAS PER. LUNAKPENGUKURAN KUALITAS PER. LUNAK
AuditabilityAuditability : mudah utk dicek mengenai konfirmansi standar : mudah utk dicek mengenai konfirmansi standar
Accuracy Accuracy : presisi komputasi & pengontrolan: presisi komputasi & pengontrolan
Communication commonalityCommunication commonality : derajat pengunaan interface, : derajat pengunaan interface,
protokol & bandwidth yg standarprotokol & bandwidth yg standar
CompletenessCompleteness : derajat pencapaian implementasi full dari : derajat pencapaian implementasi full dari
fungsi2 yg dibutuhkanfungsi2 yg dibutuhkan
Conciseness Conciseness : kepadatan program dalam : kepadatan program dalam lines of codelines of code
ConsistencyConsistency : penggunaan teknik dokumentasi & : penggunaan teknik dokumentasi &
perancangan yg seragamperancangan yg seragam
Data commonalityData commonality : penggunaan struktur & tipe data standar : penggunaan struktur & tipe data standar
Error toleranceError tolerance : akibat yg timbul pada saat program : akibat yg timbul pada saat program
menemui kesalahanmenemui kesalahan
88
PENGUKURAN KUALITAS PER. LUNAK (lanj.)PENGUKURAN KUALITAS PER. LUNAK (lanj.)
Execution efficiency Execution efficiency : kinerja waktu eksekusi pada program: kinerja waktu eksekusi pada program
Expandability Expandability : derajat dimana perancangan terprosedur, : derajat dimana perancangan terprosedur,
data & arsitektur dapat diperluasdata & arsitektur dapat diperluas
GeneralityGenerality : kelonggaran aplikasi dari komponen program : kelonggaran aplikasi dari komponen program
Hardware independence Hardware independence : derajat dimana per. Lunak : derajat dimana per. Lunak
dipisahkan dari per. keras atau yg mengoperasikannyadipisahkan dari per. keras atau yg mengoperasikannya
InstrumentationInstrumentation : derajat dimana program memonitor : derajat dimana program memonitor
operasinya sendiri & mengindentifikasikan kesalahan2 yg operasinya sendiri & mengindentifikasikan kesalahan2 yg
timbul timbul
ModularityModularity : kemandirian fungsional dari komponen program : kemandirian fungsional dari komponen program
OperabilityOperability : kemudahan pengoperasian program : kemudahan pengoperasian program
Security Security : ketersediaan mekanisme yg mengontrol atau : ketersediaan mekanisme yg mengontrol atau
memproteksi program & datamemproteksi program & data
99
PENGUKURAN KUALITAS PER. LUNAK (lanj.)PENGUKURAN KUALITAS PER. LUNAK (lanj.)
Self-documentationSelf-documentation : derajat dimana : derajat dimana source codesource code
menyediakan dokumentasi yg berartimenyediakan dokumentasi yg berarti
Simplicity Simplicity : derajat dimana program dapat dimengerti : derajat dimana program dapat dimengerti
dengan mudahdengan mudah
Software system independence Software system independence : derajat dimana program : derajat dimana program
berdiri sendiri dari fitur bhs pemrograman, karakteristik berdiri sendiri dari fitur bhs pemrograman, karakteristik
sistem pengoperasian & batasan lainnya yg tdk standarsistem pengoperasian & batasan lainnya yg tdk standar
Traceability Traceability : kemampuan utk menelusuri representasi : kemampuan utk menelusuri representasi
perancangan atau komponen program aktual, kembali ke perancangan atau komponen program aktual, kembali ke
kebutuhankebutuhan
TrainingTraining : derajat dimana per. lunak dapat membantu : derajat dimana per. lunak dapat membantu
pengguna yg baru dalam mengaplikasikan sistem pengguna yg baru dalam mengaplikasikan sistem
1010
BIAYA KUALITAS PERANGKAT LUNAKBIAYA KUALITAS PERANGKAT LUNAK
Semua biaya utk mengejar kualitas atau utk Semua biaya utk mengejar kualitas atau utk
menampil-kan kualitas yg berhubungan dgn aktifitas.menampil-kan kualitas yg berhubungan dgn aktifitas.
–Biaya pencegahan Biaya pencegahan
Perencanaan kualitasPerencanaan kualitas
Review teknis formalReview teknis formal
Perlengkapan pengujianPerlengkapan pengujian
PelatihanPelatihan
1111
BIAYA KUALITAS PERANGKAT LUNAK (lanj.)BIAYA KUALITAS PERANGKAT LUNAK (lanj.)
–Biaya penilaian meliputi aktifitas memperoleh Biaya penilaian meliputi aktifitas memperoleh
wawasan mengenai kondisi produk pertama kali wawasan mengenai kondisi produk pertama kali
pada masing2 proses, meliputipada masing2 proses, meliputi
Inspeksi in-proses & interprosesInspeksi in-proses & interproses
Pemeliharaan & kalibrasi peralatanPemeliharaan & kalibrasi peralatan
PengujianPengujian
–Biaya kegagalan adalah biaya yg akan hilang bila Biaya kegagalan adalah biaya yg akan hilang bila
tidak ada cacat yg muncul sebelum produk tidak ada cacat yg muncul sebelum produk
disampaikan kepada pelanggandisampaikan kepada pelanggan
1212
BIAYA KUALITAS PERANGKAT LUNAK (lanj.)BIAYA KUALITAS PERANGKAT LUNAK (lanj.)
Biaya kegagalan internal adl biaya yg diadakan Biaya kegagalan internal adl biaya yg diadakan
bila kita mendeteksi kesalahan dlm produk bila kita mendeteksi kesalahan dlm produk
sebelum produk dipasarkan, meliputisebelum produk dipasarkan, meliputi
–Pengerjaan kembaliPengerjaan kembali
–PerbaikanPerbaikan
–Analisis mode kegagalanAnalisis mode kegagalan
Biaya kegagalan eksternal adl biaya yg Biaya kegagalan eksternal adl biaya yg
berhubungan dg cacat yg ditemukan setelah berhubungan dg cacat yg ditemukan setelah
produk disampaikan pada pelanggan, meliputiproduk disampaikan pada pelanggan, meliputi
–Resolusi keluhanResolusi keluhan
–Penggantian & pengembalian produkPenggantian & pengembalian produk
–Dukungan Dukungan help linehelp line
–Kerja jaminanKerja jaminan
1313
SQASQA
Merupakan kegiatan yg terpola secara sistematis dan Merupakan kegiatan yg terpola secara sistematis dan
terencana, yg dibutuhkan utk menjamin kualitas terencana, yg dibutuhkan utk menjamin kualitas
suatu perangkat lunak.suatu perangkat lunak.
Terdiri atas 7 aktifitas utama :Terdiri atas 7 aktifitas utama :
–Aplikasi metode secara teknisAplikasi metode secara teknis
–Review teknis formalReview teknis formal
–Pengujian perangkat lunakPengujian perangkat lunak
–Penekanan pada standarPenekanan pada standar
–Pengontrolan pada perubahanPengontrolan pada perubahan
–PengukuranPengukuran
–Penyimpanan dan pelaporanPenyimpanan dan pelaporan
1414
SQA (lanj.)SQA (lanj.)
SQA dimulai dgn sekumpulan alat & metode teknis yg SQA dimulai dgn sekumpulan alat & metode teknis yg
membantu analis utk mendapatkan spesifikasi yg membantu analis utk mendapatkan spesifikasi yg
berkualitas tinggi & bagi perancang utk merancang dg berkualitas tinggi & bagi perancang utk merancang dg
kualitas tinggikualitas tinggi
Setelah spesifikasi & desain dibuat, ditetapkan kualitasnya Setelah spesifikasi & desain dibuat, ditetapkan kualitasnya
dg melakukan review teknis formal.dg melakukan review teknis formal.
Pengujian per. Lunak mengkombinasikan langkah2 Pengujian per. Lunak mengkombinasikan langkah2
strategi dg metode rancangan test-case yg dpt menjamin strategi dg metode rancangan test-case yg dpt menjamin
pendeteksian kesalahan secara efektif.pendeteksian kesalahan secara efektif.
Jika terdapat standar yg formal, berarti harus dapat Jika terdapat standar yg formal, berarti harus dapat
dijamin bahwa standar tsb diikuti.dijamin bahwa standar tsb diikuti.
1515
SQA (lanj.)SQA (lanj.)
Pengontrolan perubahan dilakukan selama pembuatan Pengontrolan perubahan dilakukan selama pembuatan
per. Lunak & pada tahap pemeliharaan. Setiap perubahan per. Lunak & pada tahap pemeliharaan. Setiap perubahan
dpt menyebabkan kesalahan & efek lain yg akan dpt menyebabkan kesalahan & efek lain yg akan
menyebabkan kesalahan jg.menyebabkan kesalahan jg.
Pengukuran terhadap per. Lunak mencakup pengukuran Pengukuran terhadap per. Lunak mencakup pengukuran
secara manajemen & teknis secara manajemen & teknis
Penyimpanan hasil dari review, audit, pengontrolan Penyimpanan hasil dari review, audit, pengontrolan
perubahan, pengujian dyl sebagai bagian dari record perubahan, pengujian dyl sebagai bagian dari record
historis utk suatu proyek dan didesiminasikan kpd para historis utk suatu proyek dan didesiminasikan kpd para
staf pengembangan sbg ‘dasar utk mereka ketahui’staf pengembangan sbg ‘dasar utk mereka ketahui’
1616
REVIEW PERANGKAT LUNAKREVIEW PERANGKAT LUNAK
Merupakan filter pada proses pembuatan perangkat Merupakan filter pada proses pembuatan perangkat
lunak.lunak.
Bentuknya : presentasi formal di depan pelanggan, Bentuknya : presentasi formal di depan pelanggan,
manajemen, & staf teknisi.manajemen, & staf teknisi.
Review – suatu cara penggunaan perbedaan2 dari Review – suatu cara penggunaan perbedaan2 dari
sekompok orang untuksekompok orang untuk
–Menentukan peningkatan kebutuhan produk dari Menentukan peningkatan kebutuhan produk dari
seseorang atau timseseorang atau tim
–Konfirmasi setiap bagian dari produk dimana Konfirmasi setiap bagian dari produk dimana
peningkatan tsb diinginkan atau tidak diinginkanpeningkatan tsb diinginkan atau tidak diinginkan
–Mencapai kerja teknis yg seragam, ataupun dapat lebih Mencapai kerja teknis yg seragam, ataupun dapat lebih
diprediksi, daripada tanpa reviewdiprediksi, daripada tanpa review
1717
PERTEMUAN PADA REVIEW TEKNIS FORMALPERTEMUAN PADA REVIEW TEKNIS FORMAL
BatasannyaBatasannya
–Antara 3 & 5 orang yg terlibat : pemimpin review, pereview & Antara 3 & 5 orang yg terlibat : pemimpin review, pereview &
produsen produsen
–Persiapan sebelumnya tidak lebih 2 jam kerja per orangPersiapan sebelumnya tidak lebih 2 jam kerja per orang
–Lama pertemuan review minimal 2 jamLama pertemuan review minimal 2 jam
Fokus : produk, komponen program (spesifikasi Fokus : produk, komponen program (spesifikasi
kebutuhan, perancangan modul detail, listing koding kebutuhan, perancangan modul detail, listing koding
utk setiap modulutk setiap modul
Akhir review, harus diputuskanAkhir review, harus diputuskan
–Menerima produk tanpa modifikasiMenerima produk tanpa modifikasi
–Menolak produk krn kesalahan yg fatalMenolak produk krn kesalahan yg fatal
–Menerima produk dg kesalahan yg kecil dan harus diperbaikiMenerima produk dg kesalahan yg kecil dan harus diperbaiki
1818
PENDOKUMENTASIAN PADA REVIEW TEKNIS PENDOKUMENTASIAN PADA REVIEW TEKNIS
FORMALFORMAL
Laporan review harus dapat menjawab Laporan review harus dapat menjawab
–Apa yg direviewApa yg direview
–Siapa yg mereviewSiapa yg mereview
–Apa yg ditemukan & disimpulkanApa yg ditemukan & disimpulkan
Daftar review mempunyai 2 tujuan :Daftar review mempunyai 2 tujuan :
–Mengidentifikasi area permasalahan produkMengidentifikasi area permasalahan produk
–Menyediakan checklist setiap item kegiatan yg dapat Menyediakan checklist setiap item kegiatan yg dapat
memandu produsen utk melakukan perbaikanmemandu produsen utk melakukan perbaikan
1919
PEDOMAN REVIEW TEKNIS FORMALPEDOMAN REVIEW TEKNIS FORMAL
Mereview produk bukan produsenMereview produk bukan produsen
Membuat agenda dan mengikutinyaMembuat agenda dan mengikutinya
Membatasi debatMembatasi debat
Memberitahukan area masalah, tetapi bukan utk Memberitahukan area masalah, tetapi bukan utk
menyelesaikan semua masalah yg adamenyelesaikan semua masalah yg ada
Membuat catatan tertulis (di papan/bisa dilihat)Membuat catatan tertulis (di papan/bisa dilihat)
Membatasi jumlah partisipan & menekankan persiapan Membatasi jumlah partisipan & menekankan persiapan
awalawal
Membuat checklist utk setiap produk yg direviewMembuat checklist utk setiap produk yg direview
Mengalokasikan sumber daya & waktu yg terjadual utk Mengalokasikan sumber daya & waktu yg terjadual utk
review berikutnyareview berikutnya
Mengadakan pelatihan utk semua pereviewMengadakan pelatihan utk semua pereview
Mereview produk awal terlebih dulu (mis. Panduan review)Mereview produk awal terlebih dulu (mis. Panduan review)