A. Konsep dan Teknik Pemeliharaan Perangkat Lunak Perintah (program komputer) yang mana bila dieksekusi akan menghasilkan fungsi sebagai mana yang kita inginkan. Struktur data yang memungkinkan suatu aplikasi dapat memanipulasi informasi secara proporsional. Dokumen yang menggambarkan suatu kegunaan dari pada sebuah program. Perangkat lunak tersebut dibedakan menjadi 2 tipe yaitu : Produk Generik, yaitu sistem stand alone yang di produksi oleh perusahaan pengembang perangkat lunak dan di pasarkan ke pasar umum. Contohnya : Microsoft Office, Adobe Creative Suite, dll.
Produk Pesanan, yaitu produk perangkat lunak yang mana akan dikembangkan bila ada perusahaan/konsumen yang memesannya. Contohnya : Sistem Penerimaan Mahasiswa untuk sebuah kampus, dll.
1. Pengertian Pemeliharaan Software adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru. Pemeliharaan software dapat diartikan juga suatu kombinasi dari berbagai tindakan yang dilakukan untuk menjaga suatu sistem dalam, atau memperbaikinya sampai, suatu kondisi yang bisa diterima. Pada bulan April 1970 didefinisikan sebuah istilah untuk Teknologi Pemeliharaan yang mencakup pengertian yang lebih luas dari pada pengertian Pemeliharaan diatas. Istilah ini adalah Teroteknologi.Merupakan siklus terakhir dari SDLC yaitu dengan pemeriksaan periodik, audit dan permintaan pengguna akan menjadi source untuk melakukan perawatan system diseluruh masa hidup system.
2. Lingkup Pemeliharaan a. Aktifitas pemeliharaan antara lain : Penambahan atau perbaikan produk perangkat lunak Adaptasi produk dengan lingkungan operasional yang baru (hardware, sistem operasi, dll) Pembetulan permasalahan yang timbul b. Aktifitas Penambahan perbaikan produk perangkat lunak : Penambahan fungsi-fungsi baru Perbaikan tampilan dan modus interaktif Memperbaharui dokumen eksternal
Memperbaharui karakteristik performansi dan sistem
c. Adaptasi produk dengan lingkungan operasional yang baru: pemindahan perangkat lunak ke perangkat keras yang lain modifikasi untuk dapat mempergunakan protokol tambahan dll. d. Pembetulan permasalahan yang timbul : pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user. Biasanya 70 % dari seluruh biaya pengembangan adalah untuk pemeliharaan. Dari seluruh biaya pemeliharaan, 60 % digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembentulan. 3. Faktor yang menyebabkan biaya pemeliharaan lebih tinggi daripada biaya pengembangan :
Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara. Beberapa permasalahan yang sering muncul dalam pemeliharaan software : Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya, Kesulitan pelacakan pada proses pengembangan software, Sulit untuk mengerti program orang lain, Tidak adanya dokumentasi yang baik, Tidak adanya nara sumber, Kebanyakan software dirancang tanpa adanya pemikiran untuk diubah.
4. Tujuan dari pemeliharaan system: Untuk memperpanjang usia kegunaan asset dari system tersebut. Hal ini terutama penting dinegara berkembang karena kurangnya sumber daya modal untuk penggantian. Dinegara-negara maju kadang-kadang lebih menguntungkan untuk ‘mengganti’ daripada ‘memelihara’. Untuk menjamin ketersediaan optimum peralatan. Untuk menjamin kesiapan operasional dari seluruh peralatan yang diperlukan dalam keadaan darurat setiap waktu.
Untuk menjamin keselamatan orang yang menggunakan sarana tersebut.
5. Siklus Hidup Pemeliharaan Sistem (SMLC) Permintaan Perubahan Mengubah permohonan pemeliharaan menjadi suatu perubahan Menspesifikasi perubahan Membangun pengganti Menguji pengganti Melatih pengguna dan melakukan tes penerimaan Pengkonversian dan pelepasan ke operasi Mengupdate dokumentasi Melakukan pemeriksaan pascaimplementasi 6. Keperluan pemeliharaan sistem Sistem perlu dipelihara karena beberapa hal, yaitu: System memiliki kesalahan yang dulunya belum terdeteksi, seingga kesalahan kesalahan system perlu diperbaiki System mengalami perubahan-perubahan karena permintaan baru dari pemakai system Sistem mengalami perubahan karena perubahan lingkungan luar (perubahan bisnis) System perlu ditingkatkan
B. Jenis Pemeliharaan Perangkat lunak 1. Pemeliharaan perangkat lunak dibedakan :
Corrective Maintenance Pemeliharaan ini untuk merespon terjadinya kesalahan-kesalahan saat produk dioperasikan baik berupa bug atupun berupa output yang tidak sesuai dengan kebutuhan pengguna
Adaptive Maintenance Pemeliharaan ini untuk merespon perubahan yang terjadi pada lingkungan yang mempengaruhi perangkat lunak tersebut (seperti perangkat keras, sistem operasi, prosedur bisnis, kebijakan, dll.
Perfective maintenance Pemeliharaan ini untuk merespon permintaan tambahan berupa fungsifungsi baru yang muncul setelah pengguna melakukan uji coba perangkat lunak tersebut.
Preventif maintenance Pemeliharaan ini dilakuan untuk melakukan reengineering terhadap perangkat lunak agar lebih mudah diperbaiki, memiliki tingkat adaptasi yang tinggi dan mudah mengakomodasi munculnya kebutuhan baru 2.
Karakteristik perangkat lunak yang mudah dalam pemeliharaan : • Perangkat lunak dikerjakan per modul • Perangkat lunak mempunyai kejelasan • Dokumentasi internal yang baik dan jelas • Dilengkapi dokumen-dokumen pendukung lainnya
3. Pemeliharaan juga mempengaruhi dokumen pendukung seperti : • dokumen spesifikasi kebutuhan perangkat lunak • dokumen rancangan • dokumen rencana pengujian • prinsip pengoperasian • petunjuk pemakaian 4. Mengelola Pemeliharaan Sistem Tantangan mengelola pemeliharaan sistem adalah sama dengan tantangan mengelola usaha-usaha lain . Yaitu tantangan untuk mengelola manusia. Prioritas untuk mengarahkan pemeliharaan sistem adalah mengumpulkan sekelompok pemelihara yang berkompeten dan termotivasi,serta menyuplai mereka dengan perngkat dan sumber-sumber untuk melakukan pemeliaraan sistem yang terjadwal maupun yang tidak terjadwal.Pemeliharaan sistem terjadwal dapat dibuat menurut kalender atau diagram gantt.Pemeliharaan tidak terjadwal biasanya dilakukan atas inisiatif pemakai dan operator. Bagaimanapun juga pihak manajemen seharusnya menetapkan suatu cara untuk mengawali,merekam,dan mengevaluasi aktivitas pemeliharaan. Dengan melalui evaluasi kegiatan pemeliharaan,seorang manager akhirnya dapat mengoptimalkan program pemeliharaan sistem secara keseluruhan.
C. Manfaat pemeliharaan perangkat lunak Memastikan kesesuaian dengan kebutuhan fungsionalitas teknis software. Memastikan kesesuaian kebutuhan pihak manajerial mengenai jadwal dan budget. Dapat meningkatkan efisiensi software berikut juga aktifitas pemeliharaannya D. Prosedur untuk memeliharan system System maintainability (kemampuan pemeliharaan system) adalah kapasitas personil pemeliharaan untuk melakukan pemeliharaan korektif, adaptif, prefektif, dan
preventif.Maintainabilitas (maintainability) system bertambah jika sistemnya dirancang agar mudah diubah. Aspek ini meliputi prosedur-prosedur berikut: SDLC (system development life cycle) dan SWDLC (software development life cycle) Aplikasi yang professional dalam SDLC dan SWDLC dan teknik maupun perangkat modeling yang mendukungnya adalah hal-hal keseluruhan yang terbaik yang dapat seseorang lakukan untuk meningkatkan maintainabilitas system.
Definisi data standar Trend ke arah sistem manajemen database relasional mendasari dorongan ke normalisasi data dan definisi data standart.
Bahasa pemrograman standar Penggunaan bahasa pemrograman standart,misalnya C atau COBOL,akan mempermudah pekerjaan pemeliharaan.
Rancangan moduler Programer pemeliharaan dapat mengganti modul program jauh lebih mudah daripada jika ia berurusan dengan kedeluruhan program.
Modul yang dapat digunakan kembali Modul biasa dari kode yang dapat digunakan kembali,dapat diakses oleh semua aplikasi yang memerlukannya.
Dokumentasi standar Diperlukan system,pemakai,perangkat lunak dan dokumentasi operasiyang standart sehingga semua informasi yang diperlukan untuk beroperasi dan pemeliharaan aplikasi khusus akan tersedia.
Control sentral Semua program,dokumentasi dan data test seharusnya diinstal dalam penyimpanan pusat dari system CASE (Computer-Aided Softtware Engineering atau computer Assisted Software Enginering.