Install Web App

Python Tambahan #24 Fungsi sebagai Argumen dan Return

profil-penulis

Yuliance Ardies Ferry w.Yehohanan

22 April 2025

Di Python, fungsi adalah first-class object. Artinya, fungsi bisa:

  • Disimpan dalam variabel

  • Dikirim sebagai argumen ke fungsi lain

  • Dikembalikan sebagai hasil dari fungsi

Konsep ini membuka pintu untuk banyak fitur powerful di Python, seperti callback, higher-order function, decorator, dan lebih banyak lagi. Di artikel ini, kita akan fokus pada dua hal utama: fungsi sebagai parameter dan fungsi sebagai nilai balik.


Mengirim Fungsi sebagai Argumen

Kamu bisa mengirimkan fungsi ke fungsi lain layaknya nilai biasa. Hal ini berguna untuk membuat fungsi fleksibel, tergantung logika yang dikirim.

Contoh:

def sapa(nama):
    return f"Halo, {nama}!"

def jalankan(fungsi, nilai):
    return fungsi(nilai)

print(jalankan(sapa, "Rina"))
# Output: Halo, Rina!


Fungsi Sebagai Nilai Balik (Return)

Kita juga bisa membuat fungsi yang mengembalikan fungsi lainnya. Ini dasar dari konsep closure dan decorator.

Contoh:

def pembuat_sapa(gelar):
    def sapa(nama):
        return f"Halo {gelar} {nama}"
    return sapa

dokter = pembuat_sapa("Dr.")
print(dokter("Sinta"))
# Output: Halo Dr. Sinta

Kegunaan dalam Dunia Nyata

Callback – Fungsi yang dijalankan setelah proses selesai
Pemetaan data (map, filter, reduce)
Pengaturan fleksibel (strategy pattern)
Decorator – Fungsi pembungkus logika
 

Studi Kasus: Fungsi Filter Dinamis

def filter_data(data, kriteria):
    return [item for item in data if kriteria(item)]

hasil = filter_data([10, 15, 20], lambda x: x > 12)
# Output: [15, 20]

Kombinasi Argumen dan Return

Fungsi bisa menerima fungsi sebagai input dan juga mengembalikan fungsi baru, menciptakan pipeline dinamis dan modular.

def kombinasi(fungsi1):
    def hasil(x):
        return fungsi1(x) * 2
    return hasil

def tambah3(x):
    return x + 3

ganda_plus3 = kombinasi(tambah3)
print(ganda_plus3(4))  # Output: 14


Dengan menjadikan fungsi sebagai argumen dan return, kamu bisa membuat kode yang lebih fleksibel, reusable, dan dinamis. Teknik ini adalah fondasi dari banyak fitur canggih di Python modern dan wajib dikuasai untuk pemrograman tingkat lanjut.

Artikel Lainnya Dengan Kategori Terkait :


1. Python Tambahan #01 F-String: Format String Modern

2. Python Tambahan #02 Penulisan Panjang Kode di Dalam Fungsi

3. Python Tambahan #03 Komentar: Docstring dan Tanda #

4. Python Tambahan #04 Membuat List dari String atau Karakter

5. Python Tambahan #05 Perbedaan Positional dan Keyword Argument

6. Python Tambahan #06 Menggunakan Tanda *args dan **kwargs

7. Python Tambahan #07 Fungsi Bawaan: zip(), map(), dan filter()

8. Python Tambahan #08 Penggunaan any() dan all()

9. Python Tambahan #09 Fungsi enumerate() dalam Looping

10. Python Tambahan #10 Fungsi reversed() dan sorted()

11. Python Tambahan #11 Fungsi isinstance() dan id()

12. Python Tambahan #12 Pemrosesan String: replace(), strip(), split()

13. Python Tambahan #13 Menggabungkan String dengan join()

14. Python Tambahan #14 Mengatur Format Tampilan Angka dan Tanggal

15. Python Tambahan #15 Menggunakan Operator Ternary di Python

16. Python Tambahan #16 Destructuring: Unpacking List dan Tuple

17. Python Tambahan #17 Tuple Packing dan Unpacking

18. Python Tambahan #18 Dictionary Comprehension

19. Python Tambahan #19 Set Comprehension dan Operasi Dasarnya

20. Python Tambahan #20 List vs Generator: Apa Bedanya?

21. Python Tambahan #21 Fungsi Generator dengan yield

22. Python Tambahan #22 Menulis Fungsi Lambda yang Ringkas

23. Python Tambahan #23 Fungsi dalam Fungsi (Nested Function)

24. Python Tambahan #24 Fungsi sebagai Argumen dan Return

25. Python Tambahan #25 Pemrosesan File Teks: with open()

26. Python Tambahan #26 Membaca dan Menulis File JSON di Python

27. Python Tambahan #27 Format CSV: Membaca dan Menulis File CSV

Masuk Terlebih dahulu untuk berkomentar

Paling baru
Lihat Lainnya