tugas sistem informasi manajemen urgensi...
TRANSCRIPT
TUGAS SISTEM INFORMASI MANAJEMEN
URGENSI MAINTAINABILITY KUALITAS SOFTWARE DALAM
PENGEMBANGAN SISTEM INFORMASI
Dosen:
Dr. Ir. Arif Imam Suruso, MSc
Disusun Oleh:
Puryani K15161064
SEKOLAH PASCASARJANA MANAJEMEN DAN BISNIS
INSTITUT PERTANIAN BOGOR
BOGOR
2017
i
DAFTAR ISI
DAFTAR ISI ............................................................................................................. i
DAFTAR TABEL .................................................................................................... ii
PENDAHULUAN ..................................................................................................... 1
Latar Belakang ............................................................................................... 1
Perumusan Masalah ....................................................................................... 2
Tujuan Penulisan ........................................................................................... 2
TINJAUAN PUSTAKA ............................................................................................ 3
Sistem Informasi Manajemen ........................................................................ 3
Software ......................................................................................................... 4
Software Maintenance ................................................................................... 4
Maintenance Planning Activity ...................................................................... 6
Teknik-teknik Maintenance ........................................................................... 6
PEMBAHASAN ........................................................................................................ 9
Karakteristik Software Berkualitas ................................................................ 9
Urgensi Maintenance dalam Pengembangan Software ............................... 14
PENUTUP ............................................................................................................... 18
Kesimpulan .................................................................................................. 18
Saran ............................................................................................................ 18
DAFTAR PUSTAKA .............................................................................................. 19
ii
DAFTAR TABEL
Tabel 1. Karakteristik Software: ISO 9126 ............................................................. 15
1
PENDAHULUAN
Latar Belakang
Era globalisasi telah menciptakan persaingan ketat di dunia bisnis sehingga
menuntut kemajuan teknologi khususnya pada bidang IT. Diperlukan penerapan sistem
informasi yang lebih baik untuk menunjang kinerja perusahaan. Berdasarkan Indrajit
(2001), Sistem Informasi merupakan suatu kumpulan dari komponen-komponen dalam
suatu organisasi yang berhubungan dengan proses penciptaan dan pengaliran informasi.
Keandalan suatu sistem informasi dalam sebuah organisasi terletak pada keterkaitan
antara komponen yang ada, sehingga dapat dihasilkan dan dialirkan suatu informasi
yang berguna, akurat, terpercaya, detail, cepat, relevan, dan sebagainya, untuk organisasi
yang bersangkutan. Sistem informasi bertujuan untuk mendukung kinerja perusahaan,
meningkatkan efisiensi dan efektivitas proses bisnis, pengambilan keputusan manajerial,
dan memperkuat posisi kompetitif perusahaan.
Penggunaan sistem informasi di perusahaan yang semakin pesat sangatlah terkait
dengan penggunaan software, hal ini menyebabkan issue mengenai sustainability ikut
turut berkembang. Berdasarkan April et al. (2004), Perusahaan yang mengandalkan
pendapatan dari pengembangan dan pemeliharaan software menghadapi tantangan baru
di pasar global yang kompetitif, yaitu meningkatnya kebutuhan pelanggan. Dengan
berbagai layanan dan produk yang tersedia dari vendor di seluruh dunia, pelanggan
menuntut layanan dan produk dengan kualitas tinggi, biaya yang rendah, disertai dengan
layanan penunjang yang dapat mengalahkan kompetisi. Untuk memenuhi kebutuhan
tersebut, organisasi yang dinamis menghadapi dua tantangan: memiliki kemampuan
mengembangkan serta memelihara software untuk memenuhi kebutuhan pelanggan dan
memiliki akses terhadap software yang dapat mendukung proses bisnis perusahaan.
Kedua perspektif dari software (eksternal dan internal) harus dapat diandalkan dan
terawat dengan baik.
Berdasarkan pemaparan di atas, dalam pembuatan software dan
pengembangannya harus mampu digunakan sesuai dengan tujuan dari perangkat lunak
tersebut. Seringkali dalam pelaksanaannya, perangkat lunak yang dikembangkan tidak
memenuhi persayatan dan tahap-tahap penting dalam pengembangan perangkat lunak
tersebut. Hal ini seringkali menimbulkan kesalahan (bug) dalam proses penjalanan
2
perangkat lunak tersebut. Oleh karena itu, penting untuk dilakukan kajian mengenai
urgensi maintenance dalam sistem informasi, khususnya pada pengembangan software.
Perumusan Masalah
Berdasarkan latar belakang diatas maka penulis akan mengkaji pentingnya
maintenance kualitas software dalam pengembangan sistem informasi.
Tujuan
Adapun penulisan makalah ini secara umum bertujuan untuk mengkaji urgensi
maintenance dalam pengembangan software. Sedangkan tujuan khususnya adalah
sebagai salah satu tugas pada mata kuliah Sistem Informasi dan Manajemen angkatan E61
Program Pasca Sarjana Manajemen dan Bisnis, Institut Pertanian Bogor yang difasilitasi
oleh Dosen Dr. Ir. Arif Imam Suroso, M.Sc.
3
TINJAUAN PUSTAKA
Sistem Informasi Manajemen
Sistem Informasi merupakan suatu tatanan yang terorganisasi dalam pengaturan
sumber daya yang ada yang meliputi pengumpulan data lalu mengolahnya sehingga bisa
dengan mudah untuk dikonsumsi dan lebih mudah dalam hal penyebarannya. Lebih jauh
yang meliputi sumber daya meliputi, manusia, hardware, software, data dan jaringan
yang terdapat di dalamnya (O’Brien, 2010).
Sementara itu, Sistem Informasi Manajemen (SIM) memiliki definisi sebagai
bagian dari pengendalian internal suatu bisnis yang meliputi pemanfaatan manusia,
dokumen, teknologi, dan prosedur oleh akuntansi manajemen untuk memecahkan
masalah bisnis seperti biaya produk, layanan, atau suatu strategi bisnis. Sistem informasi
manajemen dibedakan dengan sistem informasi biasa karena SIM digunakan untuk
menganalisis sistem informasi lain yang diterapkan pada aktivitas operasional organisasi.
Secara akademis, istilah ini umumnya digunakan untuk merujuk pada kelompok metode
manajemen informasi yang bertalian dengan otomasi atau dukungan terhadap
pengambilan keputusan manusia, misalnya sistem pendukung keputusan, sistem pakar,
dan sistem informasi eksekutif.
Adapun tujuan umum Sistem Informasi Manajemen, yaitu:
1. Menyediakan informasi yang dipergunakan di dalam perhitungan harga pokok
jasa, produk, dan tujuan lain yang diinginkan manajemen.
2. Menyediakan informasi yang dipergunakan dalam perencanaan, pengendalian,
pengevaluasian, dan perbaikan berkelanjutan.
3. Menyediakan informasi untuk pengambilan keputusan.
4. Menyediakan informasi yang efektif dan efisien terkait hal-hal yang bisa
membantu percepatan tanpa meninggalkan keakuratan, sehingga bisa
meningkatkan nilai jual perusahaan dan memenangkan persaingan di pasar.
Keempat tujuan tersebut menunjukkan bahwa manajer dan pengguna lainnya
perlu memiliki akses ke informasi akuntansi manajemen dan mengetahui bagaimana cara
menggunakannya. Informasi akuntansi manajemen dapat membantu mereka
4
mengidentifikasi suatu masalah, menyelesaikan masalah, dan mengevaluasi kinerja
(informasi akuntansi dibutuhkan dan dipergunakan dalam semua tahap manajemen,
termasuk perencanaan, pengendalian dan pengambilan keputusan).
Software
Software atau perangkat lunak berbeda dengan hardware atau perangkat keras.
Pengertian software komputer adalah sekumpulan data elektronik yang disimpan dan
diatur oleh komputer. Data elektronik yang disimpan oleh komputer itu dapat berupa
program atau instruksi untuk menjalankan suatu perintah. Software ini merupakan catatan
bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya.
Berdasarkan jenisnya, software dibagi menjadi 3 yaitu:
1. Firmware (BIOS)
2. Sistem Operasi (Windows, Linux, Mac OS, dll)
3. Software Aplikasi (Photoshop, WinAmp, WinZip, dll)
Selain itu, software juga dibedakan menjadi beberapa kelompok berdasarkan cara
mendapatannya. Berdasarkan bagaiman cara kita memperoleh software, terdapat 5
kelompok software, yaitu:
1. Software Komersial
2. Open Source atau Software Domain Publik (Public Domain)
3. Software Shareware
4. Software Freeware
5. Software Rentalware
Software Maintenance
Maintenance atau dalam bahasa Indonesia disebut perawatan yaitu aktivitas yang
dilakukan secara berkala dengan tujuan untuk melakukan pergantian kerusakan peralatan
dengan resources yang ada. Perawatan ditujukan untuk mengembalikan sebuah sistem
kepada kondisi yang baik agar dapat berfungsi sebagaimana mestinya, memperpanjang
usia kegunaan mesin, dan menekan kerusakan.
5
Menurut McCall (1977) kriteria 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).
Dengan beragamnya tujuan perawatan perangkat lunak, maka jenis perawatan
perangkat lunak dapat dibagi menjadi empat pula, yaitu perawatan perbaikan
(correction), perawatan peningkatan kinerja (improvement), perawatan penyesuaian
(adaptation), dan perawatan pencegahan (prevention). Akan tetapi, secara umum, jenis
perawatan perangkat lunak dapat dikelompokkan kedalam dua kategori besar, yaitu
perawatan perbaikan (correction) dan perawatan peningkatan (enhancement). Perawatan
jenis kedua mencakup perawatan improvement, adaptation, dan prevention. Penjelasan
untuk masing-masing kategori adalah sebagai berikut:
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. Untuk itu perlu dilakukan perubahan guna memperbaiki
kesalahan atau mengoreksi kesalahan pada perangkat lunak yang baru terdeteksi pada saat
perangkat lunak dipergunakan.
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. Untuk itu perlu dilakukan modifikasi berdasarkan penyesuaian
dengan lingkungan baru, misalnya sistem operasi atau sebagai tuntutan atas
perkembangan system komputer. Aktivitas yang dilakukan antara lain yaitu pemindahan
perangkat lunak ke mesin yang berlainan dan modifikasi untuk dapat mempergunakan
protokol atau disk drive tambahan.
Perfective Maintenance
6
Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji
coba kemudian dipergunakan oleh user. Setelah dipergunakan oleh user mungkin timbul
permintaan tambahan fungsi sesuai dengan keinginan pemakai. Untuk itu dilakukan
perubahan untuk meningkatkan kualitas sistem.
Preventive Maintenance
Pemeliharaan yang terakhir dilakukan untuk menghadapi kemajuan perangkat
lunak atau perangkat keras di masa mendatang guna meningkatkan reliability, future
maintainability, future enhancement (reverse engineering dan re-engineering).
Maintenance Planning Activity
Aktivitas penting untuk maintenance perangkat lunak adalah perencanaan. Jika
tahap development berlangsung 1-2 tahun, maka fase maintenance berlangsung selama
bertahun-tahun. Memperkirakan secara akurat sumber daya yang digunakan adalah
elemen kunci dalam rencana maintenance. Sumber daya yang didalamnya termasuk
biaya harus dimasukkan dalam rencana anggaran proyek. Rencana maintenance harus
dimulai dengan membuat atau menentukan tujuan kualitas perangkat lunak.
Konsep dan perencanaan maintenance antara lain:
1. Mengandung ruang lingkup (scope) maintenance perangkat lunak.
2. Proses setelah perangkat lunak selesai.
3. Harus diketahui siapa yang akan melakukan maintenance.
4. Perkiraan biaya maintenance siklus hidup perangkat lunak.
Teknik-teknik Maintenance
Software maintenance yang efektif dilakukan dengan teknik yang spesifik atau
khusus untuk maintenance. Beberapa teknik praktis yang biasa dipakai maintener akan
dijelaskan di bawah ini.
1. Program Comprehension
Programmers menghabiskan banyak waktu untuk membaca dan mengerti program
dalam rangka mengimplementasikan perubahan. Code browsers merupakan tools
kunci dalam program comprehension. Dokumentasi yang singkat dan jelas dapat
membantu dalam program comprehension. Berdasarkan atas pentingnya subtopik
7
ini, maka IEEE Computer Society mengadakan pelatihan yang diadakan setiap
tahunnya mengenai program comprehension.
2. Re-engineering
Reengineering biasanya tidak dilakukan untuk meningkatkan kemudahan
melakukan maintenance (maintainability) namun untuk mengganti legacy system
yang sudah berumur. Arnold [Arn92] membahas topik ini secara luas meliputi
konsep, tools, teknik, studi kasus, risiko dan keuntungan re-engineering.
Refactoring atau transformasi program yang mengorganisasi ulang (reorganisasi)
tanpa mengubah perilaku sistem sekarang digunakan dalam reverse engineering
untuk meningkatkan struktur program berorientasi objek.
3. Reverse engineering
Reverse engineering adalah proses menganalisa subjek sistem untuk
mengindentifikasi komponen sistem dan hubungan yang terjadi di dalamnya untuk
di representasikan dalam bentuk lain atau pada level abstraksi yang lebih tinggi.
Reverse engineering dilkukan secara pasif, artinya tidak mengubah sistem atau
menghasilkan sistem yang baru. Sebuah usaha reverse engineering sederhana
mungkin menghasilkan sesuatu yang disebut graphs dan control flow graphs dari
source code. Jenis dari reverse engineering antara lain redocumentation dan
design recovery. Date Reverse Engineering mempunyai pengaruh penting
beberapa tahun belakangan. Topik Reverse engineering menjadi bahan diskusi
dalam acara tahunan Working Conference on Reverse Engineering (WCRE).
4. Impact Analysis
Impact analysis mengidentifikasi keseluruhan sistem dan produk sistem yang
dipengaruhi oleh permintaan perubahan (change request) dan membuat perkiraan
sumber daya yang diperlukan untuk melakukan perubahan. Dilakukan setelah
permintaan perubahan (change request) diterima oleh configuration management
process. Beberapa hal penting tentang impact analisis:
Menentukan ruang lingkup perubahan untuk perencanaan dan mplementasi.
Membuat perkiraan sumber daya yang diperlukan untuk melakukan kegiatan
secara akurat.
Menganalisa untung / rugi perubahan yang diminta.
Melakukan komunikasi dengan bagian lain tentang kompleks tidaknya
8
perubahan yang dilakukan.
9
PEMBAHASAN
Karakteristik Software Berkualitas
Faktor-faktor yang dapat mempengaruhi kualitas software dibagi menjadi 2
kategori:
1. Faktor-faktor yang dapat diukur secara langsung (misalkan: error)
2. Faktor-faktor yang dapat diukur secara tidak langsung (misalkan: usability dan
maintainability).
Menentukan suatu software termasuk berkualitas atau tidak tentunya bukan
perkara yang mudah karena banyak hal yang sifatnya subjektif baik di lihat dari sisi user
atau developer. Walaupun demikian, bukan berarti software yang berkualitas tidak bisa
diukur. Hal yang paling penting untuk menentukan kualitas sebuah software tidak bisa
hanya dilihat dari sisi harga atau perusahaan yang membuat. Ada beberapa faktor yang
bisa kita ukur, factor-faktor tersebut antara lain:
Fungsionalitas
Sebuah software yang dibuat harus berfungsi seperti yang dideskripsikan oleh
client atau oleh user.
Butuh resource rendah
Semakin rendah resource yang dibutuhkan, maka semakin bagus software
tersebut. Optimasi kode dan algoritma yang dipakai dalam pembuatan software
sangat berpengaruh pada kebutuhan resource. Resource disini bisa berarti
Prosesor, Memori, media penyimpan, kebutuhan bandwidth atau kebutuhan
batterai.
Cepat
Sofware yang berkualitas juga cepat (responsive) dalam memberikan output.
Semakin cepat semakin bagus, kalau perlu realtime. Google adalah perusahaan
yang mengutamakan kecepatan sebagai faktor utama disetiap lini produknya.
Multiplatform
User adalah raja, buatlah software yang bisa dipakai dan diakses dimana saja dan
kapan saja menggunakan device yang disukai oleh user. Contoh software yang
multiplatfrom adalah Twitter client, Facebook client, VLC player, LibreOffice,
10
Google Chrome dan Opera.
Multi Bahasa
Banyak para pemula komputer tidak bisa memakai komputer atau bingung saat
memakai sebuah software hanya karena bahasa yang digunakan bukan bahasa
indonesia. Software yang bagus adalah software yang menyediakan interface
sesuai dengan lokasi user dan bahasa yang dipakai. Software seperti Firefox,
Windows, MS Office atau Google chrome aalah contoh software yang
mendukung multibahasa.
Multi User
Trend membuat software standalone sudah tidak relevan dengan kebutuhan user
saat ini. Sofware yang bagus bisa dipakai secara bersamaan oleh beberapa user
sekaligus. Contoh dari software multiuser adalah Google docs, Aplikasi word
prosesor dari google bisa dipakai oleh jutaan orang secara bersamaan dan juga
bisa dipakai untuk kolaborasi antar user.
Desain Modular (Plugin)
Ciri dari desain modular adalah memisahkan satu fungsi dengan fungsi lainnya.
konsep ini diimplementasikan dengan model plugin. Contoh software yang
menggunakan desain modular adalah WordPress, Joomla, Notepad++, Eclipse,
Netbeans dan Microsoft Office.
Tampilan Intuitif
Intuitif artinya, user langsung tahu fungsi dari masing masing tombol, toolbar,
menu atau tampilan tanpa harus diajari terlebih dahulu. Apple adalah rajanya
pembuat sofware yang intuitif.
Themeable/Skin
Tampilan sebuah software sudah seharusnya terpisah dengan logika program,
dengan begitu, tampilan bisa diganti dengan mudah. Beberapa software
mengimplementasikan konsep ini dengan skin. Contoh software berkualitas yang
‘themeable’ adalah VLC player, Winamps, Google Chrome dan WordPress.
Dokumentasi
Software yang berkualitas juga akan memberikan dokumentasi yang sangat jelas.
Sekedar gambaran, Dokumentasi software terbagi menjadi 3 yaitu user manual
(cara pemakain software), administrator manual (cara instalasi, konfigurasi,
11
setting dan integrasi) serta Developer manual (dokumentasi berupa API, fungsi
fungsi yang bisa dipakai oleh pihak ketiga). Contoh software yang cukup bagus
dalam hal dokumentasi adalah OS Windows, Office, WordPress dan code Igniter.
Komunitas
Semakin banyak pemakai sebuah software juga menandakan software tersebut
berkualitas. Hal ini biasanya terlihat dari banyaknya milis, group atau forum di
internet yagn membahas produk tersebut.
Support
Kualitas software juga ditentukan oleh dukungan dari perusahaan sipembuat.
Bentuk support biasanya dalam bentuk email, sms, call, YM atau twitter. Semakin
bagus supportnya semakin bagus pula softwarenya. Support juga termasuk adanya
update untuk software yang kita beli. Makin sering pihak developer mengupdate
softwarenya, maka software tersebut makin fungsional, aman dan stabil (tidak
gampang crash).
McCall dan kawan-kawan pada tahun 1977 telah mengusulkan suatu
penggolongan faktor-faktor atau kriteria yang mempengaruhi kualitas software. Pada
dasarnya, McCall menitikberatkan faktor-faktor tersebut menjadi tiga aspek penting,
yaitu yang berhubungan dengan sifat-sifat operasional dari software (Product
Operations).
Sifat-sifat operasional suatu software berkaitan dengan hal-hal yang harus
diperhatikan oleh para perancang dan pengembang yang secara teknis melakukan
penciptaan sebuah aplikasi. Hal-hal yang diukur di sini adalah yang berhubungan dengan
teknis analisa, perancangan, dan konstruksi sebuah software. Faktor-faktor McCall yang
berkaitan dengan sifat-sifat operasional software adalah:
1. Correctness, yaitu sejauh mana suatu software memenuhi spesifikasi dan mission
objective dari users.
2. Reliability, yaitu sejauh mana suatu software dapat diharapkan untuk
melaksanakan fungsinya dengan ketelitian yang diperlukan.
3. Efficiency, yaitu banyaknya sumber daya komputasi dan kode program yang
dibutuhkan suatu software untuk melakukan fungsinya.
4. Integrity, yaitu sejauh mana akses ke software dan data oleh pihak yang tidak
berhak dapat dikendalikan.
12
5. Usability, yaitu usaha yang diperlukan untuk mempelajari, mengoperasikan,
menyiapkan input, dan mengartikan output dari software.
6. Kemampuan software dalam menjalani perubahan (Product Revision).
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. Faktor-faktor McCall yang berkaitan
dengan kemampuan software untuk menjalani perubahan adalah:
1. Maintainability, yaitu usaha yang diperlukan untuk menemukan dan memperbaiki
kesalahan (error) dalam software.
2. Flexibility, yaitu usaha yang diperlukan untuk melakukan modifikasi terhadap
software yang operasional.
3. Testability, yaitu usaha yang diperlukan untuk menguji suatu software untuk
memastikan apakah melakukan fungsi yang dikehendaki atau tidak.
4. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product
Transition).
Setelah integritas software secara teknis diukur dengan menggunakan faktor
product operational dan secara implementasi telah disesuaikan dengan faktor product
revision, faktor terakhir yang harus diperhatikan adalah faktor transisi – yaitu bagaimana
software tersebut dapat dijalankan pada beberapa platform atau kerangka sistem yang
beragam. Faktor-faktor McCall yang berkaitan dengan tingkat adaptibilitas software
terhadap lingkungan baru:
1. Portability, yaitu usaha yang diperlukan untuk mentransfer software dari suatu
hardware dan/atau sistem software tertentu agar dapat berfungsi pada hardware
dan/atau sistem software lainnya.
2. Reusability, yaitu sejauh mana suatu software (atau bagian software) dapat
digunakan ulang pada aplikasi lainnya
3. Interoperability, yaitu usaha yang diperlukan untuk menghubungkan satu
software dengan lainnya
13
Dalam pengembangannya lebih lanjut, ketiga aspek tersebut kerap dihubungkan
dengan sejumlah metric yang sering digunakan sebagai alat ukur dalam membandingkan
kualitas software satu dengan lainnya. Adapun metrik yang dimaksud dalam skema
pengukuran di atas adalah sebagai berikut:
1. Auditability, yaitu kemudahan untuk memeriksa apakah software memenuhi
standar atau tidak.
2. Accuracy, yaitu ketelitian dari komputasi dan control.
3. Communication Commonality, yaitu sejauh mana interface, protokol, dan
bandwidth digunakan.
4. Completeness, yaitu sejauh mana implementasi penuh dari fungsi-fungsi yang
diperlukan telah tercapai.
5. Conciseness, yaitu keringkasan program dalam ukuran LOC (line of commands).
6. Consistency, yaitu derajat penggunaan teknik-teknik desain dan dokumentasi
yang seragam pada seluruh proyek pengembangan software.
7. Data Commonality, yaitu derajat penggunaan tipe dan struktur data baku pada
seluruh program.
8. Error Tolerance, yaitu kerusakan yang terjadi apabila program mengalami error.
9. Execution Efficiency, yaitu kinerja run-time dari program.
10. Expandability, yaitu sejauh mana desain prosedur, data, atau arsitektur dapat
diperluas.
11. Generality, yaitu luasnya kemungkinan aplikasi dari komponen-komponen
program.
12. Hardware Independence – sejauh mana software tidak bergantung pada
kekhususan dari hardware tempat software itu beroperasi.
13. Instrumentation, yaitu sejauh mana program memonitor operasi dirinya sendiri
dan mengidentifikasi error yang terjadi.
14. Modularity, yaitu functional independence dari komponen-komponen program.
15. Operability, yaitu kemudahan mengoperasikan program.
16. Security, yaitu ketersediaan mekanisme untuk mengontrol dan melindungi
program dan data terhadap akses dari pihak yang tidak berhak.
17. Self-Dokumentation, yaitu sejauh mana source-code memberikan dokumentasi
yang berarti.
14
18. Simplicity, yaitu kemudahan suatu program untuk dimengerti.
19. Traceability, yaitu kemudahan merujuk balik implementasi atau komponen
program ke kebutuhan pengguna software.
20. Training, yaitu sejauh mana software membantu pemakaian baru untuk
menggunakan sistem.
Urgensi Maintenance dalam Pengembangan Software
Smith (1999), menyatakan bahwa menjaga software agar bekerja dengan baik
haruslah diupayakan dengan baik. Situai yang berbahaya serta biaya yang mahal
disebabkan oleh kegagalan program yang sering terjadi sehingga benar-benar menjadi
perhatian utama dalam penggunaan software. Pemeliharaan program sangatlah sulit
disebabkan software tidak mengikuti aturan dengan seperti hanya seperangkat
hardware. Walaupun demikian, software haruslah terbebas dari segala macam gangguan
dan dapat dioperasikan secara aman di lingkungan dimana program tersebut diciptakan.
Software maintanence menjadi bagian dari keberlangsungan sebuah software
(software sustainment). Software yang dapat di maintenance akan mendukung
perusahaan dalam memecahkan solusi sesuai dengan perubahan lingkungan bisnis. Bila
suatu software tidak dapat di maintenance maka sofrware tersebut tidak dapat
mendukung kinerja dari perusahaan atau pengguna. Software maintenance menjadi
sangat penting karena memberikan porsi yang besar dalam biaya lifecycle keseluruhan.
Ketidakmampuan untuk melakukan perubahan software secara cepat dan reliable akan
menyebabkan kehilangan peluang bisnis yang dimiliki.
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 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
15
merupakan faktor penunjang dalam efisiensi dan efektivitas. Karakteristik yang perlu
diperhatikan dalam Maintenance software seperti yang dijelaskan pada Tabel 1.
Tabel 1. Karakteristik Software: ISO 9126
Karakteristik Pengertian Sub karakteristik
Functionality Software untuk menjalankan fungsinya
sebagimana kebutuhan sistemnya.
Suitability, accuracy,
interoperability, security
Reliability
Kemampuan software untuk dapat
tetap tampil sesuai dengan fungsi
ketika digunakan.
Maturity, Fault tolerance,
Recoverability
Usability
Kemampuan software untuk
menampilkan performans relatif
terhadap penggunaan sumberdaya.
Understanbility,
Learnability, Operability,
Attractiveness
Efficiency
Kemampuan software untuk
menampilkan performans relatif
terhadap penggunaan sumberdaya.
Time behaviour, Resource
Utilization
Maintainability
Kemampuan software untuk
dimodifikasi (korreksi, adaptasi,
perbaikan)
Analyzability,
Cha`ngeability, Stability,
Testability
Portability
Kemampuan software untuk ditransfer
dari satu lingkungan ke lingkungan
lain.
Adaptability, Installability
Untuk menghasilkan software yang baik dan berkualitas maka perangkat lunak
tersebut harus memiliki kriteria: Functionality, Reliability, Usability, Efficiency,
Maintainability, dan Portability. Penggunaan kriteria tersebut akan menghasilkan
keuntungan bagi perusahaan penguna software tersebut.
Berdasarkan uraian diatas maka, urgensi dari pemeliharaan sistem atau system
maintenance adalah:
Memperbaiki Kesalahan (Correcting Errors)
Maintenance dilakukan untuk mengatasi kegagalan dan permasalahan yang
muncul saat sistem dioperasikan. Sebagai contoh, maintenance dapat digunakan
untuk mengungkapkan kesalahan pemrograman (bugs) atau kelemahan selama
proses pengembangan yang tidak terdeteksi dalam pengujian sistem, sehingga
kesalahan tersebut dapat diperbaiki.
Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism) Kajian
pasca implementasi sistem merupakan salah satu aktivitas maintenance yang
16
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.
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.
Selain itu, urgensi dari pemeliharaan sistem atau system maintenance dalam suatu
organisasi/ perusahaan adalah sebagai berikut:
Mengurangi pengeluaran dalam bidang investasi teknologi.
Membantu perusahaan memecahkan masalah dengan tetap mengikuti perubahan
lingkungan dan prosedur yang terjadi.
Efektivitas biaya.
Menghindari kerugian yang diakibatkan oleh munculnya kesalahan pada
perangkat lunak yang berakibat pada pengguna terakhir. Biaya yang dikeluarkan
akan lebih sedikit jika dilakukan pendektesian awal terhadap kesalahan yang
terjadi pada perangkat lunak tersebut.
Efisiensi waktu
Dilakukannya pengujian terhadap perangkat lunak akan menghindari perusahaan
dari resiko kerugian yang terjadi dan waktu yang lebih lama untuk melakukan
perbaikan terhadap perangkat lunak tersebut.
Fokus pada pengembangan bisnis.
Perangkat lunak yang tidak memiliki kesalahan (bug) akan memaksimalkan
17
kinerja dari perusahaan dengan mendukung kegiatan bisnis lebih baik dan
mendukung penyelesaian masalah lebih cepat dengan penggunaan perangkat
lunak tersebut.
Peningkatan loyalitas pelanggan.
Software maintenance yang dilakukan oleh pihak ketiga (outsourcing) akan
menghemat waktu yang berharga bagi perusahaan. Seperti akandiperoleh cukup
waktu untuk fokus pada kegiatan penting bisnis dan mengoptimalkan pelayanan
terhadap pelanggan untuk meningkatkan loyalitas dan kepuasan terhadap
perusahaan.
Membuat software tersebut menjadi kategori software berkualitas.
Mengambil peluang bisnis yang ada, dengan maintenance software atau sistem
informasi, akan mengevaluasi sistem yang ada dan memodifikasinya, bila sebuah
sistem usang atau rusak maka organisasi tidak akan dapat mengambil peluang
bisnis yang ada dengan proses yang efektif dan efisien.
Menjaga agar software tidak menjadi usang.
Keusangan software atau sistem informasi akan merugikan organisasi, organisasi
menjadi tidak optimal dalam memanfaatkan software pun menghasilkan kinerja
yang tidak optimal, sehingga proses maintenance menjaga hal ini agar keusangan
tidak terjadi.
18
PENUTUP
Kesimpulan
Urgensinya dari maintainability yaitu kemampuan suatu perusahaan dalam
menyediakan layanan perawatan atau pemeliharaan sistem informasi guna mendukung
keberlangsungan sistem sehingga bisa meminimalisasi kendala-kendala dan mendukung
terciptanya keberhasilan perusahaan dalam mencapai tuajuannya.
Manfaat diadakannya maintainability (preventif dan korektif) terhadap perangkat
sistem informasi:
1. Menjaga agar perangkat pendukung sistem informasi ini bisa bekerja optimal
demi efisiensi dan efektifitas pekerjaan sehingga tercapai target perusahaan tepat
waktu.
2. Minimalisasi kerusakan (breakdown) sehingga bisa mencegah kerusakan pada
sistem tersebut baik terhadap hardware maupun softwarenya.
3. Menghemat biaya produksi dalam arti bisa menekan biaya pemeliharaan bila
dibandingkan saat mengeluarkan biaya akibat terjadinya kerusakan parah
terhadap perangkat sistem informasi tersebut baik hardware maupun softwarenya.
4. Menjaga kestabilan sistem agar senantiasa terintegrasi dengan baik
Saran
Maintainbility (pemeliharaan/perawatan) software seharusnya senantiasa
dilakukan sesuai prosedurnya agar terhindar dari resiko kegagalan yang bisa
menimbulkan kerugian bagi perusahaan pada umumnya dan elektabilitas demi
terciptanya kinerja perusahaan yang stabil, kondusif dan terintegrasi dengan baik.
19
DAFTAR PUSTAKA
April, Alain et al. 2004. “Software Maintenance Maturity Model (SMmm): The
software maintenance process model”. Computer Science, Laboratory for
Advanced Networking, University of Kentucky.
Indrajit. 2001. “Analisis dan Perancangan Sistem Berorientasi Object”.
Informatika: Bandung.
McCall, J. A., Richards, P. K., Walters, G. F. 1977. “Factors in Software Quality”.
Nat’l Tech.Information Service, no. Vol. 1, 2 and 3 1977.
O’Brien, James A. dan Marakas, George M. 2010. “Management Information
Systems, 10th Edition”.McGraw-Hill/ Irwin: New York.
Smith, D. 1999. Designing Maintainable Software. Springer-Verlag New York, Inc.
New York.