Chapter 12: Python Functions

Kasus Nyata: Membuat Fungsi untuk Menghitung Efisiensi Proyek Eco Techno Leader

Eco Techno Leader perlu fungsi untuk menghitung efisiensi proyek energi keterbaruan berdasarkan input dan output energi. Kita akan gunakan function untuk ini.

Level Beginner: Membuat Fungsi Sederhana

Fungsi adalah blok kode yang bisa dipake ulang.

def hitung_efisiensi():
    energi_input = 1000
    energi_output = 850
    efisiensi = (energi_output / energi_input) * 100
    return efisiensi

efisiensi_proyek = hitung_efisiensi()
print("Efisiensi proyek:", efisiensi_proyek, "%")

Hasil di Command Prompt:

Efisiensi proyek: 85.0 %

Do: Gunakan return untuk mengembalikan hasil dari fungsi.

Don't: Jangan lupa definisikan fungsi sebelum dipanggil.

Level Intermediate: Fungsi dengan Argumen

Kita buat fungsi yang bisa nerima input dinamis.

def hitung_efisiensi(energi_input, energi_output):
    efisiensi = (energi_output / energi_input) * 100
    return efisiensi

proyek1 = hitung_efisiensi(1000, 850)
proyek2 = hitung_efisiensi(2000, 1800)
print(f"Efisiensi Proyek 1: {proyek1}%")
print(f"Efisiensi Proyek 2: {proyek2}%")

Hasil di Command Prompt:

Efisiensi Proyek 1: 85.0%
Efisiensi Proyek 2: 90.0%

Do: Gunakan argumen untuk bikin fungsi fleksibel.

Don't: Jangan pake argumen tanpa default value kalau fungsi sering dipanggil tanpa argumen tertentu (pake default value aja).

Level Advanced: Fungsi dengan Lambda dan Argumen Opsional

Kita buat fungsi kompleks dengan lambda untuk analisis lebih lanjut.

def hitung_efisiensi(energi_input, energi_output, faktor_kerugian=0):
    efisiensi = (energi_output / energi_input) * 100
    efisiensi_bersih = efisiensi - faktor_kerugian
    return efisiensi_bersih

# Lambda untuk kategori efisiensi
kategori = lambda efisiensi: "Baik" if efisiensi >= 80 else "Kurang"
proyek1 = hitung_efisiensi(1000, 850, 5)
print(f"Efisiensi Proyek 1: {proyek1}%, Kategori: {kategori(proyek1)}")

Hasil di Command Prompt:

Efisiensi Proyek 1: 80.0%, Kategori: Baik

Do: Gunakan argumen opsional (default) dan lambda untuk fungsi sederhana.

Don't: Jangan pake lambda untuk logika yang terlalu kompleks, pake fungsi biasa aja.

"Setiap fungsi yang kamu buat adalah solusi untuk dunia yang lebih baik. Bersyukurlah kepada Tuhan atas kemampuan untuk berkarya! ⚡"