PEMELIHARAAN PERANGKAT LUNAK (SOFTWARE MAINTENANCE)
Di Susun Oleh : Linda Liana – 41813120100 Dosen Pengampu : Wahyu Hari Haji M.Kom
FAKULTAS ILMU KOMPUTER PROGRAM STUDY SISTEM INFORMASI UNIVERSITAS MERCU BUANA JAKARTA 2015
A. Definisi Pemeliharaan Sistem 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. Atau dapat didefinisikan sebagai 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. Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada fase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada fase pemeliharaan antara lain: -
Penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak
-
adaptasi produk dengan lingkungan mesin yang baru
-
Pembetulan permasalahan yang timbul
“ Pemeliharaan sistem berawal begitu sistem baru menjadi operasional dan berakhir masa hidupnya ” Tujuan dari pemeliharaan system: 2
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’.
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
-
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
Siklus Hidup Pemeliharaan Sistem (SMLC) Tahapan Software Maintenance Life Cycle (SMLC) : -
Memahami Permintaan Pemeliharaan
-
Mentransformasi permintaan pemeliharaan menjadi pengubahan
-
Menspesifikasi perubahan
-
Mengembangkan perubahan
-
Menguji perubahan
-
Melatih pengguna dan melakukan test penerimaan
-
Pengkonversian dan meluncurkan operasi
-
Mengupdate Dokumen
-
Melakukan pemeriksaan Pasca implementasi
Maintainability (Kemampuan pemeliharaan sistem) Prosedur untuk peningkatan maintainability : -
Menerapkan SDLC (System development Life Cycle) dan SWDLC (Software Development Life Cycle)
-
Menspesifikasi definisi data standar
-
Menggunakan bahasa pemrograman standart
-
Merancang modul-modul yang terstruktur dengan baik
-
Mempekerjakan modul yang dapat digunakan kembali
-
Mempersiapkan dokumentasi yang jelas, terbaru dan komprehensif
-
Menginstall perangkat lunak, dokumentasi dan soal-soal test di dalam sentral repositor sistem CASE atau CMS (change management system)
Tiga pendekatan untuk menyusun Pemeliharaan sistem : 3
-
Pendekatan Pemisahan : Pemeliharaan dan Pemeliharaan
-
Pendekatan Gabungan : Menggabungkan personalia penyusun dan pemelihara menjadi sebuah kelompok utama sistem informasi
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
-
Pendekatan Fungsional : Variasi dari pendekatan gabungan dengan memindahkan tenaga profesional sistem dari sistem informasi dan menugasi mereka pada fungsi bisnis untuk penyusunan maupun pemeliharaan.
Ada 5 CASE Tools yang membantu pemeliharaan sistem dari sistem lama dan membantu memecahkan kemacetan timbunan sistem baru yang belum dikerjakan :
Rekayasa Maju (Forward engineering)
Rekayasa Mundur (Reverse engineering)
Rekayasa Ulang (Reengineering)
Restrukturisasi (restrukturing)
Sistem Pakar Pemeliharaan (Maintenance expert system)
B. Lingkup Pemeliharaan Perangkat Lunak 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
Aktifitas Penambahan perbaikan produk perangkat lunak : -
Penambahan fungsi-fungsi baru
-
Perbaikan tampilan dan modus interaktif
-
Memperbaharui dokumen eksternal
-
Memperbaharui karakteristik performansi dan sistem
Adaptasi produk dengan lingkungan operasional yang baru: pemindahan perangkat lunak ke perangkat keras yang lain modifikasi untuk dapat mempergunakan protokol tambahan dll Pembetulan permasalahan yang timbul : Pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user. Biasanya 70 % dari seluruh biaya pengembangan adalah untuk 4
pemeliharaan. Dari seluruh biaya pemeliharaan, 60 % digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembentulan. UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
C. Jenis Pemeliharaan Perangkat lunak Pemeliharaan sistem dapat digolongkan menjadi empat jenis :
Pemeliharaan Korektif
Pemeliharaan Adaptif
Pemeliharaan Perfektif (Penyempurnaan)
Pemeliharaan Preventif
1) Pemeliharaan Korektif (Corrective Maintenance Pemeliharaan korektif adalah bagian pemeliharaan sistem yang tidak begitu tinggi nilainya dan lebih membebani, karena pemeliharaan ini mengkoreksi kesalahan-kesahan yang ditemukan pada saat sistem berjalan. Umumnya pemeliharaan korektif ini mencakup kondisi penting atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga bagi perusahaan. 2) Pemeliharaan Adaptif (Adaptive Maintenance) Pemeliharaan adaptif
dilakukan untuk menyesuaikan perubahan dalam
lingkungan data atau pemrosesan dan memenuhi persyaratan pemakai baru. Lingkungan tempat sistem beroperasi adalah dinamik, dengan demikian, sistem harus terus merespon perubahan persyaratan pemakai. Misalnya, Undang-Undang Perpajakan yang baru mungkin memerlukan suatu perubahan dalam kalkulasi pembayaran bersih. Umumnya pemeliharaan adatif ini baik dan tidak dapat dihindari. 3) Pemeliharaan Perfektif/Penyempurnaan (Perfective Maintenance) Pemeliharaan penyempurnaan mempertinggi cara kerja atau maintainabilitas (kemampuan untuk dipelihara). Tindakan ini juga memungkinkan sistem untuk memenuhi persyaratan pemakai yang sebelumnya tidak dikenal. Ketika membuat perubahan substansial modul apapun, petugas pemeliharaan juga menggunakan kesempatan untuk mengupgrade kode, mengganti cabang-cabang yang kadaluwarsa, memperbaiki kecerobohan, dan mengembangkan dokumentasi. 5
Sebagai contoh, kegiatan pemeliharaan ini dapat berbentuk perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang dokumentasi, pengubahan format
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
dan isi laporan, penentuan logika pemrosesan yang lebih efisien, dan pengembangan efisiensi pengoperasian perangkat. 4) Pemeliharaan Preventif (Preventif Maintenance) Pemeliharaan Preventif terdiri atas inspeksi periodik dan pemeriksaan sistem untuk mengungkap dan mengantisipasi permasalahan. Karena personil pemeliharaan sistem bekerja dalam sistem ini, mereka seringkali menemukan cacat-cacat (bukan kesalahan yang sebenarnya) yang menandakan permasalahan potensial. Sementara tidak memerlukan tindakan segera, cacat ini bila tidak dikoreksi di tingkat awal, jelas sekali akan mempengaruhi baik fungsi sistem maupun kemampuan untuk memeliharanya dalam waktu dekat. 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
Pemeliharaan juga mempengaruhi dokumen pendukung seperti : -
Dokumen spesifikasi kebutuhan perangkat lunak
-
Dokumen rancangan
-
Dokumen rencana pengujian
-
Prinsip pengoperasian
-
Petunjuk pemakaian
D. 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 6
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
E. Keperluan Pemeliharaan Perangkat Lunak Sistem perlu dipelihara karena beberapa hal, yaitu : 1)
Sistem memiliki kesalahan yang dulunya belum terdeteksi, sehingga kesalahan-kesalahan sistem perlu diperbaiki.
2) Sistem mengalami perubahan-perubahan karena permintaan baru dari pemakai sistem.
3) Sistem mengalami perubahan karena perubahan lingkungan luar (perubahan bisnis).
4) Sistem perlu ditingkatkan. Biaya pemeliharaan sistem sering diabaikan. Kenyataannya biaya pemeliharaan sistem merupakan biaya yang cukup besar. Biaya pemeliharaan perangkat lunak telah terus menerus naik selama 25 tahun terakhir. Beberapa perusahaan membelanjakan 80% atau lebih dari anggaran sistem mereka pada pemeliharaan perangkat lunak. Kenapa biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya : 1) 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. 2) 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. 3) Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software. 4) Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemeliharan.
7
Beberapa permasalahan yang sering muncul dalam pemeliharaan software
Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya,
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
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.
F. Prosedur Untuk Memelihara Perangkat Lunak System Maintainability (kemampuan pemeliharaan sistem) adalah kapasitas personil pemeliharaan untuk melakukan pemeliharaan korektif, adaptif, penyempurnaan, atau preventif. Semakin mudah suatu sistem dipelihara, semakin kecil pula tenaga dan biaya yang harus dikeluarkan untuk memelihara sistem. Maintainabilitas (maintainability) sistem bertambah jika sistemnya dirancang agar mudah diubah. Aspek ini meliputi prosedur-prosedur berikut : 1. SDLC (System Development Life Cycle) dan SWDLC (Software Development Life Cycle). Aplikasi yang profesional dalam SDLC dan SWDLC dan teknik maupun perangkat modeling yang mendukungnya adalah hal-hal keseluruhan yang terbaik yang dapat seseorang lakukan untuk meningkatkan maintainabilitas sistem. 2. Definisi Data Standar. Trend ke arah sistem manajemen database relasional mendasari dorongan ke normalisasi data dan definisi data standar. 3. Bahasa Pemrograman Standar. Penggunaan bahasa pemrograman standar, misalnya C atau COBOL, akan mempermudah pekerjaan pemeliharaan. Jika perangkat lunak C atau COBOL berisi dokumentasi internal yang jelas dan lengkap, seorang programmer pemeliharaan pemula atau pemakai dapat memahami apa yang sedang dikerjakannya. Lagipula C dan COBOL adalah bahasa Universal yang umumnya diketahui oleh sejumlah besar orang. Dengan demikian penggantian 8
programmer pemeliharaan tidak begitu berdampak negatif pada kemampuan perusahaan untuk memelihara program C atau COBOL lama.
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
4. Rancangan Moduler. Programmer pemeliharaan dapat mengganti modul program jauh lebih mudah daripada jika ia berurusan dengan keseluruhan program. 5. Modul yang Dapat Digunakan Kembali. Modul biasa dari kode yang dapat digunakan kembali, dapat diakses oleh semua aplikasi yang memerlukannya. 6. Dokumentasi Standar. Diperlukan sistem, pemakai, perangkat lunak dan dokumentasi operasi yang standar sehingga semua informasi yang diperlukan untuk beroperasi dan pemeliharaan aplikasi khusus akan tersedia. 7. Kontrol Sentral. Semua program, dokumentasi, dan data tes seharusnya diinstal dalam penyimpanan pusat dari sistem CASE (Computer-Aided Software Engineering atau ComputerAssisted Software Engineering).
G. Mengelola Pemeliharaan Perangkat Lunak Tantangan mengelola pemeliharaan sistem adalah sama dengan tantangan mengelola usaha-usaha lain. Yaitu tantangan untuk mengelola manusia. Prioritas utama untuk mengarahkan pemeliharaan sistem adalah mengumpulkan sekelompok pemelihara yang berkompeten dan termotivasi, serta menyuplai mereka dengan perangkat dan sumber-sumber untuk melakukan pemeliharaan sistem yang terjadwal maupun 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 manajer akhirnya dapat mengoptimalkan program pemeliharaan sistem secara keseluruhan. Dalam mengelola pemeliharaan sistem baik itu rekayasa maju, mundur, ulang dan 9
restrukturisasi terdapat beberapa tahapan yang harus diperhatikan. Tahapan pengelolaan terhadap pemeliharaan sistem (perangkat lunak), meliputi: a) Menetapkan Kegiatan Pemeliharaan Sistem UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK
b) Mengawali dan merekam kegiatan pemeliharaan sistem tidak terjadwal (Form Maintenance Work Order : Pekerjaan yang diperlukan/dilakukan, waktu yang diperkirakan dibandingkan dengan waktu yang sebenarnya, kode pemeliharaan, biaya pemeliharaan) c) Menggunakan sistem perangkat lunak helpdesk d) Mengevaluasi aktivitas pemeliharaan sistem Mengoptimalkan program pemeliharaan sistem
10
UNIVERSITAS MERCU BUANA 2015 | REKAYASA PERANGKAT LUNAK