Mata Kuliah : Sistem Informasi Manajemen Dosen : Dr. Ir. Imam Suroso, Msc (CS) Kelas : R-50 PENTINGNYA PEMELIHARAAN SOFTWARE Disusun Oleh : Artadi Nugraha P056121791.50 PROGRAM STUDI MANAJEMEN DAN BISNIS SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR 2013
1.1.Latar Belakang I. PENDAHULUAN Software atau perangkat lunak, adalah program komputer yang berfungsi sebagai sarana interaksi (penghubung) antara pengguna (user) dan perangkat keras (hardware). Software dapat juga dikatakan sebagai "penerjemah" perintah-perintah yang dijalankan pengguna komputer untuk diteruskan atau diproses oleh perangkat keras (Hardware). Dewasa ini, setiap developer software mempunyai mekanisme masing-masing untuk menjamin kualitas dari produk software mereka, dimana hal ini sudah menjadi kepedulian dari perusahaan. Maka para pembuat software dituntut untuk dapat membuat suatu produk sofware yang berkualitas tinggi. Kualitas untuk membuat software dapat dinilai melalui ukuran-ukuran dan metode-metode tertentu, serta melalui pengujian-pengujian software. Salah satu tolak ukur kualitas perangkat lunak adalah ISO 9126, yang dibuat oleh International Organization for Standardization (ISO) dan International Electrotechnical Commission (IEC). ISO 9126 (2000) mendefinisikan kualitas produk perangkat lunak, model, karakteristik mutu, dan metrik terkait digunakan untuk mengevaluasi dan menetapkan kualitas sebuah produk software. ISO 9126 menetapkan enam karakteristik dari kualitas sebuah software yaitu : functionality, reliability, usability, efficiency, maintainability dan portability. Dalam paper ini akan dijelaskan secara lebih dalam urgensi dari salah satu karakteristik kualitas software yaitu maintainability. Software maintenance merupakan suatu pekerjaan yang sangat luas, termasuk didalamnya adalah perbaikan error, perluasan kemampuan, penghapusan kemampuan yang sudah tidak dipergunakan, dan optimasi software (Stephen, 1980). 1.2 Tujuan Tujuan penulisan paper ini adalah untuk mempelajari pentingnya pemeliharaan software.
II. PEMBAHASAN Software maintenance didefinisikan sebagai proses memodifikasi suatu sistem software atau komponen yang telah melewati perbaikan kesalahan, peningkatan performa atau atribut lainnya serta dapat beradapatasi terhadap perubahan lingkungan. Software maintenance dapat mengkonsumsi sebanyak 90% dari total usaha yang dikeluarkan pada sistem tersebut selama masa hidupnya. Maintenance sangat diperlukan karena software mencerminkan sebuah perubahan realita. Apabila software tersebut berguna maka pengguna ingin memperpanjang fungsi dari sistem tersebut. Software juga lebih mudah mengalami perubahan apabila dibandingkan dengan hardware. Sebagai akibatnya perubahan itu diciptakan oleh software di tempat yang memungkinkan. Daya tahan dari software yang berkualitas dapat melampaui daya hidup dari hardware. Software perlu untuk dikembangkan untuk menyesuaikan diri dengan hardware baru dan sistem operasinya. Terdapat beberapa aktivitas dalam perawatan software menurut O Brien dan Marakas (2009) yaitu : 1. Corrective Maintenance (21%) Corrective maintenance merupakan aktivitas yang dilakukan untuk menuntaskan bugs dan logic error yang tidak terdeteksi pada saat implementasi periode percobaan. 2. Adaptive maintenance (25%) Adaptive maintenance terjadi karena pertumbuhan atau perkembangan perangkat lunak atau perangkat keras sehingga memerlukan modifikasi atau penambahan fungsi yang baru dari perangkat lunak yang telah dibuat mengikuti perubahan bisnis atau operating environments. 3. Perfective maintenance (50%) Perfective maintenance terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji coba kemudian ingin ditingkatkan lagi performa dari fungsi atau interfacenya.
4. Preventive maintenance (4%) Preventive maintenance dilakukan untuk mengurangi resiko terjadinya kegagalan sistem atau menambah kapasitas dari daya guna sistem yang sebelumnya. Urgensi maintainability dari suatu software adalah pentingnya perawatan atau pemeliharaan dan pengembangan suatu software. Tujuannya adalah agar software selalu dalam keadaan siap pakai. Dalam waktu tertentu tidak menutup kemungkinan software mengalami kerusakan atau perlu disempurnakan lagi disitulah pentingnya maintainability. Menurut ISO 9126 maintanability merupakan sekumpulan atribut yang menerangkan usaha yang diperlukan untuk melakukan perbaikan dan perubahan terhadap suatu perangkat lunak. Selain itu, maintanability juga disebut sebagai pemeliharaan sistem (system maintenance), yang meliputi proses monitoring, evaluasi, dan modifikasi dari sistem yang tengah beroperasi agar dihasilkan performa yang dikehendaki. Pemeliharaan ini juga meliputi perbaikan jika ada perubahan lingkungan eksternal. Terdapat tiga alasan yang mendasari pentingnya pemeliharaan sistem atau maintenance system, yaitu sebagai berikut : a. Memperbaiki Kesalahan (Correcting Errors) Maintenance dilakukan untuk mengatasi kegagalan dan permasalahan yang muncul saat sistem dioperasikan. Maintenance software yang disediakan oleh vendor harus menawarkan perlindungan, mencegah dari adanya kesalahan pemrograman (bugs) atau kelemahan selama proses pengembangan yang tidak terdeteksi dalam pengujian sistem, sehingga kesalahan tersebut dapat diperbaiki. b. Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism) Bentuk aktivitas maintenance seperti ini dilakukan pada saat tinjauan sistem secara periodik. Tinjauan periodik atau audit sistem dilakukan untuk menjamin sistem berjalan dengan baik, dengan cara memonitor sistem secara terus menerus terhadap potensi masalah atau perlunya perubahan terhadap sistem. c. Menjaga Kemutakhiran Sistem (System Update) Selain sebagai proses perbaikan kesalahan dan kajian pasca implementasi, system maintenance juga meliputi proses modifikasi terhadap sistem yang telah dibangun karena adanya perubahan dalam organisasi atau lingkungan bisnis. Sehingga,
system maintenance menjaga kemutakhiran sistem (system update) melalui modifikasimodifikasi sistem yang dilakukan. Karakteristik maintanability menurut ISO 9126 (2000) terdiri atas beberapa sub karakteristik lain seperti: Analyzability, merupakan kemudahan untuk menentukan penyebab kesalahan dari suatu sistem software. Changeability, merupakan kualitas lain dari flexibility yang berarti kemudahan dilakukannya perubahan atau modifikasi terhadap software Stability Testability. Pentingnya Maintainability bagi Engineer Menurut Gilb (2008) maintainability dalam engineering biasanya dianggap sebagai memperbaiki kesalahan-kesalahan dalam software yang lama. Namun Gilb mengartikan maintainability sebagai aktivitas perubahan software atau proses, yang dapat disebut juga kemampuan software untuk berubah. Metode yang Gilb usulkan adalah: 1. Definisikan kebutuhan maintainability secara kuantitatif. 2. Desain dengan memenuhi kebutuhan di atas jika dimungkinkan dan ekonomis 3. Implementasikan desain tersebut dan uji apakah software yang telah dibangun tersebut sesuai dengan yang dispesifikasikan. 4. Kendali kualitas sehingga desain yang dibuat dapat terus memenuhi kualitas maintainability yang diinginkan, dan melakukan aksi yang diperlukan ketika ada degradasi untuk mengembalikan pada kualitas yang diinginkan. Dengan framework seperti itu, software akan sesuai dengan kebutuhan maintainability nya dan pembangunannya selalu mengikuti kebutuhan tersebut. Dalam mengelola maintainability tersebut, peranan arsitek software adalah: 1. Berpartisipasi dalam klarifikasi kebutuhan yang akan digunakan sebagai input ke proses arsitektur mereka. 2. Memastikan bahwa kebutuhan harus jelas dengan skala pengukuran yang terdefinisi dan disetujui serta tingkat performa yang dibutuhkan.
3. Mencari arsitektur yang sesuai, mampu memberikan tingkat performa yang dibutuhkan, dengan batasan resource yang ada. 4. Memperkirakan akibat dari arsitektur yang dipilih pada kebutuhan 5. Mendefinisikan arsitektur tersebut dengan detil sehingga tujuannya mudah dimengerti oleh programmer, dan efek yang diinginkan dapat dihasilkan dari arsitektur tersebut 6. Memonitor system yang dikembangkan pada saat arsitektur yang dirancang diaplikasikan di dunia nyata dan membuat perubahan bila diperlukan. 7. Memonitor karakteristik performa selama sistem masih berjalan dan membuat perubahan pada kebutuhan dan arsitektur, untuk mempertahankan karakteristik performa.
KESIMPULAN Pentingnya pemeliharaan dari suatu software berupa pentingnya perawatan, pemeliharaan, dan pengembangan dari suatu software. Proses pemeliharaan sistem (system maintenance) meliputi proses monitoring, evaluasi, dan modifikasi dari sistem yang tengah beroperasi agar dihasilkan performa yang dikehendaki. Pemeliharaan ini juga meliputi perbaikan jika ada perubahan lingkungan eksternal. Terdapat tiga alasan yang mendasari pentingnya pemeliharaan sistem yaitu : memperbaiki kesalahan, menjamin dan meningkatkan kinerja sistem serta menjaga kemutakhiran sistem tersebut.
DAFTAR PUSTAKA Gilb, Tom. 2008. Designing Maintainability in Software Engineering : A Quantified Approach. International Organization for Standardization. 2000. Software product quality Part 1:Quality Model. ISO/IEC, Information technology. ISO/IEC FDIS 9126-1:2000. O Brien, J. A. and G. M. Marakas. 2009. Management Information Systems : Global Edition, Tenth Edition. The McGraw-Hill Companies, Inc. Yau, Stephen S. Collofello, James S. 1980. Some Stability Measures for Sofware Maintenance. IEEE Transactions on software engineering.