Tentang KamiPedoman Media SiberKetentuan & Kebijakan PrivasiPanduan KomunitasPeringkat PenulisCara Menulis di kumparanInformasi Kerja SamaBantuanIklanKarir
2024 © PT Dynamo Media Network
Version 1.93.2
Konten dari Pengguna
Debugging: Pengertian, Fungsi, dan Cara Kerjanya
2 Maret 2022 18:23 WIB
·
waktu baca 5 menitTulisan dari Kabar Harian tidak mewakili pandangan dari redaksi kumparan
ADVERTISEMENT
ADVERTISEMENT
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?
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.
ADVERTISEMENT
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.
ADVERTISEMENT
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.
ADVERTISEMENT
Fungsi Debugging
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
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.
ADVERTISEMENT
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)
ADVERTISEMENT
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
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.
ADVERTISEMENT
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)