Apa Itu Debugging?

Debugging dan bug merupakan istilah yang populer dalam dunia pemrograman atau developer perangkat lunak. Bug memiliki pengertian yang merujuk pada kesalahan yang menyebabkan sistem tidak berjalan dengan semestinya. Sedangkan Debugging adalah proses menghilangkan bug tersebut.

Untuk membahas tentang Debugging lebih lanjut lagi, anda bisa cek pembahasannya pada artikel kali ini yang sudah disiapkan oleh situs Budak Duit Indonesia.

 

Apa Itu Debugging?

Debugging adalah sebuah proses atau cara menemukan akar masalah dalam basis kode dan memperbaikinya.

Biasanya kita akan mulai dengan memikirkan semua kemungkinan penyebab, kemudian menguji setiap hipotesis ini (mulai dari yang paling mungkin), sampai akar penyebab utama ditemukan. Kemudian kita perbaiki dan pastikan tidak terjadi lagi.

Untuk memecahkan masalah bug, umumnya kita membutuhkan kombinasi dari googling, logging kode kita, dan memeriksa logika kita terhadap apa yang sebenarnya terjadi.

Meskipun saat ini sudah banyak tools yang bisa digunakan untuk membantu kita melakukan debugging. Akan tetapi terkadang kita masih sulit untuk benar-benar memahami kesalahan yang ada dan cara untuk memperbaikinya.

 

Langkah-Langkah Melakukan Debugging

Debugger adalah istilah untuk seseorang yang melakukan Debugging atau memperbaiki bug. Kemampuan untuk memperbaiki bug pada umumnya sangat wajib dimiliki oleh seorang programmer atau engineer pemrograman ketika membuat atau mendevelop suatu sistem.

Adapun berikut ini langkah-langkah yang bisa anda lakukan untuk memperbaiki bug, diantaranya adalah:

1. Perhatikan Pesan “Error” Yang Muncul

Pada umumnya jika terjadi kesalahan pengkodean akan muncul pesan atau notifikasi “Error” saat kita menjalankan program tersebut. Pesan yang muncul akan menunjukkan masalah dan menyatakan baris yang perlu anda perbaiki.

Ini mungkin sangat dasar, akan tetapi masih banyak programmer tidak membaca pesan kesalahan dengan hati-hati, dan hanya bereaksi terhadap bug dengan ide pertama yang muncul di benak mereka.

Pesan kesalahan ada karena suatu alasan, dan ini untuk memberi kita setidaknya gagasan pertama tentang dari mana masalah itu berasal.

2. Google

Jika pesan kesalahan yang anda terima tidak jelas dan masih membingungkan. Atau anda tidak tahu cara memperbaikinya, Google bisa jadi jawaban yang tepat untuk anda.

Salah satu dari banyak hal menakjubkan tentang pengkodean adalah komunitas online sangat besar. Hampir pasti ada banyak orang yang telah menghadapi bug yang sama yang Anda hadapi, dan yang telah memecahkannya dan menjelaskannya sehingga orang lain dengan masalah yang sama bisa dengan cepat menemukan solusinya.

Saat googling, ada baiknya untuk sedetail mungkin dalam pencarian. Sebagai contoh: ” javascript ReferenceError: Tidak dapat mengakses sebelum inisialisasi “.

Saat ini sudah banyak juga source code yang dapat diakses oleh semua orang dan divalidasi oleh orang lain. Anda juga bisa mencari pemecahan masalah dari dokumentasi resmi yang dikeluarkan oleh pengembang resmi bahasa pemrograman yang anda gunakan.

Dokumen resmi biasanya merupakan sumber informasi paling lengkap dan terbaru untuk tools apa pun.

3. Persempit Masalah Anda dan Pahami Di Mana Kesalahan Terjadi

Basis kode yang semakin besar tentunya akan membuat anda semakin sulit untuk menganalisis setiap baris kode dan mencari bug dalam sistem. Oleh karena itu penting bagi anda untuk mencari kesalahan dengan cara mencarinya di tempat-tempat yang paling mungkin menimbulkan masalah.

Cobalah untuk bertanya pada diri sendiri pertanyaan-pertanyaan berikut:

  • Bagaimana saya tahu saya melihat kesalahan?
  • Masukan apa yang saya berikan? Dari mana asalnya? Apakah input ini sama dengan fungsi yang diharapkan?
  • Output apa yang saya dapatkan? Bagaimana inputnya berubah?
  • Apakah ada entitas lain yang berinteraksi dengan potongan kode ini?
  • Apakah saya mengubah sesuatu baru-baru ini yang dapat membuat kode rusak?

4. Cari Bantuan

Terkadang memang ada masalah tertentu yang tidak kita mengerti dan diluar kemampuan kita. Saat ini sudah banyak komunitas online yang aktif dimana kita bisa dengan mudah menemukan bantuan untuk hampir semua subjek dalam hitungan detik.

Memiliki akses ke komunitas yang tepat, tempat Anda dapat bertanya dan berbicara dengan orang yang berpengalaman dalam alat yang Anda gunakan, sangat, sangat, sangat membantu.

Adapun beberapa komunitas online yang bisa membantu anda, diantaranya seperti: freecodecamp , stackoverflow , dan komunitas Sack atau Discord seperti meetupjs.

5. Pastikan Untuk Menemukan Bug dan Memperbaikinya

Tahap terakhir melakukan debugging adalah pastikan anda sudah menemukan bug tersebut dan memperbaikinya. Untuk memastikan kembali bahwa hal tersebut sudah diperbaiki, anda bisa melakukan testing secara manual atau otomatis untuk memastikan semua telah normal.

