Bisakah Membuat Fungsi Tanpa Nama di Python?

Bisakah Membuat Fungsi Tanpa Nama di Python

Fungsi pada bahasa pemrograman merupakan bagian program yang memiliki tugas tertentu. Pada umumnya fungsi yang dibuat selalu memiliki nama. Nama tersebutlah yang nanti digunakan untuk memanggil fungsi tersebut. Terkadang fungsi yang dibuat sangatlah sederhana, misalkan menghitung penjumlahan 2 bilangan, seperti contoh program dibawah ini.

def jumlah(x, y):
    return x + y


print(jumlah(47, 62))

Lambda Expressions

Pembuatan fungsi pada bahasa pemrograman diatas dirasakan kurang efisien, lalu bagaimana membuat agar fungsi yang dibutuhkan lebih efisien? Jawabannya adalah menggunakan perintah Lambda Expressions. Penggunaan perintah ini memungkinkan membuat sebuah fungsi tanpa nama atau istilah kerennya anonymous function. Berikut ini contoh penggunaanya untuk membuat sebuah fungsi penjumlahan 2 bilangan.

# lambda expresssions
parameter1 = lambda a :a ** 3
parameter2 = lambda a, b : a ** 2 + b
parameter3 = lambda a, b, c : a ** 3 + b ** 2 + c

print(parameter1(4))
print(parameter2(9,3))
print(parameter3(2,5,3))

Lambda Expressions Dalam Fungsi

Pemanfaatan lambda expression didalam fungsi sangat berguna dikarenakan fungsi yang dibuat akan lebih dinamis jika dibandingkan tanpa menggunakan lambda expression. Misalkan akan dibuat sebuah fungsi untuk membuat perhitungan kuadratic = ax^2 + bx + c. Pemanfaatan lambda expressions pada akan terlihat lebih dinamis seperti pada contoh dibawah ini:

def fungsi_kuadrat(a,b,c):
    # Mengembalikan perhitungan f(x) = ax^2 + bx + c.
    return lambda x : a*x**2 + b * x + c

# membuat fungsi kuadrat menjadi 4*x**2 + 3 * x - 5
f1 = fungsi_kuadrat(4,3,-5)
# menghitung f1 dengan memberikan nilai x = 2
print(f1(2))

# membuat fungsi kuadrat menjadi 3*x**2 + 7 * x - 5
f2 = fungsi_kuadrat(3,7,-5)
# menghitung f2 dengan memberikan nilai x = 9
print(f2(4))

# bisa juga dipanggil langsung dengan nama fungsinya
print(fungsi_kuadrat(3,5,6)(2))

Begitulah sedikit kecanggihan lambda expressions, semoga bisa bermanfaat. Bila ada pertanyaan silahkan ditulis di kolom komentar.

Be the first to comment

Leave a Reply

Your email address will not be published.


*