💻

Pemahaman Kualitas Perangkat Lunak

Aug 6, 2024

Kuliah Kualitas Perangkat Lunak

Topik Hari Ini

  • Definisi software quality dan quality assurance
  • Pengulangan materi dari perkuliahan sebelumnya

Definisi Software

  • Software: Kumpulan program, prosedur, dan dokumentasi yang terkait dengan sistem komputer.
    • Empat komponen software:
      1. Program
      2. Prosedur
      3. Dokumentasi (wajib)
      4. Data yang dioperasikan oleh software

Terminologi dalam Software Quality

  • Error: Kesalahan dalam pemrograman yang dapat mempengaruhi fungsionalitas software.
  • Fault: Kesalahan yang menyebabkan software tidak berfungsi dengan baik.
  • Failure: Ketidakberhasilan software untuk memenuhi harapan pengguna.

Hubungan antara Error, Fault, dan Failure

  • Error dapat menyebabkan Fault, yang kemudian dapat menyebabkan Failure.
  • Tidak semua Fault akan menyebabkan Failure yang terlihat dalam penggunaan software.

Penyebab Software Error

  1. Kesalahan dalam definisi kebutuhan (requirements).
  2. Komunikasi yang buruk antara pengembang dan klien.
  3. Penyimpangan dari persyaratan software.
  4. Desain yang salah.
  5. Kesalahan dalam pengkodean.
  6. Proses pengujian yang tidak memadai.
  7. Dokumentasi yang tidak sesuai standar.

Definisi Software Quality

  • Software Quality: Derajat di mana komponen sistem atau proses memenuhi persyaratan tertentu.
  • Kualitas mengacu pada:
    • Pemenuhan kebutuhan pengguna.
    • Standar fungsional dan performa yang ditetapkan.
    • Kebebasan dari defisiensi.

Definisi Menurut Beberapa Sumber

  • Tripoli: Kualitas adalah kesesuaian dengan persyaratan yang dinyatakan.
  • Pressman: Kualitas mencakup kesesuaian dengan persyaratan fungsional dan dokumen standar.

Quality Assurance vs. Quality Control

  • Quality Assurance (QA):

    • Proses sistematis untuk menjamin kualitas software.
    • Fokus pada proses pengembangan untuk memastikan produk yang dihasilkan berkualitas.
  • Quality Control (QC):

    • Evaluasi kualitas produk yang telah selesai.
    • Fokus pada output akhir dari pengembangan.

Tantangan dalam Kualitas Software

  • QA sering diabaikan dalam pengembangan software meskipun penting.
  • Pengembang sering fokus pada kecepatan pengembangan tanpa memperhatikan proses yang tepat.

Kesimpulan

  • Pentingnya memahami perbedaan antara QA dan QC dalam pengembangan software.
  • QA mengedepankan proses untuk menghasilkan produk yang baik, sedangkan QC berfokus pada evaluasi produk akhir.

Diskusi

  • Jika ada pertanyaan, silakan diskusikan di grup atau saat sesi diskusi.