author Ahmad Muhardian

Belajar Python: Membuat Fungsi dengan Lambda Expression


Python Lambda

Pada tutorial sebelumnya, kita pernah belajar membuat fungsi di Python dengan def. Kali ini kita akan membahas cara membuat fungsi dengan lambda expression.

Membuat fungsi dengan lambda expression, berbeda dengan def. Bahkan, lambda expression memiliki kelebihan yang tidak dimiliki def.

Nah di tutorial ini, kita akan membahas konsep dasar lambda di python dilengkapi dengan contohnya.

Harapannya, nanti kamu akan bisa paham cara membuat fungsi dengan lambda expression serta dapat menggunakannya dalam program.

Baiklah, mari kita mulai…

Apa itu Lambda Expression?

Lambda expression di Python adalah sebuah ekspresi untuk membuat fungsi.

Lambda sendiri berasal dari teori kalkulus, yakni Lambda Calculus yang dikenalkan oleh Alonzo Church di tahun 1930.

Berkat lambda, kita bisa membuat fungsi tanpa nama atau dikenal juga dengan anonymous function.

Misalkan kita punya fungsi penjumlahan kuadrat seperti ini:

def suqare_sum(x,y):
  return x**2 + y**2

Nah, dengan lambda.. kita tidak perlu menggunakan def dan return, bahkan kita juga tidak perlu menuliskan namanya.

lambda x,y : x**2 + y**2

Lah! terus nanti bagiaman cara memanggilnya?

Kan gak punya nama 🤔?

Mari kita bahas dulu…

Cara Menggunakan Lambda Expression

Nah sudah tahu kan apa itu Lambda?

Intinya, lambda digunakan untuk membuat fungsi dalam satu baris ekspresi.

Ini adalah format untuk membuat fungsi lambda:

Fungsi lambda di Python

Lambda bisa memiliki lebih dari satu argumen atau parameter, tapi hanya bisa memiliki satu ekspresi atau isi.

Contoh:

greeting = lambda name: print(f"Hello, {name}") 

Karena fungsi lambda tidak punya nama, jadi kita butuh variabel untuk menyimpannya.

Nanti saat kita mau panggil, kita tinggal tuliskan saja nama variabelnya seperti ini:

greeting("Petani Kode")
greeting("Dian")
greeting("Ayu")

Mari kita coba…

Contoh Fungsi lambda di Python

Wah! bukannya ini sama saja seperti kita membuat fungsi dengan def 🤔?

Iya memang sama..

Tapi bedanya, lambda khusus untuk fungsi yang berisi satu ekspresi dan sifat fungsinya akan anonymous.

Anonymous Function di Python

Karena lambda adalah anonymous function, ia akan bebas menggunakan nama apa saja.

Dengan kata lain, fungsi lambda bisa disimpan di variabel mana pun.

Ini tentunya tidak bisa dilakukan oleh fungsi yang dibuat dengan def.

Coba perhatikan ini:

fungsi anonymous di Python

Saya mencoba membuat fungsi say_hello() dengan def, kemudian menyimpannya ke dalam variabel ucapin.

Tapi malah error!

Ini karena fungsi tersebut bukanlah fungsi anonymous yang boleh dibah-ubah namanya.

Lalu coba perhatikan di baris terakhir, fungsi lambda greeting() yang sudah dibuat disimpan lagi ke variabel yang berbeda, yakni sapa.

greeting = lambda name: print(f"Hello, {name}")
sapa = greeting
greeting("Andi")
sapa("Neli")

Hasilnya nggak akan error, karena ini adalah fungsi anonymous atau lambda.

Eksekusi Lambda Secara Langsung

Kelebihan fungsi lambda dibandingkan def adalah bisa kita eksekusi langsung.

Maksudnya?

Ya bisa kita pakai langsung, tanpa harus memanggil namanya.

Contohnya:

(lambda x,y: x**2 + y**2)(4,6)

Tanda kurung yang mengapit fungsi lambda artinya kita akan langsung mengeksekusi fungsi tersebut.

Lalu kurung berikutnya akan berisi parameter.

Angka 4 dan 6 adalah parameter x dan y yang akan diberikan kepada fungsi lambda.

Mak akita akan langsung mendapatkan hasilnya, yakni: 4**2 + 6**2 = 52.

