Master Fungsi Python: Parameter dan Return Value – Best Practices dan Common Pitfalls

Aditya Y PradhanaAditya Y Pradhana/
Master Fungsi Python: Parameter dan Return Value – Best Practices dan Common Pitfalls
Master Fungsi Python: Parameter dan Return Value – Best Practices dan Common Pitfalls

Mengapa Fungsi Penting dalam Python?

1. Parameter Posisional

Parameter ini harus diisi sesuai urutan saat fungsi dipanggil. Contoh:

Python
def bagi(x, y):
    return x / y

print(bagi(10, 2))  # Output: 5.0

Urutan penting di sini: x adalah 10, dan y adalah 2. Kalau terbalik, hasilnya akan berbeda!

2. Parameter Keyword

Kamu bisa menyebut nama parameter saat memanggil fungsi, sehingga urutan tidak lagi masalah. Contoh:

Python
def ucapan(nama, pesan):
    return f"{nama}, {pesan}"

print(ucapan(nama="Rudi", pesan="selamat pagi!"))  # Output: Rudi, selamat pagi!
print(ucapan(pesan=" Apa kabar?", nama="Rudi"))     # Output: Rudi, Apa kabar?

Lebih jelas dan aman, terutama untuk fungsi dengan banyak parameter.

3. Parameter Default

Parameter bisa punya nilai default, jadi kalau argumen tidak diberikan, nilai default akan digunakan. Contoh:

Python
def salam(nama, ucapan="Halo"):
    return f"{ucapan}, {nama}!"

print(salam("Tina"))        # Output: Halo, Tina!
print(salam("Tina", "Hi"))  # Output: Hi, Tina!

Praktis, ya? Cocok untuk membuat fungsi lebih fleksibel.

4. Parameter Variabel-Panjang

Kadang, kamu tidak tahu berapa banyak argumen yang akan diterima. Fungsi Python punya solusi dengan *args dan **kwargs.

a. *args (Posisional Variabel)

Untuk menerima jumlah argumen posisional yang tidak terbatas:

Python
def jumlahkan(*angka):
    return sum(angka)

print(jumlahkan(1, 2, 3, 4))  # Output: 10
print(jumlahkan(5, 10))       # Output: 15

*angka mengumpulkan semua argumen dalam bentuk tuple.

b. **kwargs (Keyword Variabel)

Untuk argumen keyword yang jumlahnya tidak terbatas:

Python
def info_pribadi(**data):
    for kunci, nilai in data.items():
        print(f"{kunci}: {nilai}")

info_pribadi(nama="Lina", umur=30, kota="Jakarta")
# Output:
# nama: Lina
# umur: 30
# kota: Jakarta

**data mengumpulkan argumen dalam bentuk dictionary. Keren, kan?


Memahami Return Value pada Fungsi Python Lebih Dalam

Return value adalah "hadiah" yang fungsi berikan setelah menyelesaikan tugasnya. Berikut beberapa hal penting tentangnya:

1. Mengembalikan Satu Nilai

Contoh sederhana:

Python
def kuadrat(angka):
    return angka ** 2

print(kuadrat(5))  # Output: 25

2. Mengembalikan Banyak Nilai

Python memungkinkan mengembalikan beberapa nilai sekaligus dalam bentuk tuple:

Python
def data_pribadi():
    return "Budi", 28, "Bandung"

nama, umur, kota = data_pribadi()
print(f"Nama: {nama}, Umur: {umur}, Kota: {kota}")
# Output: Nama: Budi, Umur: 28, Kota: Bandung

Kamu juga bisa langsung mengakses salah satunya dengan indeks:

Python
print(data_pribadi()[1])  # Output: 28

3. Fungsi Python Tidak Ada Return = None

Kalau fungsi tidak pakai return, hasilnya adalah None:

Python
python
Wrap
Copy
def coba():
    print("Hai!")

hasil = coba()  # Output: Hai!
print(hasil)    # Output: None

