KONSEP & TEKNIK PEMELIHARAAN PERANGKAT LUNAK Tugas ke 12 Rekayasa Perangkat Lunak
Dibuat oleh : Dekha Sundhawati (41813120217) Dosen Pengampu : Wachyu Hari Haji, S.Kom,MM
JURUSAN SISTEM INFORMASI FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA
1
Pengertian Dan Pemeliharaan Perangkat Lunak
Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer
Pemeliharaan Perangkat Lunak Sedangkan, Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yang lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru. Ada 4 katagotri pemeliharaan software yaitu : 1. Corrective Maintenance Corrective maintenance terjadi pada saat produk dipakai dan hasil yang didapat oleh pamakai baik berupa kesalahan yang timbul maupun kesalahan dalam bentuk keluaran yang tidak sesuai. 2. Adaptive maintenance Aktivitas yang kedua ini terjadi karena pertumbuhan atau perkembangan perangkat lunak atau perangkat keras sehingga memerlukan modifikasi dari perangkat lunak yang telah dibuat. 3. Perfective maintenance Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji coba kemudian dipergunakan oleh user. Setelah dipergunakan oleh user mungkin timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai.
2
4. Preventive maintenance Pemeliharaan yang terakhir dilakukan untuk menghadapi kemajuan perangkat lunak atau perangkat keras di masa mendatang, umpamanya penambahan fungsi¬fungsi atau melengkapi fungsi-fungsi yang telah ada. Kenapa biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya : 1. 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 pemeliharan 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 pemelihara. 5. Beberapa permasalahan yang sering muncul dalam pemeliharaan software 6. Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya, 7. Kesulitan pelacakan pada proses pengembangan software, 8. Sulit untuk mengerti program orang lain, 9. Tidak adanya dokumentasi yang baik, 10. Tidak adanya nara sumber, 11. Kebanyakan software dirancang tanpa adanya pemikiran untuk diubah.
3
Siklus Hidup Pemeliharaan Sistem (SMLC) Tahapan 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 dan SWDLC
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)
4
Tiga pendekatan untuk menyusun Pemeliharaan sistem :
Pendekatan Pemisahan : Pemeliharaan dan Pemeliharaan
Pendekatan Gabungan : Menggabungkan personalia penyusun dan pemelihara menjadi sebuah kelompok utama sistem informasi
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)
Mengelola Pemeliharaan Sistem
Menetapkan Kegiatan Pemeliharaan Sistem
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)
Menggunakan sistem perangkat lunak helpdesk
Mengevaluasi aktivitas pemeliharaan sistem
5
Perawatan dan Konfigurasi Ketika sebuah perangkat lunak telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu perawatan perangkat lunak. Ada beberapa tipe perawatan yang biasa dikenal dalam dunia perangkat lunak yaitu : a. Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu. b. Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan. c. Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponenkomponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade. 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 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. 6
Dalam mengelola pemeliharaan sistem baik itu rekayasa maju, mundur, ulang dan restrukturisasi terdapat beberapa tahapan yang harus diperhatikan. Tahapan pengelolaan terhadap pemeliharaan sistem (perangkat lunak), meliputi: a) Menetapkan Kegiatan Pemeliharaan Sistem 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 e) Mengoptimalkan program pemeliharaan sistem
Pemeliharaan juga mempengaruhi dokumen pendukung seperti : • dokumen spesifikasi kebutuhan perangkat lunak • dokumen rancangan • dokumen rencana pengujian • prinsip pengoperasian • petunjuk pemakaian 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.
7