Selasa, 22 Mei 2018

KUALITAS PERANGKAT LUNAK


KUALITAS PERANGKAT LUNAK


1.      KONSEP KUALITAS 

Kontrol variasi merupakan inti dari kontrol kualitas. Pemanufaktur ingin meminimalkan variasi antara produk yang mereka buat, bahwa dalam hal kecil sekalipun, seperti menduplikasi disket. Kita ingin meminimalkan variasi diantara pasangan disket yang identik. Tentu saja ini bukan masalah. Menduplikasi disket merupakan operasi produksi yang sangat mudah, dan  kita dapat menjamin bahwa duplikat perangkat lunak yang tepat selalu dapat dibuat.

Bagaimana organisai pengembangan perangkat lunak melakukan kontrol variasi? Dari satu proyek keproyek lain, kita perlu meminimalkan perbedaan antara sumber-sumber daya yang diharakan menyelesaikan subuah proyek dengan sumberdaya aktual yang digunakan. Termasuk penataan staf, perlengkapan dan waktu kalender. Kita tidak hanya perlu meminimalkan jumlah cacat yang dilepas kemedan, tetapi kita juga harus memastikan bahwa varian dalam jumlah bug juga telah diminimalkan dari satu pelepasan kepelepasan lain. Kita perlu meminimalkan perbedaan dan akurasi hotline pendukung yang merespon masalah pelanggan.

1.1  Kualitas
American Heritage Dictionary mendefinisikan sebagai “sebuah karakteristik atau atribut dari sesuatu”. Kualitas mengacu pada karakteristik yang dapat diukur, sesuatu yang dapat dibandingkan dengan standar yang sudah diketahui, seperti panjang, warna, sifat kelisterikan, kelunakan dan sebagainya.
Bila kita mengamati sebuah item dangan didasarkan pada sifat pengukurannya, ada 2 jenis kualitas yang ada, yaitu:
a.       Kualitas desain
Mengacu pada karakteristis yang ditentukan oleh desainer terhadap suatu item tertentu. Nilai material, toleransi, dan spesifikasi kinerja, semuanya memberikan kontribusi terhadap kualitas desain.
b.      Kualitas konfirmasi
Adalah tingkat dimana spesifikasi desain terus diikuti selama pembuatan

1.2  Kontrol Kualitas
kontrol variasi dapat disamakan dengan kontrol kualitas. Kontrol kualitas merupakan serangkaian pemeriksaan, kajian dan pengujian yang digunakan pada keseluruahn siklus pengembangan untuk memastikan bahwa setiap produk memenuhi persyaratan yang ditetapkan. Kontol kualitas mencangkup loop umpan balik pada proses yang menciptakan produk kerja.
Konsep kunci kualitas kontrol adalah bahwa semua produk kerja memiliki spesifikasi yang telah ditentukan dan dapat diukur dimana kita dapat membandingkan autput dari setiap proses.

1.3  Jaminan Kualitas
jaminan kualitas terdiri atas fungsi auditing dan pelaporan manajemen. Tujuan jaminan kualitas adalah untuk memberikan data yang diperlukan oleh manajemen untuk menginformasikan masalah kualitas produk, sehingga dapat memberikan kepastian dan konfidensi bahwa kualitas produk dapat memenuhi syarat.




1.4  Buaya Kualitas
Buiaya kulitas menyangkut semua biaya yang diadakan untuk mengejar kualitas atau untuk menampilkan kualitas yang berhubungan dengan aktivitas. Biaya kualitas dapat dibagi kedalam biaya – biaya yang dihubungkan dengan pencegahan, penelitian, dan kegagalan.
Biaya pencegahan meliputi:
a.       Perencanaan kualitas
b.      Kajian teknis formal
c.       Perlengkapan pengujian
d.      Pelatihan
Biaya penelitaian meliputi aktivitas untuk memperoleh wawasan mengenai kondisi produk ”pertama kali” pada masing-masing proses. Contoh biaya ini meliputi:
a.       Inspeksi in-proses dan interproses
b.      Pemeliharaan dan kalibrasi peraltan
c.       Pengujian
Biaya kegagaln adalah biaya yang akan hilang biala tidak ada cacat yang muncul sebelum produk disampaikan kepada pelanggan. Biaya kegagalan dapat dibagi menjadi biaya kegagalan internal, yaitu biaya yang diadakan bila kita mendeteksi suatu kesalahan dalam produk sebelum produk dipasarkan. Yang meliputi : pengerjaan kembali, perbaikan, analisis model kegagalan.
Biaya kegagalan eksternal adalah biaya yang berhubungan dengan cacat yang ditemukan setelah produk disampaikan kepada pelanggan. Contoh biaya kegagalan eksternal meliputi: resolusi keluhan, penggantian dan pengembangan produk, dukungan help line, dan kerja jaminan.
2.      PERGERAKAN KUALITAS

