Pemprograman fungsional berakar pada kalkulus lambda.Sebuah sistem formal yang dikembangkan pada tahun 1930 untuk menyelidiki definisi fungsi,aplikasi fungsi,dan rekursi.
Progrm adalah model solusi
persoalan dalam informatika,berisi kumpulan informasi penting mewakili persoalan itu.
Fungsi adalah asosiasi antara 2 type yaitu domain dan
range,yang berupa type dasar dan type bentukan.
Dalam program fungsional masukan mengalir dalam satu set
fungsi.Setiap fungsi beroprasi pada input dan menghasilkan beberapa output.
Sekarang ini programer banyak menggunakan pemrograman
fungsional,agar dalam menyelesaikan programnya dengan cepat karena pemrograman
fungsional tidak banyak menggunakan algoritma.
Penulisan suatu program fungsional,dipakai bahasa ekspresi
yaitu:
-Ekspresi fungsional dasar
Ekspresi yang bisa digunakan pada setiap bahasa
pemrograman,yaitu aritmatika,numerik,oprasi matematika seperti ( +, -, /, *,mod).Akan
tetapi ekspresi ini paten atau tidak dapat diubah-ubah.
-Konditional
Konditional adalah suatu ekspresi yang hasil evaluasinya
tergantung pada hasil evaluasi kondisi.
-Rekursif
Rekursif adalah ekspresi yang bekerja untuk memanggil
dirinya sendiri,atau sebaliknya.
Agar tersusun secara runtut ada beberapa tahap dalam
pembuatan fungsi dari functional programin,diantaranya adalah:
1.Definisi
Definisi adalah fungsi yang meliputi dominan,range dan nama.
2.Spesifikasi
Spesifikasi ini untuk menentukan sesuatu yang akan dubuat
fungsi tersebut.
Contoh:Fungsi erti pada lumrahnya.
3.Realisasi
Realisasi ini untuk menentukan fungsi mengolah pada nama
fungsi,ekspresi fungsional dengan paramenter formal yang sesuai.
Contoh:Mengasosiasikan pada pangkat tiga : a*a*a atau a3
dengan a adalah parameter formal.Parameter formal fungsi adalah nama yang
dipilih untuk mengasosiasikan domain dan range.
4.Aplikasi
Aplikasi ini memakai fungsi dalam ekspresi,untuk evaluasi
paramenter aktual.
Contoh :
Pembagian Bagi(x,y)
DEFINISI & SPESIFIKASI
Bagi : 2 integer -> real
{Bagi (x,y) menghitung nilai x/y}
REALISASI
Bagi(x,y):x/y
APLIKASI
-> Bagi(1,2)
->0.5
Tidak ada komentar:
Posting Komentar