Mata Kuliah Dosen
: Sistem Informasi Manajemen : Dr. Ir. Arif Imam Suroso, M.Sc
Tugas Akhir Mata Kuliah Sistem Informasi Manajemen Pembahasan Kasus ” Space Bugs and Really Bad PR: Software Coding Errors Can Be Costly” (Case 1 – Chapter 4) Management Information System – James A. O’Brien
Disusun Oleh:
NOVINA EKA S. PO56111291.47
MAGISTER MANAJEMEN DAN BISNIS INSTITUT PERTANIAN BOGOR 2012
DAFTAR ISI
Halaman DAFTAR ISI............................................................................................
i
BAB I. PENDAHULUAN .......................................................................
1
I.1 Latar Belakang........................................................................
1
I.2 Tujuan .....................................................................................
2
BAB II. TINJAUAN PUSTAKA ............................................................
3
II.1 Perangkat Lunak (Software) ..................................................
3
II.2 Pengadaan dan Pengembangan Sistem Informasi .................
4
II.3 Implementasi Sistem .............................................................
10
BAB III. PEMBAHASAN .......................................................................
11
III.1 What factors should companies take into consideration when making the decision between developing their own applications or purchasing them from a vendor? Is the chance for error any different? Make a list of factors and discuss their importance to this decision ............................
11
III.2 What could have been done to prevent each of the disasters? .............................................................................
13
III.3 What should companies do when faced with large-scale innovative software challenges? Is there any common theme along the cases discussed above that you can identify? What do you think it is? .......................................
14
III.4 The case mentions several software disasters. There are examples of many others on the internet. Go online and research examples of costly software programming errors
15
III.5 Figure 4.1 shows a famous picture of the first ever discovered bug. While this bug has become the subject of quite a widespread urban myth, the actual story is much different than the myth. Find the true story in the internet!
18
BAB IV. PENUTUP ................................................................................
21
IV.1 Kesimpulan ..........................................................................
21
IV.2 Saran ....................................................................................
21
DAFTAR PUSTAKA ..............................................................................
22
BAB I. PENDAHULUAN I.1 Latar Belakang Seiring dengan kemajuan teknologi dan pesatnya persaingan bisnis, membuat setiap perusahaan wajib menggunakan bantuan sistem informasi untuk mengelola seluruh alur bisnis mereka. Hal ini terpaksa dilakukan untuk mempercepat pengolahan data, sehingga informasi yang dibutuhkan dapat diperoleh dalam jumlah dan waktu yang tepat. Semakin tinggi aktivitas bisnis perusahaan, maka semakin kompleks sistem informasi yang dibutuhkan. Penerapan sistem informasi di perusahaan tidak mudah, diperlukan berbagai pertimbangan dan adaptasi sistem agar sesuai dengan karakteristik bisnis yang diinginkan. Kombinasi antara 5 komponen sistem, yaitu: software, hardware, netware, dataware, dan brainware harus dipastikan berjalan dengan baik dan dapat memenuhi tujuan dibentuknya sistem. Software adalah salah satu komponen penting yang mendasari semua aktivitas tersebut, perancangan software harus ditunjang dengan kemampuan untuk menganalisis proses bisnis perusahaan. Setelah software terbentuk barulah hardware dan netware diaplikasikan dalam sistem. Software adalah kumpulan instruksi yang berfungsi untuk menjalankan suatu perintah atau disebut juga perangkat lunak. Software secara sederhana mencoba untuk menyampaikan pesan dari manusia ke mesin, dengan menggunakan bahasa pemograman. Biasanya software dibuat oleh seorang programmer dibantu seorang business analyst untuk mendeskripsikan kebutuhan sistem yang disesuaikan dengan alur bisnis perusahaan. Tahap pembuatan software adalah tahap paling penting dari perusahaan, tidak mudah dan membutuhkan waktu lama untuk mendapatkan software yang diinginkan. Oleh karena itu, perusahaan cenderung untuk memanfaatkan jasa dari luar perusahaan (out sourcing) untu membuat software mereka, bahkan ada yang membeli software yang sudah bundling (dijual langsung dalam 1 paket) dan kemudian diubah sedikit agar sesuai dengan kebutuhan perusahaan. Keterlibatan banyak pihak dalam pembuatan software inilah yang menambah kesulitan untuk pembangunan software. Terkadang persepsi antara perusahaan dan pembuat software berbeda, akibatnya software yang dibentuk juga tidak sesuai. Kesalahan sistem terutama dalam pembuatan software adalah masalah inti dari kegagalan perusahaan. Beberapa kasus telah membuktikan bahwa satu bagian dalam coding dapat
menghancurkan
seluruh
rencana
perusahaan.
Jadi
sebelum
sistem
diimplementasikan, programmer wajib mengecek ulang program yang ia buat. Pengecekan juga tidak boleh hanya dalam satu tahap, harus dilakukan berkali-kali untuk mendapatkan software yang diinginkan. Melihat permasalahan tersebut, maka perusahaan harus mempertimbangkan banyak hal sebelum memutuskan untuk membangun sebuah sistem informasi. Langkah perusahaan juga tidak boleh terhenti saat software berhasil dipakai, harus ada upaya pemeliharaan serta pengembangan software. Kemajuan dunia bisnis yang terus meningkat membuat perusahaan juga harus terus mengembangakan semua komponen dalam sistem informasi mereka. Perusahaan dengan sistem informasi terbaik yang dapat menguasai pasar dan memenangkan persaingan. I.2 Tujuan 1. Mengidentifikasi
faktor-faktor
yang
harus
dipertimbangkan
dalam
pembangunan sistem informasi, terutama software. 2. Mengidentifikasi langkah-langkah preventif dan penganggulangan ketika terjadi kesalahan sistem 3. Mengidentifikasi hubungan antara beberapa contoh kasus kegagalan software, dan merumuskan langkah terbaik yang harus dipilih oleh perusahaan saat dihadapkan dengan inovasi software.
BAB II. TINJAUAN PUSTAKA II.1 Perangkat Lunak (Software) Software adalah sebuah istilah yang sering digunakan untuk menjelaskan berbagai jenis program untuk mengoperasikan dan memanipulasi komputer serta melibatkan seluruh perangkat pendukungnya (O’Brien 2010). Berbeda dengn hardware yaitu sebuah komponen nyata yang dapat disentuh dan dilihat, software tidak dapat disentuh dan dilihat secara fisik, namun dapat dioperasikan. O’brien (2010) mengelompokkan software ke dalam beberapa kelompok besar, yaitu:
Gambar 1. Tipe-tipe software Application software adalah kelompok software yang digunakan oleh enduser untuk mengolah informasi dan mengerjakan berbagai tugas. Kelompok ini terbagi ke dalam dua bagian, yaitu: general-purpose application program dan application-specific program. Kedua katagori tersebut juga digunakan langsung oleh end-user untuk mengerjakan sebuah tugas. General-purpose digunakan untuk tugastugas umum dan tidak memiliki karakteristik khusus, misal: web browser, electronic mail, word processing, spreadsheet, database managers, dll. Ketika sebuah software dibuat untuk mengerjakan sebuah kasus tertentu, dan hanya bisa digunakan untuk memproses permasalahan tersebut maka dimasukkan dalam kelompok application-
spesific programs. Tidak hanya application software yang bertujuan untuk menjembatani komunikasi antara end-user dan komputer, komputer juga membutuhkan software untuk mengatur jalannya sistem operasi dan jaringan komputer. Software jenis ini dimasukkan ke dalam kelompok system software dan terdiri dari dua jenis program, yaitu: system management programs dan system development programs. Salah satu inovasi terbaru dalam perkembangan dunia sistem informasi adalah adanya software open-source. Pengembang aplikasi akan membuat sebuah program khusus yang dapat diaplikasikan pada berbagai jenis bisnis, jadi setiap perusahaan dapat berkontribusi dalam penggunaan software. Kode untuk aplikasi tersedia bebas bagi siapapun yang ingin menggunakannya. II.2 Pengadaan dan Pengembangan Sistem Informasi Pengadaan dan pengembangan sistem informasi secara langsung melibatkan seluruh komponen perusahaan, terutama sumber daya manusia dan finansial. Proses pengadaan sistem tidak mudah, dan dana yang harus dikeluarkan juga sangat besar. Faktor
ini
yang
kemudian
menyebabkan
perusahaan
ragu
untuk
mengimplementasikan sistem informasi di perusahaan, terlebih lagi masih ada kemungkinan sistem gagal diapikasikan dan tujuan sistem gagal dicapai. Akibat dari pemikiran tesebut, untuk mempermudah proses pengadaan dan pengembangan sistem informasi, perusahaan meilbatkan pihak luar untuk membantu proses ini.
Pengembangan Sistem
In-Sourcing
Out-Sourcing Co-Sourcing
Gambar 2. Metode Pengadaan dan Pengembangan Sistem Pengembangan sistem informasi dalam perusahaan dapat dilakukan melalui tiga metode yaitu: in-sourcing, co-sourcing, dan out-sourcing. Setiap metode di atas tentu saja memiliki kelebihan dan kelemahan masing-masing, sehingga perusahaan
tetap harus berhati-hati untuk mempertimbangkan metode apa seharusnya digunakan. Kesalahan di dalam pemilihan alternatif akan membuat perusahaan merugi, baik itu dari sisi investasi, waktu, dan sumber daya manusia In-sourcing adalah metode pengembangan sistem informasi dengan hanya melibatkan sumber daya di dalam organisasi. Seluruh proses pengadaan sistem, mulai dari pengumpulan data, perancangan sistem, pengimlementasian sistem, dan pemeliharaan serta pengembangan sistem dilakukan oleh pihak perusahaan tanpa melibatkan pihak luar. Tentu saja metode ini memiliki kelebihan dan kekurangan, yaitu: A. Kelebihan 1. Sistem informasi sesuai dengan alur bisnis perusahaan, karena karyawan yang membuat dan mengembangkan sistem sangat mengerti kebutuhan sistem tersebut. 2. Biaya pengadaan dan pengembangan relatif murah. 3. Proses realisasi sistem lebih cepat dan mudah untuk melakukan perbaikan. 4. Sesuai dengan spesifikasi hardware dan netware yang dimiliki oleh perusahaan dan dokumentasi yang diinput dalam sistem juga sangat lengkap. 5. Mudah melakukan modifikasi dan pemeliharaan sistem. 6. Karyawan sebagai pengembang sistem akan mendapat insentif tambahan. 7. Pengawasan dan keamanan data lebih terjamin, karena hanya pihak internal perusahaan yang mengetahui jalannya sistem tersebut. 8. Sistem
dapat
diintegrasikan
dengan
mudah,
terutama
pada
tahap
pengembangan. B. Kelemahan 1. Keterbatasan jumlah dan tingkat kemampuan SDM tentang teknologi infromasi. 2. Pengembangan sistem lebih lama dibanding realisasinya, karena karyawan pengembang
sistem
harus
mengerjakan
tugas
lainnya,
sehingga
pelaksanaannya kurang efektif dan efisien. 3. Perubahan teknologi informasi sangat cepat, namun belum tentu perusahaan dapat mengembangkan sistem secepat kemajuan tersebut, akibatnya
perusahaan sempat mengalami masa “ketinggalan teknologi” atau “tidak up to date”. 4. Membutuhkan pelatihan untuk operator dan programmer yang tentu saja membuat perusahaan harus mengeluarkan biaya ekstra. 5. Adanya demotivasi dari karyawan, karena bukan merupakan core competency mereka. 6. Kurangnya tenaga ahli, memperbesar kemungkinan
terjadinya kesalahan
pengembangan sistem (Yuliatarp, 2010). Metode
berikutnya
yang
sering
digunakan
dalam
pengadaan
dan
pengembangan sistem adalah metode out-sourcing. Metode ini meminta bantuan pihak ketiga untuk mengembangkan sistem informasi, termasuk pelaksana sistem. Pihak
perusahaan
menyerahkan
tugas
pengembangan,
pelaksaanaan,
dan
pemeliharaan sistem kepada pihak ketiga. Menurut O’Brien (2010) beberapa aspek yang harus dipertimbangkan perusahaan untuk menggunakan metode ini adalah:
Biaya pengembangan sistem sangat tinggi
Resiko tidak kembalinya investasi yang dilakukan sangat tinggi.
Ketidaksesuaian sistem dengan alur bisnis perusahaan sangat sering terjadi.
Waktu pengerjaan dan kecepatannya.
Proses belajar anggota perusahaan untuk menggunakan sistem relatif lama.
Tidak adanya jaminan loyalitas pekerja setelah bekerja cukup lama dan terampil.
Menurut The 2001 Outsourcing World Summit ada 6 alasan utama perusahaan memutuskan metode outsourcing untuk pengadaan dan pengembangan sistem (Elmir, 2010), yaitu: 1. Mengurangi biaya (36%) 2. Fokus pada inti bisnis (36%) 3. Meningkatkan kualitas (13%) 4. Meningkatkan kecepatan untuk beradaptasi pada pasar persaingan (10%) 5. Membantu proses inovasi (4%), dan 6. Menghemat modal karena biaya dapat disesuaikan dengan anggaran (1%)
Sumber: http://adabisnis.com/outsourcing-kan-pekerjaan-anda/
Gambar 3. Diagram Alasan Perusahaan Menggunakan Metode Outsourcing Tidak berbeda dengan metode in-sourcing, metode out-sourcing juga memiliki kelebihan dan kelemahan, yaitu: A. Kelebihan 1. Perusahaan dapat mengonsentrasikan diri pada bisnis yang ditangani. 2. Masalah mengenai hardware, software, dan maintenance sistem merupakan tanggung jawab pihak vendor. 3. Lebih praktis serta waktu pengembangan sistem informasi relatif lebih cepat, efektif, dan efisien karena dikerjakan oleh tenaga ahli dibidangnya. 4. Pemilihan vendor untuk mengerjakan sistem dapat disesuaikan dengan anggaran perusahaan. 5. Memudahkan akses pada pasar global jika menggunakan vendor dengan reputasi baik. 6. Resiko ditanggung pihak ketiga, ketika terjadi kegagalan maka pihak ketiga yang berkewajiban untuk memperbaiki sistem tersebut. B. Kelemahan 1. Keamanan data perusahaan sedikit diragukan, karena ada peluang penyalahgunaan sistem informasi oleh vendor. 2. Ada peluang sistem informasi yang dikembangkan tidak sesuai dengan kebutuhan perusahaan. 3. Transfer knowledge terbatas karena pengembangan sistem sepenuhnya dilakukan oleh vendor.
4. Adanya ketergantungan pada konsultan sistem. 5. Manajemen perusahaan membutuhkan waktu cukup lama untuk mempelajari sistem dan harus membayar lisensi program yang dibeli. 6. Resiko tidak kembalinya investasi sangat tinggi, terutama ketika sistem yang dibentuk tidak sesuai dengan kebutuhan perusahaan. 7. Mengurangi keunggulan kompetitif perusahaan. 8. Ketika aplikasi mengalami gangguan, maka perusahaan harus menunggu kendali outsourcer yang tentu saja akan menyebabkan keterlambatan. 9. Jika kekuatan menawar ada pada outsourcer, perusahaan akan kehilangan banyak kendali dalam memutuskan sesuatu, terutama saat terjadi konflik (Anonim, 2009). Metode terakhir yang sering digunakan dalam pengadaan dan pengembangan sistem adalah co-sourcing. Sistem tidak sepenuhnya dibuat oleh pihak internal perusahaan, dan tidak juga dibuat sepenuhnya oleh pihak ketiga. Ada pendampingan dari pihak ketiga dalam pengembangan sistem, atau pihak perusahaan membeli beberapa modul khusus dari vendor untuk menyelesaikan sebagian permasalahan sistem dalam perusahaan. Salah satu metode co-sourcing yang sering dilakukan adalah pembelian paket program, sebuah pemanfaatan software open-source untuk kepentingan perusahaan yang spesifik. Serupa tapi tak sama dengan dua metode sebelumnya metode ini juga memiliki kelebihan dan kekurangan, yaitu: A. Kelebihan 1. Memerlukan waktu pengembangan yang jauh lebih singkat, karena secara prinsip perangkat lunak paket siap untuk dioperasikan. 2. Pemakai dapat memilih paket sesuai dengan kebutuhan internal perusahaan. 3. Paket adalah software dengan kualitas tinggi dan sudah teruji diberbagai perusahaan, sehingga terbebas dari bug. 4. Perusahaan dapat melakukan uji coba terlebih dahulu sebelum sistem diimplementasikan dalam perusahaan. 5. Dokumentasi sistem lengkap, sehingga sistem dapat dikembangkan dan dikelola oleh siapa pun.
B. Kelemahan 1. Ada kemungkinan paket tidak mendukung fungsi-fungsi yang spesifik dalam perusahaan. 2. Harga untuk pembelian satu jenis paket saja akan menghabiskan biaya yang sangat tinggi. 3. Tingkat efisiensi software lebih rendah dari pembuatan software sendiri, karena sistem software open-source harus dapat digunakan untuk seluruh perusahaan sejenis. 4. Evaluasi paket menyita waktu dan menuntut biaya. 5. Ada kemungkinan paket hanya jalan pada spesifikasi hardware tertentu, jadi perusahaan harus mengeluarkan biaya khusus untuk menyediakan hardware yang sesuai. Elmir (2010) mencoba untuk merumuskan kelebihan dan kekurangan tersebut menjadi tabel perbandingan metode, yaitu sebagai berikut: Tabel 1. Kelebihan dan Kelemahan Metode Pengadaan dan Pengembangan Sistem
Sumber: http://www.arsipjogjaprov.info/archieve/artikel/sia.sisteminformasi.pdf
Perusahaan sudah pasti harus mengembangkan sistem informasi dalam perusahaan mereka, namun perusahaan harus mempertimbangkan semua faktor internal dan eksternal yang didukung oleh wawasan tentang kelebihan dan kekurangan metode pengembangan sistem untuk memutuskan metode apa yang dipilih untuk kepentingan tersebut. II.3 Tahapan Implementasi Sistem Tahap implementasi sistem adalah tahapan untuk meletakkan sistem pada dunia bisnis sebenarnya, dan segera dioperasikan untuk menunjang bisnis tersebut. Ada beberapa hal yang perlu diperhatikan saat melakukan implementasi sistem, salah satunya adalah membuat rencana jelas mengenai tahapan implementasi, mencakup tentang kebutuhan biaya, waktu, serta personil (Juwita, 2010). Kaidah dasar impelementasi sistem menjelaskan bahwa ada beberapa cara untuk mengonversi sistem lama ke sistem baru, yaitu: 1. Konversi langsung, langkah implementasi sistem baru secara langsung dan menghentikan segera pemakaian sistem lama. 2. Konversi parallel, langkah implementasi sistem baru secara bersamaan dengan pemkaian sistem lama selama jangka waktu tertentu. 3. Konversi modular atau sering disebut juga pilot project, sistem baru diterapkan sebagian, dan tetap mengoperasikan sistem lama yang bagiannya belum memakai sistem baru. Seiring berjalannya waktu, seluruh bagian dari sistem baru akan menggantikan sistem lama. 4. Konversi Phase-in, serupa dengan konversi modular, namun sistem phase-in membagi sistem ke dalam beberapa bagian sedangkan modular membagi organisasinya (Arofiq, 2010).
BAB III. PEMBAHASAN Case Study Questions III.1 What factors should companies take into consideration when making the decision between developing their own applications or purchasing them from a vendor? Is the chance for error any different? Make a list of factors and discuss their importance to this decision. Seperti yang telah dijabarkan di atas, proses pengadaan dan pengembangan sistem merupakan masalah yang cukup rumit untuk perusahaan. Semakin kompleks kebutuhan sistem semakin sulit perusahaan mengambil keputusan, karena aspek yang terlibat juga semakin luas dan biaya yang dikeluarkan juga semakin besar. Oleh karena itu, timbul 3 metode untuk pengadaan dan pengembangan sistem, yaitu: insourcing, co-sourcing, dan out-sourcing. Kelebihan dan kelemahan 3 metode ini telah dijabarkan pada sub bab II.2 tentang pengadaan dan pengembangan sistem. Dapat diambil kesimpulan faktor yang mempengaruhi perusahaan untuk pemilihan metode tersebut adalah: 1. Kemampuan finansial, perusahaan yang memiliki kemampuan finansial tinggi bisa memilih seluruh metode secara leluasa, karena rata-rata biaya yang dibutuhkan untuk pengadaan sistem tidak sedikit. Disarankan lebih baik perusahaan dengan kemampuan finasial tinggi memilih metode outsourcing, karena dengan metode ini sistem akan terus berkembang mengikuti kemajuan teknologi. Perusahaan akan selalu menggunakan teknologi terbaru yang berefek langsung terhadap produktivitas dan peningkatan profit. 2. Sumber Daya Manusia (SDM), keterbatasan pengembangan sistem sangat tergantung pada kemampuan SDM. Jika perusahaan memiliki bagian khusus untuk bidang teknologi informasi dan di dalamnya terdapat SDM dengan kemampuan teknologi informasi tinggi. Tidak ada salahnya perusahaan menggunakan metode in-sourcing, metode ini sangat menjamin keamanan data dan pasti sistem yang dibangun sesuai dengan alur bisnis perusahaan. 3. Waktu, keterbatasan waktu seringkali menjadi penghambat implementasi sistem. Sistem informasi harus segera jadi karena tuntutan kegiatan bisnis yang semakin kompleks, namun proses pembuatan dan adaptasi sistem juga memakan waktu lama. Jika ingin waktu yang dibutuhkan mendesak gunakan
metode out-sourcing atau co-sourcing, karena vendor pembantu pasti sudah memiliki rekan kerja dan sistem yang serupa. 4. Kepemilikan hardware dan netware, metode co-sourcing telah memiliki syarat mutlak spesifikasi hardware jika ingin menggunakan paket mereka. Perusahaan yang telah memiliki hardware dan netware sendiri, lebih baik menggunakan metode in-sourcing atau out-sourcing, sehingga sistem yang dibuat dapat disesuaikan dengan fasilitas yang ada. 5. Kompleksitas sistem, semakin tinggi cakupan sistem maka semakin sulit proses pembuatan sistem. Hal ini berefek pada dana dan kebutuhan SDM, lebih baik gunakan metode out-sourcing untuk tingkat kerumitan yang tinggi. Perusahaan disarankan juga menggunakan metode co-sourcing jika memiliki SDM yang berkemampuan tinggi dalam bidang teknologi informasi. Hal ini akan mengurangi biaya, namun tetap memenuhi tuntutan sistem. Faktor-faktor di atas sebaiknya dipertimbangakn oleh perusahaan serta dianalisis dari sisi SWOT (Strengths, Weakness, Opportunities, Threats), sehingga diketahui metode apa yang sebaiknya dipilih. Tentu saja terdapat perbedaan dari segi kesalahan sistem, jika dilihat dari kemudahan penyesuaian sistem dengan alur bisnis perusahaan maka metode insourcing memiliki tingkat kesesuaian paling tinggi, karena pengembang sistem adalah karyawan perusahaan tersebut, dan mengetahui pasti kondisi perusahaan. Metode co-sourcing juga memiliki tingkat kesalahan sistem yang cukup rendah, karena masih terdapat campur tangan internal perusahaan dalam pembuatan sistem. Perusahaan bisa memilih paket yang harus dibeli untuk menunjang kebutuhan sistem dan kemudian menyesuaikannya dengan karakteristik perusahaan. Outsourcing sangat rentan terhadap kesalahan sistem dan kemungkinan kerugian investasi. Sulit untuk mendeskripsikan kebutuhan sistem kepada pihak ketiga, dan seringkali ketika sistem sudah jadi, tidak dapat digunakan oleh perusahaan. Diperlukan pendampingan khusus dari pihak perusahaan selama proses pembuatan sistem, dan juga tahap pengetesan yang sangat panjang. Bukan hanya ketidaksesuaian dengan alur bisnis, kesalahan sistem juga sering terjadi pada adanya kesalahan pembuatan program, atau sering disebut sebagai kesalahan coding. Pengetikan coding yang salah berakibat fatal pada proses bisnis
perusahaan, bahkan dapat merugikan perusahaan. Jika dilihat dari sisi ini maka kemampuan SDM adalah penentu utama, jauh lebih baik menggunakan SDM berpengalaman dalam bidang teknologi informasi dibanding coba-coba dengan memanfaatkan karyawan yang ada. Lebih baik menggunakan metode out-sourcing untuk mencegah coding error, karena mereka pasti berpengalaman. III.2 What could have been done to prevent each of the disasters? Akibat dari kompleksitas sistem yang tinggi, maka setiap vendor mengerjakan sistem dalam tim. Diharapkan pembagian tugas dalam tim dapat meningkatkan produktivitas pengerjaan sistem, namun terkadang campur tangan banyak pihak ini juga yang menyebabkan kegagalan sistem, beberapa faktor kesalahan pembuatan software adalah: 1. Perbedaan penggunaan satuan ukuran dalam sistem. 2. Perbedaan persepsi penggunaan variable dalam sebuah proses. 3. Konversi dari satu satuan ke satuan lain menggunakan angka yang berbeda. 4. Primary key yang digunakan oleh setiap programmer berbeda, sehingga sistem tidak terintegrasi dengan baik. 5. Tingkat ketelitian setiap programmer berbeda. 6. Programmer memiliki kemampuan berbeda dalam menganalisis kasus tertentu. Ternyata kasus kegagalan software sering terjadi, baik itu di Indonesia maupun di mancanegara, bahkan biaya yang dikeluarkan untuk memperbaiki atau menanggung resiko kegagalan bersebut tidak murah. Langkah pencegahan yang dapat dilakukan agar tidak terjadi kesalahan coding dalam sebuah software adalah: 1. Pengecekan coding berulang-ulang secara bertahap sebelum software digunakan. 2. Memilih tenaga ahli yang mengerti tentang teknologi informasi dan diusahakan mengerti proses bisnis perusahaan dengan baik. 3. Pihak perusahaan wajib mendampingi programmer sepanjang proses pembuatan software.
4. Sistem harus didokumentasikan dengan jelas melalui data flow diagram, ER diagram, dan diagram lainnya agar setiap programmer dalam tim mengerti tentang fungsi dan satuan setiap variable dalam sistem. 5. Menyiapkan langkah error handling serta back up data ketika terjadi kesalahan sistem, diusahakan data harus aman, dan sistem langsung bisa berjalan lagi sebagaimana mestinya. 6. Pemberian petunjuk langsung oleh pihak perusahaan dan business analyst kepada setiap programmer mengenai job-description mereka. 7. Proses implementasi secara bertahap, setiap bagian dicek dahulu baru kemudian digabungkan dan dicek kembali. 8. Dilakukan proses weekly meeting untuk mengecek perkerjaan setiap programmer dan menyamakan persepsi ketika salah satu bagian dalam tim mengalami kesulitan. III.3 What should companies do when faced with large-scale innovative software challenges? Is there any common theme among the cases discussed above that you can identify? What do you think it is? Setiap perusahaan tentu saja harus selalu mengikuti perkembangan teknologi, sehingga dapat terus berinovasi dan tidak kalah bersaing dari perusahaan lain. Perusahaan yang memiliki teknologi terbaru serat dapat mengimplementasikannya dengan baik dalam alur bisnis mereka maka tidak diragukan lagi perusahaan tersebut mampu menguasai pasar. Ketika perusahaan dihadapkan dengan large-scale innovative software, tentu saja menjadi godaan besar untuk langsung menggunakan software tersebut, namun sikap terburu-buru tersebut biasanya akan menyebabkan kegagalan sistem. Sebaiknya sebelum dilakukan perubahan sistem, perusahaan melakukan beberapa tahapan yaitu: 1. Identifikasi kebutuhan sistem, bandingkan antara spesifikasi sistem baru dengan kebutuhan sistem perusahaan. Jika sistem tersebut sesuai, menambah produktivitas dan perusahaan mampu menerapkannya dengan maka silahkan segera gunakan software tersebut. 2. Identifikasi kemampuan SDM, tidak semua SDM dapat beradaptasi langsung dengan kemajuan teknologi informasi, pasti terjadi fase perubahan yang tidak
sebentar dan menyebabkan kesalahan proses bisnis. Jika sekirannya “cost” untuk perubahan ini cukup besar, sebaiknya perusahaan menunda penggunaan software baru tersebut. 3. Implementasi sistem, masih terkait dengan kemampuan adaptasi komponen perusahaan, lebih baik penerapan penggunaan sistem baru dilakukan secara bertahap, sehingga perusahaan tidak mengalami “shock term” yang berbahaya untuk kelangsungan bisnis perusahaan. Kasus-kasus dalam artikel diatas (Space Bugs and Really Bad PR: Software Coding Errors Can Be Costly) telah menunjukkan langsung bahwa ketika software belum siap diimplementasikan namun dipaksa untuk digunakan, akan menyebabkan keagalan besar. Pada kasus The Mars Climate Orbiter Doesn’t Orbit, Mariner 1’s FiveMinute Flight, Forty Seconds of Ariane-5, dan Pentium Chips Fail Math, sangat terlihat bahwa kegagalan sistem terjadi akibat dua hal, yaitu: 1. Tidak adanya koordinasi yang baik antara SDM yang bekerja dalam pengembangan sistem, sehingga berbagai miss communication terjadi, dan mengakibatkan kegagalan software. 2. Sistem terlalu terburu-buru untuk segera diimplementasikan, sehingga tidak ada pengecekan berulang dan bertahap untuk memastikan kebenaran software. Perusahaan harus menghindari kedua hal ini, dengan berbagai langkah preventif yang dibahas pada sub bab III.2. Satu saja kesalahan pada perumusan software maka akibatnya dirasakan oleh seluruh komponen sistem, perusahaan wajib berhati-hati untuk memutuskan sistem layak untuk dioperasikan. Real World Activites III.4 The case mentions several software disasters. There are examples of many others on the internet. Go online and research examples of costly software programming errors and prepare report for your class! Salah satu contoh kasus programming error yang terjadi adalah kegagalan implementasi Garuda Integrated Operational Control System (IOCS) pada bulan November 2010 lalu. Beikut artikelnya:
Garuda Integrated Operational Control System (IOCS) – (Garuda Case Part 2) Sekarang mari kita mengulas tentang kegagalan sistem IOCS milik Garuda. Pembahasan ini merupakan lanjutan dari pembahasan sebelumnya Studi Kasus Comair – (Garuda Case part 1). IOCS Pada bulan November 2010, Garuda Indonesia menerapkan sistem baru yang disebut dengan sistem kendali operasi terpadu (Integrated Operasional Control System/IOCS). Sistem terpadu ini menggabungkan sistem untuk memantau pergerakan pesawat, awak kabin, dan manajemen penumpang yang sebelumnya merupakan aplikasi terpisah. Tentang IOCS milik Garuda Indonesia tersebut: Sistem ini merupakan gabungan sistem yang memantau pergerakan pesawat, penjadwalan awak kabin, dan manajemen penumpang Sistem IOCS ini berharga US$ 1.5 juta (update: sebelumnya tertulis US$15 juta) [1] Sistem IOCS ini menangani 81 pesawat, 580 pilot, 2000 awak kabin and 2000 penerbangan per minggu [3] Pada tanggal 19 November 2010, selama 4 jam sistem tidak bisa diakses [8] Kondisi selama sistem IOCS tersebut gagal berjalan: Jadwal kru pesawat yang kacau, jadwal pilot yang bertabrakan, sampaisampai ada pilot yang sedang sakit mendapat jadwal menerbangkan pesawat [9] Pada tanggal 21 November 2010, terjadi delay masal penerbangan Garuda Pada tanggal 22 November 2010, penerbangan ke Medan, Batam, Pangkal Pinang and Padang dibatalkan [3] Pada tanggal 23 November 2010, sejumlah 13 jadwal penerbangan dibatalkan [4] Pemesanan tiket ditutup dari tanggal 22-24 November 2010 5000 jemaah haji terlantar di Arab Saudi [5] – Update: Menurut Direktur Operasi Garuda, keterlambatan disebabkan terbatasnya pintu keberangkatan di bandara [14] Pada tanggal 25 November 2010, penerbangan kembali normal [6] Penyebab Kegagalan Kesalahan dalam sistem IOCS ini belum diinvestigasi secara menyeluruh. Sehingga pernyataan penyebab kegagalan sistem ini masih bersifat spekulasi. Berikut beberapa spekulasi penyebab kegagalan sistem ini: Terjadi ketidak sinkronan data dalam migrasi dari sistem lama ke sistem baru. Hal ini mengakibatkan jadwal awak kabin menjadi kacau [2] Sebuah kabel copot menyebabkan sistem tidak berjalan dengan baik [8] Setelah dilakukan audit terhadap sistem IT, diketahui ada cable data center di kantor pusat yang terkelupas [10] Adanya aplikasi atau pengguna sistem yang mengirimkan data secara masif ke perangkat communication controller sehingga membuat sistem hang[13] Operator hanya memasukkan data terbaru itu ke sistem baru. Padahal, seharusnya data krusial itu dimasukkan ke dalam sistem lama maupun ke IOCS.[13] Kerugian
Jumlah kerugian belum bisa dipastikan jumlahnya, namun yang pasti cukup besar. Berikut adalah potensial kerugian yang dialami oleh Garuda Indonesia: Garuda Indonesia mengaku hanya mengeluarkan uang 220 juta untuk kompensasi kepada penumpang [7]. Namun bila dilihat dari banyaknya penerbangan yang tertunda atau batal, kemungkinan nilai kompensasi akan bertambah Nama baik Garuda tercoreng akibat peristiwa ini, sehingga bisa berpengaruh terhadap IPO yang akan dilakukan [11] Bertambahnya budget iklan permohonan maaf di media-media nasional Hilangnya potensial pendapatan karena batalnya penerbangan Potensial kerugian akibat adanya tuntutan di pengadilan oleh penumpang yang jadwalnya tertunda atau dibatalkan Kemiripan Kasus Garuda dan Comair Walaupun kasus Garuda ini masih diinvestigasi, namun kasus ini memiliki beberapa kemiripan dengan kasus Comair. Berikut beberapa persamaan kasus Garuda Indonesia dan Comair: Kedua perusahaan mengalami masalah pada sistem penjadwalan Sebelum sistem tersebut gagal, Comair dan Garuda Indonesia adalah perusahaan penerbangan yang mendapat banyak penghargaan karena manajemennya bagus Kegagalan sistem terjadi pada waktu peak season. Comair gagal pada bulan Desember, ketika banyak penumpang yang ingin liburan Natal dan akhir tahun. Garuda Indonesia gagal karena melakukan migrasi pada siang hari dan pada bulan-bulan peak season [12]. Sistem penjadwalan tersebut tidak mempunyai backup. Kalaupun ada sistem backup tidak berjalan maksimal. Lesson Learned Walaupun penyebab kegagalan sistem IOCS ini masih bersifat spekulasi, beberapa pelajaran yang bisa kita ambil yaitu: Change Management Plan sangatlah penting. Mungkin Change Management Plan untuk migrasi ini telah dibuat, namun terbukti gagal total. Terbukti dengan sikap reaktif dan lambatnya antisipasi terhadap kegagalan sistem yang baru ini. Ketidaktahuan operator dalam memasukkan data ke sistem juga menunjukkan gagalnya Change Management Plan. IT Risk Management sangatlah penting. Manajemen risiko seharusnya sudah termasuk dan mendasari pembuatan Change Management Plan. Ketiadaan atau gagalnya sistem backup menandakan risiko tidak dimanage dengan baik. Migrasi seharusnya dilakukan pada saat load minimal, sehingga bisa meminimalisasi dampak migrasi tersebut. Dalam kasus ini Garuda melakukan migrasi pada saat peak season sehingga dampak yang ditimbulkan meluas. Waktu yang tepat untuk melakukan migrasi seharusnya bisa diidentifikasi bila IT Risk Management dilakukan dengan baik. Jangan menyepelekan fase migrasi data. Seperti telah dibahas sekilas dalam tulisan sebelumnya 10 Alasan Mengapa Proyek TI Gagal, kesalahan utama dalam proyek TI, biasanya sumber daya yang dipersiapkan dalam migrasi data sangat sedikit. Contoh kesalahannya yaitu memberikan tugas kepada junior developer untuk melakukan migrasi data.
Sumber:
http://lintaka.com/2010/11/25/garuda-integrated-operational-control-system-iocs-garuda-
case-part-2/
Garuda harus menanggung kerugian yang tidak sedikit saat IOCS gagal diimplementasikan. Seperti kasus dalam contoh artikel, kasus ini terjadi akibat dua hal: tidak adanya koordinasi yang baik antara seluruh SDM yang terlibat dalam sistem, dan Garuda terlalu tergesa-gesa untuk menerapkan sistem, sehingga pengecekkan sistem tidak sempurna, tidak ada pengecekkan hardware dan sinkronisasi data dari sistem lama dan sistem baru. Seharusnya Garuda tidak perlu mengalami kejadian ini jika setiap tahapan implementasi sistem dilewati dengan baik. Semakin terlihat bahwa tidak mudah mengganti sistem lama ke sistem baru, jadi jauh lebih baik jika penerapan sistem baru dilakukan bertahap. Kegagalan tersebut dianalisa adalah akibat penerapan implementasi sistem dengan konversi langsung. Sistem secara keseluruhan belum siap menerima sistem baru, namun sistem lama sudah dihapuskan. Sebaiknya perusahaan yang menggunakan sistem untuk kebutuhan operasional, menerapkan tahapan konversi secara parallel, modular, atau phase-in agar kegiatan operasional masih dapat ditunjang dengan sistem lama dan sistem baru juga mulai memasuki kegiatan operasional perusahaan. Akibat baiknya ketika sistem baru mengalami crash, perusahaan masih memiliki back-up data pada sistem lama. III.4 Figure 4.1 shows a famous picture of the first ever discovered bug. While this bug has become the subject of quite a widespred urban myth, the actual story is much different than the myth. Go online and see if you can find the true story of Rear Admiral Grace Hopper’s famous moth! Grace Hopper merupakan ahli komputer yang mempopulerkan kata “bugs” pada dunia pemograman komputer, berikut anekdot tentang beliau: ANECDOTES Throughout much of her later career, Grace Hopper was much in demand as a speaker at various computer-related events. She was well known for her lively and irreverent speaking style, as well as a rich treasury of early war stories. She also received the nickname "Grandma COBOL". While she was working on a Mark II Computer at Harvard University in 1947, her associates discovered a moth stuck in a relay and thereby impeding operation, whereupon she remarked that they were "debugging" the system.
Though the term computer bug cannot be definitively attributed to Admiral Hopper, she did bring the term into popularity.[19] The remains of the moth can be found in the group's log book at the Smithsonian Institution's National Museum of American History in Washington, D.C.[20]
Gambar 4. The Infamous “First Software Bug”
Grace Hopper is famous for her nanoseconds visual aid. People (such as generals and admirals) used to ask her why satellite communication took so long. She started handing out pieces of wire which were just under one foot long, which is the distance that light travels in one nanosecond. She gave these pieces of wire the metonym "nanoseconds."[21] She was careful to tell her audience that the length of her nanoseconds was actually the maximum speed the signals would travel in a vacuum, and that signals would travel more slowly through the actual wires that were her teaching aids. Later she used the same pieces of wire to illustrate why computers had to be small to be fast. At many of her talks and visits, she handed out "nanoseconds" to everyone in the audience, contrasting them with a coil of wire nearly a thousand feet long, representing a microsecond. Later, while giving these lectures while working for DEC, she passed out packets of pepper which she called picoseconds.[22] Jay Elliot described Grace Hopper as appearing to be "all Navy" but when you reach inside, you find a "Pirate" dying to be released.[23] Sumber: http://en.wikipedia.org/wiki/Grace_Hopper
Ketika Grace Hoper bekerja pada Mark II Computer di Harvard University, Hopper menemukan seekor ngengat (moth) hinggap pada relay dan menghambat jalannya sistem. Akhirnya Hopper menyebut sebuah defect pada programming sebagai bugs (serangga), dan kemudian ia memberikan istilah debugging untuk proses reduksi kerusakan pada program komputer atau bagian dari hardware.
Menurutnya proses ini sangat penting, karena saat bugs berhasil menganggu sistem, efeknya terasa pada keseluruhan sistem.
BAB 1V. PENUTUP IV.1 Kesimpulan 1. Faktor yang harus dipertimbangkan dalam pengadaan dan pengembangan sistem adalah kemampuan finansial perusahaan, kualitas sumber daya manusia perusahaan, waktu pengembangan sistem, dan kompleksitas sistem. 2. Langkah preventif yang harus dilakukan perusahaan sebagai upaya pencegahan terjadinya kesalahan sistem adalah pengecekan software secara berulang, pembagian job-description yang jelas antar programmer, implementasi sistem secara bertahap, pemilihan tenaga ahli yang tepat, pendampingan selama proses pembuatan program, dan penyiapan langkah error handling. 3. Kasus kegagalan sistem biasanya terjadi akibat tidak adanya koordinasi yang baik antara programmer yang membuat sistem, tidak adanya pengecekan coding secara berulang, dan terburu-buru ingin sistem berjalan. Sebaiknya perusahaan tidak perlu terburu-buru dan harus memastikan semua komponen berjalan dengan baik sebelum sistem diimplementasikan. IV.2 Saran 1. Perlu dilakukan studi literatur lebih lanjut mengenai perbandingan metode out-sourcing,
in-sourcing,
dan
co-sourcing
untuk
membandingkan
bagaimana proses implementasi sistem yang dikembangkan menggunakan ketiga metode di atas. 2. Perlu dibandingkan bagaimana proses implementasi sistem secara bertahap atau tidak dan dihubungkan pada “cost” yang dikeluarkan perusahaan.
DAFTAR PUSTAKA Anonim.
2009.
Pengembangan
Sistem
Informasi.
http://www.scribd.com/people/user_deleted/8858572. [20 Maret 2012] Anonim. 2012. Grace Hopper. http://en.wikipedia.org/wiki/Grace_Hopper. [20 Maret 2012] Arofiq.
2010.
‘Sayap
Patah’
Garuda,
Kegagalan
Implementasi
IT.
http://ekonomi.kompasiana.com/bisnis/2010/11/23/%E2%80%98sayappatah%E2%80%99-garuda-kegagalan-implementasi-it/-12. [21 Maret 2012] Elmir, Maghleb Yudina. 2010. Pengembangan Sistem Informasi: Outsourcing VS Insourcing? http://maghleb.blogstudent.mb.ipb.ac.id/2010/07/31/pengembangan-sisteminformasi-outsourcing-vs-insourcing/ [20 Maret 2012] Juwita,
Siska.
2010.
Tahap
Implementasi
Sistem.
http://chikachikul.blogspot.com/2010/03/tahap-implementasi-sistem.html. [21 Maret 2010] Lintaka. 2010. Garuda Integrated Operational Control System (IOCS) – Garuda Case Part 2. http://lintaka.com/2010/11/25/garuda-integrated-operationalcontrol-system-iocs-garuda-case-part-2/ [20 Maret 2012] O’brien, James A dan Gorge M. Marakas. 2010. Management Information System. New York: McGraw-Hill Companies, Inc. Yuliatarp. 2010. Keuntungan dan Kelemahan dari Pengembangan Sistem Informasi Secara
Outsourcing
Dibandingkan
dengan
Insourcing.
http://blogstudent.mb.ipb.ac.id/2010/07/12/keuntungan-dan-kelemahan-daripengembangan-sistem-informasi-secara-outsourcing-dibandingkan-denganinsourcing/ [20 Maret 2012]