Para manajer senior mengetahui bahwa kualitas produk yang tinggi diterjemahkan kedalam penghematan biaya dan peningkatan garis dasar. Meskipun istilah yang digunakan perusahaan berbeda-bada, ada 4 langkah kemajuan dasar yang biasanya ditemui dan menjadi fokus dari banyak program TQM (Total Quality Management) yang baik :

Langkah pertama disebut kaizen, yang mengacu pada sistem peningkatan proses yang kontinu. Tujuannya adalah mengembangkan sebuah proses perangkat lunak yang kelihatan, dapat diulang dan dapat ditukar.

Langkah kedua disebut antarimae hinshitsu, langkah ini mengamati hal yang tidak terlihat yang mempearuhi proses, dan bekerja untuk mengoptimasi pengaruhnnya terhadap proses tersebut.

Langkah pertama dan kedua berfokus pada proses. Pada proses langkah ketiga disebut kansei (“lima indra”), berkonsentrasi pada pemakai produk perangkat lunak.
Langkah terakhir disebut miyokuteki hinshitsu. Langkah ini merupakan langkah yang berorientasi pada bisnis yang mencari peluang dalam area yang berkaitan, yang dapat di identifikasi dengan mengamati penggunaan produk dipasar.

3.      JAMINAN KUALITAS PERANGKAT LUNAK

Kualitas perangkat lunak didefinisikan : sebagai konformasi terhadap kebutuhan fungsional dan kinerja yang dinyatakan secara eksplisit, standar perkembangan yang didokumentasikan secara eksplisit, dan karakteristik implisit yang diharapkan bagi semua perangkat lunak yang dikembangakan.

3.1  Masalah – Masalah Latar Belakang
juminan kualitas merupakan aktifitas mendasar bagi banyak bisnis yang menghasilkan produk yang akan digunakan oleh orang lain. Kelompok SQA berfungsi sebagai perwakilan in-house  pelanggan, yanitu orang yang akan melakukan SQA harus memperhatikan perangkat lunak dari sudut pandang pelanggan.

3.2  Aktivitas SQA
tugas kelompuk SQA adalah membantu tim rekayasa perangkat lunak dalam mencari produk akhir yang berkualitas tinggi. Berikut ini aktivitas SQA:
a.       menyimpan rencana SQA untuk suatu produk
rencana tersebut mengidentifikasi hal-hal ini: evaluasi yang dilakukan, audit dan kajian yang dilakukan, standar yang dapat diaplikasikan pada proyek, prosedur untuk pelaporan dan penelusuran kesalahan, dokumen yang dihasilkan oleh kelompok SQA, dan jumlah umpan baik yang diberikan pada tim proyek perangkat lunak.
b.      Berpartisipasi dalam pengembangan diskripsi proses pengembangan proyek.
c.       Mengkaji aktivitas rekayasa perangkat lunak yang sudah ditentukan.
d.      Mengaudit produk kerja perangkat lunak yang ditentukan untuk membuktikan kesesuaian dengan produk kerja yang ditentukan tersebut sebagai bagian dari proses perangkat lunak.
e.       Memastikan bahwa deviasi pada kerja dan produk kerja perangkat lunak didokumentasi dan ditangani sesuai prosedur pendokumentasi.
f.       Mencatat ketidak kesesuain dan melaporkannya kepada menajemen senior.

4.      KAJIAN PERANGKAT LUNAK

Kajian perangkat lunak adalah suatu “filter” bagi proses rekayasa perangkat lunak, yaitu kajian yang diterapkan pada berbagai titik selama pengembangan perangkat lunak dan berfungsi untuk mencari kesalahan yang kemudian akan dihilangkan.

Kajian teknis diperlukan kerena meskipun menusia sangat jeli dalam melihat kesalahan mereka sendiri, kajian teknis formal adalah filter yang paling efektif dari suatu titik jaminan kualitas.

