Menguji Kualitas Secara Objektif: Panduan Lengkap ISO 25010 dalam Pengembangan Sistem Informasi

Pendahuluan

Dalam siklus pengembangan Sistem Informasi (SI), baik itu aplikasi mobile, portal e-learning, maupun sistem manajemen basis data, menciptakan perangkat lunak yang “berfungsi” saja tidak lagi cukup. Sebuah sistem mungkin bisa menyimpan data siswa dengan benar, tetapi jika untuk membukanya butuh waktu lima menit, atau jika data tersebut mudah diretas, sistem itu tetap dianggap buruk.

Lalu, bagaimana kita bisa menilai kualitas sebuah software secara komprehensif, objektif, dan terstandar secara internasional?

Jawabannya adalah dengan menggunakan standar ISO/IEC 25010. Sebagai bagian dari seri standar SQuaRE (Software product Quality Requirements and Evaluation), ISO 25010 menyediakan kerangka kerja yang komprehensif untuk mengevaluasi kualitas produk perangkat lunak. Standar ini menggantikan standar yang lebih lama, yaitu ISO/IEC 9126.

Memahami ISO/IEC 25010: Model Kualitas Produk

ISO 25010 tidak mengatur bagaimana cara Anda membuat kode, melainkan mendefinisikan apa saja karakteristik yang harus dimiliki oleh kode atau sistem yang berkualitas.

Standar ini membagi kualitas sistem menjadi 8 karakteristik utama, yang masing-masing dipecah lagi menjadi beberapa sub-karakteristik. Berikut adalah pembedahannya:

1. Functional Suitability (Kesesuaian Fungsional)

Sejauh mana sistem menyediakan fungsi yang memenuhi kebutuhan pengguna (baik yang dinyatakan secara eksplisit maupun tersirat) pada kondisi tertentu.

  • Completeness: Apakah semua fungsi yang diminta sudah ada?
  • Correctness: Apakah fungsi tersebut memberikan hasil yang benar dan presisi?
  • Appropriateness: Apakah fungsi tersebut benar-benar memfasilitasi tugas pengguna dengan cara yang tepat?

2. Performance Efficiency (Efisiensi Kinerja)

Kinerja sistem yang diukur berdasarkan jumlah sumber daya yang digunakannya.

  • Time Behaviour: Seberapa cepat respons sistem (waktu proses, kecepatan transmisi)?
  • Resource Utilization: Berapa banyak RAM, CPU, atau ruang penyimpanan yang terkuras saat sistem berjalan?
  • Capacity: Berapa banyak pengguna serentak yang bisa ditangani sistem sebelum menjadi lambat?

3. Compatibility (Kompatibilitas)

Sejauh mana sistem dapat berfungsi bersama produk atau sistem lain.

  • Co-existence: Bisakah sistem berbagi lingkungan dan sumber daya (misalnya di server yang sama) dengan sistem lain tanpa saling mengganggu?
  • Interoperability: Bisakah sistem bertukar data dan menggunakan data yang dipertukarkan dengan sistem lain (misalnya terhubung dengan API bank)?

4. Usability (Kebergunaan)

Tingkat kemudahan sistem untuk digunakan, dipelajari, dan dipahami oleh pengguna, serta seberapa menarik tampilannya.

  • Appropriateness Recognizability: Apakah pengguna bisa langsung mengenali fungsi aplikasi?
  • Learnability: Seberapa mudah aplikasi ini dipelajari?
  • Operability: Seberapa mudah sistem dioperasikan dan dikendalikan?
  • User Error Protection: Apakah sistem bisa mencegah pengguna melakukan kesalahan fatal (misal: “Apakah Anda yakin ingin menghapus ini?”)?
  • User Interface Aesthetics: Apakah desain UI menyenangkan secara visual?
  • Accessibility: Apakah sistem bisa diakses oleh berbagai karakteristik pengguna (termasuk yang memiliki disabilitas)?

5. Reliability (Keandalan)

Sejauh mana sistem mampu mempertahankan tingkat kinerjanya pada kondisi tertentu.

  • Maturity: Sejauh mana sistem bisa menghindari kegagalan akibat kesalahan perangkat lunak (jarang crash)?
  • Availability: Ketersediaan sistem untuk diakses saat dibutuhkan (uptime sistem).
  • Fault Tolerance: Bisakah sistem tetap beroperasi meskipun terjadi kesalahan (baik pada perangkat keras maupun perangkat lunak)?
  • Recoverability: Jika terjadi gangguan sistem (crash), seberapa cepat data bisa dipulihkan?

6. Security (Keamanan)

