Pengertian Bug Dan Debugging


Pengertian Bug apaan sih ? Sewaktu main game online, ada orang yang tahu Bug di suatu tempat pada map permainan. Ada juga seorang Programmer yang menemukan Bug pada suatu aplikasi. Sebenernya, Pengertian Bug ini apa ya? Hehehehehe... Tenang, buat kakak-kakak sekalian yang baru memasuki dunia GNU/Linux mungkin bertanya-tanya tentang Pengertian Bug. Okeh, tanpa basa-basi lagi, silahkan membaca artikel saya kali ini mengenai Pengertian Bug,




Bug, merupakan suatu kesalahan atau cacat pada sebuah software atau hardware yang menyebabkan software atau hardware tersebut tidak jalan sebagaimana mestinya. Bisa dibilang, Bug merupakan suatu kesalahan yang terdapat pada sotware maupun hardware.

Ingatlah, tidak ada sesuatu yang sempurna dari seorang manusia (Ciiieehhh.... :D). Hehehehehehehe.....

Software maupun hardware buatan manusia, tidak ada yang sempurna. Pastilah memiliki kesalahan atau cacat yang menyebabkan software ataupun hardware tersebut tidak berjalan normal. Sebuah software, bila memiliki Bug, pastinya akan selalu diperbaiki. Tapi, mungkin dari suatu perbaikan tersebut masih kurang sempurna. Malah, bisa menyebabkan suatu kesalahan lain. Setidaknya, perbaikan dari sebuah Bug pastilah membuat software maupun hardware menjadi lebih baik.
Untuk anda yang berkecimpung di dunia GNU/Linux, sebuah Bug apabila ditemukan pada suatu program atau aplikasi, pastilah akan merasa risih dicampur rasa senang. Karena penemuan sebuah Bug lebih berharga daripada uang. Hahahahahaha.... Tapi itu benar loh. Kalau Bug tersebut anda laporkan kepada pihak pemilik program atau software tersebut, pastinya anda berjasa karena telah membantu kemaslahatan umat open-source. Hehehehehehe.....
Lalu, ketika sebuah Bug ditemukan pada sebuah software, pastilah seorang Programmer akan melakukan debugging untuk memperbaikinya.


Debugging adalah sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan. Debugging cenderung lebih rumit ketika beberapa subsistem lainnya terikat dengan ketat dengannya, mengingat sebuah perubahan di satu sisi, mungkin dapat menyebabkan munculnya bug lain di dalam subsistem lainnya.

Secara umum, tiga kategoti pendekatan debugging dapat diusulkan (MYE79) :
  • Gaya yang kasar (Brute force) 
Kategori debugging brute force mungkin merupakan yang paling umum dan metode yang paling efisien untuk mengisolasi penyebab kesalahan perangkat lunak. Kita mengaplikasikan metode debugging brute force bila semua yang lain telah gagal. Dengan menggunakan filosofi ”biarkan komputer menemukan kesalahan”, tempat sampah memori dipakai, penelusuran runtime dilakukan, dan program dibebani dengan statemen WRITE. Kita mengharapkan bahwa dimanapun didalam rawa informasi yang diproduksi, kita akan menemukan suatu kunci yang akan membawa kita kepada penyebab kesalahan. Meskipun banyaknya informasi yang dihasilkan pada akhirnya akan membawa kita meraih sukses, lebih sering dia menyebabkan kita menghambur-hamburkan usaha dan waktu. Kita harus memikirkannya terlebih dahulu.
  • Penelusuran balik (backtracking)
Backtracking adalah pendekatan debugging yang sangat umum yang dapat digunakan secara sukses didalam program yang kecil. Mulai pada sisi dimana suatu gejala diungkap, kode sumber ditelusuri balik (secara manual) samapai sisi penyebab ditemukan. Sayangnya, bila jumlah baris sumber bertambah, maka jumlah jalur balik potensial dapat sangat banyak.
  • Eliminasi penyebab
Cause elimination dimanisfestasikan oleh induksi atau deduksi serta mengawali konsep partisi biner. Data yang berhubungan dengan kejadian kesalahan dikumpulkan untuk mengisolasi penyebab potensial. Hipotesis penyebab dibuat dan data digunakan untuk membuktikan penolakan hipotesis tersebut. Sebagai alternatif, daftar semua penyebab yang mungkin dikembangkan dan dilakukan pengujian untuk mengeliminasi masing-masing kesalahan. Jika pengujian awal menunjukkan bahwa suatu hipotesis penyebab memberikan gambaran hasil yang jelas, maka data itu disaring sebagai usaha untuk mengisolasi bug.


Sekali bug ditemukan, bug harus dibetulkan. Tetapi seperti telah kita catat, koreksi terhadap suatu bug dapat memunculkan kesalahan lain sehingga lebih banyak merugikan daripada menguntungkan. 

sumber :
http://ghadinkz23.blogspot.co.id/2010/10/pengertian-bug.html 
https://revoluthion.wordpress.com/2009/10/07/debugging-pengertian/ 


EmoticonEmoticon