Mata Kuliah
: Sistem Informasi Manajemen
Dosen
: Dr. Ir. Arif Imam Suroso, M.Sc (CS)
Maintainability Software (Tugas Individu)
Disusun Oleh :
Bagus Pahlevi
P056121801.50
PROGRAM PASCASARJANA MAGISTER MANAJEMEN DAN BISNIS INSTITUT PERTANIAN BOGOR 2013 ANGKATAN R-50
1. PENDAHULUAN
1.1 Latar Belakang Pada zaman serba IT ini perusahaan sangat membutuhkan sebuah software untuk meningkatkan kinerja suatu perusahaan. Dengan kebutuhan perusahaan yang berbedabeda, maka perusahaan, terutama perusahaan kecil yang membutuhka software yang tepat guna untuk perusahaannya. Software ini biasanya dibeikan pada software house kecil yang memberikan jasa untuk membutuhkan software sesuai dengan keinginan perusahaan. Software house biasanya akan mengutus seorang analis untuk melihat keinginan dan kebutuhan perusahaan. Dari keinginan tersebut analis akan mencatat apa saja yang perlu dibuat dan memberikan kepada programmer untuk membuatnya.
Dalam pembuatan program, software house harus membuat dokumentasi program yang merupakan tugas programmer. Pada setiap line program, programmer menuliskan maksud dari sebuah dokumentasi yang serupa dengan buku panduan untuk menggunakan program yang telah dibuatoleh software house. Biasanya software house akan memberikan support selama jangka waktu tertentu untuk software yang telah dibangunnya setelah melakukan instalasi sehingga aspek maintainabilitily suatu software sangat diperhatikan oleh perusahaan software house.
Maintainability tidak terbatas pada program yang dibuat oleh software house kecil saja. Namun semua software memerlukan maintainability sampai suatu derajat tertentu. Karena perkembangan hardware yang sangat cepat, hal ini akan lebih menjadi suatu permasalahan tertentu. Seperti sebuah laptop, dalam hal ini adalah CQ40-337TU berbasis intel dual-core, tidak dapat langsung diinstal dengan operating system Windows® XP secara langsung. Pengguna harus flashing BIOS terlebih dahulu, dan itupun setelah menginstall Windows® XP,tidak semua fungsi dapat berjalan dengan sempurna, salah satunya adalah tidak berfungsinya audio karena tidak terdapat driver untuk hardware yang bersangkutan.
1.2 Tujuan Paper ini bertujuan untuk melihat pentingnya maintainability dari sebuah software dan dampaknya bagi perusahaan yang memakainya.
2. TINJAUAN PUSTAKA
2.1 Software Perusahaan menghadapi masalah waktu dalam operasi, penjualan, produksi dan aspekaspek lainnya. Setelah era komputerisasi, perusahaan mulai menggunakan komputer untuk menyelesaikan pekerjaan dengan cepat. Bentuk komputer pertama yang paling sering digunakan dalam dunia kerja adalah kalkulator. Kalkulator digunakan untuk mempercepat proses perhitungan pada kasir dan proses-proses kerja lainnya. Setelah era komputer, banyak perusahaan memakai komputer untuk membantu pekerjaannya. Komputer terdiri dari hardware yang menjalankan perintah dan software yang mentranslasi perintah dari user pada komputer.
Software dapat dibedakan menjadi dua tipe : System software dan Application software. System software adalah program-program yang berfungsi sebagai pengatur operasi peralatan komputer. System software yang penting sering disebut sebagai sistem operasi. Aplikasi Software adalah program-program yang memerintahkan komputer untuk menghasilkan suatu informasi.
2.2 Maintainability Sebuah software akan mengalami kerusakan sesuai dengan waktu. Kerusakan disini bukan berarti software tersebut menjadi lebih jelek, namun lebih ke arah ditemukannya cara lain yang lebih efisien untuk melakukan prosedur tertentu atau ditemukannya celah keamanan dalam software tersebut.
Software maintenance merupakan suatu pekerjaan yang sangat luas, termasuk didalamnya adalah perbaikan error, perluasan kemampuan, penghapusan kemampuan yang sudah tidak dipergunakan, dan optimasi software (Stephen 1980). Gambar 1 adalah flowchart dari proses maintenance software menurut (Stephen 1980). Dalam flowchart tersebut, hal pertama yang harus dilakukan adalah menentukan tujuan dari maintenance.
Tahap pertama setelah tujuan dari maintenance adalah mengerti program atau software tersebut. Tingkat kesulitan atau kemudahan program dapat diambil dari beberapa atribut,
pada gambar disebutkan Kompleksitas dari software, dokumentasi dan deskripsi dari software tersebut apakah mudah dibaca, dimengerti dan digunakan.
Gambar 1. Proses maintenance software
Tahap kedua terdiri dari membuat proposal maintenance yang ingin dicapai dari tujuan maintenance. Hal ini membutuhkan pemahaman yang baik dari tujuan dan program yang akan dimaintain. Tingkat kesulitan untuk mengajukan proposal maintenance dipengaruhi utamanya oleh extensibility, sejauh mana software awal ini dapat dikembangkan lebih lanjut.
Tahap ketiga adalah memperhitungkan efek dari pengembangan pada fungsi-fungsi lainnya yang terdapat dalam software. Pada pembangunan software, efek dari pengembangan software tidak hanya akan berimbas pada bagian software yang
dikembangkan, namun juga bagian software lainnya. Atribut yang paling berpengaruh dalam tahap ini adalah stabilitas software. Semakin stabil suatu software maka ketika dilakukan perubahan terhadap suatu fungsi tertentu, tidak ada atau sedikit bagian dari software yang mengalami efek negatif dari pengembangan tersebut. Tahap keempat adalah tahap pengetesan, yang paling berpengaruh dalam tahap ini adalah testability. Testability berarti sejauh mana software tersebut dapat di uji, dan seberapa besar biaya yang dibutuhkan untuk melakukan pengetesan tersebut.
3. PEMBAHASAN
3.1 Pentingnya Maintainability bagi Perusahaan Seperti yang telah dibahas sebelumnya maintainability suatu software dilakukan untuk membuat software tersebut memiliki kemampuan lebih baik atau memiliki fungsi lebih banyak dari versi sebelumnya. Jika suatu software dimaintain secara berkala, software tersebut dapat memiliki tingkat maintainability yang cenderung tinggi. Hal ini dapat dilihat pada gambar 2 dan 3, dimana pada gambar 2 software yang tidak melakukan perubahan pada software sedangkan pada gambar terdapat perubahan.
Gambar 2. Tanpa Maintenance (Land, 2002)
Pada gambar 2, software yang tidak dilakukan maintenance terhadapnya akan mengalami degradasi seiring dengan waktu. Sebagai analogi untuk memudahkan, penulis akan mencontohkan software antivirus. Pada software antivirus yang sudah lama tidak di update (maintain) maka akan terjadi degradasi kemampuan untuk melindungi komputer dari virus.
Gambar 3. Dengan Maintenance (Land, 2002) Pada gambar 3, program mendapatkan maintenance pada titik C’. Dengan maintenance tersebut akan membuat antivirus memiliki update yang lebih baru daripada kasus pada
gambar 2. Dengan maintenance tersebut pengguna akan mendapatkan nilai dari software yang lebih baik dan keringanan karena software di maintain secara berkala.
Semakin lama keadaan tanpa maintenance dibiarkan maka software akan semakin sulit untuk di maintain. Hal ini akan berakibat buruk bagi perusahaan karena akan mengeluarkan biaya yang sangat besar untuk memperbaiki software yang dimilikinya, dan kehilangan fungsionalitas tambahan yang dapat menguntungkan perusahaan jika maintenance dilakukan secara berkala.
3.2 Pentingnya Maintainability Bagi Engineer Menurut Gilb (2008) maintainability dalam engineering biasanya dianggap sebagai memperbaiki kesalahan-kesalahan dalam software yang lama. Namun Gilb mengartikan maintainability sebagai aktivitas perubahan software atau proses, yang dapat disebut juga “kemampuan software untuk berubah”. Metode yang Gilb usulkan adalah:
Definisikan kebutuhan maintainability secara kuantitatif.
Desain dengan memenuhi kebutuhan di atas jika dimungkinkan dan ekonomis.
Implementasikan desain tersebut dan uji apakah software yang telah dibangun tersebut sesuai dengan yang dispesifikasikan.
Kendali kualitas sehingga desain yang dibuat dapat terus memenuhi kualitas maintainability yang diinginkan, dan melakukan aksi yang diperlukan ketika ada degradasi untuk mengembalikan pada kualitas yang diinginkan.
Dengan framework seperti itu, software akan sesuai dengan kebutuhan maintainability-nya dan
pembangunannya
selalu
mengikuti
kebutuhan
tersebut.
Dalam
mengelola
maintainability tersebut, peranan arsitek software adalah:
Berpartisipasi dalam klarifikasi kebutuhan yang akan digunakan sebagai input ke proses arsitektur mereka.
Memastikan bahwa kebutuhan harus jelas dengan skala pengukuran yang terdefinisi dan disetujui serta tingkat performa yang dibutuhkan.
Mencari arsitektur yang sesuai, mampu memberikan tingkat performa yang dibutuhkan, dengan batasan resource yang ada.
Memperkirakan akibat dari arsitektur yang dipilih pada kebutuhan.
Mendefinisikan arsitektur tersebut dengan detil sehingga tujuannya mudah dimengerti oleh programmer, dan efek yang diinginkan dapat dihasilkan dari arsitektur tersebut.
Memonitor system yang dikembangkan pada saat arsitektur yang dirancang di aplikasikan di dunia nyata dan membuat perubahan bila diperlukan.
Memonitor karakteristik performa selama sistem masih berjalan dan membuat perubahan pada kebutuhan dan arsitetur, untuk mempertahankan karakteristik performa.
4. KESIMPULAN
Maintanability suatu software sangat membutuhkan biaya yang cukup mahal, sehingga perusahaan lebih baik melakukan maintenance software secara berkala atau melakukan maintenance sendiri agar dapat mengoptimakan kegunaan software yang dimili untuk kegiatan operasinya. Pada sisi enginering, maintenance software dimulai dari kebutuhan dari suatu perusahaan dan mengembagkan software sesuai kebutuhan perusahaan.
DAFTAR PUSTAKA
Land, Rikard. 2002. Measurements of Software Maintainability. Mälardalen University, Departemen of Computer Engineering. Sweeden. Yau, Stephen S. Collofello, James S. 1980. Some Stability Measures for Sofware Maintenance. IEEE Transactions on software engineering.
LAMPIRAN
http://dhany.blogstudent.mb.ipb.ac.id/2011/07/14/software-maintainability/#comment157 Terima kasih sudah sharing tentang “software maintainability” infonya sangat membantu.