Tugas Software Quality

 

SOFTWARE QUALITY

 

Identitas Unila - Universitas Lampung

 

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