Debugging & Error Handling


🎯 1. Pengantar Debugging & Error Handling

https://images.openai.com/static-rsc-4/PiIH7f5u373rJvxKObscznvzB_YICl6gzMgVFBZXebFpuochVy3boUrIGnNT6Cigg-2m1ASV_bq8p5ty_qLK4ikE-dFUMoUhub6dH-cVr0rSS7HJfHRZVaxlod3uaM7qCVwUuQVj0Z27D_3hmqD-v1puqCmkCuSSN8xqxb2N7FnxQJOuddOFFR9WZOL2qzEB?purpose=fullsize
https://images.openai.com/static-rsc-4/Q9odl3PBwG-lxs03ZV5xmmOUlSp7C0Sy4hG1QIYype9sLtzDVkVykpNu3oQLYrPJRWKRoij3xDuK03rIITX9M2zDc8eJOrpGKHPC2GzZ_8AuyGW5i9-imxJAIbIHtjYE0ZljmB0UBf15vy4VztAtcrlFJ-ZcTSYuz9ZkGDfYJos8zmC9WTuspfVpIagEz7fP?purpose=fullsize
https://images.openai.com/static-rsc-4/MDVYxHL4k-KDk9XqQwYefa4eWuwrU32dshUWcErkziB81eFI7TkgUPbyOWQXd1xr0p3ivXDDabn5fFwFGWM4c1AiDVDAO-4hqbRhM9tlIkRMGLekw5QXzdZ0Xnb-SHvypMLn35gpwNg8Dot5GQNKKYmAYvujHt6i8Ah0karaqmtM8v_FVA3VNNGzao022usC?purpose=fullsize

7

πŸ“– Deskripsi

  • Debugging β†’ proses mencari dan memperbaiki kesalahan (bug) dalam program
  • Error Handling β†’ teknik menangani error agar program tidak crash

🧠 Narasi

Dalam dunia nyata, tidak ada program yang langsung sempurna. Debugging adalah aktivitas sehari-hari programmer. Sementara error handling memastikan aplikasi tetap stabil meskipun terjadi kesalahan.


🧩 2. Jenis-Jenis Error

πŸ“Š Tabel Jenis Error

Jenis ErrorPenjelasanContoh
Syntax ErrorKesalahan penulisan kodeKurang tanda kurung
Runtime ErrorError saat program berjalanFile tidak ditemukan
Logical ErrorLogika salahPerhitungan salah

🧠 Narasi

  • Syntax β†’ mudah dideteksi
  • Runtime β†’ muncul saat dijalankan
  • Logical β†’ paling sulit karena program tetap jalan

πŸ” 3. Proses Debugging

https://images.openai.com/static-rsc-4/OB4wabpPt5ZBgn0SJf_mVg220PvTCfPQQkXwzGh7Nvx02C2dBdn8QqYNjfRhFNWmFvJmNI2eDXpRrU8QVKWFYbtGC5x_QAPRoKi9qlI9j1FAfV04O0IHrC2i2SILSZ4aioo4MHGFo0j4Wmn2CDrtj2ylsuFd3FLahqsf3IXPwNigZG0aiGgVkF0Rj3URHjzc?purpose=fullsize
https://images.openai.com/static-rsc-4/JdHyv_NJtiLMODpLIzsD-20NRgPV8-Mgu1fZw1MywWHpNwiGuXLMYwks94Ixqqo8R6o2heST8BB1DM8otC-AhY9czKLQcK1VQJ8FuZQDTxZRQxKDJVPkF8E-qZurqGq6eweHQ8RMB2oezn9r46I5pimFskpxteXwIjZ9uGhnKlS_YCZxmzvzPYo_gKuiPik3?purpose=fullsize
https://images.openai.com/static-rsc-4/VYA_UwQ6eSGIxXlk2KsuOdHpEWtQdi-fc03sU2qLQIzNaY6fcq9UzhFQjJ1gIvZFwUrVXBkuTI55USPkWak00WYl2mdiYLjhiTEdxkR8lemn0eZRu3spU1bbDanwxxN0DJL_b5Vzo6GohulkrU089R-0xnyUTl1c_kv-Ed7Pm-yFWp9cIfTjP7Zklzf7OTrs?purpose=fullsize

7

πŸ“– Tahapan Debugging

  1. Identifikasi masalah
  2. Reproduksi error
  3. Analisis penyebab
  4. Perbaiki kode
  5. Uji kembali

