Lompat ke isi

Pemrograman fungsional

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Revisi sejak 25 Juli 2018 06.50 oleh Wisnu Adi Nurcahyo (bicara | kontrib) (Wisnu Adi Nurcahyo memindahkan halaman Pemrograman Fungsional ke Pemrograman fungsional menimpa pengalihan lama: Penamaan mengikuti kebijakan)
Haskell merupakan salah satu contoh bahasa pemrograman berperadigma pemrograman fungsional dan dikategorikan sebagai bahasa pemrograman fungsional munri.

Dalam ilmu komputer, pemrograman fungsional (bahasa Inggris: Functional programming, disingkat FP) adalah paradigma pemrograman yang dimana suatu program komputer dijalankan dengan mengevaluasi ekspresi yang terdapat pada program komputer itu sendiri.[1]

Pemrograman fungsional biasanya menggunakan fungsi yang murni agar dapat menghindari data yang dapat berubah-ubah, efek samping dari dijalankannya fungsi, dan variabel yang dapat diakses dari lebih dari satu fungsi.[2]

Pemrograman fungsional dikategorikan menjadi pemrograman fungsional murni dan pemrograman fungsional tidak murni. Sederhananya, pemrograman fungsional murni mengacu pada pemrograman yang mana suatu fungsinya hanya dapat mengelola masukannya lalu memberikan semacam keluaran berdasarkan masukan tersebut. Artinya, fungsi tersebut tidak diizinkan untuk mengambil nilai pengubah global, melakukan pencetakan pesan ke layar, dan hal-hal lain yang termasuk pada istilah efek samping (side effect) pada pemrograman fungsional.[3]

Bahasa Pemrograman

Contoh bahasa pemrograman yang mendukung pemrograman fungsional murni antara lain:

Adapun contoh bahasa pemrograman yang mendukung pemrograman fungsional tidak murni antara lain:

Referensi

  1. ^ "Functional programming - HaskellWiki". wiki.haskell.org (dalam bahasa Inggris). Diakses tanggal 2018-02-14. 
  2. ^ Elliott, Eric (2017-01-04). "Master the JavaScript Interview: What is Functional Programming?". Medium. Diakses tanggal 2018-02-14. 
  3. ^ Wadler, Philip (1992-02-01). "The essence of functional programming". ACM: 1–14. doi:10.1145/143165.143169. ISBN 0897914538.