UJIAN AKHIR TRIWULAN MATA KULIAH SISTEM INFORMASI MANAJEMEN
KAJIAN TERHADAP URGENCY MAINTENANCE DALAM PENGEMBANGAN SOFTWARE SYSTEM
DOSEN : DR. IR. ARIF IMAM SUROSO, MSc
Disusun oleh : Yugo Pujonggo, SE (P056132592.48E)
MAGISTER MANAJEMEN BISNIS PROGRAM PASCASARJANA MANAJEMEN DAN BISNIS INSTITUT PERTANIAN BOGOR 2014
DAFTAR ISI
Daftar Isi..................................................................................................................
i
Daftar Gambar .........................................................................................................
ii
Daftar Tabel ............................................................................................................
iii
BAB 1 PENDAHULUAN ......................................................................................
1
1.1 Latar Belakang ...........................................................................................
1
1.2 Tujuan Penulisan .......................................................................................
1
BAB 2 TINJAUAN PUSTAKA 2.1 Sistem Informasi ........................................................................................
2
2.2 Pengembangan Software dalam Sistem Informasi ....................................
2
2.2.1 Proses Pengembangan Software .....................................................
3
2.2.2 Model Pengembangan Software .....................................................
6
2.2.3 Prinsip-prinsip Pengembangan Sistem Informasi ...........................
13
BAB 3 PEMBAHASAN 3.1 Urgency Maintenance dari Software .........................................................
16
3.2 Implikasi Manajerial ..................................................................................
20
BAB 4 PENUTUP 4.1 Kesimpulan ................................................................................................
21
4.2 Saran ..........................................................................................................
21
Daftar Pustaka .........................................................................................................
22
i
DAFTAR GAMBAR
Gambar 1. Bagan Alur Pembangunan Sistem Informasi ........................................
5
Gambar 2. Proses SDLC .........................................................................................
7
Gambar 3. Proses Prototyping Approach ................................................................
12
Gambar 4. Performance Requirements ...................................................................
20
ii
DAFTAR TABEL
Tabel 1. Karakteristik Maintenance ........................................................................
18
iii
BAB 1 PENDAHULUAN
1.1 Latar Belakang Sistem Informasi merupakan aspek yang dapat ditemui dalam kehidupan sehari-hari pada masa ini, terutama di dunia pekerjaan. Pengembangan Sistem Informasi perlu bersinergi dengan pengembangan teknologi. Teknologi yang semakin maju menuntut pengguna Sistem Informasi untuk terus melakukan update terhadap pembaharuan. Sistem Informasi yang secara umum terdiri dari software dan hardware. Komponenkomponen pada bagian hardware semakin berkembang untuk diaplikasikan. Khusus pada bagian software, diperlukan adanya suatu maintenance atau perawatan. Software dalam penggunaannya harus di update untuk memecahkan masalah dari pelaporan bug yang terjadi. Urgency Maintenance atau pentingnya perawatan software dapat berguna untuk meminimalisir tingkat eror. Risiko yang diperoleh apabila mengabaikan proses urgency maintenance pada software adalah rusaknya stabilitas (muncul eror dan bug). 1.2 Tujuan Penulisan Penulisan ini bertujuan untuk:
Mengkaji pentingnya Urgency Maintenance dalam software
Mengkaji implikasi manajerial dalam mengelola Sistem Informasi
1
BAB 2 TINJAUAN PUSTAKA
2.1 Sistem Informasi Sistem informasi, menurut O’Brien didefinisikan sebagai kombinasi teratur dari sumber daya manusia, hardware, software, jaringan dan sumberdaya data yang mengumpulkan dan mentransformasi informasi didalam suatu organisasi. 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. 2.2 Pengembangan Software dalam Sistem Informasi 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. Pengembangan sistem informasi merupakan proses pengembangan sistem untuk menghasilkan sistem informasi (CBIS atau computer based information system) dimana metodologi pengembangan sistem digunakan sebagai sarana untuk meningkatkan pengelolaan dan pengendalian komponen sistem informasi (sumber daya manusia, hardware, software, jaringan, sumberdaya data dan produk informasi). Ada dual hal yang perlu di pertimbangkan dalam pengembangan software yaitu : 1. produk dan software. Produk, terdiri dari program, dokumen, dan data 2. proses pengembangannya. proses terdiri dari proses manajemen dan proses teknikal. Produk dari perangkat lunak dipantau melewati beberapa tahap pengembangan yang dikenal juga sebagai system development life cycle (SDLC). Contoh dari SDLC antara lain model waterfall, model V, model spiral, prototyping dan lain-lain. Sedangkan proses 2
manajemen dalam pengembangan software lunak terdiri atas manajemen proyek, configuration management, quality assurance management. Sementara, proses teknikal merupakan metode yang diaplikasikan pada tahap tertentu dalam pengembangan software, yang didalamnya termasuk metode analisis, metode desain, metode pemrograman, dan metode testing. 2.2.1
Proses Pengembangan Software Metode software engineering memaparkan cara untuk membentuk software. Metode
ini terdiri dari serangkaian tugas seperti: •
Perencanaan & estimasi proyek Software merupakan bagian terbesar dari sistem, sehingga pekerjaan dimulai
dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama pada saat software harus berhubungan dengan elemen lain, seperti hardware, software lain dan database •
Analisis kebutuhan sistem dan software Merupakan suatu proses pengumpulan kebutuhan software untuk mengerti sifat -
sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interfase terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan ditinjau bersama-sama klien. •
Desain struktur data Desain software sesungguhnya adalah proses multi step (proses yang terdiri dari
banyak langkah) yang memfokuskan pada 3 atribut program yang berbeda, yaitu struktur data, arsitektur software dan rincian prosedur. Proses desain menterjemahkan kebutuhan kedalam representasi software yang dapat diukur kualitasnya sebelum coding dimulai. Hasil dari desain ini didokumentasikan dan menjadi bagian dari konfigurasi software. 1.
Arsitektur program dan prosedur algoritma 3
2.
Coding (Merupakan proses penterjemahan desain ke dalam bentuk yang dapat dibaca oleh mesin)
3.
Testing dan pemeliharaan
Setelah objek program dihasilkan, testing program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output yang diinginkan. Sementara proses pemeliharaaan atau maintenance dilakukan karena software mengalami error, atau harus diadaptasi untuk menyesuaikan dengan lingkungan external. IEEE Standart Glossary os Software Engineering Terminology mendefinisikan software maintenance sebagai berikut: Proses modifikasi sistem software atau komponen setelah pengeriman untuk melakukan perbaikan, peningkatan performa atau atribut lainnya, atau mengadaptasi perubahan lingkungan (IEEE dalam Lapham, 2006). Agar lebih lengkap, pada umumnya terdapat empat kategor dari aktivitas maintenance yang difokuskan untuk mengantisipasi masalah yang ada atau preventive maintenance. Empat kategori tersebut antara lain (McCormack, 2005):
Adaptive – memodifikasi sistem agar bisa beradaptasi dengan perubahan yang terjadi dilingkungan software.
Perfective – mengimplementasikan perubahan atau kebutuhan baru dari user yang memfokuskan kepada nilai gunan bagi software tersebut.
Corrective
–
mendiagnosa
dan
memperbaikin
kesalahan
yang
terjadi,
kemungkinakan salah satunya yang ditemukan oleh user.
Preventive – meningkatkan pemeliharaan
atau reabilitas software untuk
mengatisipasi problem di masa yang akan datang. Sistem Informasi dibangun untuk mendukung proses yang berjalan dalam sebuah organisasi, dimana didalamnya tercakup antara lain: proses perencanaan (Planning), pengorganisasian (Organizing) dan pengendalian (Controlling). Pengembangan Sitem Informasi akan bermula dasi PSI (Perencanaan Sistem Informasi), Analisa, Perancangan hingga Implmentasi. Sedangkan Pengembangan Sistem Software bermula dari Anlisa, Perencanaan hingga Implementasi. 4
Gambar 1. Bagan Alur Pembangunan Sistem Informasi Pengembangan sistem informasi sering disebut sebagai proses pengembangan sistem (System Development). Pengembangan sistem didefinisikan sebagai aktivitas untuk menghasilkan sistem informasi berbasis komputer untuk menyelesaikan persoalan (problem) organisasi atau memanfaatkan kesempatan (opportunities) yang timbul. Pengembangan sistem informasi memerlukan keterilbatan komponen – komponen dari sistem informasi, yaitu: 1. Sumber daya manusia 2. Perangkat keras (Hardware) 3. Perangkat lunak (Software) 4. Jaringan komunikasi (Communication network) 5. Prosedur dan kebijakan (Policy and Procedures) Berdasarkan segitiga Pembangunan Sistem Informasi dan komponen – komponen sistem informasi, maka pengembangan perangkat lunak, merupakan bagian dari pengemgangan sistem informasi. Oleh karena itu pengemgangan sistem perangkat lunak 5
harus dalam koridor pengembagan sistem informasi, yang mana haru merujuk pada Perencanaan Sistem Informasi. Pengembangan Sistem Software (Software Development) adalah pengembangan suatu produk software melalui suatu perencanaan dan proses yang terstruktur. Pengembangan software ini dapat ditujukan untuk berbagai kepentingan dimana pada umumnya dapat dibagi menjadi 3, yiatu: 1. Kebutuhan khusus bagi bisnis tertentu 2. Kebutuhan yang diharapkan oleh pengguna potensial 3. Keputuhan untuk kepentingan peribadi. Pengembangan Perangkat Lunak meliputi: 1. Proses perangkat lunak (software process) 2. Metodologi perangkat lunak (software methodology). 3. Proses perangkat lunak (software process) 2.2.2
Model Pengembangan Software Dalam model atau paradigma pengembangan software terdapat beberapa metode
yang biasa dipergunakan, yaitu: 1. System Development Life Cycle (SDLC) Adalah proses pengembangan dimana keseluruhan proses pengembangan sistem dilakukan melalui proses multi-langkah dari investigasi persyaratan awal melalui analisis, desain, implementasi dan pemeliharaan (sumber: Russel Kay, Computer World).
6
Gambar 2. Proses SDLC
Kegiatan dalam SDLC meliputi: 1.
Perumusan masalah
2.
Pengembangan berbagai alternative solusi
3.
Pemilihan solusi terbaik
4.
Disain solusi terbaik
5.
Implementasi solusi terbaik
SDLC terdiri dari beberapa jenis model antara lain model Spiral dan Waterfall sebagai berikut: a. Spiral Model Model spiral (spiral model) adalah model pengembangan software dimana proses digambarkan sebagai spiral. Setiap loop akan mewakili satu fase dari software process. Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya, seperti gambar berikut Pada spiral model, setiap Loop dibagi dibagi menjadi sejumlah aktifitas kerangka kerja yang disebut juga wilayah tugas, wilayah tugas tersebut terdiri antara tiga sampai enam wilayah tugas, yaitu : a. Komunikasi Pelanggan.Tugas – tugas yang dibutuhkan untuk membangun komunikasi yang efektif di antara pengembangan dan pelanggan. 7
b. Perencanaan.Tugas–tugas yang dibutuhkan untuk mendefinisikan sumber– sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan. c. Analisis Risiko.Tugas – tugas yang dibutuhkan untuk menaksir risiko – risiko, baik manajemen maupun teknis. d. Perekayasaan.Tugas – tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut. e. Konstruksi dan peluncuran.Tugas – trugas yang dibutuhkan untuk mengkonstruksi, menguji, instalasi dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi). f. Evaluasi pelanggan.Tugas – tugas yang dibutuhkan untuk memperoleh umpan balik dari pelanggan dengan didasarkan pada evaluasi representasi software, yang dibuat selama masa perekayasaan, dan diimplementasikan selama masa pemasangan software. b. Waterfall model Berikut merupakan penjelasan setiap fase atau tahapan yang terjadi pada waterfall model: 1) Tahap Investigasi Pada tahap investigasi akan terjadi proses seperti: a) Initialisas: terjadi proses seperti perencanaan manajemen, kebutuhan serta potensi dari user. b) Definisi formal:
dilakukan definisi tujuan, motivasi, ruang lingkup,
batasan, kendala, dan strategi. Selain itu, pada definisi formal juga dilakukan verifikasi permasalahan sehingga dapat dilakukan penilaian terhadap kebutuhan yang baru. c) Uji kelayakan, yang terdiri dari: 1. Uji kelayakan teknis, merupakan uji terhadap ketersediaan hardware dan software. 2. Uji kelayakan ekonomis, yaitu menilai apakah manfaat yang didapat dari pengembangan software akan sebanding dengan biaya yang dikeluarkan. 8
3. Uji kelayakan operasional, uji kelayakan yang berkaitan dengan kemampuan orang yang bekerja dalam sistem untuk melakukan pekerjaan mereka dengan cara yang telah ditentukan. 4. Uji kelayakan kelayakan organisasi, menilai kesiapan perusahaan atau organisasi untuk mengembangkan penjualan pemasaran dan sistem keuangan berbasis Web (e-commerce system). 2) Tahap Analisa Dalam tahapan ini sistem yang akan dibangun diselaraskan dengan kebutuhan user atau pengguna. Pada tahap ini terjadi proses seperti: a) Determine requirements atau penentuan kebutuhan, hal ini dilakukan dengan cara mempelajari sistem yang telah ada, serta menentukan kebutuhan struktur dan menghilangkan redundansi. b) Requirement analysis atau analisa kebutuhan, terdiri dari analisa kebutuhan fungsional dan performa (kinerja). c)
Menghasilkan desain sistem alternatif
d) Membandingkan alternatif desain sistem yang dihasilkan dan e)
Merekomendasikan alternatif terbaik kepada klien.
3) Tahap Desain Tahap menentukan bagaimana sistem mencapai tujuan yang telah didefinisikan sebelumnya. Tahap ini terdiri dari: a)
User interface design, meliputi tampilan, form, report dan dialog design.
b) Data design, merupakan proses desain elemen struktur data. c)
Process design, merupakan desain program prosedur sistem
4) Tahap Implementasi Pada tahap ini terjadi beberapa hal seperti: a) Evaluasi hardware, software dan jasa b) Modifikasi dan pengembangan software c) Dokumentasi, yang merupakan mekanisme komunikasi utama selama proses pengembangan. d) Konversi data, pada proses ini terjadi perbaikan dan penyaringan data yang tidak diinginkan dan konsolidasi data. 9
e) Testing atau uji coba, pada proses ini dilakukan uji coba dan debugging software. f) Training atau pelatihan sistem/software yang telah terbentuk. g) Konversi, yakni proses pergantian dari sistem lama ke sistem baru. Proses konversi dapat dilakukan melalui 4 macam cara antara lain: 1. Parallel strategy 2. Pilot strategy 3. Phased strategy dan 4. Plunge strategy 5) Tahap Pemeliharaan (maintenance) Pada proses ini terjadi modifikasi software, perbaikan error atau umpan balik dari user terhadap software yang telah mereka gunakan. Keunggulan dan Kelemahan pada metode SDLC antara lain: a. Keunggulan: 1) Proses pengembangan sangat terstruktur dan sistematik 2) Melalui definisi kebutuhan, sehingga gap atau kesenjangan yang terjadi antara kebutuhan dan sistem yang dihasilkan dapat dikurangi. 3) Menghasilkan petunjuk arah pengembangan yang jelas bagi manajemen. b. Kelemahan: 1) Tidak adaptif terhadap perubahan yang dapat terjadi selama proses pengembangan (kaku atau rigid). 2) Melelahkan karena membutuhkan waktu pengembangan yang lama dan biaya yang tinggi 3) Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan model ini. Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pada aplikasi yang dibentuk oleh model ini. 4) Seringkali pada awalnya customer sulit menentukan semua kebutuhan secara explisit. 5) Klien harus sabar karena versi program yang sedang jalan tidak akan tersedia sampai proyek pengembangan selesai. 2. Rapid Application Development (RAD) 10
Rapid Aplication Development (RAD) adalah sebuah metode pengembangan software yang diciptakan untuk menekan waktu yang dibutuhkan untuk mendesain serta mengimplementasikan sistem, informasi sehingga dihasilkan siklus pengembangan yang sangat pendek. Model RAD ini merupakan adaptasi dari model sekuensial linier dimana perkembangan yang cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen. Sehingga, jika kebutuhan sistem dipahami dengan baik, proses RAD memungkinkan developer menciptakan sistem fungsional yang utuh dalam periode waktu yang sangat pendek (± 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD meliputi fase – fase seperti gambar dibawah ini: Berikut merupakan penjelasan setiap fase yang dilalui metode Rapid Aplication Development (RAD): a. Bussiness modeling Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan – pertanyaan seperti: 1) Informasi apa yang mengendalikan proses bisnis? 2) Informasi apa yang di munculkan? 3) Siapa yang memunculkanya? 4) Ke mana informasi itu pergi? 5) Siapa yang memprosesnya? b. Data modeling Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan. c. Prosess modelling Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data. d. Aplication generation 11
RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada (pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak. e. Testing and turnover Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh. Keunggulan dan kelemahan model RAD adalah : Keunggulan: 1. Waktu pengembangan yang lebih singkat dan 2. Biaya yang relatif lebih murah Kelemahan: 1. Tidak cocok untuk proyek skala besar 2. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi 3. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model 4. Risiko teknis yang tinggi juga kurang cocok untuk model ini 3. Prototyping Berikut merupakan gambar dari proses pengembangan software menggunakan metode prototyping:
Gambar 3. Proses Prototyping Approach 12
Proses pada model prototyping yang digambarkan pada gambar diatas dapat dijelaskan sebagai berikut: a. User Requirements Pada tahap ini developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detil kebutuhan mungkin tidak dibicarakan pada tahap ini, b. Develop Prototype Pada tahap ini dilakukan perancangan prototype sistem oleh developer, perancangan sistem dilakukan secara cepat dan rancangan diusahakan mewakili semua aspek software yang telah diketahui. c. Revise Prototype Pada tahap ini dilakukan evaluasi prototype sistem oleh klien. Apabila klien merasa prototype sistem yang telah dikembangkan sesuai dengan keinginannya maka prototype tersebut dapat digunakan, akan tetapi jika prototype tersebut tidak sesuai, maka prototype tersebut akan dilakukan revisi dan digunakan sebagai acuan dalam memperjelas kebutuhan software dan kemudian dikembangkan prototype selanjutnya. Siklus ini (develop-revise prototype) akan terus berlangsung hingga didapatkan prototype sistem yang sesuai dengan kebutuhan klien atau user.
2.2.3
Prinsip-prinsip Pengembangan Sistem Informasi
1. Sistem yang dikembangkan adalah untuk manajemen. Setelah sistem selesai dikembangkan, maka yang akan menggunakan informasi dari sistem ini adalah manajemen, sehingga sistem harus dapat mendukung, kebutuhan yang diperlukan oleh manajemen. Pada waktu Anda mengembangkan sistem, maka prinsip ini harus selalu diingat. 2. Sistem yang dikembangkan adalah investasi modal yang besar. Sistem informasi yang akan Anda kembangkan membutuhkan dana modal yang tidak sedikit, apalagi dengan digunakannya teknologi yang mutakhir. Sistem yang dikembangkan ini merupakan investasi modal yang besar. Seperti halnya dengan investasi
13
modal lainnya yang dilakukan oleh perusahaan, maka setiap investasi modal harus mempertimbangkan 2 hal berikut: a. Semua alternatif yang ada harus diinvestigasi. b. Investasi yang terbaik harus bernilai. 3. Sistem yang dikembangkan memerlukan orang-orang yang terdidik. Manusia merupakan faktor utama yang menentukan berhasil tidaknya suatu sistem, baik dalam proses pengembangannya, penerapannya, maupun dalam proses operasinya. Oleh karena itu orang yang terlibat dalam pengembangan maupun penggunaan sistem ini harus merupakan orang yang terdidik tentang permasalahan-permasalahan yang ada dan terhadap solusi-solusi yang mungkin dilakukan. 4. Tahapan kerja dan tugas-tugas yang harus dilakukan dalam proses pengembangan sistem. Proses pengembangan sistem umumnya melibatkan beberapa tahapan kerja dan melibatkan beberapa personil dalam bentuk suatu team untuk mengerjakannya. Pengalaman menunjukan bahwa tanpa adanya perencanaan dan koordinasi yang baik, maka proses pengembangan sistem tidak akan berhasil dengan memuaskan. Untuk maksud ini sebelum proses pengembangan sistem dilakukan, maka harus dibuat terlebih dahulu skedul kerja yang menunjukkan tahapan-tahapan kerja dan tugas-tugas pekerjaan yang akan dilakukan, sehingga proses pengembangan sistem dapat dilakukan dan selesai dengan berhasil sesuai dengan waktu dan anggaran yang direncanakan. 5. Proses pengembangan sistem tidak harus urut. Prinsip ini kelihatannya bertentangan dengan prinsip nomor 4, tetapi tidaklah sedemikian. Tahapan kerja dari pengembangan sistem di prinsip nomor 4 menunjukkan langkah-langkah yang harus dilakukan secara bersama-sama. Ingatlah waktu adalah uang. Misalnya di dalam pengembangan sistem, perancangan output merupakan tahapan yang harus dilakukan sebelum melakukan perancangan file. Ini tidak berarti bahwa semua output harus dirancang semuanya terlebih dahulu baru dapat melakukan perancangan file, tetapi dapat dilakukan secara serentak, yaitu sewaktu proses pengadaan hardware. 6. Jangan takut membatalkan proyek. 14
Umumnya hal ini merupakan pantangan untuk membatalkan suatu proyek yang sedang berjalan. Keputusan untuk meneruskan suatu proyek atau membatalkannya memang harus dievaluasi dengan cermat. Untuk kasus-kasus yang tertentu, dimana suatu proyek terpaksa harus dihentikan atau dibatalkan karena sudah tidak layak lagi, maka harus dilakukan dengan tegas. Keraguan untuk terus melanjutkan proyek yang tidak layak lagi karena sudah terserapnya dana kedalam proyek ini hanya akan memubang dana yang siasia.
15
BAB 3 PEMBAHASAN
3.1 Urgency Maintenance dari Software Berdasarkan metode-metode dalam mengembangkan software, dapat diidentifikasi kelebihan dan kekurangan pada setiap metode, yaitu: a. System Development Life Cycle (SDLC) Kelebihan yang dimiliki SDLC adalah:
Proses pengembangan yang terstruktur dan sistematik
Proses melalui definisi kebutuhan, sehingga gap atau kesenjangan yang terjadi antara kebutuhan dan sistem dapat dikurangi
Menghasilkan petunjuk arah pengembangan yang jelas bagi manajemen
Kekurangan yang dimiliki SDLC adalah:
Tidak adaptif terhadap perubahan yang dapat terjadi selama proses pengembangan (kaku atau rigid)
Melelahkan karena membutuhkan waktu pengembangan yang lama dan biaya yang tinggi
Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan model ini. Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pada aplikasi yang dibentuk oleh model ini
Seringkali pada awalnya customer sulit menentukan semua kebutuhan secara explisit
Klien harus sabar karena versi program yang sedang jalan tidak akan tersedia sampai proyek pengembangan selesai
b. Rapid Application Development (RAD) Kelebihan yang dimiliki RAD adalah:
Waktu pengembangan yang lebih singkat
Biaya yang relatif lebih murah
Kekurangan yang dimiliki RAD adalah: 16
Tidak cocok untuk proyek skala besar
Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
Sistem yang tidak bisa dimodularisasi tidak cocok untuk model
Resiko teknis yang tinggi juga kurang cocok untuk model ini
c. Prototyping Kelebihan yang dimiliki Prototyping adalah:
Meningkatnya komunikasi antara user dan developer
Peningkatan peran aktif user didalam proses pengembangan
Peningkatan efisiensi waktu
Implementasi sistem menjadi lebih mudah karena user turut berperan aktif didalam proses pengembangan
Kelemahan yang dimiliki Prototyping adalah:
Kurangnya fitur keamanan dan kontrol pada prototype akhir sistem
Sistem akan sulit terbentuk jika proses evaluasi pada siklus prototype tidak mendapatkan titik temu.
Dapat menyebabkan dokumentasi akhir yang tidak lengkap
Developer lebih sulit mengendalikan ekspektasi user
Berdasarkan kelebihan dan kekurangan tersebut maka perlu dilakukan pemilihan metode yang sesuai dengan kebutuhan, kondisi, juga budaya perusahaan. RAD dapat diaplikasikan pada perusahaan yang akan melakukan pengembangan dalam jangka waktu singkat, dalam hal ini yang memungkinkan adalah perusahaan baru (masih kecil) yang akan terus berkembang kedepannya. SDLC akan cocok yang diimplementasikan pada perusahaan yang sudah memiliki sistem stabil namun ingin melakukan pengembangan, karena waktu yang dibutuhkan untuk development tergolong lama dibandingkan yang lainnya. Prototyping cocok untuk diterapkan pada perusahaan yang sudah berjalan namun membutuhkan pengawasan langsung khususnya dari pihak spesialis. Urgency maintenance pada software perlu dilakukan dengan cara memonitor dan mengevaluasi kinerja pada software yang sudah ada. Modifikasi atau perubahan diperlukan apabila terdapat perubahan dari organisasi itu sendiri baik yang berkaitan dalam hal struktur 17
organisasi maupun perubahan cara kerja dan juga pengembangan bisnis (faktor external maupun faktor internal). Penyesuaian pada maintenance software dapat dilakukan dengan update sistem yang dimulai dari identifikasi permasalahan pada sistem yang sudah berjalan. Apabila suatu sistem tidak diperhatikan sisi maintenance-nya, maka sinergi antara perubahan-perubahan/ kemajuan yang terjadi dalam perusahaan tidak dapat langsung diaplikasikan dalam software, yang dalam hal ini merupakan faktor penunjang dalam efisiensi dan efektivitas. Maintenance software perlu memperhatikan beberapa karakteristik: Karakteristik
Sub 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 performans relatif terhadap penggunaan sumberdaya. Efficiency : Kemampuan software untuk menampilkan performans relatif terhadap penggunaan sumberdaya. Maintainability : Kemampuan software untuk dimodifikasi (korreksi, adaptasi, perbaikan)
Suitability,
accuracy,
interoperability, security
Maturity,
Fault
tolerance,
Recoverability
Understanbility,
Learnability,
Operability, Attractiveness
Time
behaviour,
Resource
Utilization
Analyzability,
Changeability,
Stability, Testability
Portability : Kemampuan software untuk ditransfer dari satu Adaptability, Installability lingkungan ke lingkungan lain.
Tabel 1. Karakteristik Maintenance
18
Seperti yang terlihat pada tabel diatas, karakteristik Maintanability terdiri dari subsub karakteristik lain seperti Analyzability, Changeability, Stability, dan Testability. Analysability merupakan kemudahan untuk menentukan penyebab kesalahan. Changebility merupakan kualitas lain dari Flexibility yang berarti kemudahan dilakukannya perubahan atau modifikasi terhadap software Di sisi lain, pengertian Stability adalah tidak berarti perangkat lunak itu tidak pernah berubah. Hal ini berarti juga terdapat resiko yang kecil pada modifikasi perangkat lunak yang memiliki dampak tidak diduga. Berdasarkan uraian diatas maka, terdapat tiga alasan pentingnya pemeliharaan sistem atau system maintenance: 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 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. 19
Sehingga, system maintenance menjaga kemutakhiran sistem (system update) melalui modifikasi-modifikasi sistem yang dilakukan. Secara singkat, system maintenance menjadi urgent karena pada system maintenance terjadi usaha perbaikan secara berkelanjutan untuk mempertemukan kebutuhan oranisasi terhadap sistem dengan kinerja sistem yang telah dibangun. 3.2 Implikasi Manajerial Implikasi bagi pihak manajerial dalam hal ini adalah pengambilan kepututsan terhadap pentingnya maintenance software. Wewenang pihak manajerial perlu melihat kebutuhan dari perusahaan. Berdasarkan kebutuhan tersebut, maka perubahan yang akan dilakukan harus diikuti dengan pengembangan software atau system itu sendiri. Pengembangan tersebut menandakan adanya maintenance terhadap software yang digunakan. Secara formal, hal in dapat ditunjukkan pada gambar sebagai berikut:
Gambar 4. Performance Requirements
Pada table diatas dapat dilihat bahwa kebutuhan perusahaan harus turut diikuti dengan sistemnya, dalam hal ini adalah maintenance software. Apabila software tidak pernah di-maintenance, maka kebutuhan perusahaan yang trend-nya terus meningkat akan sulit untuk dipenuhi. Terputusnya jalur efisiensi dan hasil output yang tidak sesuai dengan kebutuhan mengakibatkan outcome yang tidak tercapai. Oleh karena itu, perlu adanya peran manajerial dalam memahami pentingnya urgency maintenance software. 20
BAB 4 PENUTUP
4.1 Kesimpulan Urgency Maintenance perlu dilakukan untuk memonitor kondisi software. Peningkatan yang terjadi pada kebutuhan perusahaan atau perubahan yang dilakukan perlu diikuti dengan penyesuaian atau pengembangan software yang ada. Hal ini akan mempengaruhi efisiensi dan efektivitas terhadap perubahan yang terjadi. Urgency Maintenance dapat menjaga berkurangnya bug atau error pada setiap perubahan. Kegiatan ini perlu melibatkan pihak spesialis terkait untuk menyelesaikan masalah Implikasi manajerial dalam konteks urgency maintenance dapat dilakukan dengan memperhatikan arah bergeraknya perusahaan, sehingga pihak manajer dapat mengatur jadwal dan juga konteks/ indicator dalam me-maintenance software.
4.2 Saran Proses Maintenance perlu melibatkan end-user dengan developer (ahli maintenance / IT) dalam bertukar pikiran untuk menghasilkan output yang sesuai dengan outcome yang diharapkan perusahaan.
21
Daftar Pustaka
1. O’brien, J.A. 2004. Management Information System:Managing Information Technology in the Business Enterprise. 6th ed. McGraw Hill. New York. Amerika 2. McLeod, Raymond, Management Information System, 7¬th ed., Prentice Hall, New Jersey, 1998 3. Lientz B., Swanson E.1980: Software Maintenance Management. Addison Wesley, Reading, MA 4. Lehman M. M., 1980: Program, Life-Cycles and the Laws of Software Evolution. In Proceedings of IEEE, 68, 9,1060-1076 5. O’Brien, James and George M.Marakas. 2011. Management Information System 10th Edition. McGraw-Hill 6. Penny Grubb, Armstrong A. Takang, 2003: Software Maintenance: Concepts and Practice. World Scientific Publishing Company