Eco Techno Leader perlu fungsi untuk menghitung efisiensi proyek energi keterbaruan berdasarkan input dan output energi. Kita akan gunakan function untuk ini.
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:
Do: Gunakan return untuk mengembalikan hasil dari fungsi.
Don't: Jangan lupa definisikan fungsi sebelum dipanggil.
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:
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).
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:
Do: Gunakan argumen opsional (default) dan lambda untuk fungsi sederhana.
Don't: Jangan pake lambda untuk logika yang terlalu kompleks, pake fungsi biasa aja.