Wednesday, October 29, 2008

Dasar Pengukuran Kwalitas Software

DASAR PENGUKURAN KWALITAS SOFTWARE

Dalam proses penggunaan suatu software seringkali kita mengalami yang namanya hang, error, dll .Itu mungkin keluhan yang sering kita dengar ketika kita menggunakan sebuah software atau perangkat lunak di komputer kita. Baik tidaknya sebuah perangkat lunak, biasanya menunjukkan bagaimana kualitas perangkat lunak tersebut, Media pembelajaran yang baik adalah yang memenuhi parameter-parameter berdasarkan disiplin ilmu rekayasa perangkat lunak, seperti pada contoh diatas (efisiensi, reliabilitas, usabilitas, dsb).

1. Efektif dan Efisien dalam Pengembangan Maupun Penggunaan Media Pembelajaran

Seringkali sebuah program yang sepertinya berukuran kecil dan memiliki fitur yang tidak terlalu rumit, tetapi berjalan sangat lamban. Kalau seandainya saja setiap komputer memiliki kecepatan yang tidak terbatas dan memory (RAM) yang bebas tidak terbatas, maka tentu tidak akan menjadi masalah. Tetapi setiap komputer memiliki kecepatan terbatas, memory (RAM) terbatas dan kapasitas penyimpanan tetap (hardisk) terbatas. Oleh karena itu, penting untuk mengatur pemakaian resource (CPU, RAM dan hardisk) tersebut secara efektif dan efisien.

Kelambatan, rendahnya respon dan throughput biasanya terjadi karena pembuat tidak memikirkan efesiensi sumber daya yang terserap oleh program. Misalnya untuk pemakaian gambar-gambar yang ditampilkan dalam ukuran kecil, pembuat tetap menggunakan gambar asli yang beresolusi tinggi, tidak melakukan usaha-usaha kompresi dan pemotongan yang tepat. Sebaliknya, ada pula gambar yang seharusnya memakai resolusi tinggi, tetapi digunakan gambar yang beresolusi rendah.

Hal lain yang memungkinkan tidak efisiennya pemakaian resource adalah penggunaan algoritma yang kurang tepat Misalnya untuk pekerjaan pengurutan (sorting) sebuah kumpulan data, pembuat tidak memanfaatkan algoritma-algoritma sorting yang terkenal efektif seperti: insertion-sort, merge-sort dan lain-lain. Misalnya ada komputer A dengan kecepatan 100 kali lebih cepat dari komputer B, yang menjalankan algoritma yang berbeda untuk masalah yang sama. Kalau kita dapat memilih algoritma yang lebih tepat dan efisien di komputer B, maka program dapat saja berjalan lebih cepat 10 kali lipat di komputer B.

Salah satu kasus yang sering muncul adalah, karena terlalu bersemangat, pembuat media pembelajaran, menampilkan semua pustaka gambar yang ia miliki dan efek-efek animasi dan simulasi yang ia kuasai ke dalam media pembelajaran, meskipun mereka tidak terlalu penting dan efektif dalam membantu proses pembelajaran.

2. Reliabilitas (Kehandalan)

Program dikatakan reliable atau handal bila program dapat berjalan dengan baik, tidak mudah hang, crash atau berhenti pada saat pengoperasian. Kehandalan program juga dinilai dari seberapa jauh dapat tetap berjalan meskipun terjadi kesalahan pada pengoperasian (error tolerance). Pengguna memerlukan feedback sesuai dengan kondisi system (termasuk berapa lama pengguna harus menunggu, dll).

3. Maintainabilitas (Dapat Dipelihara/Dikelola dengan Mudah)

“Good software is maintainable” (Reinhard Miller)
“It looks obvious until you try it” (IEEE Software)
“Programming is like poetry. It conveys a message, not only to the computer, but to those who modife and use your program” (Jonathan Bartlett)

Struktur program disusun dengan algoritma, alur penyajian, pengorganisasian, dan keterkaitan antar bagian sehingga mudah dalam modifikasi. Kode atau script tetap sederhana dan mudah dipahami meskipun menjalankan fungsi yang kompleks. Kode bersifat modular dengan dokumentasi pada tiap bagian yang memudahkan dalam modifikasi dan perubahan (maintenance). Sehingga siapa saja yang ingin merubah/memperbaiki/menambah fitur program dapat dengan mudah melakukannya. Selain penambahan fitur, hal yang sering dilakukan oleh programer adalah menemukan bug dalam programnya. Justru ada pernyataan bahwa membersihkan bug adalah 60% dari pekerjaan seorang programer.

Semakin sedikit code program yang Anda tuliskan, semakin kecil keperluan agar code atau program maintainable. Semakin banyak code program yang Anda tuliskan, semakin perlu Anda memikirkan maintainabilitas program Anda.

4. Usabilitas (Mudah Digunakan dan Sederhana dalam Pengoperasiannya)

