Function

Membuat function dengan def, parameter, return, dan docstring.

Part 13 dari 24 ± 40 menit Gratis

Mengapa function?

Function membungkus langkah-langkah dengan nama sehingga bisa dipakai berulang, diuji, dan dipahami. Prinsip DRY: Don't Repeat Yourself.

Mendefinisikan dan memanggil

def sapa(nama):
    print("Halo,", nama)

sapa("Dina")           # Halo, Dina

Format: def nama_function(parameter): lalu isi yang menjorok.

return: mengembalikan nilai

def tambah(a, b):
    return a + b

hasil = tambah(2, 3)    # 5

return mengirim nilai keluar dan langsung menghentikan function. Function tanpa return mengembalikan None.

print vs return

Pemula sering tertukar:

  • print() hanya menampilkan ke layar; nilainya tidak bisa dipakai lagi.
  • return mengirim nilai ke pemanggil sehingga bisa disimpan atau dihitung lebih lanjut.
def kuadrat_cetak(n): print(n * n)
def kuadrat(n): return n * n

x = kuadrat(4) + 1      # 17 ✔
y = kuadrat_cetak(4) + 1  # TypeError: None + 1

Mengembalikan banyak nilai

Sebenarnya mengembalikan satu tuple:

def statistik(angka):
    return min(angka), max(angka), sum(angka) / len(angka)

terkecil, terbesar, rata = statistik([3, 9, 6])

Docstring: dokumentasi function

def luas_persegi_panjang(p, l):
    """Mengembalikan luas persegi panjang berukuran p x l."""
    return p * l

help(luas_persegi_panjang)

Teks di antara tanda kutip tiga pada baris pertama disebut docstring dan dibaca oleh help() serta editor.

Function memanggil function

def is_genap(n):
    return n % 2 == 0

def hitung_genap(daftar):
    return len([n for n in daftar if is_genap(n)])

Pecah masalah besar menjadi function kecil yang masing-masing mengerjakan satu hal.

Argumen disalin... sebagian

  • Angka, string, tuple (immutable): perubahan di dalam function tidak memengaruhi variable asli.
  • List/dict (mutable): function menerima referensi ke objek yang sama, jadi perubahannya terlihat di luar.
def tambah_satu(daftar):
    daftar.append(1)      # mengubah list asli!

Jika tidak ingin mengubah aslinya, buat salinan atau kembalikan list baru.

Rekursi (sekilas)

Function boleh memanggil dirinya sendiri:

def faktorial(n):
    if n <= 1:
        return 1
    return n * faktorial(n - 1)

Harus ada kasus dasar (n <= 1) agar rekursi berhenti.

Panduan gaya

Nama function snake_case berupa kata kerja (hitung_total, cari_user), pendek, dan jelas. Jaga agar function tidak terlalu panjang.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X