PENGERTIAN FUNGSIONAL PROGRAMMING

PENGERTIAN FUNGSIONAL PROGRAMMING

Saat ini ada begitu banyak persepsi mengenai functional programming. mereka selalu ngutarakan kalimat Fungsional. Setiap pemahaman atau persepsi tergantung siapa yang mengartikannya. dikutip dari dikoding.com, Seorang F-sharp programer akan mengartikan FP sebagai apa yang ada pada F-sharp. Demikian halnya Swift programer akan mengartikan FP sebagai apa yang ada pada Swift. Mereka juga sering menyebutkan teknik yang sering digunakan dalam pemrograman funsional seperti mapping, reducing, pipelining, recursing dan fungsi lavel atas lainnya. Namun kita bisa menyimpulkan bahwa semua bahasa pemrograman yang mendukung first-class citizen termasuk ke dalam FP. First-class citizen sendiri merupakan sebuah entitas yang mendukung semua operasi yang umumnya tersedia untuk entitas lain. Sebagai contoh, sebuah fungsi yang bisa dikirimkan sebagai parameter. 


Functional programming merupakan paradigma yang sedang tren di kalangan developer saat ini. Paradigma ini memperlakukan komputasi sebagai evaluasi fungsi matematika dan menghindari perubahan keadaan atau state dan data yang bisa berubah. Dalam FP, pemrograman dilakukan dengan expression atau declaration. Sehingga sebuah fungsi menghasilkan nilai yang hanya bergantung pada argumen yang diteruskan ke fungsi tersebut. Menghilangkan efek seperti perubahan state yang tidak tergantung pada fungsi input, dapat membuatnya lebih mudah untuk memahami dan memprediksi behaviour sebuah program. Inilah tujuan utama dari functional programming.


Namun anda tidak perlu terpaku pada istilah tersebut, anda hanya perlu mengingat karateristik pemrograman fungsional yaitu "The absence of side effect" yang berarti pemrograman fungsional tidak bergantung pada data yang dari luar fungsi dan tidak mengubah data yang ada diluar fungsi. coba perhatikan contoh berikut: 

Tidak fungsional 

a=0

def increment():

glabal a

a +=1

Program Fungsional

def increment (a):

return a + 1

Apa saja keuntungan yang diberikan fungsional programing?

  • Pemrograman fungsional memberikan kita kebebasan dalam menulis kode programan dengan potensi bug yang rendah karena setiap komponen telah diisolasi.
  • Penggunaan recursif memperbolehkan kita untuk menampilkan bukti sederhana dari struktur kode.
  • Mendukung parallezation, lazy evolution, determinism dan masih banyak lagi yang lainnya 


Functional programming juga bertujuan untuk mempermudah kita memahami sebuah kode. Ide dibalik FP adalah menambahkan dan mengurangi hal tertentu untuk membuat kode kita sedikit lebih mudah dipahami. Dengan functional programming seperti higher-order function, function types, extension functions, lambda, dll.

Mungkin itulah sedikit pemahaman mengenai Functional Programming, jika kalian memiliki pertanyaan silahkan ajukan pertanyaan kalian di kolom komentar. Jika pertanyaan kalian menarik, saya akan membuat sebuah judul baru yang akan kita bahas di ceritauangyuk.com. Sekian dari saya, mohon maaf jika ada kesalahanpenulisan ataupun pemahaman.


Posting Komentar untuk "PENGERTIAN FUNGSIONAL PROGRAMMING"