TUGAS UJIAN INDIVIDU MATA KULIAH SISTEM INFORMASI MANAJEMEN
UJIAN AKHIR TRIWULAN (TAKE HOME)
URGENSI MAINTAINABILITY DARI SUATU SOFTWARE
Oleh: Soetjie Poernama Sari P056101301.45
Dosen: Dr. Ir. Arif Imam Suroso, M.Sc (CS)
PROGRAM PASCASARJANA MANAJEMEN DAN BISNIS SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR 2011
I.
1.1
PENDAHULUAN
Latar Belakang Perangkat lunak merupakan suatu istilah yang digunakan untuk
menjabarkan aktivitas dari analisis suatu sistem 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 waktu antara 5 sampai 10 tahun. Aktivitas pemeliharaan menghabiskan biaya terbesar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak. Dan sudah sewajarnya jika hal itu terjadi, karena 70% dana yang digunakan dimanfaatkan untuk aktivitas pemeliharaan. Selain itu juga, urgensi maintainability juga harus diperhatikan, karena suatu software, tidak hanyak dimanfaatkan oleh pengguna untuk kepentingannya tetapi juga perlu dilakukan pemeliharaan, perawatan, dan pengembangan dari suatu software. Karena hal inilah perlu dilakukan kajian mengenai urgensi maintainability suatu software. Apakah telah dilakukan sesuai dengan prosedur atau tidak.
1.2
Tujuan Adapun tujuan penulisan makalah ini adalah untuk mengetahui seberapa
penting urgensi maintainability dari suatu software, baik itu dari pemeliharaan sampai dengan pengembangannya.
II.
2.1
TINJAUAN PUSTAKA
Definisi Software Nama lain dari software adalah perangkat lunak. Seperti nama itu, sifatnya
pun berbeda dengan hardware atau perangkat keras, jika perangkat keras adalah komponen yang nyata yang dapat dilihat dan disentuh oleh manusia, maka software atau perangkat lunak tidak dapat disentuh dan dilihat secara fisik. Software memang tidak tampak secara fisik dan tidak berwujud benda tapi bisa di operasikan. Software merupakan suatu sistem yang menghubungkan perangkat keras (hardware) dengan pengguna (user), dimana hubungan ini dapat menciptakan suatu sistem yang dapat berfungsi sesuai dengan kemauan pengguna (user) (http://muhamadhaydrus.wordpress.com/category/software/).
2.2
Jenis Software Software atau perangkat lunak komputer berdasarkan distribusinya
dibedakan menjadi beberapa macam, yaitu software berbayar, software gratis (http://belajar-komputer-mu.com/pengertian-software-perangkat-lunakkomputer/). Software berbayar merupakan perangkat lunak yang didistribusikan untuk tujuan komersil. Setiap pengguna yang ingin menggunakan atau mendapatkan software tersebut, dapat diwujudkan dengan cara membeli atau membayar pada pihak yang mendistribusikannya. Pengguna yang menggunakan software berbayar umumnya tidak diijinkan untuk menyebarluaskan software tersebut secara bebas tanpa ijin ada penerbitnya. contoh software berbayar ini misalnya adalah sistem microsoft windows, microsoft office, adobe photo shop, dan lain-lain. Freeware atau perangkat lunak gratis adalah perangkat lunak komputer berhak cipta yang gratis digunakan tanpa batasan waktu, berbeda dari shareware yang mewajibkan penggunanya membayar (misalnya setelah jangka waktu percobaan tertentu atau untuk memperoleh fungsi tambahan). Freeware juga didefinisikan sebagai program apapun yang didistribusikan gratis, tanpa biaya tambahan. Sebuah contoh utama adalah suite browser dan mail client dan Mozilla News, juga didistribusikan di bawah GPL (Free Software).
Free Software lebih mengarah kepada bebas penggunaan tetapi tidak harus gratis. Pada kenyataannya, namanya adalah karena bebas untuk mencoba perangkat lunak sumber terbuka (open source) dan di sanalah letak inti dari kebebasan: program-program di bawah GPL, sekali diperoleh dapat digunakan, disalin, dimodifikasi dan didistribusikan secara bebas. Jadi free software tidak mengarah kepada gratis pembelian tetapi penggunaan dan distribusi. Begitu keluar dari lisensi kita dapat menemukan berbagai cara untuk mendistribusikan perangkat lunak, termasuk freeware, shareware atau adware. Klasifikasi ini mempengaruhi cara di mana program dipasarkan, dan independen dari lisensi perangkat lunak mana mereka berasal. Shareware juga bebas tetapi lebih dibatasi untuk waktu tertentu. Shareware adalah program terbatas didistribusikan baik sebagai demonstrasi atau versi evaluasi dengan fitur atau fungsi yang terbatas atau dengan menggunakan batas waktu yang ditetapkan (misalnya 30 hari). Sebuah contoh yang sangat jelas dari tipe ini adalah perangkat lunak antivirus. Perusahaan yang membuat antivirus biasanya memudahkan pelepasan produk evaluasi yang hanya berlaku untuk jumlah hari tertentu. Setelah melewati maksimum, program akan berhenti bekerja dan Anda perlu membeli produk jika Anda ingin tetap menggunakannya.
III.
Urgensi
maintainability
PEMBAHASAN
dari
suatu
software
adalah
pentingnya
perawatan/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.
3.1
Pemeliharaan Perangkat Lunak Kegiatan pemeliharan perangkat lunak (software) terjadi karena adanya
asumsi yang salah pada saat uji coba yaitu kesalahan tersembunyi pada perangkat lunak yang cukup besar. Ada 4 (empat) jenis pemeliharaan perangkat lunak yaitu sebagai berikut a.
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.
b. 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. c.
Perfective maintenance Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji cobs kemudian dipergunakan oleh user. Setelah dipergunakan oleh user mungkin timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai.
d. 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.
Karakteristik pemeliharaan dapat dibedakan menjadi dua, yaitu (1) pemeliharan terstruktur dan tidak terstruktur; (2) Biaya Pemeliharaan. Pemeliharaan terstruktur dimulai dari permintaan akan pemeliharaan dan menentukan konfigurasi dari perangkat lunak yang akan diadakan pemeliharaan. Setelah itu, dilakukan evaluasi perancangan dan menentukan rencana pendekatan yang akan digunakan untuk melakukan pemeliharaan. Kemudian dilanjutkan dengan melakukan modifikasi perancangan dan penulisan ulang program. Langkah akhir dari pemeliharaan terstruktur adalah mereview program yang telah ditulis, jika diterima maka tugas pemeliharaan telah selesai dilakukan. Sedangkan jika konfigurasi merupakan program permodul, maka kegiatan yang dilakukan adalah evaluasi program. Ketika diperlukan modifikasi yang cukup besar, maka tindakan yang diambil adalah pembuatan ulang yang dilanjutkan dengan review hasil. Jika hasil akhir memenuhi kriteria, maka perangkat lunak telah siap. Pemeliharaan tidak tersturktur hal yang harus diperhatikan adalah bahwa pada pemeliharaan ini tidak mempunyai dokumentasi yang baik, tidak menggunakan
metodologi
perancangan,
dan
tidak
melakukan
langkah
pemeliharan seperti yang dilakukan pada pemeliharaan terstruktur.
3.2
Maintainability Maintainability adalah usaha yang diperlukan untuk menemukan dan
memperbaiki kesalahan dalam software. Maintanability juga disebut sebagai pemeliharaan system. Dimana 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 dikembangkan dengan baik, akan dengan mudah dapat direvisi jika diperlukan. Seberapa jauh software tersebut dapat diperbaiki merupakan faktor lain yang harus diperhatikan. Unsur maintainability dalam pengembangan software termasuk dalam Product Operations yaitu 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 dikembangkan dengan baik, akan
dengan mudah dapat direvisi jika diperlukan. Seberapa jauh software tersebut dapat diperbaiki merupakan faktor lain yang harus diperhatikan. Salah satu faktor yang berkaitan dengan kemampuan software untuk menjalani perubahan adalah Maintainability. Ada 3 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. 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.
b. 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 dengan baik dan sesuai dengan tujuan penggunaanya melalui mekanisme umpan balik. 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 modifikasi-modifikasi sistem yang dilakukan.
Menurut ISO (International Organization for standarization) 9126, software berkualitas memiliki beberapa karakteristik seperti tercantum pada tabel berikut: Karakteristik
Sub karakteristik
Functionality :
Suitability, accuracy,
Software untuk menjalankan fungsinya
interoperability, security
sebagimana kebutuhan sistemnya. Reliability :
Maturity, Fault tolerance,
Kemampuan software untuk dapat tetap tampil
Recoverability
sesuai dengan fungsi ketika digunakan. Usability :
Understanbility, Learnability,
Kemampuan software untuk menampilkan
Operability, Attractiveness
performans relatif terhadap penggunaan sumberdaya. Efficiency :
Time behaviour, Resource
Kemampuan software untuk menampilkan
Utilization
performans relatif terhadap penggunaan sumberdaya. Maintainability :
Analyzability, Changeability,
Kemampuan software untuk dimodifikasi
Stability, Testability
(korreksi, adaptasi, perbaikan) Portability :
Adaptability, Installability
Kemampuan software untuk ditransfer dari satu lingkungan ke lingkungan lain.
Seperti yang terlihat pada tabel diatas, karakteristik Maintanability terdiri dari sub-sub karakteristik lain seperti:
Analyzability, merupakan kemudahan untuk menentukan penyebab kesalahan.
Changeability, merupakan kualitas lain dari Flexibility yang berarti kemudahan dilakukannya perubahan atau modifikasi terhadap software
Stability dan Testability.
3.3
Maintainability Selama Pengembangan Ada beberapa kegiatan yang harus dilakukan selama pengembangan
perbaikan perangkat lunak. Aktivitas tersebut berupa: Mengembangkan standarisasi petunjuk. Menentukan kendala untuk dokumen pendukung. Menentukan prosedut yang menjamin kualitas. Menentukan perbaikan produk. Menentukan sumber daya yang diperlukan untuk pemeliharaan. Memperkirakan biaya pemeliharaan
IV.
Berdasarkan
uraian
KESIMPULAN
diatas
dapat
disimpulkan
bahwa
urgensi
maintainabilitu dari suatu software berupa pentingnya perawatan, pemeliharaan dan pengembangan dari 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.
DAFTAR PUSTAKA
Mediarman, B. 2011. Perangkat Lunak dan Pemeliharaannya. Pusat Pengembangan Bahan Ajar-UMB. http://pksm.mercubuana.ac.id (08 Juli 2011). [anonim]. 2011. Definisi Software. http://muhamadhaydrus.wordpress.com/category/software/ (08 Juli 2011) [anonim]. 2011. Pengertian software (Perangkat Lunak) komputer. http://belajarkomputer-mu.com/pengertian-software-perangkat-lunak-komputer/ (08 Juli 2011). http://diansuryasaputra.blogstudent.mb.ipb.ac.id/2010/07/31/soal-3-urgensimaintainability-dari-suatu-software/ (08 Juli 2011). http://suherli.blogstudent.mb.ipb.ac.id/2010/07/31/no-3-urgensi-maintainaibilitysuatu-software/ (08 Juli 2011).