Software Quality

 

Rekayasa Perangkat Lunak (RPL)

Software Quality


Anggota Kelompok

  1. Aisha Inda Fajrani

  2. Muhammad Fachri

  3. Caesar Abdurrahman


  1.  Bagaimana Cara Mengukur Kualitas Software Secara Mendetail?

Mengukur kualitas perangkat lunak adalah proses penting untuk memastikan bahwa software yang dikembangkan memenuhi kebutuhan pengguna dan standar industri. Terdapat dua pendekatan utama yang umum digunakan:

A. Pengukuran Berdasarkan Produk (Product Quality Metrics)

Pengukuran ini berfokus pada apa yang dihasilkan, yaitu software itu sendiri. Kualitas dilihat dari karakteristik produk jadi, bukan bagaimana proses pembuatannya.

Model-model yang digunakan:

  • McCall’s Factor Model

  • Boehm’s Model

  • ISO 9126

a. Contoh dari McCall’s Model:

  • McCall membagi kualitas software menjadi beberapa faktor, misalnya:

  • Correctness : Seberapa baik software memenuhi kebutuhan.

  • Reliability : Kemampuan software bekerja stabil.

  • Usability : Seberapa mudah digunakan oleh user.

  • Efficiency : Optimalitas dalam penggunaan resource (CPU, RAM).

  • Maintainability : Kemudahan dalam melakukan pemeliharaan.

Setiap faktor ini terdiri dari beberapa kriteria. Misalnya, untuk Usability, kriterianya:

  • Communicativeness: Apakah antarmuka mudah dimengerti.

  • Operability: Seberapa lancar software digunakan.

  • Training: Seberapa mudah pengguna baru belajar menggunakannya.

b. Langkah-Langkah Pengukuran:

  1. Tentukan kriteria untuk setiap faktor yang ingin diukur.

  2. Tentukan bobot (weight) untuk masing-masing kriteria, sesuai tingkat pentingnya (misalnya: w1 = 0.3, w2 = 0.5, dll).

  3. Beri nilai (skor) tiap kriteria (misal, dari skala 0–10).

  4. Gunakan rumus penghitungan:
    Fa​ = w1 ​× c1 ​+ w2​ × c2​+...+ wn ​× cn​

 Di mana:

  • Fₐ = Nilai total faktor

  • w = Bobot

  • c = Nilai/skor dari masing-masing kriteria

  1. Analisis hasilnya: Semakin tinggi nilai faktor, semakin baik kualitas dari aspek tersebut.

B. Pengukuran Berdasarkan Proses (Process Quality Metrics)

Fokusnya bukan pada produk akhir, tapi pada cara kerja/prosedur saat pengembangan software dilakukan. Tujuannya adalah menjamin bahwa prosesnya berkualitas sehingga hasil akhir juga berkualitas.

Model-model yang digunakan:

  • CMMI (Capability Maturity Model Integration)

  • ISO 9001

  • Lean Six Sigma

CMMI, misalnya:

  • Memberikan kerangka kerja untuk menilai dan memperbaiki proses pengembangan software.

  • Menilai kematangan (maturity) dari proses dalam organisasi melalui 5 level (lihat poin 2 di bawah).

2. Jelaskan dengan mendetail masing-masing level dari CMMI?

CMMI atau Capability Maturity Model Integration adalah sebuah model yang membantu perusahaan untuk mengevaluasi dan meningkatkan proses kerja mereka, terutama dalam pengembangan perangkat lunak. Tujuan dari CMMI adalah memastikan proses kerja dilakukan secara teratur, efisien, dan menghasilkan produk yang berkualitas. Dalam CMMI, terdapat lima level atau tingkatan kematangan proses. Setiap level menunjukkan sejauh mana perusahaan telah mengatur dan menyempurnakan cara kerjanya.

  1. Level 1 : Initial (Awal)

