47. PYTHON (Pemrograman Fungsional) – Pengenalan

Belajar Bahasa Python Lengkap

Pemrograman fungsional adalah sebuah gaya pemrograman yang didasarkan pada fungsi. Sebuah bagian kunci dari pemrograman fungsional adalah higher-order function. Higher-order function akan mengambil fungsi lain untuk dijadikan sebagai argumen.

Contoh 1 – Pemrograman Fungsional

Berikut contoh fungsi yang mengambil fungsi lain untuk dijadikan argumen.

def apply_duakali(func,arg):
	return func(func(arg))

def tambah_lima(x):
	return x + 5

print(apply_duakali(tambah_lima, 10))
=====>
20
=====>

Contoh 2 – Fungsi Murni dan Tidak Murni

Pemrograman fungsional berusaha menggunakan fungsi murni. Fungsi murni tidak memiliki efek samping dan mengembalikan sebuah nilai yang hanya tergantung pada argumennya.

#Fungsi Murni

def murni(x,y):
	a = x+2*y
	return a / (2*y+x)

print(murni(3,4))
#Fungsi Tidak Murni

daftar_nama = []

def tidak_murni(arg):
	daftar_nama.append(arg)

tidak_murni("Zakky")
tidak_murni("Andi")
tidak_murni("Boy")

print(daftar_nama)

Karena fungsi di atas mengubah kondisi pada list daftar_nama, maka fungsi tersebut tidak murni.

Fungsi Murni

Kelebihan dan kekurangan menggunakan fungsi murni:

  1. Lebih mudah dinalar dan untuk penggunaan testing.
  2. Lebih efisien. Ketika fungsi dieveluasi untuk input, hasil dapat disimpan dan mengacu ke waktu selanjutnya dari fungsi pada input yang dibutuhkan. Mengurangi jumlah pemanggilan fungsi atau yg disebut momoization.
  3. Lebih mudah untuk dijalankan secara paralel.

Kekurangan atau kelemahan ketika hanya menggunakan fungsi murni adalah bahwa fungsi tersebut sangat mempersulit tugas I/O yang sebaliknya sederhana. Dan juga dalam situasi tertentu bisa saja lebih sulit untuk ditulis.


LANJUTKAN BACA MATERI LENGKAP


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.