Lompat ke konten Lompat ke sidebar Lompat ke footer

Debugging | Pemrograman Dasar Kelas 10

https://www.prepbytes.com/blog/general/what-is-debugging/

Pengertian Debugging

Debugging adalah proses mengidentifikasi dan menghapus bug atau error di dalam sebuah kode pemrograman. 

Karena sistem pengkodean suatu program biasanya rumit dan cukup kompleks, maka ketika ada kesalahan satu saja, itu akan menyebabkan pengaruh kepada keseluruhan kode program sehingga tidak bisa di jalankan. Itulah kenapa proses debugging perlu dilakukan untuk mendeteksi dan melakukan perbaikan kesalahan di dalam sebuah program.

Setiap bahasa pemrograman memiliki keunikan tersendiri. Masing-masing memiliki aturan tata bahasa (sintaksis) tersendiri. Jika aturan tata bahasa dilanggar, maka akan mengakibatkan kesalahan (error) pada program setelah di kompiler. 

Istilah kesalahan pada program komputer biasanya disebut bug. Kesalahan pada umumnya terdiri atas dua kategori, yaitu kesalahan sintaksis dan kesalahan semantik.

Kesalahan sintaksis (error syntax) terjadi ketika menulis pernyataan yang tidak valid sesuai dengan tata bahasa bahasa pemrograman C++. Kesalahan ini termasuk kesalahan seperti titik koma yang hilang, variabel yang tidak dideklarasikan, kurang yang tidak cocok, dan string yang tidak ditentukan seperti contoh program pada Kegiatan Awal. 

Kompiler umumnya akan menangkap kesalahan sintaksis dan menghasilkan peringatan atau pesan kesalahan (error), sehingga Anda dapat dengan mudah mengidentifikasi dan memperbaiki masalah tersebut.

Kesalahan semantik (error logical) terjadi ketika pernyataan secara sintaksis valid, namun tidak melakukan apa yang diinginkan oleh programmer, misalnya seperti pada contoh program berikut.

Kompiler tidak akan dapat menangkap masalah jenis ini, karena kompiler hanya tahu apa yang Anda tulis, bukan apa yang Anda maksud. Pada contoh program tersebut, kesalahannya cukup mudah dikenali. 

Namun di sebagian besar program, banyak kesalahan semantik tidak akan mudah ditemukan dengan melihat kode. Disinilah peran debugger sangat berguna.

Debugger adalah sebuah alat (tool) yang memungkinkan pemrogram untuk mengontrol bagaimana suatu program dijalankan dan melihat apa yang terjadi saat dijalankan. Sebagai contoh, programmer dapat menggunakan debugger untuk menjalankan program baris demi baris, memeriksa nilai variabel di sepanjang jalannya program. 

Dengan membandingkan nilai aktual variabel dengan apa yang diharapkan, atau melihat jalur yang dijalankan melalui kode, debugger sangat membantu dalam melacak kesalahan semantik.

Hampir semua IDE modern yang tersedia saat ini memiliki debugger terintegrasi, yaitu debugger bawaan untuk editor, sehingga Anda dapat men-debug menggunakan lingkungan yang sama dan digunakan untuk menulis kode (dari pada harus beralih program).

1. Proses Debugging pada C++

Terdapat beberapa jenis kesalahan yang dapat terjadi pada tahap proses pemrograman, seperti kesalahan kompiler (compiler error), kesalahan linker (linker error) dan kesalahan runtime (runtime error). Untuk mengetahui penjelasan kesalahan-kesalahan tersebut, pelajarilah uraian berikut.

a. Kesalahan Kompiler (Compiler Error)

Kesalahan kompiler adalah kesalahan yang dilaporkan oleh kompiler. Biasanya kesalahan sintaksis (error syntax) sederhana, seperti kata yang salah eja atau tanda baca yang hilang. 

Untuk mengetahuinya, cobalah mengkompilasi program berikut dan lihat apa yang terjadi?

Kompilasi program tersebut dapat dilakukan dengan menekan tombol F9 pada keyboard atau pilih menu Execute, kemudian pilih Compile seperti pada gambar berikut. 


Setelah di Compile ternyata terjadi peringatan (warning) di baris 3. Kesalahan ini berarti, kompiler tidak dapat menemukan definisi untuk cout, cout didefinisikan dalam pustaka standar iostream yang seharusnya dimasukkan ke dalam program. Kemudian, menggunakan namespace standar.

Selain itu, terj adi kesalahan pada baris ke 5 , kesalahan ini mudah diketahui yaitu kurangnya tanda titik koma (;) pada akhir baris. Untuk itu, perbaikilah programnya seperti berikut, kemudian kompilasi ulang program tersebut dan lihatlah apa yang terjadi?

b. Kesalahan Linker (Linker Error)

Kesalahan linker disebabkan ketika Anda lupa mendefinisikan atau mengimplemen suatu fungsi. Misalnya, pada contoh program berikut dan cobalah kompilasi programnya.


Setelah di Compile temyata terjadi peringatan (warning), Kejadian ini merupakan Error di mana program tidak dapat menemukan definisi fungsi dari “myFunction”. Meskipun Anda sudah menyediakan prototipe untuk fungsi “myFunction”, akan tetapi Anda pernah mendefinisikan fungsi tersebut.

Program tersebut secara sintaksis tidak ada error, boleh dicek dengan fasilitas "Syntax Check” dengan cara masuk menu Execute dan pilih Syntax Check atau Syntax Check Current File atau dengan menekan Ctrl+F9, seperti gambar berikut.


Setelah di Syntax Check Current File hasilnya tidak ada error dengan syntax. Jadi, pada linker error kesalahan disebabkan ketika tidak mendefinisikan atau mengimplementasikan suatu fungsi walaupun secara sintaksis tidak ada kesalahan. Berikut adalah tampilan program yang sudah di Syntax Check Current File.


c. Kesalahan Runtime (Runtime Error)

Kesalahan runtime merupakan kesalahan logis, yaitu kesalahan dalam desain program. Kesalahan ini paling sulit ditemukan. Satu-satunya indikasi ada kesalahan adalah output yang salah atau kesalahan yang menyebabkan program menjadi tidak jalan. 

Suatu program dapat berjalan dengan baik selama bertahun-tahun dan kemudian tiba-tiba crash pada beberapa input karena kesalahan logis.

Demikianlah materi artikel mengenai Debugging lengkap dengan penjelasan. Semoga artikel ini bermanfaat bagi sobat semua, baik untuk menambah ilmu, mengerjakan tugas, maupun untuk sekedar menambah wawasan keilmuan tentang Debugging.

Posting Komentar untuk "Debugging | Pemrograman Dasar Kelas 10"