Dalam ilmu komputer, pemrograman fungsional (bahasa Inggris: functional programming) aalah paradigma pemrograman di mana program dibangun dengan menerapkan dan menyusun fungsi. Ini adalah paradigma pemrograman deklaratif di mana definisi fungsi adalah pohon ekspresi yang masing-masing mengembalikan nilai, bukan urutan pernyataan imperatif yang mengubah status program.

Dalam pemrograman fungsional, fungsi diperlakukan sebagai warga kelas satu, yang berarti bahwa mereka dapat terikat ke nama (termasuk pengenal lokal), diteruskan sebagai argumen, dan dikembalikan dari fungsi lain, seperti yang bisa dilakukan tipe data lainnya. Hal ini memungkinkan program untuk ditulis dalam gaya deklaratif dan dapat disusun, di mana fungsi-fungsi kecil digabungkan secara modular..

Pemrograman fungsional terkadang diperlakukan sebagai sinonim dengan pemrograman fungsional murni, bagian dari pemrograman fungsional yang memperlakukan semua fungsi sebagai fungsi matematika deterministik, atau fungsi murni. Ketika fungsi murni dipanggil dengan beberapa argumen yang diberikan, itu akan selalu mengembalikan hasil yang sama, dan tidak dapat dipengaruhi oleh keadaan yang bisa berubah atau efek samping lainnya.

Ini berbeda dengan prosedur tidak murni, yang umum dalam pemrograman imperatif, yang dapat memiliki efek samping (seperti mengubah status program atau mengambil masukan dari pengguna). Pendukung pemrograman fungsional murni mengklaim bahwa dengan membatasi efek samping, program dapat memiliki lebih sedikit bug, lebih mudah di-debug dan diuji, dan lebih cocok untuk verifikasi formal.[1]

Bahasa Pemrograman

sunting

Contoh bahasa pemrograman yang mendukung pemrograman fungsional murni antara lain:

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

Referensi

sunting
  1. ^ Hudak, Paul (September 1989). "Conception, evolution, and application of functional programming languages" (PDF). ACM Computing Surveys. 21 (3): 359โ€“411. doi:10.1145/72551.72554. S2CIDย 207637854. Diarsipkan dari asli (PDF) tanggal 2016-01-31. Diakses tanggal 2013-08-10.


๐Ÿ“š Artikel Terkait di Wikipedia

Pemrograman

dengan keinginan si pemrogram. Untuk melakukan pemrograman, diperlukan keterampilan dalam algoritme, logika, bahasa pemrograman, dan pada banyak kasus

Program komputer

atas pemrograman deklaratif adalah bahasa pemrograman fungsional dan bahasa pemrograman logikal. Prinsip dasar dibalik bahasa pemrograman fungsional (Haskell)

Scala (bahasa pemrograman)

Scala merupakan bahasa pemrograman umum (general purpose) yang mendukung pemrograman berorientasi objek dan pemrograman fungsional. Secara umum, tujuan

Java

Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat

Python (bahasa pemrograman)

mendukung beberapa paradigma pemrograman, termasuk pemrograman terstruktur (terutama, prosedural), berorientasi objek, dan fungsional. Python sering dideskripsikan

C++

bahasa pemrograman yang dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI (American National Standards Institute) pada bahasa pemrograman C menjadi

Elixir (bahasa pemrograman)

Elixir adalah sebuah bahasa pemrograman fungsional, konkuren dan untuk berbagai keperluan yang berjalan dalam Mesin Virtual bahasa Erlang. Elixir dibuat

Rust (bahasa pemrograman)

sebuah bahasa pemrograman sistem yang pengembangannya didukung oleh penelitian dari Mozilla. Bahasa ini dirancang agar menjadi pemrograman yang "aman, konkuren