Error Handling dalam Pemrograman
Teknik Menangani Kesalahan dalam Kode
Konsep Dasar Error Handling
Proses menangani kesalahan yang terjadi saat eksekusi
program untuk mencegah crash dan memberikan respons yang
tepat
Mencegah program crash
Memberikan pengalaman pengguna yang lebih baik
Membantu debugging dan perbaikan kode
Meningkatkan keandalan aplikasi
Jenis-jenis Error dalam Pemrograman
Pemrograman menghadapi tiga jenis utama kesalahan yang perlu dipahami dan ditangani
Syntax Errors
Kesalahan dalam struktur kode yang
melanggar aturan bahasa pemrograman
Kurung kurawal tidak seimbang
Titik koma yang hilang
Penulisan keyword salah
if (x > 5 {
print("Hello")
// Missing closing parenthesis
Runtime Errors
Kesalahan yang terjadi saat program
dieksekusi, meskipun sintaks benar
Pembagian dengan nol
Akses array di luar indeks
File tidak ditemukan
int[] arr = new int[5];
System.out.println(arr[10]);
// ArrayIndexOutOfBoundsException
Logical Errors
Kesalahan dalam algoritma atau logika
yang menyebabkan hasil tidak sesuai
harapan
Operator yang salah
Perhitungan matematika salah
Kondisi if-else tidak tepat
// Menghitung rata-rata
int total = 100;
int count = 5;
int avg = total * count; // Seharusnya dibagi
Teknik Error Handling
Struktur dasar untuk menangani exception:
try {
// Kode yang mungkin error
} catch (Exception e) {
// Tangani exception
} finally {
// Eksekusi selalu
}
Saat exception terjadi:
Antisipasi error Isolasi kode berisiko
Pemulihan otomatis Logging untuk debugging
Pengalihan flow yang terkendali
Error Handling dalam Python
Try-Except-Else-Finally
Struktur error handling Python:
try:
# Kode yang mungkin error
except ValueError as e:
# Tangani ValueError
except Exception as e:
# Tangani exception lain
else:
# Eksekusi jika tidak ada error
finally:
# Eksekusi selalu
Multiple except Exception chaining
Custom exceptions Context managers
# Contoh implementasi
Error Handling dalam Java
Try-Catch-Finally
Struktur error handling Java:
try {
// Kode yang mungkin error
} catch (IOException e) {
// Tangani IOException
} catch (Exception e) {
// Tangani exception lain
} finally {
// Eksekusi selalu
}
Tidak diperiksa kompilasi
Best Practices dalam Error Handling
Kapan Menangani Error
Tangani di tingkat yang tepat - di mana Anda bisa
melakukan pemulihan yang bermakna
Jangan tangani exception yang tidak bisa Anda pulihkan
Gunakan early return untuk menghindari nested if-else
// Good: Early return
if (user == null) {
throw new IllegalArgumentException("User cannot be null");
}
// Continue with valid user
Pesan Error yang Jelas
Buat pesan yang informatif dan spesifik
Sertakan konteks yang relevan (nilai variabel, dll)
Gunakan bahasa yang mudah dimengerti oleh pengguna
// Bad: throw new Exception("Error");
// Good: throw new IllegalArgumentException("User age cannot be negative: " + age);
Log exception dengan level yang tepat (ERROR, WARN, Buat custom exceptions untuk domain spesifik
Kesimpulan
Mencegah program crash dan meningkatkan keandalan
aplikasi
Memberikan pengalaman pengguna yang lebih baik
dengan pesan error yang jelas
Memfasilitasi debugging dan perbaikan kode yang lebih
efisien
Meningkatkan keamanan aplikasi dengan menangani
kondisi tak terduga
Try-catch-finally adalah struktur dasar error handling
Pahami jenis-jenis error (syntax, runtime, logical)
Setiap bahasa memiliki pendekatan berbeda (Python vs
Java)
Terapkan best practices untuk kode yang robust
"Kode yang baik bukanlah kode yang tidak pernah error,
melainkan kode yang dapat menangani error dengan
baik."

Pertemuan 10 - Error Handling dalam Pemrograman.pptx

  • 1.
    Error Handling dalamPemrograman Teknik Menangani Kesalahan dalam Kode
  • 2.
    Konsep Dasar ErrorHandling Proses menangani kesalahan yang terjadi saat eksekusi program untuk mencegah crash dan memberikan respons yang tepat Mencegah program crash Memberikan pengalaman pengguna yang lebih baik Membantu debugging dan perbaikan kode Meningkatkan keandalan aplikasi
  • 3.
    Jenis-jenis Error dalamPemrograman Pemrograman menghadapi tiga jenis utama kesalahan yang perlu dipahami dan ditangani Syntax Errors Kesalahan dalam struktur kode yang melanggar aturan bahasa pemrograman Kurung kurawal tidak seimbang Titik koma yang hilang Penulisan keyword salah if (x > 5 { print("Hello") // Missing closing parenthesis Runtime Errors Kesalahan yang terjadi saat program dieksekusi, meskipun sintaks benar Pembagian dengan nol Akses array di luar indeks File tidak ditemukan int[] arr = new int[5]; System.out.println(arr[10]); // ArrayIndexOutOfBoundsException Logical Errors Kesalahan dalam algoritma atau logika yang menyebabkan hasil tidak sesuai harapan Operator yang salah Perhitungan matematika salah Kondisi if-else tidak tepat // Menghitung rata-rata int total = 100; int count = 5; int avg = total * count; // Seharusnya dibagi
  • 4.
    Teknik Error Handling Strukturdasar untuk menangani exception: try { // Kode yang mungkin error } catch (Exception e) { // Tangani exception } finally { // Eksekusi selalu } Saat exception terjadi: Antisipasi error Isolasi kode berisiko Pemulihan otomatis Logging untuk debugging Pengalihan flow yang terkendali
  • 5.
    Error Handling dalamPython Try-Except-Else-Finally Struktur error handling Python: try: # Kode yang mungkin error except ValueError as e: # Tangani ValueError except Exception as e: # Tangani exception lain else: # Eksekusi jika tidak ada error finally: # Eksekusi selalu Multiple except Exception chaining Custom exceptions Context managers # Contoh implementasi
  • 6.
    Error Handling dalamJava Try-Catch-Finally Struktur error handling Java: try { // Kode yang mungkin error } catch (IOException e) { // Tangani IOException } catch (Exception e) { // Tangani exception lain } finally { // Eksekusi selalu } Tidak diperiksa kompilasi
  • 7.
    Best Practices dalamError Handling Kapan Menangani Error Tangani di tingkat yang tepat - di mana Anda bisa melakukan pemulihan yang bermakna Jangan tangani exception yang tidak bisa Anda pulihkan Gunakan early return untuk menghindari nested if-else // Good: Early return if (user == null) { throw new IllegalArgumentException("User cannot be null"); } // Continue with valid user Pesan Error yang Jelas Buat pesan yang informatif dan spesifik Sertakan konteks yang relevan (nilai variabel, dll) Gunakan bahasa yang mudah dimengerti oleh pengguna // Bad: throw new Exception("Error"); // Good: throw new IllegalArgumentException("User age cannot be negative: " + age); Log exception dengan level yang tepat (ERROR, WARN, Buat custom exceptions untuk domain spesifik
  • 8.
    Kesimpulan Mencegah program crashdan meningkatkan keandalan aplikasi Memberikan pengalaman pengguna yang lebih baik dengan pesan error yang jelas Memfasilitasi debugging dan perbaikan kode yang lebih efisien Meningkatkan keamanan aplikasi dengan menangani kondisi tak terduga Try-catch-finally adalah struktur dasar error handling Pahami jenis-jenis error (syntax, runtime, logical) Setiap bahasa memiliki pendekatan berbeda (Python vs Java) Terapkan best practices untuk kode yang robust "Kode yang baik bukanlah kode yang tidak pernah error, melainkan kode yang dapat menangani error dengan baik."