4.1  Pengaruh Biaya Cacat Terhadap Perangkat Lunak
IEEE Standard Dictionary of Electrical and Electronics Terms (IEEE Standard 100-1992) mendefinisikan cacat sebagai “suatu anomali produk”. Dalam konteks proses perangkat lunak, bentuk “cacat” (defect) dan “kesalahan” (fault) dalam sinoim. Keduanya mengimplementasikan maslah kualitas yang ditemukan setelah perangkat lunak diluncurkan kepada pemakai akhir.

Tujuan utama kajian teknis formal adalah untuk menemukan kesalahan selama proses, sehingga mereka benar-benar sudah cacat setelah dilepas kepada pemakai akhir. Keuntungan utama kajian teknis formal adalah penemuan kesalahan sejak awal sehingga tidak berlanjut kelangkah selanjutnya dalam proses perngkat lunak.

4.2  Penguatan Dan Penghilangan Cacat
model penguatan cacat dapat digunakan untuk menggambarkan pemunculan dan pedeteksian kesalahan semala desain awal, desain detail, dan langakh pengkodean proses rekayasa perangkat lunak.
5.      KAJIAN TEKNIK FORMAL

Kajian teknik formal (FTR) adalah aktivitas jaminan kualitas perangkat lunak dan dilakukan oleh perekayasa perangkat lunak. Tujua FTR adalah:
a.       Menemukan kesalahan dalam fungsi, logika, atau implementasinya dalam berbagai representasi perangkat lunak.
b.      Membuktikan bahwa perangkat lunak disajikan sesuai dengan standar yang sudah ditentukan sebelumnya.
c.       Membuktikan bahwa perangkat lunak dibawah kajian memenuhi syarat.
d.      Mencapai perangkat lunak yang dikembangakn dengan cara yang seragam
e.       Membuat proyek lebih dapat dikelola.

5.1  Pertemuan Kajian
setiap pertemuan kajian harus mematuhi batasan-batasan berikut:
a.       antara 3 dan 5 orang harus dilibatkan dalam kajian.
b.      Persiapan awal harus dilakukan, tetapi eaktu yang dibutuhkan harus tidak lebih dari dua jam dari kerja bagi setiap person.
c.       Durasi pertemuan kajian harus kurang dari 2 jam.

Faktor FTR adalah pada produk kerja, kompunen perangkat lunak, infividu yang telah mengembangkan produk kerja, prosedur, memberitahu pimpinan proyek bahwa produk kerja telah selesai dan membutuhkan kajian.
Pertemuan kajian dihadiri oleh pimpinan kajian, pengkaji, dan prosedur. Salah satunya berperan sebagai pencatat. FTR dimulai dengan pengenalan agenda dan pendahuluan dari produser. Produser kemudian meneruskannya dengan “berjalan melalui” produk kerja tersebut, menjelaskan materi yang ada, sementara para pengkaji menunculkan masalah berdasarkan persiapan awal mereka.

Pada akhirnya semua peserta FTR yang hadir harus memutuskan apakah akan :
a.       Menerima produk kerja tanpa modifikasi lebih lanjut.
b.      Menolak produk kerja sehubungan kesalahan yang ada.
c.       Menerima produk kerja secara sementara.

5.2  Pelaporan Kajian Dan Penyimpanan Rekaman
laporan rangkaian kajian yang telah diselesaikan yang merupakan jawaban dari 3 pertanyaan ini:
a.       apa yang dikaji?
b.      Siapa yang melakukan?
c.       Penemuan apa yang dihasilkan dan apa kesimpulannya?
Daftar masalah kajian mempunya 2 tujuan : (1) mengidentifikasi area masalah pada produk. Dan (2) berfungsi sebagai daftar item kegiatan yang menjadi petunjuk bagi produser saat koreksi dilakukan.
5.3  Pedoman Kajian
a.       Kajian produk, bukan prosedur
Pimpinan kajian harus meminpin pertemuan untuk memastikan bahwa sikap dan nada yang tepat tertap terjaga
b.      Menetapkan agenda dan menjaganya.
c.       Membatasi perdebatan dan bantahan
d.      Menentukan area masalah, tetapi tidak tergoda untuk menyelesaikan setiap masalah yang dicatat.
e.       Mengambil cacatan tertulis
f.       Membatasi jumlah perseta dan mewajibkan persiapan awal.
g.       Mengambakan daftar bagi masing-masing produk kerja yang akan dikaji.
h.      Mengalokasikan sumber-sumber daya dan jadwal waktu untuk FTR.
i.        Melakukan peatihan bagi semua pengkaji
j.        Mengkaji kajian awal.

