SOFTWARE
QUALITY
TUGAS
KELOMPOK : RPL KELOMPOK 5
·
Angga
Saputra (2415061071)
·
M.
Paundra N. A. (2455061016)
·
Akhmad
Faishal Kharisma (2415061054)
·
M.
Alfaruq Hasan (2415061083)
PERTEMUAN 14
INF620114 REKAYASA PERANGKAT LUNAK
______
DR. ENG. IR. MARDIANA, S.T., M.T.,
IPM
NURRAHMA, M.T.
PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS LAMPUNG
SOAL
:
1. Jelaskan dengan mendetail bagaimana cara mengukur
kualitas
software!
2. Jelaskan dengan mendetail masing-masing level dari
CMMI?
3. Terdapat sebuah kasus sebagai berikut:
•
PT ABC adalah sebuah perusahaan pengembang software
yang
memiliki manajemen yang sudah baik beserta
berbagai
prosedur baku untuk menjalankan prosesnya
•
Perusahaan tersebut juga memiliki jaminan kualitas
terhadap
produk yang dikembangkan
•
Akan tetapi masih mengandalkan 1-2 orang
programmernya
untuk memproduksi software dengan
kualitas
yang baik
Masuk di CMMI level berapakah PT ABC tersebut?
JAWABAN :
1.
Mengukur kualitas software adalah
proses evaluasi yang bertujuan untuk mengetahui sejauh mana perangkat lunak
memenuhi kebutuhan dan harapan baik dari sisi fungsional maupun non-fungsional.
Standar internasional yang umum digunakan sebagai acuan adalah ISO/IEC 25010,
yang mendefinisikan delapan karakteristik utama kualitas perangkat lunak.
Pertama, functional suitability atau kesesuaian fungsi mengukur apakah software
telah menyediakan semua fitur yang dibutuhkan dan apakah fitur-fitur tersebut
bekerja secara benar serta relevan bagi pengguna. Pengukurannya dilakukan dengan
uji fungsional, baik manual maupun otomatis, serta dengan menelusuri
keterkaitan antara kebutuhan pengguna dan implementasi teknis. Selanjutnya
adalah performance efficiency, yang berfokus pada seberapa cepat dan hemat
sumber daya software bekerja. Indikator yang digunakan mencakup waktu respons,
penggunaan sumber daya seperti CPU dan memori, serta throughput atau jumlah
transaksi yang dapat diproses per satuan waktu. Pengujian efisiensi kinerja ini
biasanya dilakukan dengan menggunakan load testing dan profiling tools.
Karakteristik berikutnya adalah compatibility, yakni kemampuan software untuk
berjalan baik di berbagai lingkungan perangkat keras dan lunak, serta
kemampuannya untuk berinteraksi dengan sistem lain. Pengukuran aspek ini
dilakukan melalui pengujian lintas platform dan uji integrasi. Usability atau
kegunaan adalah karakteristik lain yang penting, mengukur sejauh mana software
mudah dipelajari, digunakan, dan membantu pengguna dalam menyelesaikan
tugasnya. Metode pengukurannya meliputi pengujian pengalaman pengguna, survei
kepuasan seperti System Usability Scale (SUS), dan evaluasi heuristik.
Reliability atau keandalan mengukur stabilitas software dalam menjalankan
fungsinya secara konsisten dalam waktu tertentu, termasuk kemampuannya untuk
pulih dari kegagalan. Metrik seperti Mean Time to Failure (MTTF) dan hasil dari
stress testing digunakan untuk menilai aspek ini. Selanjutnya adalah security
atau keamanan, yang mengevaluasi sejauh mana software dapat melindungi data dan
mencegah akses yang tidak sah. Keamanan dapat diuji melalui penetration
testing, analisis kode statis, dan audit kepatuhan terhadap standar seperti
OWASP atau ISO 27001. Maintainability atau kemudahan pemeliharaan menilai
seberapa mudah software dimodifikasi, baik untuk perbaikan bug maupun
penambahan fitur baru. Pengukuran dilakukan dengan melihat kompleksitas kode,
ketercakupan pengujian, dan kemudahan analisis kode. Terakhir, portability atau
portabilitas mengukur kemampuan software untuk diadaptasi dan dijalankan di berbagai
lingkungan. Hal ini mencakup kemudahan instalasi, pemindahan antar platform,
dan penggantian komponen. Pengujiannya dilakukan dengan pengujian di berbagai
sistem serta dengan memastikan adanya proses deployment yang otomatis dan
fleksibel. Untuk mendukung semua pengukuran ini, berbagai tools digunakan,
seperti SonarQube untuk analisis statis, Selenium untuk pengujian otomatis,
hingga New Relic untuk pemantauan performa. Secara keseluruhan, pengukuran
kualitas software yang efektif harus menggabungkan metode kuantitatif berbasis
metrik teknis dan metode kualitatif berbasis pengalaman pengguna agar hasilnya
objektif dan menyeluruh.
2. CMMI adalah kerangka kerja peningkatan proses
yang digunakan untuk menilai kematangan proses organisasi dalam pengembangan
produk atau layanan, termasuk perangkat lunak. Model ini terdiri dari lima
level kematangan (maturity levels) yang mencerminkan seberapa baik suatu
organisasi mengelola dan mengendalikan proses-prosesnya, dari yang paling dasar
hingga yang paling matang dan terukur.
Level
1 – Initial (Tidak Stabil / Tidak Terdefinisi)
Pada level ini, proses organisasi bersifat ad-hoc, tidak terdokumentasi, dan
sangat bergantung pada individu. Keberhasilan lebih ditentukan oleh kemampuan
pribadi, bukan proses yang sistematis. Biasanya, proyek sering melewati batas
waktu, anggaran, dan kualitas karena tidak adanya standar yang konsisten. Tidak
ada jaminan bahwa kesuksesan dapat diulang secara konsisten pada proyek lain.
Level 2 – Managed (Dikelola)
Pada level ini, organisasi mulai mendokumentasikan dan mengelola proses dasar,
khususnya untuk proyek individual. Fokus utamanya adalah pengelolaan proyek
melalui perencanaan, pelacakan, dan kontrol. Praktik-praktik seperti manajemen
kebutuhan, manajemen konfigurasi, jaminan kualitas, dan pengendalian proyek
mulai diterapkan. Proses pada level ini masih bersifat reaktif, tapi sudah
mulai stabil dan bisa diulang pada proyek serupa.
Level 3 – Defined (Terdefinisi)
Di level ini, proses tidak hanya dikelola tetapi juga sudah distandarisasi di
seluruh organisasi. Semua proyek menggunakan proses yang telah ditetapkan
secara organisasional, bukan membuat proses mereka sendiri. Dokumentasi proses
menjadi formal, disesuaikan dengan kebutuhan spesifik proyek melalui tailoring,
dan peningkatan proses mulai dikelola secara sistematis. Adopsi metodologi
rekayasa perangkat lunak yang terstruktur dan pelatihan formal menjadi umum di
level ini.
Level 4 – Quantitatively Managed (Dikelola Secara Kuantitatif)
Organisasi pada level ini menggunakan data dan metrik kuantitatif untuk
memahami dan mengendalikan proses. Tujuan dari pengukuran ini adalah untuk
memastikan proses tetap dalam kendali statistik dan dapat diprediksi.
Organisasi mulai mengukur kinerja proses dan kualitas produk secara rinci,
serta melakukan analisis varian untuk memahami penyebab deviasi. Ini
menciptakan kemampuan untuk membuat keputusan berdasarkan data nyata, bukan
intuisi.
Level 5 – Optimizing (Mengoptimalkan)
Level tertinggi ini fokus pada perbaikan proses secara terus-menerus melalui
inovasi dan teknologi. Organisasi tidak hanya mengukur dan mengendalikan
proses, tetapi juga proaktif dalam mengidentifikasi kelemahan dan
mengimplementasikan perbaikan berbasis data. Root cause analysis digunakan
untuk mengeliminasi penyebab mendasar dari kesalahan, dan organisasi mendorong
eksperimen serta adopsi metode baru guna meningkatkan efisiensi, produktivitas,
dan kualitas secara berkelanjutan.
3.
Perusahaan memiliki manajemen yang
sudah baik beserta berbagai prosedur baku untuk menjalankan prosesnya.”
Ini menunjukkan bahwa proses-proses dasar seperti manajemen proyek, manajemen
kebutuhan, pengendalian versi, serta pengawasan waktu dan anggaran sudah
mulai diterapkan dan terdokumentasi dengan baik. Hal ini
mencerminkan karakteristik CMMI Level 2, di mana organisasi mulai
"mengelola" proses secara terencana pada tingkat proyek,
meskipun belum terstandardisasi secara menyeluruh di tingkat organisasi.
“Perusahaan
tersebut juga memiliki jaminan kualitas terhadap produk yang dikembangkan.”
Adanya quality assurance juga merupakan bagian dari process areas
utama dalam CMMI Level 2, khususnya pada praktik Process and Product
Quality Assurance (PPQA). Ini menunjukkan bahwa PT ABC tidak hanya
mengerjakan proyek, tetapi juga mulai melakukan pemantauan mutu.
“Masih
mengandalkan 1–2 orang programmernya untuk memproduksi software dengan kualitas
yang baik.”
Ini adalah indikasi yang penting. Ketergantungan pada individu tertentu
menandakan bahwa keberhasilan proyek masih sangat dipengaruhi oleh kompetensi
pribadi, bukan oleh sistem proses yang menyeluruh dan repeatable secara
organisasi. Ini menunjukkan bahwa meskipun proses sudah dibakukan secara
minimal, belum sepenuhnya terstandardisasi dan diintegrasikan di seluruh
organisasi, yang merupakan ciri dari CMMI Level 3 – Defined.
Dalam
CMMI Level 3, organisasi sudah tidak tergantung lagi pada individu karena
proses sudah terdefinisi, terdokumentasi, dan digunakan secara konsisten di
semua proyek. Ketergantungan pada individu adalah sinyal bahwa organisasi
belum mencapai level tersebut.
Sehingga, PT
ABC saat ini berada pada CMMI Level 2 (Managed)
Pada level ini, perusahaan telah memiliki proses dasar yang dijalankan secara
konsisten untuk setiap proyek, seperti manajemen kebutuhan, manajemen proyek,
dan jaminan kualitas. Namun, karena keberhasilan proyek masih sangat
bergantung pada beberapa individu kunci, maka perusahaan belum mencapai
level 3, di mana proses sudah harus terdokumentasi, distandardisasi, dan
digunakan di seluruh organisasi secara konsisten tanpa ketergantungan pada
orang tertentu.
0 Comments