Fungsi Python: Cara Membuat def, Parameter, dan return

Pelajari cara membuat fungsi Python dengan def, parameter, nilai default, dan return, plus perbedaan return dan print lewat contoh program yang jelas.

Mapel
Pemrograman
Jenjang
SMA
Waktu baca
4 menit
Terbit
8 Oktober 2026

Fungsi Python adalah blok kode bernama yang bisa dipanggil berulang kali. Fungsi dibuat dengan kata kunci def, menerima masukan lewat parameter, dan mengirim hasil dengan return. Dengan fungsi, rumus cukup ditulis sekali, program menjadi lebih rapi, dan setiap bagian lebih mudah diuji.

Apa Itu Fungsi di Python?

Kamu sebenarnya sudah sering memakai fungsi bawaan Python, seperti print(), len(), int(), dan input(). Fungsi yang kita buat sendiri bekerja dengan cara yang sama: diberi masukan, mengolahnya, lalu memberi hasil.

Bayangkan tiga bagian program sama-sama menghitung harga setelah diskon. Jika rumus disalin ke tiga tempat lalu aturannya berubah, satu salinan bisa terlupa. Dengan fungsi, rumus cukup diperbaiki di satu tempat. Prinsip ini dikenal sebagai DRY (Don't Repeat Yourself).

Cara Membuat Fungsi dengan def Langkah demi Langkah

  1. Tulis def, lalu nama fungsi yang menjelaskan hasilnya, misalnya hitung_luas.
  2. Tulis parameter di dalam kurung, dipisah koma.
  3. Akhiri baris dengan titik dua.
  4. Tulis isi fungsi dengan indentasi 4 spasi.
  5. Gunakan return untuk mengirim hasil ke pemanggil.

Contoh 1: Fungsi menyapa

def sapa(nama):
    return "Halo, " + nama + "!"

print(sapa("Dimas"))
print(sapa("Sari"))

Keluarannya Halo, Dimas! dan Halo, Sari!. Satu fungsi dipakai dua kali dengan argumen berbeda.

Parameter, Argumen, dan Nilai Default

Contoh 2: Luas persegi panjang

def luas_persegi_panjang(panjang, lebar):
    return panjang * lebar

print(luas_persegi_panjang(8, 5))
print(luas_persegi_panjang(lebar=5, panjang=8))

Kedua baris mencetak 40. Baris kedua memakai argumen kata kunci (keyword argument), sehingga urutannya boleh ditukar karena nama parameternya disebutkan.

Contoh 3: Parameter dengan nilai default

def harga_akhir(harga, diskon=0.1):
    return harga - harga * diskon

print(harga_akhir(50000))
print(harga_akhir(50000, 0.2))

Jika argumen diskon tidak diberikan, Python memakai nilai default 0.1. Keluarannya 45000.0 dan 40000.0. Hasilnya bertipe float karena dikalikan dengan bilangan desimal.

Perbedaan return dan print

Contoh 4: Fungsi tanpa return

def dua_kali(x):
    print(x * 2)

hasil = dua_kali(3)
print(hasil)

Keluarannya dua baris: 6 lalu None. Angka 6 muncul karena print di dalam fungsi, tetapi fungsi tidak mengembalikan apa pun, sehingga hasil berisi None.

return print
Fungsinya Mengirim nilai ke pemanggil Menampilkan teks ke layar
Bisa dipakai menghitung lagi? Ya Tidak
Menghentikan fungsi? Ya Tidak

Contoh Fungsi dengan Percabangan

Contoh 5: Status kelulusan

def status(nilai):
    if nilai >= 75:
        return "lulus"
    return "belum lulus"

print(status(75))
print(status(74))

Untuk 75, syarat benar dan return "lulus" langsung menghentikan fungsi. Untuk 74, syarat salah dan baris return terakhir dijalankan. Keluarannya lulus dan belum lulus.

Fungsi yang Mengembalikan Beberapa Nilai

Satu return boleh mengirim beberapa nilai sekaligus dengan memisahkannya memakai koma. Python membungkusnya menjadi tuple, yang bisa langsung dibongkar ke beberapa variabel.

Contoh 6: Statistik sederhana dengan docstring

def statistik(data):
    """Mengembalikan nilai terkecil, terbesar, dan rata-rata."""
    return min(data), max(data), sum(data) / len(data)

terkecil, terbesar, rata = statistik([80, 75, 91])
print(terkecil, terbesar, rata)

Keluarannya 75 91 82.0. Kalimat di antara tiga tanda petik di baris pertama fungsi disebut docstring. Docstring menjelaskan kegunaan fungsi dan bisa dibaca dengan help(statistik).

Variabel Lokal dan Global

Variabel yang dibuat di dalam fungsi bersifat lokal: hanya ada selama fungsi berjalan.

def hitung():
    total = 10
    return total

hitung()
print(total)

Baris terakhir menimbulkan NameError karena total hanya dikenal di dalam hitung(). Simpan hasil fungsi ke variabel, misalnya total = hitung(), jika nilainya dibutuhkan di luar.

Kesalahan yang Sering Terjadi

Ringkasan

  • Fungsi dibuat dengan def, menerima parameter, dan mengirim hasil dengan return.
  • Argumen bisa dikirim berdasarkan posisi atau nama; parameter boleh punya nilai default.
  • return mengirim nilai, print hanya menampilkan.
  • Variabel di dalam fungsi bersifat lokal.

Materi Terkait

Fungsi akan sering memproses list dan dictionary Python. Di jenjang lanjut, fungsi diuji otomatis dengan unit test Python dan menjadi dasar method pada class dan object Python. Jika percabangan masih membingungkan, ulangi percabangan Python if else.

python · 8 baris
def rata_rata(daftar):
    if not daftar:
        return 0
    return sum(daftar) / len(daftar)


print(rata_rata([80, 75, 91]))
print(rata_rata([]))
Fungsi rata-rata yang aman untuk list kosong

Sumber belajar

Penjelasan dan contoh disusun ulang untuk materi ini; sumber dapat dibuka untuk belajar lebih lanjut.

Latihan soal Fungsi Python

Lembar kerja · jawab langsung di halaman ini

Soal
5

Memuat soal…