Pemrograman Python 9: Fungsi (def)

Pertemuan 9 — Fungsi (def)
PERTEMUAN 9 dari 10

🧩 Fungsi (def)

Alokasi waktu: 2 × 40 menit (80 menit)

🏠 Daftar Modul › Pertemuan 9

🎯 Tujuan Pembelajaran

  • Murid memahami konsep fungsi sebagai blok perintah yang dapat dipakai ulang.
  • Murid dapat membuat fungsi dengan def.
  • Murid dapat menggunakan parameter dan nilai balik (return).
  • Murid dapat memanggil fungsi di dalam program.

🧰 Alat & Bahan

  • Komputer / laptop dengan aplikasi Thonny.
  • Materi Pertemuan 1-8 (semuanya akan digabung di sini).

1. Apa itu Fungsi?

Fungsi adalah kumpulan perintah yang dibungkus menjadi satu "paket" dan diberi nama. Setiap kita butuh perintah itu, kita tinggal memanggil namanya — tidak perlu menulis ulang!

Analogi: Fungsi itu seperti resep masakan. Kita tulis resepnya sekali (membuat fungsi), lalu setiap kali ingin masak, kita cukup memakai resep itu (memanggil fungsi) — bisa berkali-kali!

2. Membuat Fungsi dengan def

fungsi_sapa.py
# Membuat (mendefinisikan) fungsi
def sapa():
    print("Halo, selamat datang!")
    print("Selamat belajar Python.")

# Memanggil fungsi (bisa berkali-kali)
sapa()
sapa()
Halo, selamat datang!
Selamat belajar Python.
Halo, selamat datang!
Selamat belajar Python.
⚠️ Dua tahap penting!
1. Mendefinisikan fungsi dengan def (sekali saja).
2. Memanggil fungsi dengan menulis namanya + kurung () (banyak kali).
Fungsi yang hanya didefinisikan tapi tidak dipanggil tidak akan berjalan!

3. Fungsi dengan Parameter

Parameter adalah data yang kita kirim ke dalam fungsi, seperti "bahan baku" untuk resep.

sapa_nama.py
def sapa_nama(nama):
    print(f"Halo, {nama}! Senang bertemu kamu.")

sapa_nama("Budi")
sapa_nama("Siti")
Halo, Budi! Senang bertemu kamu.
Halo, Siti! Senang bertemu kamu.
✅ Istilah: nama pada def sapa_nama(nama) disebut parameter. Sedangkan nilai "Budi" yang kita kirim saat memanggil disebut argumen.

4. Nilai Balik dengan return

Beberapa fungsi tidak hanya melakukan sesuatu, tetapi juga menghasilkan nilai yang bisa kita simpan atau pakai. Gunakan perintah return.

fungsi_tambah.py
def tambah(a, b):
    hasil = a + b
    return hasil

# Memanggil & menyimpan hasil
jawaban = tambah(5, 3)
print(jawaban)              # 8
print(tambah(10, 20))     # 30
📝 Perbedaan print vs return:
print() hanya menampilkan ke layar.
return mengembalikan nilai agar bisa dipakai untuk perhitungan selanjutnya.

5. Langkah Praktikum

  1. Buat file fungsi_luas.py.
  2. Buat fungsi untuk menghitung luas persegi panjang:
    fungsi_luas.py
    def luas_persegi_panjang(panjang, lebar):
        luas = panjang * lebar
        return luas
    
    # Memakai fungsi
    p = float(input("Panjang: "))
    l = float(input("Lebar  : "))
    hasil = luas_persegi_panjang(p, l)
    print(f"Luasnya = {hasil}")
  3. Jalankan dan coba dengan berbagai nilai panjang & lebar.
  4. Tambahkan fungsi kedua keliling_persegi_panjang() lalu panggil keduanya.

6. Contoh Lengkap: Konversi Suhu

konversi_suhu.py
def celsius_ke_fahrenheit(c):
    return (c * 9/5) + 32

suhu = float(input("Suhu (°C): "))
print(f"{suhu}°C = {celsius_ke_fahrenheit(suhu)}°F")

✏️ Latihan Pertemuan 9 Menengah

  1. fungsi_sapa.py — Buat fungsi sapa() tanpa parameter yang mencetak sapaan. Panggil 3 kali.
  2. fungsi_luas.py — Buat fungsi luas_persegi(sisi) yang mengembalikan luas persegi. Pakai untuk menghitung luas persegi sisi 7.
  3. fungsi_genap.py — Buat fungsi apakah_genap(angka) yang return True jika genap, False jika ganjil.
  4. fungsi_rata.py — Buat fungsi rata_rata(a, b, c) yang mengembalikan rata-rata tiga angka.
  5. Tantangan Sulit: Buat fungsi nilai_huruf(nilai) yang return predikat A/B/C/D (gabungkan dengan materi percabangan Pertemuan 6).

📊 Penilaian

AspekSkorKeterangan
Mendefinisikan fungsi (def)25Sintaks benar
Parameter & argumen25Pengiriman data tepat
Penggunaan return20Nilai balik benar
Penyelesaian latihan20Semua soal dikerjakan
Kerapian & komentar10Program rapi & ber-komentar
TOTAL100
🔄 Refleksi: Fungsi membuat program lebih rapi, terorganisir, dan mudah dipakai ulang. Pertemuan terakhir, kita akan menggabungkan semua materi menjadi sebuah proyek mini!