Kesalahan Umum Fungsi Python dan Cara Menghindarinya

Belajar dari kesalahan itu penting, terutama dalam coding. Berikut beberapa kesalahan umum yang sering terjadi:

1. Salah Urutan Parameter Posisional

Contoh:

Python
def kurang(x, y):
    return x - y

print(kurang(5, 10))  # Output: -5
print(kurang(10, 5))  # Output: 5

Solusi: Gunakan parameter keyword kalau urutan membingungkan.

2. Lupa Return

Contoh:

Python
def kali(x, y):
    x * y  # Lupa return

hasil = kali(2, 3)
print(hasil)  # Output: None

Solusi: Pastikan selalu pakai return kalau ingin hasilnya digunakan kembali.

3. Default Parameter yang Berubah

Contoh buruk:

Python
def tambah_item(item, daftar=[]):
    daftar.append(item)
    return daftar

print(tambah_item(1))  # Output: [1]
print(tambah_item(2))  # Output: [1, 2] (daftar sebelumnya tersimpan!)

Solusi: Gunakan None sebagai default dan buat daftar baru di Fungsi Python:

Python
def tambah_item(item, daftar=None):
    if daftar is None:
        daftar = []
    daftar.append(item)
    return daftar

print(tambah_item(1))  # Output: [1]
print(tambah_item(2))  # Output: [2]

Best Practices untuk Fungsi Python

Agar kode kamu lebih profesional, ikuti praktik terbaik ini:

1. Pakai Docstrings

Dokumentasikan fungsi dengan jelas:

Python
def bagi(x, y):
    """
    Membagi dua angka.
    Args:
        x (float): Pembilang
        y (float): Penyebut
    Returns:
        float: Hasil pembagian
    """
    return x / y

2. Gunakan Type Hints pada Fungsi Python

Tambahkan petunjuk tipe untuk kejelasan (fitur modern yang populer di 2025):

Python
def sapa(nama: str, umur: int) -> str:
    return f"{nama} berumur {umur} tahun."

3. Nama yang Deskriptif

Gunakan nama fungsi python dan parameter yang jelas, seperti hitung_rata_rata daripada hr.


Contoh Praktis dan Latihan

Contoh 1: Fungsi Perhitungan

Python
def hitung_total(*harga, diskon=0):
    total = sum(harga)
    return total - (total * diskon / 100)

print(hitung_total(100, 200, 300, diskon=10))  # Output: 540.0

Latihan 1: Fungsi Maksimum

Buat fungsi untuk menemukan nilai terbesar:

Python
def cari_maksimum(*angka):
    return max(angka)

print(cari_maksimum(3, 8, 2, 10, 5))  # Output: 10

Latihan 2: Hitung Vokal

Buat fungsi untuk menghitung vokal:

Python
def jumlah_vokal(teks: str) -> int:
    vokal = "aeiouAEIOU"
    return sum(1 for huruf in teks if huruf in vokal)

print(jumlah_vokal("Halo Dunia"))  # Output: 5

Kesimpulan

Menguasai parameter dan return value dalam fungsi Python adalah langkah besar untuk menjadi programmer yang handal. Dengan memahami jenis parameter, cara kerja return value, serta menerapkan best practices, kamu bisa menulis kode yang efisien dan mudah dipahami. Jangan takut dengan common pitfalls—mereka adalah guru terbaikmu!

Sekarang, coba praktikkan apa yang kamu pelajari di sini. Tulis fungsi kecil, mainkan parameter dan return value-nya, dan lihat apa yang terjadi. Semakin sering latihan, semakin jago kamu! Untuk tutorial Python lainnya, pantau terus pradha.id. Happy coding!

Sumber dan Referensi

Dapatkan Artikel Terbaru!

Berlangganan newsletter kami untuk mendapatkan tips dan insight menarik langsung ke inbox Anda.

Kami tidak akan pernah membagikan email Anda (No Spam).