Konten dari Pengguna

Debugging: Pengertian, Fungsi, dan Cara Kerjanya

Kabar Harian

Kabar Harian

Menyajikan beragam informasi terbaru, terkini dan mengedukasi.

·waktu baca 5 menit

comment
0
sosmed-whatsapp-white
copy-circle
more-vertical

Tulisan dari Kabar Harian tidak mewakili pandangan dari redaksi kumparan

Ilustrasi debugging. Sumber: Unsplash.com
zoom-in-whitePerbesar
Ilustrasi debugging. Sumber: Unsplash.com

Sebenarnya apa yang dimaksud dengan debugging? Pada dasarnya, debugging adalah proses menguji untuk mencari eror atau galat pada suatu program pada komputer maupun perangkat lainnya yang menggunakan pemrograman. Proses ini merupakan salah satu tahap yang sangat penting dalam pemrograman.

Penciptaan suatu program yang kompleks sangat tidak mungkin bisa berhasil secara langsung. Perlu berbagai pengujian apakah program yang dibuat bisa berfungsi dengan baik atau tidak.

Debugging diperlukan sebagai upaya pemindaian apakah terdapat suatu bug atau tidak dalam program. Apabila debugging tak dilakukan, ada kemungkinan suatu program tak bisa berfungsi seusai keinginan.

Apa Itu Debugging?

Ilustrasi melakukan debugging. Sumber: Unsplash.com

Mengutip dari buku berjudul Pemrograman Dasar untuk SMK/MAK Kelas X yang disusun Liswati dan Muh. Sahal, debugging adalah proses mendeteksi dan menghapus kesalahan dan potensi kesalahan (bug) yang ada dalam kode perangkat lunak. Eror tersebut dapat menyebabkan perilaku yang tidak diharapkan (kerusakan atau kesalahan) atau penghentian program.

Ketika berbagai subsistem atau modul program sangat kompleks, debugging menjadi tugas yang lebih sulit. Karena setiap perubahan dalam satu modul dapat menyebabkan lebih banyak bug muncul di modul lain. Dengan demikian, dibutuhkan lebih banyak waktu untuk men-debug program daripada membuat kode program.

Dalam pengembangan perangkat lunak, debugging melibatkan penempatan dan koreksi kesalahan kode dalam program komputer. Debugging adalah bagian dari proses menguji perangkat lunak dan merupakan bagian integral dari keseluruhan siklus pengembangan perangkat lunak.

Bug pada perangkat lunak dapat berbentuk macam-macam. Sesuai karakteristiknya, berikut jenis-jenis bug menurut Jurnal Ilmiah Teknologi Informasi (JUTI) Volume 11 Nomor 2 yang ditulis Sugiyanto.

1. Infinite Loop

Loop bisa diartikan sebagai perulangan. Istilah tersebut sering kali digunakan dalam pemrograman. Penggunaan loop yang salah akan menyebabkan sebuah program menjalankan sebuah prosedur tanpa akhir (infinite).

2. Arithmatic Overflow atau Underflow

Overflow akan terjadi jika sebuah nilai hasil perhitungan lebih besar daripada nilai yang dapat ditampung oleh variabel penyimpanan. Sebaliknya, underflow akan terjadi jika proses kalkulasi menghasilkan nilai lebih kecil daripada nilai yang dapat ditampung oleh variabel penyimpanan.

3. Exceeding Array Bounds

Array merupakan variabel berdimensi yang memiliki indeks. Program dapat menjadi saat mengakses indeks di luar array yang ditentukan.

4. Access Violation

Access violation terjadi saat sebuah proses mencoba melewati batas yang diinginkan sistem. Misalnya, menulis sebuah nilai pada alamat memori, media, atau segmen yang diproteksi.

5. Memory Leak

Memory leak adalah penggunaan memori yang tidak diinginkan. Hal ini dapat terjadi karena program gagal melepaskan memori yang sudah tidak digunakan.

6. Stack Overflow atau Underflow

Stack merupakan struktur data yang menggunakan pendekatan Last in First Out (LIFO). Sebuah program dapat ditanamkan logika stack untuk suatu tujuan. Stack overflow atau underflow terjadi bila stack melebihi atau berada di bawah nilai yang diizinkan oleh program.

Fungsi Debugging

Ilustrasi fungsi debugging. Sumber: Unsplash.com

