Jumat, 11 Mei 2012

Kesalahan atau bugs itu hal biasa dalam dunia belajar mengajar. "Kalo gak pernah salah maka tak tau dimana kekuranganya" namun dalam dunia kerja khususnya dunia informatika hal ini perlu dicegah yaitu dengan cara melakukan testing sebelum rancangan diluncurkan atau dipakai dalam dunia sesungguhnya.Hal ini dilakukan guna untuk mendukung keselamatan kerja. Ya selamat lingkungan,orangnya,sistemnya juga orang lain. Berikut beberapa kesalahan atau bugs. :

a. 22 Juli 1962. Roket pembawa Mariner I diledakkan. Bidang: Aerospace. Penyebab: salah persamaan. Persamaan matematis yang digunakan untuk mengendalikan roket pembawa Mariner I (yang akan digunakan untuk menjelajah ke Venus) kekurangan tanda “bar” (garis di atas simbol yang digunakan untuk menyatakan “rata-rata” – average). Akibat kesalahan ini, komputer yang digunakan untuk mengendalikan roket menyatakan bahwa roket tak terkendali, meskipun sebetulnya roket tidak apa-apa. Akibatnya, roket terpaksa harus dihancurkan untuk menghindari kecelakaan yang berakibat fatal. Sumber, Wiener [2].

b. 10 April 1981. The bug heard round the world. Pesawat ulang alik Columbia batal diluncurkan. Penyebab: hardware. Pada tanggal ini, pesawat ulang alik (space shuttle) Columbia batal diluncurkan 20 menit sebelum waktu yang sudah direncanakan. Penyebabnya adalah tidak sinkronnya clock komputer utama dan komputer backup. Untuk menungkatkan keandalan, komputer pengendali dari pesawat ulang alik tersebut terdiri dari empat (4) komputer utama dan sebuah komputer backup. Ternyata kadang-kadang (pobabilitasnya 1 dari 67) clock komputer utama (primary) lebih cepat satu cycle dari komputer backup ketika dihidupkan. Akibatnya komputer backup menunggu dan menunggu untuk sebuah sinyal yang tidak kunjung datang (deadlock). Peluncuran terpaksa dibatalkan. Sumber: Peterson [3]

C.  25 Februari 1991. Patriot Amerika gagal menanggulangi Scud Irak. Bidang: Militer. Penyebab: 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 kesealahan 1/10 juta detik dalam setiap detiknya. Tentunya kesalahan ini dapat terakumulasi menjadi besar. 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 bergese 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. Kalau saja Internet sudah digunakan di sana kala itu. Sumber: Wiener [2].

d. Juni-Juli 1991. Telepon di Los Angles, San Francisco, Washington DC, West Virginia, Baltimore, Greensboro terputus. Bidang: Telekomunikasi. Penyebab: kesalahan software (update). Software yang digunakan untuk mengatur telephone switching dibuat oleh perusahaan DSC Communications. Software ini terdiri atas jutaan baris (programming code). Program sudah diuji selama 13 minggu dan sudah berjalan dengan sempurna. Kemudian mereka “memperbaiki” 3 baris code dan merasa tidak perlu diuji kembali (karena akan menghabiskan 13 minggu lagi). Akibat perbaikan ini sistem justru menjadi crash. Sumber: Wiener [2].

e. 4 Juni 1996. Ariane 5 Failure, meledak 40 detik setelah diluncurkan. Sumber: http://www.esrin.esa.it/htdocs/tidc/Press/Press96/ariane5rep.html

Formal Methods

Hari ini hari pertama saya Kuliah Pasca Sarjana di Udinus..
Kebetulan materinya tentang formal methods..
awalnya memang saya agak awam dengan istilah tersebut..tapi setelah saya browsing2 ternyata formal methods merupakan metode untuk mendesain perangkat keras..