Layaknya seoseorang yang bingung ketika baru pertama kali datang ke Jakarta dan ingin mencari alamat Jl. Jend. Gatot Subroto 10. Orang tersebut pasti merasa bingung untuk mencari alamat tersebut. Dalam kondisi bingung, orang tersebut tentu akan memanfaatkan marka jalan sebagai penunjuk arah. Dapat dibayangkan apabila di jalan raya tidak disediakan rambu-rambu lalu lintas dan marka jalan, tentu orang akan tersesat dan tidak tahu ke mana arah yang akan dituju. Begitu pula dengan media pembelajaran, ketersediaan tooltip, help, icon, logo, tombol, dsb akan sangat membantu pengguna yang baru pertama kali menggunakan media tersebut. Desain dan tata letak navigasi sangat membantu pengguna untuk memanfaatkan media tersebut. Apabila terjadi kesalahan pada program (error) maka ditampilkan pesan dengan bahasa yang mudah dipahami oleh pengguna.

Konsistensi bentuk dan letak navigasi juga mempengaruhi kenyamanan pengguna ketika menghayati informasi yang tersirat dalam media pembelajaran. Dengan hanya melihat tampilan awal, pengguna dapat mengetahui kondisi program dan dapat menentukan aksi-aksi alternatif. Semua pilihan dan bahan tampak sehingga mudah dicari bilamana diperlukan tanpa mengganggu pengguna dengan informasi yang berlebihan. Pengguna juga dapat dengan sangat mudah menebak, memperkirakan bahkan menentukan relasi antara aksi dan hasil, antara kontrol-kontrol dan efek yang ditimbulkannya, antara status software dan apa yang tampak.

5. Kompatibilitas (Media Pembelajaran Dapat Diinstalasi/Dijalankan di Berbagai Hardware dan Software yang Ada)

Perkembangan software dan hardware sudah cukup banyak bervariasi, semakin tinggi spesifikasinya, semakin tinggi kecepatan prosesnya. Bila dulu kecepatan akses RAM paling tinggi 8 MB, saat ini kecepatannya berkali lipat hingga 1 GB, CD ROM yang dulu kecepatan bacanya paling tinggi 4X saat ini CD ROM sudah umum dan memiliki banyak fungsi dengan kapasitas kecepatan yang tinggi, seperti CD-RW dengan speed hingga 52X bahkan ada yang mampu membaca DVD, demikian juga dengan Software Aplikasi, bila dulu aplikasinya sederhana dan cukup panjang proses menjalankan berbagai aplikasi didalamnya, saat ini aplikasi sudah sangat indah dengan tampilan grafis yang baik dan animatif, dengan navigasi yang mudah dan cepat dalam proses menjalankan aplikasinya.

Belajar akan lebih baik, jika setiap orang bisa bekerja dimanapun tanpa ada hambatan spesifikasi komputer dan software yang dipersyaratkan untuk menjalankannya, oleh karenanya hasil karya yang baik kendaknya dapat dijalankan diberbagai kondisi hardware dan sofware yang beragam, artinya bisa dijalankan didalam spesifikasi komputer yang paling rendah sekalipun, bisa dijalankan dengan Operating System dengan platform apapun dan versi manapun, mulai dari yang awal hingga yang terbaru, dan software yang tidak dibatasi oleh versi keluaran baik versi awal maupun versi yang terbaru. Software yang memenuhi prsyaratan diatas adalah software kalkulator.

6. Reusabilitas (Sebagian atau Seluruh Program Media Pembelajaran dapat Dimanfaatkan Kembali untuk Mengembangkan Media Pembelajaran Lain)

Eric S. Raymond, seorang tokoh programmer opensource mengatakan “Good programmers know what to write. Great ones know what to rewrite and reuse”. Setelah level membuat terlewati, seorang pengembang harus meningkatkan kemampuan diri untuk tidak hanya berorientasi membuat, tapi juga berorientasi ke bagaimana fitur dan fungsi program kita supaya dapat digunakan lagi di program lain dengan mudah. Bagaimana kita mendesain sebuah source code (kode sumber), icon, logo, tombol dan sebagainya sehingga dengan mudah dapat digunakan kembali (reuse) pada program media pembelajaran lain, itulah arti dari reusabilitas.

Template menu, icon, logo, tombol, dsb yang telah dibuat dapat dengan mudah digunakan untuk program lain. Library (DLL, API, dsb) juga dikemas dengan baik sehingga dapat dimanfaatkan oleh program lain. Program tersusun secara modular, hal ini mempermudah penggunaan kembali (reusabilitas).

No comments:

Post a Comment

Terima Kasih Anda Telah Berkunjung di Blog Saya dan Silahkan Tinggalkan Komentar.Gunakan Name/URL Untuk Pilihan Komentar Supaya Saya Lebih Mudah Untuk Mengunjungi Web/Blog Anda.Thanks..