Pasti kamu sudah tidak asing lagi dengan yang namanya BUG. Tapi kenapa harus pakai nama binatang, Bug ?, Nah ini ada kejadian yang bermula pada tahun 1946

Apa Itu Bug ?

Di tahun 1946. Grace Hopper, salah satu pionir teknologi komputer mengembangkan suatu komputer bernama Mark II bersama tim rekannya, Howard Aiken.

Namun mereka mengidentifikasi adanya error yang terus menerus terjadi. Mereka pun akhirnya membuka komputer tersebut

Ternyata ada Ngengat didalamnya, ngengat yang nyangkut menyebabkan gangguan pada aliran listrik komputer tersebut.

Lalu Hopper pun mencatat error tersebut pada logbook nya dgn catatan “15:45 Relay #70 Panel F (moth) in relay. First actual case of bug being found”. Dari situlah kata “Bug” dipake utk istilah utk error pada komputer

Ini dia catatan logbook dari Grace Hopper yg sekarang ada di museum American History, Washington D.C

Catatan LogBook

Tapi cerita tsb tidak sepenuhnya benar guys. Pada tahun 1870an, kata ‘Bug’ telah digunakan oleh Thomas Edison pada catatannya saat melaporkan pembuatan telepon kpd perusahaan Western Union

la membuat suatu komponen yang ia sebut “Bug Trap” utk membetulkan suatu masalah di alatnya. sehingga, sebetulnya pada tahun 1940an kata “Bug” memang sudah dikenal di dunia teknologi

Namun saat ini, bug adalah istilah yang terkait erat dengan kerusakan yang terjadi pada software saja.

Kamu mungkin sudah sering menemui bug di aplikasi yang kamu gunakan sehari-hari seperti karakter game yang menembus tembok atau emoji yang muncul di HP lain, namun hanya terlihat sebagai bentuk kotak di perangkatmu.

Para developer game atau aplikasi tentunya tidak menerapkan kesalahan-kesalahan tersebut secara sengaja. Namun, karena sebuah aplikasi seringkali memiliki ribuan baris kode, tentu saja ada kesalahan dari waktu ke waktu.

Ketika sebuah bug ditemukan, maka developer akan memperbaiki kesalahan tersebut. Proses pembersihan bug ini disebut proses debugging.

  • Fun Fact: Terjemahan resmi bahasa Indonesia dari istilah “debugging” adalah “pengawakutuan” — diambil dari kata dasar kutu, atau bug dalam bahasa Inggris.

Banyak perusahaan juga juga memiliki program bug bounty alias pemburu bug.

Program bug bounty umumnya diikuti oleh pengguna dan developer lain untuk menemukan bug dan melaporkannya ke pihak perusahaan. Sebagai gantinya, penemu bug tersebut akan mendapatkan imbalan berupa uang tunai atau bentuk lainnya.

Jenis-jenis Bug

Ada beberapa jenis Bug dalam dunia teknologi diantaranya :

1. Functional error

Functional error merupakan sebuah kategori luas yang mencakup masalah yang terkait fungsionalitas sebuah program. Bug jenis ini bervariasi, mulai dari tombol yang tidak dapat di-klik hingga masalah pada kegunaan aplikasi itu sendiri.

2. Performance defects

Performance defects adalah kategori bug yang terkait dengan kecepatan, stabilitas, response time, dan penggunaan sumber daya dari sebuah software.

3. Usability defects

Usability defects adalah jenis bug yang menyebabkan pengguna tidak dapat memanfaatkan sebuah software secara maksimal. Jenis bug ini biasanya menyebabkan software sulit atau tidak nyaman untuk digunakan.

Selain masalah pada kode software, usability defects juga dapat disebabkan oleh desain UI yang terlalu rumit sehingga pengguna kesulitan menemukan fungsi yang mereka cari.

4. Compatibility error

Compatibility error merujuk pada masalah software yang tidak dapat berjalan sebagaimana mestinya dalam situasi tertentu. Pada umumnya, compatibility error akan muncul ketika kamu menjalankan aplikasi lama pada sistem operasi yang lebih baru.

