Bug: Pengertian, Sejarah, Penyebab, Jenis, Cara menghindari, dan Perbedaannya dengan Error

Table of Contents
Pengertian Bug atau kutu
Bug (Kutu)

Pengertian Bug

Bug (kutu) adalah cacat desain yang umumnya ditemukan pada perangkat lunak yang mengakibatkan terjadinya galat sehingga tidak berfungsi sebagaimana mestinya. Kata bug dari bahasa Inggris Pertengahan, bugge (monster). Pada Perang Dunia II, istilah ini digunakan ketika senjata yang digunakan untuk perang mengalami masalah dalam pengoperasiannya.

Ilmuwan komputer Grace Hopper kemudian menggunakan istilah tersebut ketika ia dan timnya menangani masalah yang terjadi pada komputer elektromekanik pertama. Salah satu contoh bug yang terkenal adalah munculnya layar biru (Blue Screen of Death) ketika Bill Gates hadir pada presentasi pengenalan Windows 98.

Tidak hanya membuat pengguna geram, bug juga punya risiko keamanan. Celah keamanan akibat bug bisa disalahgunakan hacker untuk mencuri data diri pengguna, menanamkan malware, dan lainnya. Bahkan, bug juga digunakan untuk membajak software berbayar agar bisa digunakan gratis yang tentunya merugikan bagi developer software tersebut.

Pengertian Bug Bounty

Bug bounty (Bug Hunter) adalah pekerjaan yang dikerjakan oleh orang yang sudah profesional di bidang teknologi dengan tujuan mencari imbalan atas Bug yang mereka temukan. Pihak pengembang software sebenarnya juga membutuhkan keahlian mereka agar bisa menemukan Bug yang tidak terduga, sehingga bisa meminimalisir penemuan Bug oleh para peretas yang justru bisa menimbulkan kerugian sangat besar.

Baca Juga: Bug Hunter: Pengertian, Cara Kerja, dan Perbedaannya dengan Hacker

Sejarah Bug

Istilah bug ini sudah mulai dipakai pada 1940-an ketika komputer generasi pertama digunakan secara umum. pada masa itu ada sebuah komputer Harvard Mark II yang sedang diuji pada mahasiswa Harvard. Namun, ternyata komputer itu tidak bisa bekerja dengan norma sebagaimana mestinya.

Tim melakukan pengecekan secara menyeluruh pada komputer tersebut untuk mencari penyebabnya. Kemudian salah satu anggota menemukan panel F pada relat terdapat seekor ngengat atau sejenis serangga kecil dan dalam bahasa Inggris dinamakan Bug.

Setelah itu serangga diambil dan dimasukkan ke dalam catatan buku dengan menggunakan sebutan Bug. Mulai saat itulah ketika ada kesalahan kecil pada sebuah komputer dinamakan dengan Bug.

Penyebab Bug

Berikut beberapa penyebab bug yang umumnya ditemukan pada suatu software ataupun website di antaranya,
1. Buruknya Komunikasi
Pengembangan sebuah software tak jarang melibatkan banyak pihak, mulai klien, tester dan programmer itu sendiri. Kalau komunikasi mereka tidak berjalan baik, bisa saja memicu munculnya bug.
 
Katakanlah, tester menemukan bug kecil dan lupa menyampaikan ke tim. Lalu, developer melakukan perubahan kode karena ternyata diperlukan penambahan fitur baru di website. Ternyata bug kecil temuan tester justru membuat fitur baru tersebut tidak bisa berjalan.

2. Deadline yang Mepet
Bug juga bisa muncul saat deadline semakin mepet, tapi software masih jauh dari kata selesai. Kalau sudah begini, pengerjaan software tentu akan dipercepat dan risiko kesalahan yang menyebabkan bug akan meningkat.

Katakanlah karena waktunya terbatas, setiap penambahan fitur baru di sebuah website tidak melibatkan testing dengan baik. Hasilnya, muncul banyak bug yang malah membuat website error.

3. Software yang Kompleks
Semakin kompleks suatu software, semakin tinggi pula kemungkinan munculnya bug. Sebab, dengan banyaknya kode yang berjalan pada waktu bersamaan dibutuhkan ketepatan coding yang baik. Kesalahan satu kode saja bisa mempengaruhi keseluruhan software tersebut. Apalagi jika software dikerjakan oleh banyak programmer sekaligus untuk berbagai fitur yang berbeda.

4. Perubahan Kode yang Tidak Didokumentasikan dengan Baik
Saat software dikerjakan oleh banyak programmer, perubahan kode yang tidak didokumentasikan juga bisa menyebabkan bug.  Pada dunia pemrograman, setiap kode bisa menghasilkan output yang berbeda. Jadi, jika perubahan kode tidak dicatat, dan ada programmer lain membuat kode dengan asumsi kode sebelum diubah, tentu hasil yang dimunculkan tak akan sesuai harapan.

Hal di atas sering menyebabkan munculnya logic bug.

5. Proses Testing yang Bermasalah
Proses testing akan menguji software secara intensif sebelum dinyatakan siap dirilis. Sayangnya, tidak semua proses testing berjalan dengan lancar sehingga gagal menemukan bug yang dapat mengganggu software.