6.      PENDEKATAN FORMAL TERHADAP SQA

Kualitas dapat ditetapkan dalam bentuk array faktor kualitas yang luas dan diukur dengan menggunakan berbagai indeks dan matrik.

7.      JAMINAN KUALITAS STATISTIK (SQA)

Jaminan kualitas statistik mengimpelikasikan langkah-langkah berikut:
a.       Informasi tentang cacat perangkat lunak dikumpulkan dan dipilih-pilih.
b.      Melakukan suatu usaha untuk menelusuri masing-masing cacat sampai ke penyebab pokoknya.
c.       Dengan menggunakan prinsip pareto.
d.      Sekali penyebab vital few teleh diidentifikasi, beralih untuk membetulkan masalah yang menyebabkan cacat.

Meskipun ratusan kesalahan yang berbeda ditemukan, semuanya dapat ditelusuri dari satu atau lebih penyebab berikut: IES, MCC, IDS, VPS, EDRIMI, EDL, IMI, IED, IID, PLT, HCI, dan MIS. Setelah analisis, desain, penkodean, pengujian, dan peluncuran, dikumpulkan data-data berikut:
Ei = jumlah kesalah total yang ditemukan selama langkah ke i dalam proses rekayasa perangkat lunak.
Si = jumlah kesalahan serius
Mi = jumlahke salahan  moderat
Ti = jumlah kesalahan minor
PS = ukuran produk (LOC, pernyataan desain, halaman dokumentasi) pada langkah ke i.

Ws,Wm,Wt = faktor pembobotan untuk kesalahan kerius, moderat, dan sepele, dimana harga yang disetujui adalah Ws=10, Wm=3, Wt=1. Pada masing-masing proses rekayasa perangkat lunak, indeks fase, Pi, dihitung sebagai:
Pii=Ws(Si/Ei) + Wm(Mi/Ei) + Wt(Ti/Ei)
Indeks kesalahan (EI) dihitung dengan menghitung pengaruh kumulatif atau pengaruh masing-masing PI.
EI=E(ixPIi)/PS
   =(PI1+2PI2+3pI3+iPIi)/ PS

8.      RELIABILITAS PERANGKAT LUNAK

Realibilitas perangkat lunak didefinisikan dalam bentuk statisktik sebagai “kemungkinan operasi program komputer bebas kegagalan dalam suatu lingkungan tertentu dan waktu tertentu”. Kegagalan adalah ketidak sesuaian dengan kebutuha perangkat lunak.


8.1  Pengukuran Relibilitas Dan Availabilitas
semua kegagalan perangkat lunak dapat ditelusuri kedalam desain atau masalah implementasi dan keusangan. Bila kita andaikan suatu sistem yang berbasis komputer, pengukuran reliabilitas secara sederhana adalah berupa mean time berween failure (MTBF), dimana:
MBTF= MTTF + MTTR
(akronim MTTF adalam mean time to failure dan MTR berarti mean time to repair)

Availabilitas perangkat lunak adalah kemungkinan sebuah program beroperasi sesuai dengan kebutuhan pada suatu titik yang diberikan pada suatu waktu dan didentifikadikan sebagai :
Availibilitas = MTTF / (MTTF + MTTR) x 100%

8.2  Keamanan Perangkat Lunak Dan Analisis Resiko
keamanan perangkat lunak dan analisis resiko adalah aktivitas jaminan kualitas perangkat lunak yang berfokus pada identifikasi dan penilaian resiko potensial yang mungkin berpengaruh negatif terhadap perangkat lunak dan menyebabkan seluruh sistem menjadi gagal.
Setelah resiko tingkat sistem di identifikasi, maka digunakan teknik analisis untuk menandai kehebatan dan probabilitas event. Supaya efektif, perangkat lunak harus dianalisis dalam konteks kesluruhan sistem. Teknik analisis seperti analisis pohon kegagalan, logika real-time, atau model petrinet, dapat digunakan untuk memprediksi rantai event yang dapat mengakibatkan resiko dan kemungkinan dimana setiap event akan terjadi untuk menciptakan rantai.