Pada level ini, perusahaan belum memiliki proses kerja yang terstruktur. Semua aktivitas dilakukan berdasarkan kebiasaan masing-masing individu atau tim, tanpa panduan atau prosedur yang jelas. Karena tidak ada standar yang diikuti, hasil pekerjaan seringkali tidak konsisten, sulit diulang, dan sangat bergantung pada kemampuan personal. Jika orang yang berpengalaman keluar, maka proses bisa berantakan. Perusahaan di level ini cenderung sering mengalami masalah seperti keterlambatan proyek, kualitas produk yang buruk, dan pemborosan sumber daya. Contoh: Seorang programmer langsung membuat kode berdasarkan pengalamannya sendiri tanpa dokumentasi, dan tim lain tidak tahu harus mulai dari mana jika dia tidak ada.

  1.  Level 2 : Repeatable (Bisa Diulang)

Pada level ini, perusahaan mulai memiliki prosedur dasar yang digunakan secara berulang untuk mengelola proyek. Ada manajemen proyek, jaminan kualitas, serta kontrol terhadap hasil kerja. Walaupun prosedur belum sempurna dan belum berlaku merata di seluruh bagian organisasi, proses yang dilakukan sudah lebih teratur dan dapat diulang untuk proyek lain. Perusahaan juga mulai mencatat pekerjaan mereka dan membuat standar dasar agar pekerjaan bisa dilakukan dengan lebih konsisten. Contoh: Sebuah tim pengembang memiliki panduan langkah-langkah membuat aplikasi dan laporan hasil kerja, meskipun belum semuanya mengikuti standar yang sama.

  1.  Level 3 : Defined (Terdefinisi)

Pada level ini, semua proses kerja sudah terdefinisi dengan baik dan terdokumentasi secara menyeluruh. Proses tersebut sudah dijadikan standar organisasi dan diterapkan secara merata oleh seluruh tim. Karyawan mendapatkan pelatihan tentang cara kerja yang sesuai dengan prosedur yang telah dibuat. Tujuan dari level ini adalah membuat semua orang di organisasi bekerja dengan cara yang sama, sehingga tidak ada lagi ketergantungan pada individu tertentu. Proses pengembangan, pengujian, dokumentasi, hingga evaluasi, semua dijalankan sesuai panduan bersama. Contoh: Ketika ada proyek baru, tim bisa mengikuti prosedur resmi organisasi dari awal hingga akhir, tanpa perlu meraba-raba langkah-langkahnya.

  1. Level 4 : Managed (Terkelola)

Perusahaan pada level ini tidak hanya memiliki proses yang terdokumentasi, tetapi juga mulai mengukur dan mengawasi proses-proses tersebut secara kuantitatif. Artinya, perusahaan menggunakan data dan angka untuk menilai seberapa baik proses mereka berjalan. Dengan begitu, mereka bisa memprediksi hasil proyek dan mengetahui apa saja yang perlu diperbaiki. Pengambilan keputusan dilakukan berdasarkan informasi yang akurat, bukan hanya berdasarkan intuisi atau pengalaman semata. Contoh: Tim manajemen memiliki data tentang waktu pengerjaan, jumlah bug, kepuasan pengguna, dan menggunakan data tersebut untuk meningkatkan proses kerja ke depannya.

  1. Level 5 : Optimizing (Pengoptimalan)

Ini adalah level paling tinggi dalam CMMI. Perusahaan di level ini selalu mencari cara untuk memperbaiki proses kerja secara terus-menerus. Mereka tidak hanya puas dengan hasil yang ada, tetapi terus berinovasi untuk menjadi lebih efisien, lebih cepat, dan menghasilkan produk yang lebih baik. Perbaikan dilakukan berdasarkan hasil analisis data dari level sebelumnya, dan perubahan yang dilakukan sudah direncanakan dengan matang dan menyeluruh. Perusahaan juga terbuka terhadap ide-ide baru dan memfasilitasi perubahan secara proaktif. Contoh: Setelah menganalisis hasil proyek sebelumnya, perusahaan menyusun strategi baru, mengembangkan alat bantu otomatis, dan memperbarui pelatihan bagi seluruh karyawan.








0 Komentar