
Function dan Parameter Function di Python
Fungsi (function) adalah salah satu konsep fundamental dalam pemrograman, termasuk di Python.
Exception Handling adalah salah satu konsep penting dalam pemrograman Python yang wajib kamu kuasai, terutama jika ingin membuat program yang robust dan tidak mudah error. Dengan exception handling, kamu bisa mengantisipasi error yang mungkin terjadi saat program berjalan, sehingga program tidak langsung berhenti (crash) dan bisa memberikan pesan yang lebih ramah ke user.
Exception (pengecualian) adalah kondisi error yang terjadi saat program dijalankan (runtime), misalnya file tidak ditemukan, pembagian dengan nol, atau input yang tidak valid. Jika exception tidak ditangani, program akan langsung berhenti dan menampilkan pesan error (traceback) ke layar.
Contoh error tanpa exception handling:
angka = int(input("Masukkan angka: "))
print(f"Hasil pembagian: {10 / angka}")
Jika user memasukkan 0
atau input yang bukan angka, program akan error seperti ini:
Masukkan angka: 0
Traceback (most recent call last):
File "contoh.py", line 2, in <module>
print(f"Hasil pembagian: {10 / angka}")
ZeroDivisionError: division by zero
Python menyediakan blok try-except
untuk menangani exception. Cara kerjanya:
try
akan dijalankan.except
.except
dilewati.try:
angka = int(input("Masukkan angka: "))
hasil = 10 / angka
print(f"Hasil pembagian: {hasil}")
except:
print("Terjadi error! Pastikan input angka dan tidak nol.")
Penjelasan:
Sebaiknya, tangani exception secara spesifik agar tahu error apa yang terjadi. Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 10 / angka
print(f"Hasil pembagian: {hasil}")
except ValueError:
print("Input harus berupa angka!")
except ZeroDivisionError:
print("Tidak bisa membagi dengan nol!")
Penjelasan:
ValueError
terjadi jika input bukan angka.ZeroDivisionError
terjadi jika user memasukkan 0.Contoh:
try:
angka = int(input("Masukkan angka: "))
hasil = 10 / angka
except ValueError:
print("Input harus angka!")
except ZeroDivisionError:
print("Tidak boleh nol!")
else:
print(f"Hasil: {hasil}")
finally:
print("Program selesai.")
Output jika input valid:
Masukkan angka: 2
Hasil: 5.0
Program selesai.
Jika input salah:
Masukkan angka: a
Input harus angka!
Program selesai.
Beberapa exception yang sering ditemui:
ValueError
: Tipe data tidak sesuai (misal, input string padahal harus angka).ZeroDivisionError
: Pembagian dengan nol.FileNotFoundError
: File tidak ditemukan saat membuka file.TypeError
: Operasi pada tipe data yang tidak sesuai.IndexError
: Mengakses indeks list yang tidak ada.Contoh menangani file:
try:
with open("data.txt", "r") as file:
print(file.read())
except FileNotFoundError:
print("File tidak ditemukan!")
Kamu bisa menangkap pesan error ke variabel dengan as
, lalu menampilkannya:
try:
angka = int(input("Masukkan angka: "))
print(10 / angka)
except Exception as e:
print(f"Terjadi error: {e}")
Kadang kamu ingin membuat exception khusus sesuai kebutuhan aplikasi. Caranya, buat class baru yang mewarisi dari Exception
.
class NilaiNegatifError(Exception):
pass
def cek_nilai(nilai):
if nilai < 0:
raise NilaiNegatifError("Nilai tidak boleh negatif!")
try:
cek_nilai(-5)
except NilaiNegatifError as e:
print(e)
Misal kamu ingin meminta user memasukkan umur, dan umur harus angka positif.
def input_umur():
while True:
try:
umur = int(input("Masukkan umur: "))
if umur <= 0:
raise ValueError("Umur harus lebih dari 0!")
return umur
except ValueError as e:
print(f"Input tidak valid: {e}")
umur = input_umur()
print(f"Umur kamu: {umur}")
No | Tips | Penjelasan |
---|---|---|
1 | Tangani exception spesifik | Jangan gunakan except tanpa tipe error jika tidak perlu |
2 | Berikan pesan error yang jelas | Agar user tahu apa yang salah |
3 | Jangan sembunyikan error penting | Hindari except kosong tanpa log |
4 | Gunakan finally untuk cleanup | Misal, menutup file atau koneksi database |
5 | Jangan overuse exception | Gunakan hanya untuk kasus error, bukan untuk flow normal |
Penjelasan tambahan:
Exception handling membuat program kamu lebih aman dan mudah digunakan. Tapi, jangan sampai semua error “ditelan” tanpa pesan yang jelas, karena bisa menyulitkan debugging.
Exception handling dengan try-except adalah fitur penting di Python untuk menangani error saat program berjalan. Dengan memahami konsep ini, kamu bisa membuat program yang lebih robust, user-friendly, dan profesional. Selalu tangani error secara spesifik, berikan pesan yang jelas, dan gunakan best practice agar program kamu mudah dirawat dan dikembangkan.
Selamat mencoba dan happy coding!
Fungsi (function) adalah salah satu konsep fundamental dalam pemrograman, termasuk di Python.
Dalam pemrograman Python, mengontrol alur eksekusi program adalah keterampilan penting yang harus dikuasai.
Perulangan (loops) adalah salah satu konsep dasar yang sangat penting dalam pemrograman.
Manipulasi file dan operasi I/O (Input/Output) adalah salah satu kemampuan penting yang harus dikuasai oleh setiap programmer Python, baik untuk membaca data dari file, menulis hasil ke file, atau memproses data eksternal.