Analisis pohon kesalahan membangun model grafis dan kombinasi event yang konkuren dan berurutan yang dapat menyebabkan suatu event atau sistem yang perlu resiko. Logika real-time (RTL) membangun sebuah model sistem dengan menentukan event dan aksi yang sesuai. Model event-action dapat dianalisis dengan menggunakan operasi logika untuk menguji tuntutan keamanan sepuer komponen sistem dan timingnya. Model pertinet dapat digunakan untuk menentukan keksalahan yang paling beresiko.

9.      RENCANA SQA

SQA Plan menjadi peta jalan untuk membangun jaminan kualitas perangkat lunak. Dikembangan oleh kelompok SQA dan tim proyek, rncana itu berfungsi sebagai template bagi aktivitas SQA yang dibangun untuk setiap proyek perangkat lunak. Bagian dokumentasi menggambarkan masing-masing produk kerja yang dihasilkan sebagai bagian dari proses perangkat lunak, mencangkup hal-hal berikut:
a.       Dokumen proyek (misalnya : rencana proyek)
b.      Model (misalnya : hirarki kelas ERD)
c.       Dokumen teknis (misalnya : spesifikasi, rencana pengujian)
d.      Dokumen pemakai (misalnya : file-file help)
Bagaimana kajian dan audi dari rencana mengidentifikasi kajian dan audit yang akan dilakukan oleh tim rekayasa perangkat lunak, kelompok SQA, dan pelanggan. Bagian pengujian merupakan rencana dan prosedur pengujian perangkat lunak. Bagian ini juga menentukan kebutuhan penyimpanan rkaman pengujian, pelaoran masalah dan tindakan korektif menemukan prosedur untuk pelaporan, pelacakan, dan pembetulan kesalahan serta cacat. Bagian akhir rencana SQA adalah mengidentifikasi peranti dan model yang mendukung aktivitas dan tugas-tugas SQA.
10.  STANDAR KUALITAS ISO 9000

Sistem jaminan kualitas dapat diidentifikasikan sebagai struktur, tanggung jawab, prosedur, proses, dan sumber- seumber daya organisasi untuk mengimplementasi manajemen kualitas. ISO 9000 menjelaskan elemen jaminan kualitas dalam bentuk umum yang dapat diaplikasikan pada berbagai bisnis tanpa memandang produk jasa yang ditawarkan.

10.1          Pendekatan ISO Terhadap Sistem Jaminan Kualitas
model jaminan kualitas ISO 9000 memperlakukan perusahaan sebagai jaminan proses yang saling terhubung (interkoneksi). Suatu sistem kualitas, supaya sesuai denga ISO, proses-prosesnya harus menekankan pada area yang telah diidentifikasi pada standar ISO. Dan harus didokumentasi dan di praktekkan.
ISO 9000 menggambarkan elemen sebuah sistem jaminan kualista secara umum, elemen-elemen tersebut mencangkup struktur, prosedur, proses, organisasi, dan sumberdaya yang dibutuhakan untuk mengimplementasi rancana kualitas. Kontrol kualitas, jaminan kualitas, dan pengembangan kualitas. Tetapi ISO 9000 tidak menggambarkan bagaimana organisasi seharusnya mengimplementasi elemen-elemen kualitas tersebut. Sebagai konsekuensi, adanya tantangan dalam mendesain dan mengimplementasi suatu sistem jaminan kualitas yang memenuhi standar dan sesuai denga produk layanan dan budaya perusahaan.

10.2          Standar ISO 9001
ISO 9001 adalah standar jaminan kualitas yang berlaku untuk rekayasa perangkat lunak. Standar tersebut berisi 20 syarat yang harus ada untuk mencapai sistem jaminan kualitas yang efektif. 20 syarat yang gigambarkan oleh ISO 9001 menekankan topik-topik berikut:
a.       tanggung jawab manajement
b.      sistem kualitas
c.       kajian kontrol
d.      kontrol desain
e.       kontrol data dan dokument
f.       pemelian
g.       kontrol terhadap produk yang disuplay oleh pelanggan
h.      identifikasi dan kemampuan menelusuri produk
i.        kontrol proses
j.        pemeriksaan dan pengujian
k.      kontrol pemeriksaan, pengukuran, dan pelengkapan pengujian
l.        pemeriksaan dan status pengujian
m.    kontrol ketidak sesuaian produk
n.      tindakan preversif dan korektif
o.      penganganan, penyimpanan, pengepakan, preservasi, dan penyampaian
p.      kontrol terhadap cacatan kualitas
q.      audit kualitas internal
r.        pelatihan
s.       pelayanan
t.        teknik statistik