Apakah yang dimaksud dengan debug dalam pemrograman?

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Dijelaskan bahwa dalam pemrograman terdapat proses memperbaiki (debug). Apakah fungsi dan maksud dari proses tersebut ?

Pemrogram komputer, seperti orang lain, tidak sempurna. Ini berarti program yang mereka tulis terkadang memiliki kesalahan kecil, yang disebut “bug” di dalamnya. Bug ini bisa kecil, seperti tidak mengenali input pengguna, atau lebih serius, seperti kebocoran memori yang menabrak program. Sebelum merilis perangkat lunak mereka ke publik programmer melakukan “debug” program mereka, menghilangkan kesalahan sebanyak mungkin. Proses debugging ini sering memakan waktu lama, karena memperbaiki beberapa kesalahan mungkin melibatkan yang lain. Debugkan kaca mobil Anda di pom bensin jauh lebih mudah daripada melakukan debug pada program komputer.

Debugging, dalam pemrograman komputer dan rekayasa, adalah proses multistep yang melibatkan identifikasi masalah, mengisolasi sumber masalah, dan kemudian mengoreksi masalah atau menentukan cara untuk mengatasinya. Langkah terakhir debugging adalah menguji koreksi atau pemecahan masalah dan memastikan hasilnya berhasil.

Dalam pengembangan perangkat lunak, debugging melibatkan penempatan dan koreksi kesalahan kode dalam program komputer. Debugging adalah bagian dari proses pengujian perangkat lunak dan merupakan bagian integral dari keseluruhan siklus pengembangan perangkat lunak. Proses debugging dimulai segera setelah kode ditulis dan berlanjut dalam tahap-tahap berturut-turut karena kode digabungkan dengan unit pemrograman lainnya untuk membentuk produk perangkat lunak. Dalam sebuah program besar yang memiliki ribuan bahkan ratusan ribu baris kode, proses debugging dapat dilakukan lebih mudah dengan menggunakan strategi seperti uji unit, review kode dan pemrograman pasangan

Setelah kesalahan telah diidentifikasi, maka perlu untuk benar-benar menemukan eror dalam kode. Pada saat ini, dapat berguna untuk melihat kode yang masuk dan menggunakan alat debugger yang berdiri sendiri atau komponen debugging dari lingkungan pengembangan terpadu (IDE). Bug di dalam fungsi adalah hal yang paling banyak ditemukan dan selalu diperbaiki terlebih dahulu. Dalam beberapa kasus, modul yang menyajikan masalah sudah jelas sedangkan baris kode itu sendiri tidak. Dalam hal ini, unit test seperti JUnit dan xUnit, yang memungkinkan programmer menjalankan fungsi spesifik dengan input tertentu dapat membantu dalam debugging.

Praktik standarnya adalah membuat “breakpoint” dan menjalankan program sampai titik breakpoint saat eksekusi program berhenti. Komponen debugging IDE biasanya menyediakan kemampuan pemrogram untuk melihat memori dan melihat variabel, menjalankan program ke breakpoint berikutnya, mengeksekusi hanya baris kode berikut, dan, dalam beberapa kasus, mengubah nilai variabel atau bahkan mengubah isi baris kode yang akan dieksekusi.

Debug merupakan suatu proses untuk mencari dan menghapus error pada program , ketidaknormalan, yang mana secara metode ditangani sendiri oleh perangkat lunak programmer melalui alat debug.

Mengembangkan suatu perangkat lunak perlu dilakukan pengujian, pembaruan, dan perawatan. Biasanya perangkat lunak berisi kesalahan berupa bug yang secara rutin dihapus. Dalam proses debugging, program akan dikumpulkan secara lengkap dan dijalankan secara teratur dari atas ke bawah untuk mengidentifikasi dan memperbaiki masalah. Program dalam sekala besar yang berisi jutaaan kode, dibagi menjadi komponen kecil. Untuk efisiensi, masing-masing komponen melalui proses debug secara terpisah pada awalnya, lalu diikuti oleh program secara keseluruhan.

Alat debugging yang umum seperti: analisa kode program yang meliputi keamanan, kesalahan kode umum dan analisa kompleksitas, juga dapat membantu proses debugging. Sebuah penganalisa kompleksitas dapat menemukan masalah yang sangat rumit sehingga sulit untuk dipahami dan diuji. Beberapa tools lain dapat menganalisa pada baris berapa suatu kode program tidak dapat dieksekusi, yang mana dapat membantu proses debugging. Alat debugging lainnya termasuk simulator tingkat lanjut yang memungkinkan programmer untuk memodelkan bagaimana sebuah aplikasi pada perangkat mobile ditampilkan dan berperilaku. Beberapa alat, terutama alat terbuka dan bahasa terkode, tidak berjalan dalam IDE dan memerlukan pendekatan manual untuk melakukan debugging.