Penyebabnya, bisa karena tester tidak bekerja dengan baik sehingga ada bug yang terlewat. Bisa juga karena alat testing yang kurang lengkap atau prosedur testing yang tidak sesuai standar. Jadi, langkah testing tidak optimal.

Baca Juga: Debugging: Pengertian, Sejarah, Fungsi, Jenis Bug, Langkah, dan Perbedaannya dengan Testing

Jenis Bug

Pada sistem komputer terdapat beberapa jenis atau tipe bug di antaranya,
1. Runtime bug. Bug jenis ini muncul saat aplikasi yang dibuat berusaha menjalankan sebuah proses yang sebenarnya bukan proses dari sistem yang dibuat pada aplikasi yang dijalankan.
2. Syntax bug. Bug ini muncul karena adanya kesalahan pada syntax atau script di aplikasi yang dibuat. Syntax pada aplikasi harus ditulis secara benar, karena apabila terdapat kesalahan walaupun hanya satu karakter, akan berpengaruh pada sistem yang dibuat.
3. Logic bug. Bug type ini umumnya muncul saat sistem melakukan salah eksekusi pada sebuah perintah, sehingga menyebabkan output dari perintah yang dihasilkan tidak sesuai.
4. Arithmetic bug. Bug ini muncul ketika melakukan eksekusi perintah yang berupa kalkulasi.
5. Interfacing bug. Bug ini muncul ketika adanya masalah kompatibilitas pada sistem atau API yang digunakan, sehingga bermasalah ketika sistem ditampilkan.

Cara Menghindari Bug

Berikut beberapa cara efektif yang dapat diterapkan untuk menghindari munculnya bug di software yang dikembangkan di antaranya,
1. Membangun Alur Komunikasi yang Baik
Sebagai salah satu penyebab utama munculnya bug, ada baiknya Anda membangun jalur komunikasi yang baik di dalam tim. Sebuah tim yang bagus pada umumnya didasari oleh kepercayaan dan pembagian tugas yang jelas.

Memiliki sistem manajemen proyek yang baik juga dapat meningkatkan kualitas komunikasi yang dapat mengurangi kemungkinan munculnya bug pada versi terakhir software.

2. Melakukan Testing
Dalam prose pengembangan software, Anda sebaiknya mengadakan beberapa ronde uji coba. Fase uji coba ini biasanya terbagi menjadi dua: alpha testing dan beta testing.

Alpha testing merupakan uji coba fungsionalitas software yang dilakukan di tahap awal pengembangan. Beta testing adalah tahapan uji coba software untuk memastikan software telah siap untuk digunakan secara umum.

3. Menjalankan Program Bug Bounty
Ketika seluruh anggota tim telah melakukan testing dan tidak menemukan bug, bukan berarti software Anda bebas dari error. Karena tim Anda yang membuat software tersebut, maka kemungkinan besar tim Anda melewatkan kesalahan minor jauh lebih besar.

Bug hunter atau user dari pihak lain akan memiliki perspektif baru terhadap software, sehingga akan lebih mudah menemukan bug.

4. Menggunakan Agile Methodology
Metodologi pengembangan software Agile merupakan sebuah teknik pengelolaan proyek yang mengutamakan sistem pengembangan secara terus-menerus. Artinya, tujuan setiap fase pengembangan akan berbeda dari fase sebelumnya tergantung pada perubahan yang diperlukan.

Dengan menggunakan metode Agile dalam pengembangan software, maka tim Anda dapat memperkecil kemungkinan munculnya bug pada produk akhir.

5. Menggunakan Platform Kolaborasi
Agar komunikasi dapat berjalan dengan lancar, Anda dapat menggunakan tools yang sifatnya kolaboratif. Jadi, seluruh tim dapat mengikuti alur perubahan kode tanpa perlu menunggu anggota lain untuk memberikan update.

Anda dapat menggunakan project management platform seperti Slacks, Trello, Asana, atau Airtable untuk menciptakan tempat komunikasi yang dapat diakses oleh seluruh anggota tim.

Perbedaan Error dan Bug

Meski antara keduanya secara umum menggambarkan kesalahan, namun sebenarnya Error dan Bug itu berbeda. Jika dilihat dari kondisi yang terjadi, Error merupakan sebuah pesan yang disampaikan kepada para pengguna program tersebut.

Pesan itu memiliki isi sebuah pemberitahuan bahwa ada sesuatu yang salah dan tidak beres sedang terjadi. Sementara itu Bug sendiri merupakan masalah yang ada dalam kode sehingga memunculkan pesan Error.

Jika disimpulkan, Error adalah pemberitahuan ketika terjadinya Bug. Sehingga antara keduanya berbeda namun memiliki keterkaitan yang tidak bisa dilepaskan.

Dari berbagai sumber

Download

Aletheia Rabbani
Aletheia Rabbani “Barang siapa yang tidak mampu menahan lelahnya belajar, maka ia harus mampu menahan perihnya kebodohan” _ Imam As-Syafi’i

Post a Comment