Mata Kuliah : Sistem Informasi Manajemen Penyerahan : 25 September 2013 Dosen : Dr. Ir. Arif Imam Suroso, MSc(CS) Batas Penyerahan : 4 Oktober 2013
URGENSI MAINTAINABILITY DALAM SISTEM INFORMASI
Oleh : Jauhar Samudera Nayantakaningtyas (P056121891.50) Angkatan R50
PROGRAM PASCASARJANA MANAJEMEN DAN BISNIS INSTITUT PERTANIAN BOGOR BOGOR 2013
1
DAFTAR ISI Halaman DAFTAR ISI ........................................................................................................... i DAFTAR GAMBAR ............................................................................................. ii DAFTAR TABEL ................................................................................................. ii I.
PENDAHULUAN .......................................................................................... 1 1.1. Latar Belakang ......................................................................................... 1 1.2. Tujuan Penulisan ...................................................................................... 1
II. PEMBAHASAN ............................................................................................. 2 2.1. Pengertian Software .................................................................................. 2 2.2. Maintainabitlity Software ......................................................................... 3 2.3. Pemeliharaan Sistem (System Maintenance) ............................................ 5 2.3.1. Manfaat Pemeliharaan Software...................................................... 5 2.3.2. Jenis Pemeliharaan Software ........................................................... 6 2.3.3. Prosedur Pemeliharaan Software ..................................................... 8 2.3.4. Mengelola Pemeliharaan Software .................................................. 9 III. PENUTUP ..................................................................................................... 10 3.1. Kesimpulan ............................................................................................. 10 DAFTAR PUSTAKA .......................................................................................... 11
i
DAFTAR GAMBAR Halaman Gambar 1. Software Performance Requirements .................................................... 6
DAFTAR TABEL Halaman Tabel 1. Karakteristik Software Berkualitas Menurut ISO 9126 ............................ 4
ii
I.
1.1.
PENDAHULUAN
Latar Belakang Siklus hidup perangkat lunak (software) terdiri dari : requirements, design,
construction, testing , and maintenance. Software maintenance adalah bagian yang tak terpisahkan dari siklus hidup perangkat lunak (software life cycle). Software maintenance sendiri merupakan bagian dari maintainabiliy software. Software maintenance kurang mendapat perhatian seperti tahapan-tahapan lain dalam pengembangan perangkat lunak. Pada umumnya development mendapat porsi lebih besar dalam pengembangan perangkat lunak. Pemeliharaan software/sistem juga perlu dipelihara karena beberapa hal berikut: 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 terinfeksi malware sehingga terjadi corrupt files atau data hilang
Pengembang software berusaha agar perangkat lunak yang mereka buat dapat digunakan atau dioperasikan lebih lama. Maintenance memerlukan biaya yang sangat mahal dan biasanya semakin bertambah mahal seiring dengan pertambahan usia perangkat lunak.
1.2.
Tujuan Penulisan Tujuan dari penulisan makalah ini adalah : 1. Menjelaskan pengertian software. 2. Menjelaskan mainainability software. 3. Menjelaskan pemeliharaan sistem.
1
II.
2.1.
PEMBAHASAN
Pengertian Software Software menurut IEEE (Institute of Electrical and Electronics Engineers)
dapat didefinisikan sebagai program komputer, prosedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer dengan kata lain software merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk program, dokumen, dan data. Pengertian software secara umum dapat diartikan sebagai sekumpulan data-data elektronik yang tersimpan dan diatur oleh komputer yang berupa program atau instruksi untuk menjalankan dan mengeksekusi suatu perintah. Dalam sebuah komputer, software bisa diibaratkan sebagai jiwanya komputer. Tanpa adanya software, sebuah komputer hanyalah seonggok barang mewah yang tidak mempunyai fungsi. Fungsi software adalah sebagai sarana interaksi antara pengguna dan perangkat keras. Melalui software inilah, bahasa manusia diterjemahkan kedalam bahasa mesin, sehingga kita bisa mengatur mesin komputer dengan mudah. Anonim (2011) menggolongkan software menjadi 3 macam, antara lain: 1. Sistem Operasi, contohnya: Microsoft Windows, Mac OS, Linux, Android. 2. Program Aplikasi, contohnya, Microsoft Office, Open Office, Adobe Photoshop, dll. Program aplikasi ini secara umum hanya bisa di pasang (di install) dalam sebuah komputer yang telah memiliki sistem operasi. 3. Software Pemrograman yakni Bahasa pemrograman Pascal, Visual Basic, Delphi, C++, dll). Software pemrograman adalah software yang dapat kita gunakan untuk membangun software lain.
Bedasarakan cara pendistribusiannya, software digolongkan menjadi: 1. Software berbayar Software berbayar adalah software yang dibuat untuk tujuan komersil, maksudnya, jika kita ingin menggunakannya, maka kita harus membayar sejumlah uang (paid software). Contoh dari software berbayar, yaitu: Microsoft Windows, Microsoft Office, Adobe Photoshop, Corel Draw, dan lain-lain.
2
2. Software Open Source Software Open Source adalah software yang bisa diotak-atik dan dikembangkan menurut kreatifitas pengguna. Pada jenis software ini biasanya ada komunitas yang saling mendukung untuk berbagi pengalaman dalam mengutak-atik dan tentunya dengan tanggung jawab atas apa yang dilakukan. Salah satu ciri dari dari software open source adalah gratis. 3. Shareware Shareware umumnya merupakan program yang didistribusikan dengan batas tertentu, bila ingin mendapatkan fitur-fitur lebih, maka kita harus mengeluarkan sejumlah uang untuk membayarnya. Atau bisa juga digunakan untuk evaluasi terhadap suatu produk untuk menambahkan fitur-fitur tertentu yang lebih baik lagi. Shareware bisa juga sebagi bahan uji coba ketika kita ingin membeli suatu software, jika kita merasa cocok maka kita tidak akan ragu lagi membelinya. 4. Freeware Freeware adalah software gratis, sesuai dengan arti kata free itu sendiri. Freeware merupakan software yang dapat kita download atau kita perloleh secara gratis, tanpa harus membeli. Meskipun demikian, terkadang ada beberapa pengembang software gratis yang menyertakan persyaratan tertentu.
2.2.
Maintainabitlity Software Pengembangan software atau dikenal juga sebagai software engineering
menurut IEEE adalah aplikasi sistematik, disiplin, pendekatan kuantitatif untuk pengembangan, operasi dan pemeliharaan dari software, dengan kata lain software engineering merupakan sebuah metodologi pengembangan perangkat lunak (software) yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem hingga pada tahap pemeliharaan sistem setelah digunakan dengan tujuan untuk membuat perangkat lunak yang tepat dengan metode yang tepat.
3
Menurut ISO (International Organization for Standarization) 9126, software berkualitas memiliki beberapa karakteristik seperti tercantum pada tabel berikut: Tabel 1. Karakteristik Software Berkualitas Menurut ISO 9126 Karakteristik Functionality : Software untuk menjalankan fungsinya sebagimana kebutuhan sistemnya. Reliability : Kemampuan software untuk dapat tetap tampil sesuai dengan fungsi ketika digunakan. Usability : Kemampuan software untuk menampilkan performa relatif terhadap penggunaan sumberdaya. Efficiency : Kemampuan software untuk menampilkan performa relatif terhadap penggunaan sumberdaya. Maintainability : Kemampuan software untuk dimodifikasi (korreksi, adaptasi, perbaikan) Portability : Kemampuan software untuk ditransfer dari satu lingkungan ke lingkungan lain.
Sub-karakteristik Suitability, accuracy, interoperability, security Maturity, Fault tolerance, Recoverability
Understanbility, Learnability, Operability, Attractiveness
Time behaviour, Resource Utilization
Analyzability, Changeability, Stability, Testability
Adaptability, Installability
Anonim (2009) menyebutkan bahwa kriteria utama yang mempengaruhi kualitas software terbagi menjadi tiga aspek penting yaitu : 1. Sifat-sifat operasional dari software (Product Operations); 2. Kemampuan software dalam menjalani perubahan (Product Revision) 3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition). Unsur maintainability dalam pengembangan software termasuk dalam Product Operations. Maintainability adalah kemampuan software dalam menjalani perubahan. Setelah sebuah software berhasil dikembangkan dan diimplementasikan, akan terdapat berbagai hal yang perlu diperbaiki berdasarkan hasil uji coba maupun evaluasi. Sebuah software yang dirancang dan 4
dikembangkan dengan baik, akan dengan mudah dapat direvisi jika diperlukan. Maintainability
adalah
usaha
yang
diperlukan
untuk
menemukan
dan
memperbaiki kesalahan (error) dalam software. Maintainability juga disebut sebagai pemeliharaan sistem (system maintenance). System maintenance atau pemeliharaan sistem dapat didefinisikan sebagai proses monitoring, evaluasi dan modifikasi dari sistem yang tengah beroperasi agar dihasilkan performa yang dikehendaki.
2.3.
Pemeliharaan Sistem (System Maintenance) Pemeliharaan sistem adalah semua aktivitas yang berkaitan untuk
mempertahankan peralatan sistem dalam kondisi layak bekerja. Sebuah sistem pemeliharaan yang baik akan menghilangkan variabilitas sistem. 2.3.1. Manfaat Pemeliharaan Software Menurut Gunadarma (2003) terdapat tiga alasan pentingnya pemeliharaan sistem atau system maintenance, antara lain: 1. Memperbaiki Kesalahan (Correcting Errors) Maintenance dilakukan untuk mengatasi kegagalan dan permasalahan yang muncul saat sistem dioperasikan. Sebagai contoh, maintenace dapat digunakan untuk mengungkapkan kesalahan pemrograman (bugs) atau kelemahan selama proses pengembangan yang tidak terdeteksi dalam pengujian sistem, sehingga kesalahan tersebut dapat diperbaiki. 2. Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism) Kajian pasca implementasi sistem merupakan salah satu aktivitas maintenance yang meliputi 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. Sebagai contoh, saat user menemukan errors pada saat sistem digunakan, maka user dapat memberi umpan balik atau feedback kepada spesialis informasi guna meningkatkan
kinerja
sistem.
Hal
ini
yang menjadikan
system
maintenance perlu dilakukan secara berkala, karena system maintenance akan senantiasa memastikan sistem baru yang di implementasikan berjalan 5
dengan baik dan sesuai dengan tujuan penggunaanya melalui mekanisme umpan balik. 3. 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 modifikasi-modifikasi sistem yang dilakukan.
Secara singkat, system maintenance menjadi urgen karena pada system maintenance terjadi usaha perbaikan secara berkelanjutan untuk mempertemukan kebutuhan oranisasi terhadap sistem dengan kinerja sistem yang telah dibangun. Hal ini ditunjukkan seperti gambar berikut:
Gambar 1. Software Performance Requirements Sumber : Gunadarma (2003)
2.3.2. Jenis Pemeliharaan Software Gunadarma (2003) menggolongkan pemeliharaan sistem menjadi empat jenis, yaitu : 1. Pemeliharaan Korektif Pemeliharaan korektif adalah bagian pemeliharaan sistem yang tidak begitu tinggi nilainya dan lebih membebani, karena pemeliharaan ini mengkoreksi kesalahan-kesalahan yang ditemukan pada saat sistem berjalan. Umumnya pemeliharaan korektif ini mencakup kondisi penting
6
atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga bagi perusahaan. 2. Pemeliharaan Adaptif 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 Penyempurnaan (Perfektif) 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. Sebagai contoh, kegiatan pemeliharaan ini dapat berbentuk perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang dokumentasi, pengubahan format dan isi laporan, penentuan logika pemrosesan yang lebih efisien, dan pengembangan efisiensi pengoperasian perangkat. 4. Pemeliharaan Preventif 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.
7
2.3.3. Prosedur Pemeliharaan Software 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 programmer pemeliharaan tidak begitu berdampak negatif pada kemampuan perusahaan untuk memelihara program C atau COBOL lama. 4. Rancangan Moduler. Programmer pemeliharaan dapat mengganti modul program jauh lebih mudah daripada jika ia berurusan dengan keseluruhan program.
8
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 Computer-Assisted Software Engineering).
2.3.4. Mengelola Pemeliharaan Software Tantangan mengelola pemeliharaan sistem adalah sama dengan tantangan mengelola usaha-usaha lain. Yaitu tantangan untuk mengelola sumberdaya 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.
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.
9
III.
3.1.
PENUTUP
Kesimpulan Software secara umum dapat diartikan sebagai sekumpulan data-data
elektronik yang tersimpan dan diatur oleh komputer yang berupa program atau instruksi untuk menjalankan dan mengeksekusi suatu perintah. Sebuah software yang dirancang dan dikembangkan dengan baik, akan dengan mudah dapat direvisi jika diperlukan. Maintainability adalah usaha yang diperlukan untuk menemukan dan memperbaiki kesalahan (error) dalam software. Maintainability juga disebut sebagai pemeliharaan sistem (system maintenance). Pemeliharaan sistem bertujuan untuk mempertahankan peralatan sistem dalam kondisi layak bekerja. Sebuah sistem pemeliharaan yang baik akan menghilangkan variabilitas sistem. Sehingga peranan dari pemeliharaan sistem adalah sebagai berikut 1. Memperbaiki Kesalahan (Correcting Errors) 2. Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism) 3. Menjaga Kemutakhiran Sistem (System Update)
10
DAFTAR PUSTAKA
[Anonim]. 2009. Maintainability Software dalam http://www.scribd.com [Diakses pada 23 September 2013] [Anonim]. 2011. Pengertian Software dalam http://internet.artikel2.com [Diakses pada 23 September 2013] [Gunadarma]. 2003. Pemeliharaan Sistem dalam http://ftp.gunadarma.ac.id [Diakses pada 23 September 2013]
11