← Semua pembelajaran / Python Dasar
Fase 5 · Fungsi

Docstring — Menjelaskan Fungsimu

Aturan resmi Python soal menulis penjelasan fungsi. Isinya pendek, dan kebiasaan ini layak dibentuk sejak fungsi pertamamu.

Sumber asli peps.python.org Resmi Rangkuman ~3 menit baca

Intisari

  • Docstring = teks dalam tiga kutip, ditaruh di baris pertama di dalam fungsi.
  • Tulis sebagai perintah — “Hitung luas lingkaran”, bukan “Fungsi ini menghitung…”.
  • Baris pertama satu kalimat, diakhiri titik. Kalau perlu penjelasan lebih, beri baris kosong lalu lanjutkan.
  • Bisa dibaca lagi lewat help(nama_fungsi) dan muncul otomatis di VS Code.
  • Komentar # menjelaskan kenapa kode ditulis begitu; docstring menjelaskan apa fungsinya.

Bentuknya

def luas_lingkaran(jari):
    """Hitung luas lingkaran dari jari-jarinya."""
    return 3.14159 * jari ** 2

Baris berkutip tiga itu harus jadi pernyataan pertama di dalam fungsi — sebelum kode apa pun.

Kenapa layak ditulis

>>> help(luas_lingkaran)
luas_lingkaran(jari)
    Hitung luas lingkaran dari jari-jarinya.

Selain itu, VS Code menampilkannya sebagai tooltip setiap kali kamu mengetik nama fungsi itu di tempat lain. Kamu tidak perlu membuka file aslinya untuk mengingat cara pakainya — dan tiga bulan lagi, “orang lain” yang terbantu itu adalah kamu sendiri.

Gaya penulisan

# Baik — kalimat perintah, langsung ke inti
def kena_pajak(harga):
    """Hitung nilai PPN 11% dari sebuah harga."""

# Kurang baik — bertele-tele tanpa menambah informasi
def kena_pajak(harga):
    """Fungsi ini adalah fungsi yang digunakan untuk menghitung pajak."""

# Tidak berguna — hanya mengulang nama fungsinya
def kena_pajak(harga):
    """Kena pajak."""

Ujinya sederhana: kalau docstring-mu tidak memberi tahu apa pun yang tidak sudah terbaca dari nama fungsinya, tulis ulang atau hapus saja. Yang paling berharga biasanya bagian satuan, batasan, dan apa yang terjadi kalau inputnya aneh.

Docstring beberapa baris

def hitung_gaji(pokok, lembur_jam=0, potongan_persen=5):
    """Hitung gaji bersih bulanan.

    Lembur dibayar Rp 25.000 per jam dan tidak kena potongan.
    Potongan dihitung dari gaji pokok saja.
    Semua nilai dalam rupiah, dikembalikan sebagai float.
    """
    lembur = lembur_jam * 25000
    potongan = pokok * potongan_persen / 100
    return pokok - potongan + lembur

Susunannya: satu kalimat ringkas, baris kosong, lalu detail. Kutip penutupnya ditaruh di barisnya sendiri.

Docstring versus komentar

Docstring """..."""Komentar #
Untuk siapaYang memakai fungsinyaYang membaca isi kodenya
MenjawabApa gunanya, bagaimana memakainyaKenapa ditulis begini
Bisa dibaca help()YaTidak
def bagi_aman(a, b):
    """Bagi a dengan b; kembalikan None kalau b nol."""
    if b == 0:
        # Sengaja tidak melempar error: pemanggil di laporan bulanan
        # lebih suka baris kosong daripada program berhenti.
        return None
    return a / b

Komentar yang tidak perlu

# Buruk — mengulang apa yang sudah jelas terbaca
i = i + 1        # tambah i dengan 1

# Baik — menjelaskan sesuatu yang tidak terlihat dari kodenya
i = i + 1        # lewati baris header di file CSV

Latihan: buka semua fungsi yang kamu tulis di fase ini dan beri docstring satu kalimat. Lalu jalankan help(nama_fungsi) di mode interaktif untuk melihat hasilnya.

Rangkuman ini sengaja dipangkas ke bagian yang dipakai di roadmap. Buka sumber aslinya saat kamu butuh detail lengkap atau referensi parameter.