2. SQA @ BertaSQA @ Berta 22
DEFINISI KUALITAS PERANGKAT LUNAKDEFINISI KUALITAS PERANGKAT LUNAK
3 poin penting3 poin penting
– Kebutuhan2 perangkat lunak merupakan fondasiKebutuhan2 perangkat lunak merupakan fondasi
darimana kualitas diukurdarimana kualitas diukur
– Standar2 spesifik yg menentukan kriteriaStandar2 spesifik yg menentukan kriteria
pengembangan yg menuntun pembuatan suatupengembangan yg menuntun pembuatan suatu
perangkat lunakperangkat lunak
– Terdapat kebutuhan2 yg implisit yg sering tidakTerdapat kebutuhan2 yg implisit yg sering tidak
diperhatikan (mis, keinginan untuk pemeliharaan ygdiperhatikan (mis, keinginan untuk pemeliharaan yg
terbaik)terbaik)
3. SQA @ BertaSQA @ Berta 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 langsungDihitung secara tidak langsung
– UsabilityUsability (Kegunaan)(Kegunaan)
– MaintainabilityMaintainability (Pemeliharaan)(Pemeliharaan)
5. SQA @ BertaSQA @ Berta 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 dibutuhkanjumlah 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 terhadapseseorang yg tidak mempunyai otorisasi terhadap
perangkat lunak atau dataperangkat lunak atau data
UsabilityUsability : effort (usaha) yg dibutuhkan utk mempelajari,: effort (usaha) yg dibutuhkan utk mempelajari,
mengoperasikan, menyiapkan input & mengintepretasimengoperasikan, menyiapkan input & mengintepretasi
kan output programkan output program
6. SQA @ BertaSQA @ Berta 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
FlexibilityFlexibility : usaha yg dibutuhkan utk memodifikasi: usaha yg dibutuhkan utk memodifikasi
program yg dioperasikanprogram yg dioperasikan
TestabilityTestability : 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.kerasprogram 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
7. SQA @ BertaSQA @ Berta 77
PENGUKURAN KUALITAS PER. LUNAKPENGUKURAN KUALITAS PER. LUNAK
AuditabilityAuditability : mudah utk dicek mengenai konfirmansi standar: mudah utk dicek mengenai konfirmansi standar
AccuracyAccuracy : 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
ConcisenessConciseness : 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 menemui: akibat yg timbul pada saat program menemui
kesalahankesalahan
8. SQA @ BertaSQA @ Berta 88
PENGUKURAN KUALITAS PER. LUNAKPENGUKURAN KUALITAS PER. LUNAK
(lanj.)(lanj.)
Execution efficiencyExecution efficiency : kinerja waktu eksekusi pada program: kinerja waktu eksekusi pada program
ExpandabilityExpandability : derajat dimana perancangan terprosedur, data: derajat dimana perancangan terprosedur, data
& arsitektur dapat diperluas& arsitektur dapat diperluas
GeneralityGenerality : kelonggaran aplikasi dari komponen program: kelonggaran aplikasi dari komponen program
Hardware independenceHardware 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 ygoperasinya sendiri & mengindentifikasikan kesalahan2 yg
timbultimbul
ModularityModularity : kemandirian fungsional dari komponen program: kemandirian fungsional dari komponen program
OperabilityOperability : kemudahan pengoperasian program: kemudahan pengoperasian program
SecuritySecurity : ketersediaan mekanisme yg mengontrol atau: ketersediaan mekanisme yg mengontrol atau
memproteksi program & datamemproteksi program & data
9. SQA @ BertaSQA @ Berta 99
PENGUKURAN KUALITAS PER. LUNAKPENGUKURAN KUALITAS PER. LUNAK
(lanj.)(lanj.)
Self-documentationSelf-documentation : derajat dimana: derajat dimana source codesource code
menyediakan dokumentasi yg berartimenyediakan dokumentasi yg berarti
SimplicitySimplicity : derajat dimana program dapat dimengerti dengan: derajat dimana program dapat dimengerti dengan
mudahmudah
Software system independenceSoftware system independence : derajat dimana program: derajat dimana program
berdiri sendiri dari fitur bhs pemrograman, karakteristik sistemberdiri sendiri dari fitur bhs pemrograman, karakteristik sistem
pengoperasian & batasan lainnya yg tdk standarpengoperasian & batasan lainnya yg tdk standar
TraceabilityTraceability : kemampuan utk menelusuri representasi: kemampuan utk menelusuri representasi
perancangan atau komponen program aktual, kembali keperancangan 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 sistempengguna yg baru dalam mengaplikasikan sistem
10. SQA @ BertaSQA @ Berta 1010
BIAYA KUALITAS PERANGKAT LUNAKBIAYA KUALITAS PERANGKAT LUNAK
Semua biaya utk mengejar kualitas atau utk menampil-Semua biaya utk mengejar kualitas atau utk menampil-
kan kualitas yg berhubungan dgn aktifitas.kan kualitas yg berhubungan dgn aktifitas.
– Biaya pencegahanBiaya pencegahan
Perencanaan kualitasPerencanaan kualitas
Review teknis formalReview teknis formal
Perlengkapan pengujianPerlengkapan pengujian
PelatihanPelatihan
11. SQA @ BertaSQA @ Berta 1111
BIAYA KUALITAS PERANGKAT LUNAKBIAYA KUALITAS PERANGKAT LUNAK
(lanj.)(lanj.)
– Biaya penilaian meliputi aktifitas memperolehBiaya penilaian meliputi aktifitas memperoleh
wawasan mengenai kondisi produk pertama kali padawawasan mengenai kondisi produk pertama kali pada
masing2 proses, meliputimasing2 proses, meliputi
Inspeksi in-proses & interprosesInspeksi in-proses & interproses
Pemeliharaan & kalibrasi peralatanPemeliharaan & kalibrasi peralatan
PengujianPengujian
– Biaya kegagalan adalah biaya yg akan hilang bilaBiaya kegagalan adalah biaya yg akan hilang bila
tidak ada cacat yg muncul sebelum produktidak ada cacat yg muncul sebelum produk
disampaikan kepada pelanggandisampaikan kepada pelanggan
12. SQA @ BertaSQA @ Berta 1212
BIAYA KUALITAS PERANGKAT LUNAKBIAYA KUALITAS PERANGKAT LUNAK
(lanj.)(lanj.)
Biaya kegagalan internal adl biaya yg diadakanBiaya kegagalan internal adl biaya yg diadakan
bila kita mendeteksi kesalahan dlm produkbila 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 ygBiaya kegagalan eksternal adl biaya yg
berhubungan dg cacat yg ditemukan setelahberhubungan dg cacat yg ditemukan setelah
produk disampaikan pada pelanggan, meliputiproduk disampaikan pada pelanggan, meliputi
– Resolusi keluhanResolusi keluhan
– Penggantian & pengembalian produkPenggantian & pengembalian produk
– DukunganDukungan help linehelp line
– Kerja jaminanKerja jaminan
13. SQA @ BertaSQA @ Berta 1313
SQASQA
Merupakan kegiatan yg terpola secara sistematis danMerupakan kegiatan yg terpola secara sistematis dan
terencana, yg dibutuhkan utk menjamin kualitas suatuterencana, yg dibutuhkan utk menjamin kualitas suatu
perangkat lunak.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
14. SQA @ BertaSQA @ Berta 1414
SQA (lanj.)SQA (lanj.)
SQA dimulai dgn sekumpulan alat & metode teknis ygSQA dimulai dgn sekumpulan alat & metode teknis yg
membantu analis utk mendapatkan spesifikasi yg berkualitasmembantu analis utk mendapatkan spesifikasi yg berkualitas
tinggi & bagi perancang utk merancang dg kualitas tinggitinggi & bagi perancang utk merancang dg kualitas tinggi
Setelah spesifikasi & desain dibuat, ditetapkan kualitasnya dgSetelah spesifikasi & desain dibuat, ditetapkan kualitasnya dg
melakukan review teknis formal.melakukan review teknis formal.
Pengujian per. Lunak mengkombinasikan langkah2 strategiPengujian per. Lunak mengkombinasikan langkah2 strategi
dg metode rancangan test-case yg dpt menjamindg metode rancangan test-case yg dpt menjamin
pendeteksian kesalahan secara efektif.pendeteksian kesalahan secara efektif.
Jika terdapat standar yg formal, berarti harus dapat dijaminJika terdapat standar yg formal, berarti harus dapat dijamin
bahwa standar tsb diikuti.bahwa standar tsb diikuti.
15. SQA @ BertaSQA @ Berta 1515
SQA (lanj.)SQA (lanj.)
Pengontrolan perubahan dilakukan selama pembuatan per.Pengontrolan perubahan dilakukan selama pembuatan per.
Lunak & pada tahap pemeliharaan. Setiap perubahan dptLunak & pada tahap pemeliharaan. Setiap perubahan dpt
menyebabkan kesalahan & efek lain yg akan menyebabkanmenyebabkan kesalahan & efek lain yg akan menyebabkan
kesalahan jg.kesalahan jg.
Pengukuran terhadap per. Lunak mencakup pengukuranPengukuran terhadap per. Lunak mencakup pengukuran
secara manajemen & teknissecara manajemen & teknis
Penyimpanan hasil dari review, audit, pengontrolanPenyimpanan hasil dari review, audit, pengontrolan
perubahan, pengujian dyl sebagai bagian dari record historisperubahan, pengujian dyl sebagai bagian dari record historis
utk suatu proyek dan didesiminasikan kpd para stafutk suatu proyek dan didesiminasikan kpd para staf
pengembangan sbg ‘dasar utk mereka ketahui’pengembangan sbg ‘dasar utk mereka ketahui’
16. SQA @ BertaSQA @ Berta 1616
REVIEW PERANGKAT LUNAKREVIEW PERANGKAT LUNAK
Merupakan filter pada proses pembuatan perangkatMerupakan 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 dariReview – suatu cara penggunaan perbedaan2 dari
sekompok orang untuksekompok orang untuk
– Menentukan peningkatan kebutuhan produk dariMenentukan peningkatan kebutuhan produk dari
seseorang atau timseseorang atau tim
– Konfirmasi setiap bagian dari produk dimana peningkatanKonfirmasi setiap bagian dari produk dimana peningkatan
tsb diinginkan atau tidak diinginkantsb diinginkan atau tidak diinginkan
– Mencapai kerja teknis yg seragam, ataupun dapat lebihMencapai kerja teknis yg seragam, ataupun dapat lebih
diprediksi, daripada tanpa reviewdiprediksi, daripada tanpa review
17. SQA @ BertaSQA @ Berta 1717
PERTEMUAN PADA REVIEW TEKNISPERTEMUAN PADA REVIEW TEKNIS
FORMALFORMAL
BatasannyaBatasannya
– Antara 3 & 5 orang yg terlibat : pemimpin review, pereview &Antara 3 & 5 orang yg terlibat : pemimpin review, pereview &
produsenprodusen
– 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 (spesifikasiFokus : produk, komponen program (spesifikasi
kebutuhan, perancangan modul detail, listing koding utkkebutuhan, perancangan modul detail, listing koding utk
setiap modulsetiap 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
18. SQA @ BertaSQA @ Berta 1818
PENDOKUMENTASIAN PADA REVIEW TEKNISPENDOKUMENTASIAN PADA REVIEW TEKNIS
FORMALFORMAL
Laporan review harus dapat menjawabLaporan 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 memanduMenyediakan checklist setiap item kegiatan yg dapat memandu
produsen utk melakukan perbaikanprodusen utk melakukan perbaikan
19. SQA @ BertaSQA @ Berta 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 utkMemberitahukan 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 awalMembatasi jumlah partisipan & menekankan persiapan awal
Membuat checklist utk setiap produk yg direviewMembuat checklist utk setiap produk yg direview
Mengalokasikan sumber daya & waktu yg terjadual utk reviewMengalokasikan sumber daya & waktu yg terjadual utk review
berikutnyaberikutnya
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)