🧠 Narasi

Debugging bukan sekadar menebak, tetapi proses sistematis.


πŸ› οΈ 4. Tools Debugging

https://images.openai.com/static-rsc-4/EywpS6JsCPQGt4Z0J8E6gM3LDzpYddWE2zG4Drvf8LmBSLduIAylGJJxnI0tTeiDORwr4D3SFAyYVaqMJp-9chmpZmSjLfcLk6DyDfRy1LQ1708eW0XssSKbfrUIctu2R_4hlPsljGuLz8RE7r1UN8QQ6eSUz6xETk4N7mOEqAurSc-B_AIGe4U8BcU7fK1u?purpose=fullsize
https://images.openai.com/static-rsc-4/Oc7EiVWuD-jcPk5dvfziyThtoKbhQjnqLw-pary022asOpEM3320ytn3LaXy_i_-vNG9HM8YzuaKjbvQmCCU6xspLPnQOgBiEUTL1zoawj4S1_Qxlt43b3XBNzlxDu3DJoLXsBwqDwopH036nT0uoiGn3-FCASjcpFFptAxK57zyFuExn8IzwZm7t6xnmgbS?purpose=fullsize
https://images.openai.com/static-rsc-4/zqQ2RhGwBrNlguSSzoUpyDahiFafgcKaJRl7YlJJvEn5I85DC8Qdx9ag6lj0ebo1WOhNjZARBpSVpquSMCtlVL-qKHm5emW4rVnUZC25bNUywNAt_49YXTooiLyU4BMXYn7RjtlGbATQScOVy4ReMhoztRa0A1t-ksF02djapsT8_DbIIfas3cXhA2EqcQhr?purpose=fullsize

6

πŸ“Œ Tools Populer

  • Debugger di Visual Studio
  • Debugger di PyCharm
  • Print debugging (print())

🧠 Narasi

Debugger membantu melihat:

  • Nilai variabel
  • Alur program
  • Lokasi error

βš™οΈ 5. Teknik Debugging

πŸ“Œ Teknik Umum

  • Print/logging
  • Breakpoint
  • Step-by-step execution
  • Code review

🧠 Narasi

Debugging yang baik:

  • Tidak asal tebak
  • Berdasarkan data dan analisis

πŸ§ͺ 6. Error Handling (Try-Except)

πŸ“– Deskripsi

Digunakan untuk menangani error agar program tidak berhenti.


πŸ’» Contoh

try:
angka = int(input("Masukkan angka: "))
print(10 / angka)
except ValueError:
print("Input harus angka")
except ZeroDivisionError:
print("Tidak boleh nol")

🧠 Penjelasan

  • try β†’ kode yang diuji
  • except β†’ menangani error

πŸ”„ 7. Multiple Exception Handling

πŸ’» Contoh

try:
file = open("data.txt")
except FileNotFoundError:
print("File tidak ditemukan")
except Exception as e:
print("Error:", e)

🧠 Narasi

Gunakan Exception untuk menangkap semua error umum.


🧱 8. Finally & Cleanup

πŸ’» Contoh

try:
file = open("data.txt")
finally:
print("Proses selesai")

🧠 Narasi

finally selalu dijalankan, cocok untuk:

  • Menutup file
  • Membersihkan resource

πŸ–₯️ 9. Error Handling dalam GUI

https://images.openai.com/static-rsc-4/6S3H-E1Gmvpa9fFWM92cAOs5dRt57fD1aHyWgU_ob5_8EO4rBkL3Bh4sCKjeYyWyl_IR0NNwerjZi1jXXlrlJjjxCzD8PY1Z0pAR6Ppn_hTWWEgTAaL5gAvuJO71h4pmK7LYnROZTZBG_E4BQcvO_GLswQIhNhpGHUaR7PVp6LnuSZFXoDGdg04ox_3mQzdk?purpose=fullsize
https://images.openai.com/static-rsc-4/DAM5oTe6i2_z_7xsQvXhXeLKiEGBNYW8D6p2UF1PLaT5pvDlYPppU4P3DqaFEzPmhky3MB4wqfVQKayKEwZteMHWJ_ZMZPYQFiHDzsCkL7OD-yT19HWXhYbA_sPLM6V6Dvk31YGSku9N0qKxoeObxLrRn0jVSJQgj1M5B61-bndMazIN_ykSwp0FsF4k3Oa9?purpose=fullsize
https://images.openai.com/static-rsc-4/N0fZisobnmnrBPFL87mmqydi8IM6phzOhzQ3fTsRozzXUry7iLliJ6EPBJHQVbrJ3si33DFcdJeumFbhbGDPGAmL1EbKWS4v4OsCgnoMudRRnE6aIHHKSOBtD5LjVIOnqqLEX_lQuwCaY1ssYeNZvIlOcb67lgoMZJLWtxQ4jX5eLLxJaBFHR2skQs_wont7?purpose=fullsize