Hasil dari eksekusi ini bisa juga kita simpan ke dalam variabel.

hasil = (lambda x,y: x**2 + y**2)(4,6)

Mengapa Harus Pakai Lambda?

Kita memang tidak harus selalu menggunakan Lambda, tapi dalam kasus tertentu lambda lebih baik dibandingkan fungsi biasa.

Lambda biasanya dibutuhkan saat kita ingin membuat fungsi dalam satu baris.

Biasanya saat menggunakan fungsi-fungsi seperti filter(), map(), dan reduce() kita akan membutuhkan lambda.

Mengapa?

Karena di fungsi-fungsi tersebut membutuhkan parameter fungsi.

Contoh:

bilangan = [10,2,8,7,5,4,3,11,0, 1]
filtered_result = map (lambda x: x*x, bilangan) 
print(list(filtered_result))

Hasilnya:

[100, 4, 64, 49, 25, 16, 9, 121, 0, 1]

Pada fungsi map() kita memberikan parameter dengan fungsi lambda.

Mengapa bisa begitu?

Karena lambda bisa disimpan ke dalam variabel, otmatis dia akan bisa juga jadi parameter.

Satu lagi contoh dengan fungsi filter():

>>> # menentukan bilangan genap
>>> genap = lambda x: x%2 == 0
>>> list(filter(genap, range(11)))
[0, 2, 4, 6, 8, 10]

Atau bisa dibuat dalam satu baris seperti ini:

>>> list(filter(lambda x: x%2 == 0, range(11)))
[0, 2, 4, 6, 8, 10]

Jadi mengepa harus pakai Lambda?

Ya karena kita akan membutuhkannya saat menggunakan fungsi tertentu.

Apa Selanjutnya?

Ya, segitulah yang bisa saya jelaskan tentang lambda di Python.

Intinya, lambda digunakan untuk membuat fungsi dalam satu baris dan ia bersifat anonymous.

Lambda bisa kita simpan di dalam variabel dan dijadikan sebagai parameter.

Selanjutnya, silahkan cek list tutorial python untuk tutorial yang lainnya.

Baca Juga ini

Tutorial Python dan MySQL: Membuat Aplikasi CRUDS Berbasis Teks

Tutorial Python dan MySQL: Membuat Aplikasi CRUDS Berbasis Teks

Pada tutorial ini kamu akan belajar cara menggunakan database MySQL dengan Python. Kita juga akan membuat sebuah program berbasis teks.

Belajar Microcontroller dengan MicroPython dan LumpyBoard

Belajar Microcontroller dengan MicroPython dan LumpyBoard

Pada tutorial ini, kamu akan belajar microcontroller dengan MicroPython pada LumpyBoard. Kita akan melakukan eksperimen pertama dengan mnyalakan lampu LED bawaan LumpyBoard.

Kenalan dengan LumpyBoard, Papan Microcontroller Buatan Anak Indonesia

Kenalan dengan LumpyBoard, Papan Microcontroller Buatan Anak Indonesia

LumpyBoard adalah papan microcontroller buatan anak indonesia yang dilengkapi dengan Wifi dan Bluetooth. LumpyBoard menggunakan firmware MicroPython sehingga dapat diprogram menggunakan bahasa pemrograman Python.

Belajar Pemrograman Game dengan PyGame (Tutorial Step-by-step untuk Pemula)

Belajar Pemrograman Game dengan PyGame (Tutorial Step-by-step untuk Pemula)

Pada tutorial ini kita akan belajar membuat game dari nol dengan PyGame. Dijelaskan dengan step-by-step, sehingga akan mudah dipahami pemula.

Belajar Python: Apa itu Tuple dalam Python?

Belajar Python: Apa itu Tuple dalam Python?

Tuple dalam Python adalah stuktur data yang digunakan untuk menyimpan sekumpulan data. Tupe bersifat *immutable*, artinya isi tuple tidak bisa kita ubah dan hapus.

7 Hal Dasar yang Harus diketahui Tentang Dictionary pada Python

7 Hal Dasar yang Harus diketahui Tentang Dictionary pada Python

Dictionary adalah stuktur data yang bentuknya seperti kamus. Ada kata kunci kemudian ada nilaninya. Kata kunci harus unik, sedangkan nilai boleh diisi denga apa saja.