Testing tersebut harus selalu dijalankan setiap kali ada modifikasi yang dibuat pada basis kode. Walaupun ada bug lain yang muncul, kita dapat dengan mudah mencari penyebabnya dan mengatasinya.

 

Tips Meminimalisir Bug

Sebagai seorang programmer atau developer tentunya kita ingin menghindari adanya bug. Walaupun anda kita bisa menemukan dan memperbaikinya dengan cepat dan mudah.

Adapun berikut ini tips untuk Meminimalisir Bug diantaranya adalah:

1. Clean Code

Cara terbaik untuk melawan bug adalah dengan menghindari memasukkannya sejak awal. Menulis kode bebas bug yang dijamin tidak mungkin dilakukan oleh programmer mana pun, tetapi ada beberapa hal yang dapat Anda lakukan untuk mengurangi kemungkinan bug dimasukkan.

Anda bisa memulainya dengan prinsip DRY, KISS, dan SOLID klasik. Ada banyak buku yang ditulis tentang topik ini, tetapi singkatnya, ini adalah prinsip yang bertujuan untuk membuat perangkat lunak mudah dikembangkan, mudah dipahami dan dipelihara, dan sedekat mungkin bebas bug.

2. Prinsip DRY

DRY adalah singkatan dari “Don’t Repeat Yourself”.Ini memiliki pengertian bahwa kita harus menghindari pengulangan kode yang sama bila memungkinkan.

Misalnya, jika Anda melihat bahwa Anda melakukan operasi yang sama berulang-ulang pada bagian yang berbeda dari kode Anda, pendekatan yang jauh lebih baik adalah dengan mengabstraksikan logika tersebut ke dalam suatu fungsi dan memanggil fungsi tersebut daripada langsung melakukan operasi pada berbagai bagian dari kode Anda.

Dengan cara ini, jika beberapa bug atau perilaku tak terduga terjadi dalam operasi itu, kita tahu hanya ada satu bagian kode yang bertanggung jawab, dan tidak banyak yang tersebar di sekitar basis kode.

3. Prinsip KISS

Prinsip KISS adalah singkatan dari “Keep It Simple Stupid”. Disini anda harus membuat kode yang anda kerjakan sesimple dan semudah mungkin untuk dimengerti.

Ingatlah bahwa orang lain di masa mendatang mungkin harus bekerja dengan kode yang Anda tulis, jadi buatlah orang itu mudah memahami apa yang Anda lakukan. Bahkan Anda setelah beberapa bulan bahkan mungkin tidak ingat apa yang Anda coba lakukan dengan fungsi itu.

4. Prinsip SOLID

SOLID adalah seperangkat prinsip yang sebagian besar berlaku untuk OOP yang diciptakan oleh oleh Robert C. Martin.

  • S singkatan dari “Single Responsibility”, yang berarti bahwa kelas harus memiliki satu, dan hanya satu pekerjaan.
  • O adalah singkatan dari “Open Closed Principle”, yang berarti Anda harus dapat memperluas perilaku kelas, tanpa memodifikasinya.
  • L adalah singkatan dari “Liskov Substitution Principle”, yang berarti bahwa kelas turunan harus dapat disubstitusikan untuk kelas dasarnya.
  • I singkatan dari “Interface Segregation”, yang berarti klien tidak boleh dipaksa untuk mengimplementasikan antarmuka yang tidak digunakannya, atau klien tidak boleh dipaksa untuk bergantung pada metode yang tidak mereka gunakan.
  • D adalah singkatan dari “Dependency Inversion Principle” yang berarti bahwa entitas harus bergantung pada abstraksi, bukan pada konkresi. Ini menyatakan bahwa modul tingkat tinggi tidak boleh bergantung pada modul tingkat rendah, tetapi mereka harus bergantung pada abstraksi.

 

Tools Debugging

Saat ini sudah banyak tools yang dapat anda gunakan untuk untuk mengurangi kemungkinan memasukkan bug ke dalam kode kita, atau untuk melawan bug yang ada dengan lebih efisien.

Dalam hal itu, kita akan melihat TypeScript , console.log yang populer (dan sangat berguna) , dan debugger yang ada di dalam VS Code dan Chrome . Tools dan contoh ini akan dipusatkan di sekitar JavaScript, tetapi prinsipnya berlaku untuk bahasa pemrograman apa pun.

Anda juga harus tahu bahwa sebagian besar editor kode dan browser web saat ini memiliki debugger bawaan, tetapi kami akan meninjau kode VS dan Chrome karena keduanya adalah yang paling populer.

Dan terakhir, Anda juga harus tahu ada alat debugging khusus yang dapat Anda gunakan untuk men-debug jenis aplikasi tertentu, seperti alat pengembang React dan Redux , yang merupakan ekstensi browser yang dapat Anda instal untuk membantu Anda mendebug kode Anda dengan lebih efisien.

 

Kesimpulan

Debugging atau memperbaiki bug adalah salah satu bagian utama dari seorang developer atau programmer dalam mengembangkan suatu aplikasi atau sistem. Oleh karena itu sangat penting untuk untuk memikirkannya dan melakukannya dengan cara yang efisien, daripada hanya bereaksi terhadap bug saat itu terjadi.

Seperti yang telah kita lihat, ada banyak hal yang bisa kita lakukan, baik dari segi mental maupun teknis, untuk menjadi debugger yang lebih baik.

Leave a Comment

You cannot copy content of this page