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