Program Studi : Sistem Informasi Manajemen Penyerahan : 4 Oktober 2013 Dosen : Dr. Ir. Arif Imam Suroso, MSc Batas Penyerahan : 4 Oktober 2013 URGENSI DAN FAKTOR MAINTAINAIBILITY SOFTWARE OLEH : TANTRY NUGROHO R50 P056122021.50 MAGISTER MANAJEMEN DAN BISNIS INSTITUT PERTANIAN BOGOR 2013 i
DAFTAR ISI DAFTAR ISI DAFTAR GAMBAR Halaman i ii BAB 1. PENDAHULUAN 1 1.1.Latar Belakang 1 1.2.Tujuan 1 BAB 2.TINJAUAN PUSTAKA 2 2.1. Sistem Informasi Manajemen 2 2.2. Software 2 2.3. Maintainability 2 BAB 3. PEMBAHASAN 5 3.1. Urgensi Maintability di Perusahaan 5 3.2. Pentingnya Maintainability bagi Engineer 7 BAB 4. KESIMPULAN 8 DAFTAR PUSTAKA 9 i
DAFTAR GAMBAR Halaman 1. Proses maintenance software 3 2. Tanpa Maintenance 6 3. Dengan Maintenance 6 ii
BAB I PENDAHULUAN 1.1 Latar Belakang Sistem Informasi dibutuhkan untuk mendukung keberhasilan pelaksanaan berbagai fungsi didalam perusahaan, termasuk dalam sistem pengendalian manajemen diperlukan informasi yang mampu mendukung terciptanya sistem pengendalian yang efektif. Pemanfaatan teknologi informasi menjadi suatu keharusan yang tidak dapat dihindarkan oleh setiap perusahaan yang ingin menempatkan dirinya pada posisi paling depan dalam suatu industri. Terkait dengan hal ini, pengelolaan sumber daya informasi memegang peranan yang sangat penting untuk menunjang suksesnya sebuah bisnis. Salah satunya adalah software, saat ini perusahaan membutuhkan software yang dibuat untuk memperbaiki kekuatan perusahaan. Dengan kebutuhan perusahaan yang berbeda-beda, maka perusahaan membutuhkan software yang tepat guna. Software ini dapat dibuat dengan cara insource dan outsource. Dimana insource dibuat oleh perusahaan sendiri tanpa bantuan jasa orang/perusahaan lain. Sedangkan outsorce dibuat dengan cara menggunakan jasa perusahaan pembuat software dan menyerahkan segala proses pembuatannya kepada perusahaan tersebut. Dalam kasus-kasus tertentu software yang telah dibuat memberikan support selama jangka waktu tertentu. Permasalahannya adalah, dalam perkembangan teknologi yang sangat cepat ini apakah software yang dibuat masih bisa dipakai atau malfunction (tidak bisa dipakai). Hal ini adalah salah satu aspek yang membuat maintainability dari suatu software perlu diperhatikan. Maintainability tidak terbatas pada program yang dibuat dengan insource maupun outsource saja. Namun semua software memerlukan maintainability sampai suatu derajat tertentu. Karena perkembangan hardware yang sangat cepat, hal ini akan lebih menjadi suatu permasalahan tertentu. 1.2 Tujuan Tujuan dari pembuatan makalah ini yaitu untuk mempelajari lebih dalam tentang materi kuliah Sistem Informasi Manajemen (SIM) dan juga memberikan penjelasan jawaban dari pertanyaan tentang Mengapa kita perlu memperhatikan faktor maintainaibility software dalam suatu perusahaan atau organisasi, dan menjelaskan urgensinya! 1
2.1. Sistem Informasi Manajemen BAB II TINJAUAN PUSTAKA Sistem Informasi Manajemen (SIM) menurut O Brien (2005) dikatakan bahwa SIM adalah suatu sistem terpadu yang menyediakan informasi untuk mendukung kegiatan operasional, manajemen dan fungsi pengambilan keputusan dari suatu organisasi. Sistem Informasi Manajemen (SIM) merupakan sistem informasi yang menghasilkan hasil keluaran (output) dengan menggunakan masukan (input) dan berbagai proses yang diperlukan untuk memenuhi tujuan tertentu dalam suatu kegiatan manajemen (Wikipedia, 2008). 2.2 Software Perusahaan menghadapi masalah waktu dalam operasi, penjualan, produksi dan aspek-aspek 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. Sistem software adalah program-program yang berfungsi sebagai pengatur operasi peralatan komputer. Sistem software yang penting sering disebut sebagai sistem operasi. Aplikasi Software adalah program-program yang memerintahkan komputer untuk menghasilkan suatu informasi (O Brien, 2005). 2.3 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 (Yau, 1980). Gambar 1 adalah flowchart dari proses maintenance software menurut Yau (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. 2
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 3
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. 4
BAB III PEMBAHASAN Mengapa kita perlu memperhatikan faktor maintainaibility software dalam suatu perusahaan atau organisasi? Jelaskan urgensinya! 3.1 Urgensi Maintability di Perusahaan. Perangkat lunak di dunia sistem informasi perusahaan bagaikan jantung kehidupan dalam kegiatan bisnis. Dalam menunjang kegiatan bisnis, pengembangan suatu perangkat lunak (software) sebagai tools sangatlah penting, kualitas dari software yang dihasilkan dalam suatu siklus pengembangan sistem menjadi sangat relevan. Tak ada gunanya suatu software penunjang bisnis yang memiliki grafis dan kemampuan prosesing yang memukau namun tidak dapat dikembangkan lebih lanjut karena mengabaikan kemampuan maintainability, sebagai contoh tidak adanya dokumentasi yang memadai dalam siklus pengembangan sistem, sehingga pada saat kebutuhan bisnis meningkat, perangkat lunak tidak dapat dimodifikasi dan harus dilakukan reengineering dari tahap awal. Maintainability dapat diartikan sebagai 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. Adapun Urgensi maintainability dari suatu software adalah pentingnya perawatan, pemeliharaan dan pengembangan suatu software dimana setelah sebuah software berhasil dikembangkan dan diimplementasikan, akan terdapat berbagai hal yang perlu diperbaiki berdasarkan hasil uji coba maupun evaluasi. Tujuannya adalah agar software selalu dalam keadaan baik (ready to use), mudah digunakan (easy to used) dan siap pakai (portable). Dalam waktu tertentu tidak menutup kemungkinan software mengalami kerusakan atau perlu disempurnakan lagi atau terjadi error yang disebabkan oleh bug maupun faktor eksternal seperti power failure (yang menyebabkan perangkat lunak crash), virus komputer disitulah pentingnya maintainability. Jika suatu software di maintain 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 3 terdapat perubahan. Maintainability memiliki sub attribute meliputi Analyzability, Changeability, Stability, Testability dan Compliance. Perlu dipahami bahwa ketersediaan dokumentasi yang memadai meliputi user requirement, desain fungsi, user manual, pencatatan perubahan (biasanya dalam bentuk change request) dan dokumen penunjang lainnya seperti kebijakan perusahaan menjadi faktor penentu maintainability.. 5
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. Adapun pemeliharaan sistem (system maintenance) dilaksanakan untuk tiga alasan: 1. Memperbaiki kesalahan. Penggunaan sistem mengungkapkan kesalahan (bugs) dalam program atau kelemahan rancangan yang tidak terdeteksi dalam pengujian sistem. Kesalahan-kesalahan ini dapat diperbaiki. 2. Menjaga kemutakhiran sistem. Perubahan-perubahan sebagai akibat berlalunya waktu mengharuskan modifikasi dalam rancangan atau perangkat lunak. 3. Meningkatkan sistem. Saat manajer menggunakan sistem, mereka melihat ada hal-hal yang perlu ditambahkan ke dalam sistem, agar menjadi lebih praktis dan membuat pekerjaan lebih cepat selesai, sehingga terciptalah saran dimana caracara membuat peningkatan sistem ini menjadi lebih baik. Saran-saran ini diteruskan kepada spesialis informasi yang memodifikasi sistem sesuai saran tersebut dan diciptakanlah sistem yang lebih baik. 6
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: 1. Definisikan kebutuhan maintainability secara kuantitatif. 2. Desain dengan memenuhi kebutuhan di atas jika dimungkinkan dan ekonomis 3. Implementasikan desain tersebut dan uji apakah software yang telah dibangun tersebut sesuai dengan yang dispesifikasikan. 4. 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: 1. Berpartisipasi dalam klarifikasi kebutuhan yang akan digunakan sebagai input ke proses arsitektur mereka. 2. Memastikan bahwa kebutuhan harus jelas dengan skala pengukuran yang terdefinisi dan disetujui serta tingkat performa yang dibutuhkan. 3. Mencari arsitektur yang sesuai, mampu memberikan tingkat performa yang dibutuhkan, dengan batasan resource yang ada 4. Memperkirakan akibat dari arsitektur yang dipilih pada kebutuhan 5. Mendefinisikan arsitektur tersebut dengan detil sehingga tujuannya mudah dimengerti oleh programmer, dan efek yang diinginkan dapat dihasilkan dari arsitektur tersebut 6. Memonitor sistem yang dikembangkan pada saat arsitektur yang dirancang di aplikasikan di dunia nyata dan membuat perubahan bila diperlukan. 7. Memonitor karakteristik performa selama sistem masih berjalan dan membuat perubahan pada kebutuhan dan arsitetur, untuk mempertahankan karakteristik performa. 7
Maintainability suatu BAB IV KESIMPULAN software sangatlah penting bagi perusahaan. Alangkah baiknya perusahaan melakukan maintenance secara berkala. Meskipun maintenance memerlukan biaya yang tinggi namun tetap harus dilakukan, agar dapat mengoptimalkan kegunaan software yang dimiliki untuk menunjang kegiatan operasi pada perusahaan tersebut. Adapun jenis maintenance yang dianjurkan bagi perusahaan adalah memperbaiki kesalahan program yang muncul, menjaga kemutakhiran sistem yang ada (up to date) dan meningkatkan sistem dengan kebutuhan perusahaan.. 8
DAFTAR PUSTAKA Dhany Surya Ratana P., 2011. Maintainability Software. Sekolah Pasca Sarjana Magister Manajemen dan Bisnis.Institut Pertanian Bogor Gilb, Tom. 2008. Designing Maintainability in Software Engineering : A Quantified Approach. INCOSE Land, Rikard. 2002. Measurements of Software Maintainability. Mälardalen O Brien, J. A. 2005. Pengantar Sistem Informasi, Perspektif Bisnis dan Manajerial. Edisi 12. Terjemahan: Introduction to Information Systems, 12 th Ed. Palupi W. (editor), Dewi F. dan Deny A. K. (penerjemah). Penerbit Salemba Empat, Jakarta. Wikipedia. 2008. Sistem Informasi Manajemen. http://id.wikipedia.org (Tanggal akses: 29 September 2013). Yau, Stephen S. Collofello, James S. 1980. Some Stability Measures for Software Maintenance. IEEE Transactions on software engineering. 9