Pada dasarnya, tujuan dari debugging atau pengujian pada pemrograman adalah untuk meningkatkan kualitas dan fungsi suatu perangkat elektronik. Menurut buku berjudul Rekayasa Perangkat Lunak karya Janner Simarmata, bug dapat menyebabkan kerugian yang besar, menghancurkan, dan menyebabkan masalah.

Kualitas berarti kesesuaian (conformance) terhadap kebutuhan perancangan yang telah ditentukan. Syarat minimum dari kualitas adalah berfungsi dengan benar. Debugging sering dilakukan untuk mengetahui perancangan yang cacat dari pemrograman.

Adanya kesalahan teknik dari manusia menjadikan pemrograman yang kompleks tidak mungkin bisa berhasil secara langsung. Tujuan bugging di dalam tahapan pemrograman, yaitu menemukan masalah dan memperbaikinya.

Cara Kerja Debugging

Ilustrasi cara kerja debugging. Sumber: Unsplash.com

Awal debugging adalah segera setelah kode ditulis dan berlanjut ke tahapan yang berurutan. Sebab kode digabungkan dengan unit pemrograman lain untuk membentuk produk perangkat lunak.

Dalam buku yang disusun Liswati dan Muh. Sahal dijelaskan bahwa pada program besar dengan ribuan atau bahkan ratusan ribu baris kode, debugging dapat dibuat lebih mudah dengan strategi seperti pengujian unit, tinjauan kode, dan pemrograman berpasangan.

Setelah kesalahan telah diidentifikasi, perlu untuk benar-benar menemukan kesalahan dalam kode. Tahap ini akan berguna untuk melihat kode yang masuk. Caranya dengan menggunakan alat debugger yang berdiri sendiri atau komponen debugging dari Lingkungan Pengembangan Terpadu (IDE).

Setidaknya terdapat tiga tipe kesalahan atau bug. Mengutip dari buku yang disusun Liswati dan Muh. Sahal, berikut di antaranya:

1. Compile Time Error

Kesalahan jenis ini biasanya terjadi karena kesalahan dalam penulisan program (syntax error).

2. Run Time Error (Exception)

Run time error dapat terjadi saat aplikasi sedang berjalan, tetapi beberapa logika program masih salah.

3. Logical Error

Kesalahan ini terjadi ketika program berhasil dikompilasi dan dijalankan. Namun masih ada keluaran yang tidak sesuai atau karena kode program yang salah secara logika.

Contoh Teknik Debugging

Ilustrasi contoh debugging. Sumber: Unsplash.com

Bila merujuk pada buku Monster Arduino 3: Implementasi Internet of Things pada Jaringan GPRS yang ditulis oleh Hari Santoso, umumnya terdapat dua teknik debugging yang bisa dilakukan.

Pertama adalah debugging secara fisik dan kedua dengan serial monitor. Berikut adalah penjelasan dari tiap-tiap teknik tersebut.

1. Debug fisik

Debug fisik dapat dilakukan dengan lampu Led atau buzzer. Misalnya, jika LED menyala atau buzzer berbunyi, itu berarti sistem normal. Namun, jika LED padam atau buzzer berbunyi berulang kali, berarti ada kesalahan pengkodean.

2. Debugging dengan monitor serial

Debug monitor serial dilakukan dengan mengirim pesan atau menulis ke monitor serial. Selanjutnya dapat dilihat dengan Serial Monitor atau Serial Plotter. Dengan menggunakan metode ini, debugging akan lebih detail karena kita dapat menulis pesan eror sesuai bagian program yang sedang diproses.

Kamu dapat menampilkan konten data dari variabel yang sedang diproses. Atau bisa juga menampilkan tulisan “System OK”, “Connection Success”, “Gagal Kirim”, atau sejenisnya.

(AMP)

Frequently Asked Question Section

Apa pengertian dari debugging?

chevron-down

Proses mendeteksi dan menghapus kesalahan dan potensi kesalahan (bug) yang ada dalam kode perangkat lunak.

Apa fungsi dari debugging?

chevron-down

Untuk mengetahui perancangan yang cacat dari pemrograman, sehingga dapat dijadikan acuan untuk meningkatkan kualitas dan fungsi suatu perangkat elektronik.

Apa saja pendekatan untuk debugging?

chevron-down

Melalui debug fisik dengan lampu Led atau buzzer dan debugging dengan monitor serial.