Rabu, 22 Februari 2012

Penyebab Software Error



Logical Design Errors

Terdapat banyak kasus software error, salah satunya karena salah melogikan kebutuhan. Ini disebabkan adanya Kesalahan mengartikan keinginan analis. Akibatnya, hasil yang didapatkan tidak seperti yang diharapkan. Kesalahan seperti ini terkadang sulit untuk dideteksi terutama kalau program sangat kompleks. Selain itu Salah melogikan kebutuhan termasuk kesalahan dalam spesifikasi.

BUG karena kesalahan Logika
Bila terjadi kesalahan – kesalahan logika atas program, disebut juga sebagai
bugs , maka dari itu kita perlu untuk mengkaji ulang algoritma yang telah dibuat, kemudian memperbaiki implementasi kode program (debugging ). Berbagai inovasi dalam gaya pemrograman dan pemrograman defensif dirancang untuk membuat bug seminim mungkin. Dalam beberapa bahasa pemrograman, kesalahan ketik terutama dari simbol atau operator logika atau matematika, sebenarnya merupakan kesalahan logika, karena konstruksi mistyped diterima oleh compiler dengan arti lain dari pada yang dimaksudkan programmer.
Kadang-kadang, sebuah bug bukan cacat terisolasi, tetapi merupakan kesalahan dari pemikiran atau perencanaan pada bagian programmer. kesalahan logika seperti ini membutuhkan suatu bagian dari program yang akan dirombak atau ditulis ulang. Sebagai bagian dari proses review Code, melangkah melalui kode pemodelan pada proses eksekusi di atas kertas sering dapat menemukan kesalahan tanpa pernah perlu untuk mereproduksi bug seperti itu, ini disebabkan ada beberapa logika yang salah dalam pelaksanaannya.

Terdapat dua tipe kesalahan (errors) yang akan dihadapi seorang programmer. Yang pertama adalah compile-time error, dan yang kedua adalah runtime error .

Compile-time errors , muncul jika terdapat kesalahan penulisan kode program. Compiler  akan mendeteksi kesalahan yang terjadi sehingga kode tersebut tidak akan bisa dikompilasi. Terlupakannya penulisan semi-colon (;) pada akhir sebuahpernyataan program atau kesalahan ejaan pada beberapa perintah dapat disebut juga sebagai compile–time error . Compiler  tidaklah sempurna sehingga tidak dapat mengidentifikasi seluruh kemungkinan kesalahan pada waktu kompilasi.
Umumnya kesalahan yang terjadi adalah kesalahan logika seperti perulangan tak berakhir. Tipe kesalahan ini disebut dengan runtime error . berikut merupakan contoh dari runtime error:
1.               Perhitungan atas nilai yang salah, kesalahan penetapan kondisi dan lain sebagainya. Untuk memudahkan dalam memeriksa suatu kesalahan suatu program ataupun memahami jalannya program, kita juga perlu membuat suatu dokumentasi dari program yang dibuat. Dokumentasi tersebut berisi informasi mulai dari tujuan dan fungsi program, algoritma, serta cara penggunaannya.
2.               Penulisan kode pada program terlihat tanpa kesalahan, namun pada saat anda menelusuri struktur logika kode tersebut, bagian yang sama pada kode tereksekusi berulang – ulang tanpa akhir. Pada kasus tersebut compiler  tidak cukup cerdas untuk menangkap kesalahan tipe ini pada saat proses kompilasi. Sehingga saat program dijalankan, aplikasi atau bahkan keseluruhan komputer mengalami hang  karena mengalami proses perulangan yang tidak berakhir.


Fault tolerance system untuk mencapai tujuan perancangannya

Fault tolerance system merupakan suatu sistem yang dapat melanjutkan tugasnya dengan benar meskipun terjadi kegagalan perangkat keras dan kesalahan perangkat lunak). Fault tolerance dapat dicapai dengan banyak teknik. Seperti melakukan Pendekatan dengan mendeteksi dan melokasikan fault yang terjadi dan rekonfigurasi sistem untuk mengganti komponen yang rusak.
 Rekonfigurasi adalah proses penghilangan bagian system yang rusak dan memperbaiki sistem pada kondisi atau keadaan operasional.

STUDI KASUS  Kesalahan software  pada Sistem Patriot Amerika

Pada 25 Februari 1991. Patriot Amerika gagal menanggulangi Scud Irak pada Bidang Militer. Penyebabnya karena ada kesalahan software. Pada perang antara Irak dan Amerika, Scud missile dari Irak menewaskan 28 tentara Amerika dan mencederai 98 tentara di barak dekat Dhahran, Saudi Arabia. Patriot missile defence system menggunakan software untuk menscan angkasa dengan menggunakan radar dengan 5000 elemen sampai dia menemukan “possible target”. Data radar berikutnya menunjukkan berapa kecepatan dari target tesebut dan juga Patriot harus menentukan arahnya. Persamaan yang digunakan dalam tracking memiliki kesalahan 1/10 juta detik dalam setiap detiknya. Tentunya kesalahan ini dapat terakumulasi menjadi besar. Sedangkan US Army membuat spesifikasi bahwa mesin harus direset secara berkala untuk menghilangkan (reset) kesalahan tersebut. Diperkirakan sistem Patriot hanya dapat digunakan maksimal selama 14 jam berturut-turut. Pada waktu kejadian, sistem Patriot sudah digunakan selama 5 hari berturut-turut sehingga timingnya sudah bergeser sebesar 36/100 detik (cukup besar). Bug ini sebetulnya sudah diketahui, akan tetapi upgrade yang dikerjakan di Ft. McGuire Air Force base, membutuhkan waktu untuk mencapai tujuan dengan cara diterbangkan ke Riyadh, dikirimkan lewat truk ke Dhahran, dan dipasang di tempat instalasi Patriot. Ternyata terlambat karena pada saat itu belum ada internet didaerah tersebut.
Jadi dapat disimpulkan bahwa kesalahan BUG dapat berakibat buruk jika tidak cepat di Upgrade. Maka dari itu butuh adanya pencegahan dini dengan selalu melakukan control pada Software tersebut sehingga jika terjadi Bug yang dapat memberikan dampak buruk dapat segera ditanggulangi dan dicegah.


Referensi
http://storage.jak-stik.ac.id/students/paper/penulisan%20ilmiah/20400213/BAB%20II%20TEKNIK.pdf

Arrizqy Nur Shabrina (5209100053)
Nurul Arofah (5209100062)


Tidak ada komentar:

Posting Komentar