✅ 6. Error Handling & Debugging dalam Python
Dalam pemrograman, error atau kesalahan bisa terjadi kapan saja. Jika tidak ditangani dengan baik, error dapat menyebabkan program berhenti atau tidak berjalan sebagaimana mestinya.
Python memiliki error handling (penanganan kesalahan) yang dapat membantu mencegah crash dan mempermudah debugging.
1️⃣ Cara Membaca Error Python
Ketika terjadi error dalam Python, interpreter akan menampilkan Traceback. Ini adalah pesan yang menunjukkan jenis error, di mana error terjadi, dan baris kode yang bermasalah.
📌 Contoh Error (ZeroDivisionError)
📌 Output:
🔹 Cara Membaca Error
1️⃣ Traceback menunjukkan jalur eksekusi yang menyebabkan error
2️⃣ File "script.py", line 1 → Error terjadi di baris 1
3️⃣ ZeroDivisionError: division by zero → Jenis error adalah pembagian dengan nol
2️⃣ Jenis-Jenis Error dalam Python
| Jenis Error | Penyebab | Contoh |
|---|---|---|
SyntaxError | Kesalahan sintaks | if x = 5: (harus ==, bukan =) |
NameError | Variabel tidak ditemukan | print(nama) (tapi nama belum didefinisikan) |
TypeError | Operasi pada tipe data yang salah | 5 + "hello" (tidak bisa menambah angka dan string) |
IndexError | Indeks list melebihi batas | angka = [1,2]; print(angka[5]) |
KeyError | Key tidak ditemukan dalam dictionary | data = {"nama": "Budi"}; print(data["umur"]) |
ZeroDivisionError | Pembagian dengan nol | a = 10 / 0 |
ValueError | Tipe data salah dalam fungsi | int("abc") (tidak bisa mengubah string menjadi angka) |
AttributeError | Objek tidak memiliki atribut | "hello".push(5) (string tidak punya metode push()) |
3️⃣ Try-Except untuk Menangani Error
🔹 Struktur Try-Except
Blok try-except digunakan untuk menangkap dan menangani error agar program tetap berjalan meskipun ada kesalahan.
🔹 Contoh Try-Except
📌 Menangani ZeroDivisionError
📌 Output:
🔹 Menangani Beberapa Jenis Error
📌 Contoh menangani banyak error
📌 Output:
📌 Penjelasan:
- Program mencoba mengonversi
"abc"menjadi angka → ValueError terjadi lebih dulu - Karena error pertama sudah ditangkap, kode tidak lanjut ke pembagian nol
🔹 Menangani Semua Jenis Error dengan Exception
Kadang kita tidak tahu jenis error yang bisa terjadi. Kita bisa menggunakan Exception untuk menangkap semua jenis error.
📌 Contoh:
📌 Output:
📌 Penjelasan:
Exception as emenangkap semua error dan menyimpan pesan error die
🔹 Blok Finally (Selalu Dieksekusi)
Blok finally akan selalu dijalankan, baik ada error atau tidak.
📌 Contoh:
📌 Output:
📌 Penjelasan:
- finally berguna untuk membersihkan resource, misalnya menutup file setelah dibuka
🔹 Raising Error dengan raise
Terkadang kita ingin memunculkan error secara manual dengan raise.
📌 Contoh:
📌 Output:
📌 Kesimpulan
✅ Memahami error sangat penting untuk debugging dan memperbaiki program
✅ Try-Except digunakan untuk menangkap dan menangani error agar program tetap berjalan
✅ Finally selalu dijalankan, berguna untuk membersihkan resource
✅ Raise digunakan untuk membuat error sendiri
🔥 Selanjutnya, kita akan belajar tentang Pemrograman Berorientasi Objek (OOP). Mau aku buatkan penjelasannya juga? 🚀
Berikut adalah penjelasan lengkap tentang Error Handling & Debugging dalam Python.
✅ 6. Error Handling & Debugging
Saat kita menulis kode, sering kali akan terjadi kesalahan (error). Python menyediakan mekanisme untuk menangani error dengan cara yang terstruktur menggunakan Error Handling. Selain itu, debugging adalah proses untuk menemukan dan memperbaiki kesalahan dalam kode kita.
1️⃣ Cara Membaca Error Python
🔹 Jenis-Jenis Error (Exception) dalam Python
Di Python, error sering disebut exception. Ada beberapa jenis error yang umum ditemui, seperti:
| Jenis Error | Deskripsi |
|---|---|
SyntaxError | Terjadi saat kode tidak mengikuti aturan sintaks Python (misalnya tanda kurung tidak sesuai). |
TypeError | Terjadi saat mencoba menggunakan tipe data yang salah untuk operasi tertentu (misalnya mencoba menambahkan string dengan angka). |
IndexError | Terjadi saat mencoba mengakses indeks yang tidak ada dalam list atau string. |
KeyError | Terjadi saat mencoba mengakses key yang tidak ada dalam dictionary. |
ValueError | Terjadi saat operasi atau fungsi menerima tipe data yang benar, tetapi nilai yang salah. |
ZeroDivisionError | Terjadi saat mencoba membagi angka dengan nol. |
🔹 Membaca Pesan Error
Python memberikan pesan error yang mendetail untuk membantu kita mengetahui apa yang salah dan di mana masalahnya. Berikut contoh pesan error:
Output:
Pesan error ini menunjukkan bahwa ada ZeroDivisionError pada baris tempat kita mencoba membagi angka dengan nol. Ini adalah exception yang terjadi pada bagian kode tertentu.
2️⃣ Try-Except untuk Menangani Error
Python memungkinkan kita untuk menangani error menggunakan blok try-except, sehingga program tidak langsung berhenti jika terjadi kesalahan.
🔹 Struktur Dasar try-except
📌 Penjelasan:
trydigunakan untuk menjalankan kode yang mungkin menimbulkan error.exceptdigunakan untuk menangani error yang terjadi. Dalam contoh ini,ZeroDivisionErroryang terjadi karena pembagian dengan nol akan ditangani dan tidak membuat program berhenti.
Output:
🔹 Menangani Beberapa Error
Kadang kita ingin menangani beberapa jenis error sekaligus. Kita bisa menggunakan banyak except untuk menangani berbagai jenis error.
📌 Contoh:
📌 Penjelasan:
ValueErrorterjadi jika input yang diberikan bukan angka.ZeroDivisionErrorterjadi jika pembagi adalah nol.Exceptionmenangani jenis error lainnya, dengan memberi tahu jenis error melaluie.
🔹 Menangani Semua Error Menggunakan except Secara Umum
Jika kita ingin menangani semua error tanpa spesifikasi, kita bisa menggunakan except tanpa menyebutkan tipe error.
📌 Contoh:
📌 Penjelasan:
except:akan menangani semua jenis error yang mungkin terjadi di dalam bloktry.
Output:
Namun, ini tidak disarankan karena kita tidak tahu jenis error yang terjadi. Menggunakan except yang lebih spesifik lebih baik untuk memudahkan pemecahan masalah.
🔹 Blok else dan finally
Selain try dan except, Python juga memiliki else dan finally untuk menangani kode lebih lanjut.
1️⃣ else: Kode yang dijalankan jika tidak ada error dalam blok try.
2️⃣ finally: Kode yang dijalankan setelah blok try-except selesai, terlepas dari apakah ada error atau tidak.
📌 Contoh:
📌 Penjelasan:
elsehanya akan dijalankan jika tidak ada error.finallyselalu dijalankan, baik terjadi error atau tidak.
Output:
3️⃣ Debugging - Proses Mencari dan Memperbaiki Bug
Debugging adalah proses menemukan dan memperbaiki error atau bug dalam program. Berikut beberapa tips debugging di Python:
🔹 Menggunakan Print Statement
Cara paling sederhana untuk debug adalah dengan menambahkan print statement untuk melihat nilai variabel atau hasil eksekusi pada titik tertentu.
📌 Contoh:
🔹 Menggunakan Debugger Python (PDB)
Python memiliki pdb (Python Debugger) yang memungkinkan kita untuk berhenti di titik tertentu dalam kode dan memeriksa nilai variabel, eksekusi kode langkah demi langkah.
📌 Contoh:
Setelah menjalankan kode dengan pdb.set_trace(), kita bisa melakukan interaksi seperti memeriksa nilai variabel atau melangkah ke eksekusi selanjutnya dengan perintah n untuk langkah selanjutnya.
📌 Kesimpulan
✅ Error Handling membantu kita menangani error secara elegan menggunakan try-except.
✅ Menangani Banyak Error bisa dilakukan dengan beberapa blok except.
✅ else dan finally memberikan kontrol lebih lanjut setelah try-except.
✅ Debugging dengan menggunakan print statement atau debugger (pdb) membantu kita menemukan dan memperbaiki kesalahan dalam kode.
🔥 Selanjutnya, kita akan belajar tentang Pemrograman Berorientasi Objek (OOP) di Python. Mau aku buatkan penjelasannya juga? 🚀
Tidak ada komentar:
Posting Komentar