Referensi

Seorang programmer menulis sebuah program komputer menggunakan bahasa pemrograman tertentu yang biasa disebut kode. kode digabungkan dengan unit pemrograman lainnya untuk membentuk produk perangkat lunak. Dalam sebuah program besar memiliki ribuan bahkan ratusan ribu baris kode. Di dunia ini tidak ada yang sempurna, termasuk juga seorang promrogram yang juga melakukan sebuah kesalahan ketika menulis kode. Kesalahan ini dikenal “bug”. Bug terbagi menjadi dua yakni, Syntax bugs dan Logical bug. Syntax bug adalah sebuah eror yang disebabkan kode yang dituliskan pemrogram, sedangkan logical bug adalah sebuah eror dimana program dapat berjalan tetapi tidak sesuai dengan harapan pemrogram.

Sebuah program yang komplek dibuat menggunakan banyak baris kode dan wajar jika sebuah program terdapat bug. Sala satu bagian terpenting dari pemrograman adalah melakukan tes terhadap program itu sendiri.

Debugging adalah sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program. Melakukan debugging berfungsi untuk membuat program bekerja sesuai dengan harapan. Debugging merupakan proses yang diperlukan hampir semua proses perangkat lunak, setiap bagian diuji hingga dapat berjalan bersama-sama. Adapun proses debugging akan menghasilkan dua hal, pertama penyebab akan ditemukan, dikoreksi, dan dihilangkan, dan kedua penyebab tidak akan ditemukan.

Jika kita melakukan debugging, berikut kegunaan dan manfaatnya

  1. Menghindari kesalahan dalam penulisan kode
  2. Mengetahui fungsi kode yang tidak terpakai
  3. Menjaga dan meningkatkan keamanan sistem

Sumber :

http://blog.finderonly.net/2013/kegunaan-debug-memperbaiki-bug-wordpress.html

Definisi Debug:
Debugging adalah proses mendeteksi dan menghapus kesalahan dan potensi error yang ada (disebut juga ‘bug’) dalam kode perangkat lunak yang dapat menyebabkannya berperilaku tidak terduga (error) atau macet dan bahkan crash. Untuk mencegah pengoperasian perangkat lunak atau sistem yang salah, debugging digunakan untuk menemukan dan mengatasi bug atau kesalahan dalam program. Ketika berbagai subsistem atau modul digabungkan dengan erat dan kompleks, debugging menjadi lebih sulit karena setiap perubahan dalam satu modul dapat menyebabkan lebih banyak bug muncul di tempat lain. Terkadang dibutuhkan lebih banyak waktu untuk melakukan debug program daripada membuat kode programnya.

Deskripsi Debug:
Untuk men-debug sebuah program, pengguna harus memulai dengan sebuah masalah, mengisolasi kode program yang bermasalah, dan kemudian memperbaikinya. Pengguna program harus tahu bagaimana memperbaiki masalah karena pengetahuan tentang analisis masalah adalah pengetahuan yang harus dimiliki oleh programmer. Bila bug sudah diperbaiki, maka software tersebut siap digunakan. Alat debugging (disebut debugger) digunakan untuk mengidentifikasi kesalahan pembuatan kode program pada berbagai tahap pengembangan. Debugger digunakan untuk mereproduksi kondisi di mana kesalahan telah terjadi, kemudian memeriksa keadaan program pada saat itu dan menemukan penyebabnya. Programmer dapat melacak pelaksanaan program secara bertahap dengan mengevaluasi nilai variabel dan menghentikan eksekusi dimanapun eksekusi diperlukan untuk mendapatkan nilai variabel atau mengatur ulang variabel program. Beberapa paket bahasa pemrograman menyediakan debugger untuk memeriksa kesalahan kode saat program sedang ditulis atau dibuat.

Proses Debug:

  1. Mereproduksi masalah.

  2. Jelaskan bugnya. Cobalah untuk mendapatkan masukan sebanyak-banyaknya dari pengguna program untuk mendapatkan alasan yang spesifik dan jelas.

  3. Tangkap snapshot program saat bug muncul. Cobalah untuk mendapatkan semua nilai variabel dan keadaan program pada saat itu.

  4. Menganalisis snapshot berdasarkan keadaan dan tindakan. Berdasarkan hasil dari analisis itu, coba cari penyebab bugnya.

  5. Perbaiki bug yang ada, dan periksa juga apakah ada bug baru yang muncul.

sumber What is Debugging? Definition of Debugging, Debugging Meaning - The Economic Times