6

πŸ’» Contoh Tkinter

from tkinter import messagebox

try:
angka = int("abc")
except:
messagebox.showerror("Error", "Input tidak valid")

🧠 Narasi

Dalam GUI:

  • Jangan tampilkan error teknis
  • Gunakan pesan yang mudah dipahami user

⚠️ 10. Kesalahan Umum

❌ Tabel Kesalahan

KesalahanDampak
Tidak pakai try-exceptProgram crash
Menangkap semua error tanpa analisisSulit debugging
Pesan error tidak jelasUser bingung
Tidak logging errorSulit diperbaiki

🧠 Narasi

Error handling yang buruk bisa membuat aplikasi tidak profesional.


πŸ“Š 11. Logging (Pencatatan Error)

πŸ’» Contoh

import logging

logging.basicConfig(filename="log.txt", level=logging.ERROR)

try:
1/0
except Exception as e:
logging.error("Terjadi error: %s", e)

🧠 Narasi

Logging membantu developer:

  • Melacak error
  • Analisis masalah

🎯 12. Best Practice

βœ… Tips

  • Gunakan try-except seperlunya
  • Tampilkan pesan user-friendly
  • Gunakan logging
  • Uji berbagai skenario error
  • Jangan abaikan error

πŸ—οΈ 13. Studi Kasus Nyata

https://images.openai.com/static-rsc-4/kdDnZinFTZB3EQTTrh8p_1BkJYPWl2ogbeH7FXyLgMFpn8zdKfT8EKBxxwpgrISOMfLqmeDcYtKs3tZA8-5l33yZ2zFu9OfcgHOxtmdQCqPJe9D_eKhI68hvMNLBpuCffA4QEIv_RelH_CK2_G3DoCRWu8MF89Qz9nDyxsUL3ZDTPojXRBQS6TYOLrrHlrBb?purpose=fullsize
https://images.openai.com/static-rsc-4/R5R7hFLjJRpz6gRqPHvoND9iRdxhu4yYkzM8LEd6EhrW9i5-PABWVNhJnufjKJx8QXZsl9oLr4I-kIzMGQ4EVva9OZgQzgS7k_I833pI6uIb3zAGMUVSQxRvCsUMIQETDJKg8XoyEFFNoHTLlhB61nwtWzrH_-99zad4PmRFdm0MG4dvdKgTyxrWr3R4taie?purpose=fullsize
https://images.openai.com/static-rsc-4/xQN3w8CE3-0Ypn4pUIJvXga8D2ANfK1AW4FIxmbGC_of2Qefjvp_8HZsbgzX-4yMhUm9KUQa91Tk7CnSDEUNtP8VDt02ReGNQvHaK5KPthKltPR8Bn6-iyc8hOd5pi-PUdmtLw4UvuoRxLL1dBnv9v6BW21kjYcMAXAjvosgqCjPol4jtIkD3K7uE5pMIte_?purpose=fullsize

7

πŸ“Œ Contoh

  • Aplikasi kasir error saat input
  • Sistem login gagal
  • File tidak ditemukan

🧠 Narasi

Debugging dan error handling sangat penting dalam aplikasi produksi.


πŸŽ“ 14. Rangkuman

πŸ“Œ Inti Materi

  • Debugging = mencari bug
  • Error handling = menangani error
  • Gunakan try-except
  • Gunakan logging
  • Buat pesan error yang jelas

πŸ“ 15. Latihan & Tugas

✏️ Latihan

  1. Apa itu debugging?
  2. Sebutkan 3 jenis error!
  3. Apa fungsi try-except?

πŸ’» Tugas Praktikum

Buat aplikasi:

  • Input angka
  • Jika salah β†’ tampilkan error
  • Jika benar β†’ tampilkan hasil
  • Gunakan try-except + GUI

πŸš€ Penutup

Materi ini penting karena:

  • Membuat aplikasi stabil
  • Mengurangi crash
  • Meningkatkan kualitas software