Pemrograman fungsional: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
k Bot: Perubahan kosmetika |
Menambah deskripsi pemrograman fungsional murni & tidak murni serta menambah lebih banyak contoh bahasa pemrograman yang mendukung pemrograman fungsional. |
||
Baris 1:
{{DISPLAYTITLE:Pemrograman fungsional}}
[[Berkas:Haskell-Logo.svg|jmpl|316x316px|[[Haskell]]
Dalam [[ilmu komputer]], '''
Pemrograman fungsional biasanya menggunakan fungsi yang murni agar dapat menghindari [[data]] yang dapat berubah-ubah, efek samping dari dijalankannya fungsi, dan [[Variabel (ilmu komputer)|variabel]] yang dapat diakses dari lebih dari satu fungsi.<ref>{{Cite web|url=https://medium.com/javascript-scene/master-the-javascript-interview-what-is-functional-programming-7f218c68b3a0|title=Master the JavaScript Interview: What is Functional Programming?|last=Elliott|first=Eric|date=2017-01-04|website=Medium|access-date=2018-02-14}}</ref>
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.<ref>{{Cite journal|last=Wadler|first=Philip|date=1992-02-01|title=The essence of functional programming|url=http://dl.acm.org/citation.cfm?id=143165.143169|publisher=ACM|pages=1–14|doi=10.1145/143165.143169|isbn=0897914538}}</ref>
== Bahasa Pemrograman ==
Contoh bahasa pemrograman yang mendukung pemrograman fungsional murni antara lain:
*[[Clean (bahasa pemrograman)|Clean]]
▲* [[Scheme]]
*[[Coq]]
*[[Elm (bahasa pemrograman)|Elm]]
*
*[[Idris (bahasa pemrograman)|Idris]]
*[[Lisp]]
*[[Miranda (bahasa pemrograman)|Miranda]]
*[[Mercury (bahasa pemrograman)|Mercury]]
*[[PureScript]]
Adapun contoh bahasa pemrograman yang mendukung pemrograman fungsional tidak murni antara lain:
* [[C++]]
* [[Clojure]]
* [[Elixir]]
* [[Erlang]]
* [[JavaScript]]
* [[Julia (bahasa pemrograman)|Julia]]
* [[PHP]]
* [[Python (bahasa pemrograman)|Python]]
* [[Rust (bahasa pemrograman)|Rust]]
* [[Scala (bahasa pemrograman)|Scala]]
== Referensi ==
Baris 18 ⟶ 40:
[[Kategori:Istilah komputer]]
[[Kategori:Paradigma pemrograman]]
|