Artikel ini bagian dari seri Belajar Python Level Basic di hanifmu.com. Di artikel sebelumnya kita sudah membahas String Formatting dengan f-string. Sekarang kita rapikan kode dengan membungkusnya menjadi bagian yang bisa dipakai ulang.
Saat program bertambah panjang, kode yang sama sering muncul di banyak tempat. Menyalinnya berkali-kali membuat perubahan jadi merepotkan. Function menyelesaikan masalah ini.
Apa itu Function?
Function adalah blok kode yang diberi nama dan bisa dipanggil kapan saja. Kamu sebenarnya sudah memakai banyak function bawaan Python, seperti print(), len(), dan input().
Dengan membuat function sendiri, kamu bisa:
- Menghindari menyalin kode yang sama berulang kali.
- Memberi nama pada sekumpulan langkah agar mudah dipahami.
- Memperbaiki satu tempat saja saat ada perubahan.
Membuat Function dengan def
Function dibuat dengan kata kunci def, diikuti nama, tanda kurung, dan titik dua:
def sapa():
print("Halo, selamat datang!")
Baris def sapa(): adalah definisi function. Blok di bawahnya menjorok ke dalam dan berisi kode yang dijalankan saat function dipanggil.
Mendefinisikan function tidak menjalankannya. Kamu perlu memanggilnya:
def sapa():
print("Halo, selamat datang!")
sapa() # Halo, selamat datang!
Kalau function tidak pernah dipanggil, isinya tidak akan berjalan.
Memanggil Function Berulang Kali
Keuntungan utama function adalah bisa dipanggil berkali-kali tanpa menulis ulang kodenya:
def garis():
print("=" * 30)
garis()
print("LAPORAN PENJUALAN")
garis()
print("Total: Rp150000")
garis()
Output:
==============================
LAPORAN PENJUALAN
==============================
Total: Rp150000
==============================
Kalau panjang garis ingin diubah, cukup ubah satu tempat di dalam function.
Nama Function yang Baik
Nama function mengikuti aturan penamaan variabel, yaitu huruf kecil dengan garis bawah (snake_case). Pilih nama yang menggambarkan apa yang dilakukannya, biasanya diawali kata kerja:
def hitung_total():
...
def tampilkan_menu():
...
def validasi_email():
...
Hindari nama kabur seperti proses() atau data(). Nama yang jelas membuat kode mudah dibaca tanpa perlu membuka isi function.
Function Memanggil Function Lain
Isi function bisa memanggil function lain. Ini membuat kode tersusun rapi dari bagian-bagian kecil:
def garis():
print("-" * 25)
def judul(teks):
garis()
print(teks)
garis()
judul("DATA SISWA")
Output:
-------------------------
DATA SISWA
-------------------------
Docstring
Docstring adalah komentar khusus di baris pertama function untuk menjelaskan kegunaannya. Ditulis dengan tiga kutip:
def luas_persegi(sisi):
"""Menghitung luas persegi dari panjang sisinya."""
return sisi * sisi
Docstring tidak memengaruhi jalannya program, tapi berguna sebagai dokumentasi. Ia bisa dibaca dengan help():
help(luas_persegi)
Editor seperti VS Code juga menampilkan docstring saat kamu mengetik nama function, sehingga lebih mudah diingat.
Contoh Program: Menu Berulang
Mari bungkus setiap bagian menu menjadi function:
# menu.py
def garis():
print("=" * 30)
def tampilkan_menu():
garis()
print("MENU")
garis()
print("1. Lihat data")
print("2. Tambah data")
print("3. Keluar")
garis()
def sapa_pengguna():
nama = input("Nama kamu: ")
print(f"Halo, {nama}!")
sapa_pengguna()
tampilkan_menu()
Output:
Nama kamu: Budi
Halo, Budi!
==============================
MENU
==============================
1. Lihat data
2. Tambah data
3. Keluar
==============================
Setiap function punya satu tugas jelas. Kalau nanti menu berubah, kamu tinggal mengedit tampilkan_menu().
Kesalahan Umum Pemula
- Lupa memanggil function — definisi saja tidak menjalankan kodenya.
- Lupa tanda kurung saat memanggil —
sapamengacu ke function-nya,sapa()yang menjalankannya. - Salah indentasi — isi function harus menjorok konsisten.
- Lupa titik dua
:setelahdef nama(). - Mendefinisikan function setelah dipanggil — definisi harus ada lebih dulu sebelum pemanggilan.
Ringkasan
- Function membungkus kode yang diberi nama dan bisa dipanggil berkali-kali
- Function dibuat dengan
def, dijalankan dengan memanggil namanya diikuti() - Mendefinisikan function tidak otomatis menjalankannya
- Nama function memakai snake_case dan sebaiknya berupa kata kerja
- Docstring mendokumentasikan function dan bisa dibaca dengan
help() - Function bisa memanggil function lain agar kode tersusun rapi
Langkah Selanjutnya
Function yang kamu buat sejauh ini selalu melakukan hal yang sama. Padahal sering kali kita ingin hasilnya berbeda tergantung nilai yang diberikan.
Artikel selanjutnya membahas Parameter dan Argument di Python, cara mengirim nilai ke dalam function.