Sejauh mana sistem melindungi informasi dan data sehingga pihak tak berwenang tidak dapat membacanya, dan pihak yang berwenang tidak kehilangan akses.

  • Confidentiality: Hanya pengguna sah yang bisa mengakses data.
  • Integrity: Sistem mencegah perubahan data oleh pihak yang tidak berhak.
  • Non-repudiation: Kemampuan melacak aktivitas (log) sehingga pengguna tidak bisa menyangkal tindakan yang telah dilakukannya.
  • Accountability: Kemampuan menelusuri aktivitas secara unik ke satu pengguna spesifik.
  • Authenticity: Membuktikan keaslian identitas subjek atau sumber data.

7. Maintainability (Pemeliharaan)

Tingkat kemudahan sistem untuk dimodifikasi atau diperbarui oleh developer.

  • Modularity: Apakah sistem dibangun dalam blok-blok komponen yang saling independen, sehingga mengubah satu bagian tak merusak bagian lain?
  • Reusability: Bisakah sebagian kode dipakai ulang untuk proyek lain?
  • Analysability: Jika terjadi bug, seberapa mudah melacak lokasi kesalahannya di dalam kode?
  • Modifiability: Seberapa mudah sistem bisa diubah tanpa merusak kualitasnya (kode rapi dan terstruktur)?
  • Testability: Seberapa mudah membuat kriteria pengujian untuk sistem tersebut?

8. Portability (Portabilitas)

Tingkat kemudahan sistem untuk dipindahkan antar berbagai jenis hardware, sistem operasi, atau browser.

  • Adaptability: Kemampuan beradaptasi dengan berbagai lingkungan hardware atau software (contoh: responsif di mobile dan dekstop).
  • Installability: Seberapa mudah sistem dipasang atau dihapus di lingkungan tertentu.
  • Replaceability: Kemampuan sistem untuk menggantikan software lain dengan tujuan yang sama di lingkungan yang sama.

Penggunaan ISO 25010 dalam Pengembangan R&D Sistem Informasi

Ketika seorang mahasiswa tingkat akhir, akademisi, atau pengembang perangkat lunak mengembangkan sebuah Sistem Informasi (dengan metode Waterfall, Agile, atau R&D seperti ADDIE/Borg & Gall), ISO 25010 memberikan dasar instrumen validasi yang tak terbantahkan.

Berikut adalah cara menerapkannya dalam penelitian atau evaluasi:

1. Dasar Pembuatan Kuesioner Ahli Media (Expert Judgment)

Berbeda dengan TAM/UTAUT yang dibagikan ke pengguna awam, ISO 25010 sering digunakan sebagai panduan bagi para Ahli Media/Ahli IT. Instrumen expert judgment biasanya dikembangkan berdasarkan karakteristik yang relevan. Misalnya, ahli akan menilai Security dan Maintainability, hal-hal yang pengguna biasa tidak bisa lihat.

2. Panduan Pengujian Black-Box (Functional Suitability)

Untuk menguji Kesesuaian Fungsional, pengembang biasanya tidak memerlukan kuesioner. Pengembang menyusun Test Case berdasarkan skenario fitur (misalnya menguji tombol Login, tombol Cetak PDF). Jika 100% tombol berfungsi tanpa error, maka aspek ini dinyatakan valid/sangat baik.

3. Panduan Pengujian White-Box & Tool-Based (Kualitas Kode)

Banyak aspek dari ISO 25010 yang diuji tidak dengan manusia, melainkan dengan software penguji lainnya.

  • Reliability & Performance Efficiency: Diuji menggunakan tools seperti Apache JMeter untuk simulasi Stress Testing (misal: “Apa yang terjadi jika ada 500 pengguna login bersamaan?”).
  • Portability & Compatibility: Diuji menggunakan layanan Cross-Browser Testing (misal: memastikan web tampil sempurna di Chrome, Safari, Firefox, baik di Windows maupun Android).

Mengapa ISO 25010 Krusial?

Sering kali, seorang pengembang merasa aplikasinya sudah sempurna karena desainnya terlihat indah (Usability) dan fungsinya berjalan (Functional Suitability). Namun, tanpa kerangka ISO 25010, pengembang sering kali melupakan aspek Maintainability (kode “spageti” yang sulit diubah kelak) atau Security (mudah terkena SQL Injection).

ISO 25010 memaksa pengembang dan peneliti untuk tidak egois dan melihat sistem informasi dari segala sudut pandang: sudut pandang pengguna yang butuh kecepatan dan keindahan, serta sudut pandang teknisi yang butuh keamanan dan kemudahan modifikasi. Melalui evaluasi berbasis ISO 25010, sistem informasi yang dikembangkan dapat dipertanggungjawabkan kualitas teknisnya secara global.

Bagikan Artikel

Leave a Reply