Fungsional
programming adalah bentuk fungsi yang berisi tindakan atau soslusi untuk
memecahkan problem. Fungsi menjadi dasar utama program. Pemrogram selalu
berfikir bagaimana memanfaatkan fungsi-funsi dasar yang kemudian dapat dibentuk
menjadi fungsi baru untuk memecahkan
suatu problem. Metode yang dipakai dalam memecahkan masalah adalah
transformasional (perubahan bentuk). Perubahan dari bentuk awal yang kemudaian
diproses oleh aplikasi fungsi yang dapat menjadi solusi dari permasalahan
kemudian akan menghasilkan bentuk akhir yaitu hasil. Dalam hal ini pemrogram
tidak perlu lagi memikirkan alokasi memory, struktur data, variabel, dan
pemilahan antara data dan program. Akan tetapi pemrograman fungsional
membutuhkan waktu lebih pemrosesan yang lebih lama.
Bahasa
fungsional lebih fokus dalam fungsi matematika. Pemrograman fungsional didasari
oleh kalkulus lambada, ini adalah sistem formal yang digunakan untuk
menyelidiki definisi fungsi, aplikasi fungsi, dan rekursif. Combinatory logika
dan kalkulus lambada awalnya dikembangkan untuk mencapai pendekatan ke dasar
matematika. Program fungsional mengajak kita untuk berfikir matematika dasar. Dalam
kode fungsional selalu menghasilkan nilai yang sama dan tidak akan pernah
berubah (immutable), sesuai dengan argumen dalam fungsi. Oleh sebab itu
pemrograman fungsional menjadi lebih mudah difahami dan banyak diminati.
Pemrograman fungsional sekarang lebih banyak digunakan dalam aplikasi industri
dan komersial. Yang bergolong Bahasa pemrograman fungsional diantaranya adalah
LOGO, APL, dan LISP.
LOGO
adalah bahasa fungsional yang dirancang untuk mengajarkan kepada anak-anak
tentang program komputer, geometri, dan matematika secara mudah. Pemrograman LOGO
diciptakan oleh Seymour Papert pada tahun 1967. Sedangkan APL digunakan secara
komersial dalam industri keuangan yang dikembangkan oleh kenneth E. Iverson
pada awal tahun 1960. Dan LISP adalah bahasa fungsional yang dirancang
berdasarkan kalkulus lambada yang ditujukan untuk memanipulasi simbol-simbol,
bahasa fungsional ini dikembangkan oleh John McCarthy pada akhir tahun 1950.
thanks :)
BalasHapus