5. Security error

Security error merupakan jenis bug yang cukup berbahaya karena terkait langsung dengan sistem keamanan sebuah software. Sebuah bug dalam sistem keamanan software, besar atau kecil, akan membuka celah untuk cracking dan mencuri data atau merusak software tersebut.

6. Syntax error

Syntax error adalah jenis bug yang terjadi pada source code sebuah program. Jenis bug ini akan menghambat proses pengembangan software dan menyebabkan software tidak dapat di-compile dengan baik.

7. Logic error

Logic error adalah jenis bug lain yang terjadi pada source code sebuah program. Jenis bug ini biasanya disebabkan oleh penggunaan kode yang tidak sesuai sehingga mmenghasilkanoutput yang salah.

Apa Saja Penyebab Bug pada Software ?

Setelah mempelajari tentang apa itu bug dan jenis-jenisnya, sekarang mari kita bahas tentang penyebab terjadinya bug pada software.

1. Komunikasi yang kurang baik

Komunikasi adalah sebuah bagian penting dalam pekerjaan, terutama pengembangan software. Pada umumnya, sebuah software dikembangkan oleh banyak orang dan melibatkan beberapa pihak seperti tim marketing,programmer,tester, dan tentu saja user atau klien.

Jika salah satu dari pihak-pihak tersebut menemukan masalah dan tidak melaporkannya, kemungkinan besar akan ada bug di produk yang dikembangkan.

2. Kerumitan software

Software memiliki tingkat kerumitan pengembangan yang berbeda-beda. Semakin banyak fungsi dan fitur sebuah software, semakin rumit pula kode yang diperlukan untuk membuatnya. Kerumitan kode ini lah yang sering menyebabkan programmer untuk melakukan beberapa kesalahan saat menyusun kode-kode mereka.

3. Tidak adanya log perubahan kode

Dalam proses pengembangan software, tentu saja akan ada beberapa perubahan seiring proses testing berlangsung. Ketika programmer tidak memiliki catatan (log) yang mencakup keseluruhan perubahan tersebut, maka muncul kemungkinan terjadinya bug.

4. Deadline yang terlalu singkat

Proses pengembangan software sudah selayaknya membutuhkan waktu yang cukup untuk proses koding, testing, dan revisi. Namun ketika tim developer diberikan deadline yang terlalu singkat, mereka tidak akan memiliki waktu untuk memeriksa susunan kode atau menjalankan berbagai jenis testing.

5. Kesalahan logis pada desain software

Sebuah software biasanya dikembangkan untuk mencapai sebuah tujuan tertentu. Ketika tujuan tersebut dibuat tanpa mempertimbangkan arsitektur kode, bahasa pemrograman, waktu pengembangan, maka besar kemungkinan software akan memiliki banyak bug.

6. Aplikasi Third-Party

Ketika sebuah software dikembangkan menggunakan plugin dan API dengan tujuan menghemat waktu pengerjaan, maka kemungkinan terjadinya bug akan meningkat.

Aplikasi pihak ketiga sendiri merupakan software dengan ribuan baris kode di dalamnya. Ketika kode-kode tersebut tidak memiliki kompatibilitas dengan kode software yang sedang dikembangkan, maka akan muncul bug.

Cara Menghindari Bug dalam Proses Development

Bug 2

Berikut ini adalah beberapa cara efektif yang dapat kamu terapkan untuk menghindari munculnya bug di software yang kamu kembangkan.

1. Membangun Alur Komunikasi yang Baik

Sebagai salah satu penyebab utama munculnya bug, ada baiknya kamu 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, kamu 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 umuiiim.

3. Menjalankan Program Bug Bounty

Ketika seluruh anggota tim telah melakukan testing dan tidak menemukan bug, bukan berarti software kamu bebas dari error. Karena tim kamu yang membuat software tersebut, maka kemungkinan besar tim kamu 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 kamu dapat memperkecil kemungkinan munculnya bug pada produk akhir.

5. Menggunakan Platform Kolaborasi

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

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

Kesimpulan

Udah sampe situ saja