Sebenarnya dengan membiasakan diri menggunakan pemrograman fungsional, secara tidak langsung kita juga dapat mengasah cara kita berpikir secara logika dalam memecahkan masalah karena pemrograman fungsional tidak terikat pada bahasa pemrograman apapun seperti pada pemrograman prosedural. Akan tetapi, waktu pengerjaan menjadi lebih lama dan tidak efisien karena kita harus berpikir bagaimana caranya komputer dapat menjalankan program yang kita buat tanpa bahasa yang diketahui komputer. Salah satu contohnya adalah loop (perulangan). Pemrograman prosedural yang bergantung pada bahasa pemrograman pasti tahu apa itu loop, akan tetapi pemrograman fungsional tidak mengerti apa itu loop.Jadi kita memakai rekursif / rekurens sebagai pengganti loop. Sebagai contoh:
fac(n) : if n = 0 then 1
else n * fac (n-1)
Fac adalah nama fungsinya dan n adalah parameter / inputannya. n = 0 sebagai basisnya atau batasannya, jadi bila n bernilai 0 maka hasilnya 1 dan program akan berhenti. Bila kita menuliskan (fac 3) dalam program yang menggunaka bahasa fungsional maka hasilnya 6. Didapat dari 3! = 3 x 2 x 1 = 6. Proses program diatas bekerja adalah sebagai berikut:
fac(3) = 3 * fac(2)
fac(2) = 2 * fac(1)
fac(1) = 1 * fac(0)
fac(0) = 1
Dan outputnya adalah 6.
Penulisan pemrograman fungsional menggunakan notasi fungsional. Seperti halnya algoritma, sebelum membuat program kita membuat semacam catatan yang kemudian diterjemahkan dalam bahasa pemrograman. Bila dalam pemrograman fungsional, kita menulisnya dengan notasi fungsional. Sebagai contoh:
Judul
FX2(x)
Definisi dan Spesifikasi
FX2(x) : integer -> integer
{FX2(x) menghitung pangkat dua dari sebuah bilangan integer.}
Realisasi
FX2(x) : x * x
Aplikasi
(FX2 3)
Tulisan berwarna merah
di atas adalah contoh notasi fungsional. Ada 4 bagian dalam notasi
fungsional, yaitu: Judul, Definisi dan Spesifikasi, Realisasi, dan Aplikasi.
- Pada bagian judul biasa dituliskan nama fungsinya dilanjutkan dengan inputannya / parameter. Dalam contoh di atas, nama fungsinya adalah FX2 dan parameternya adalah x, yang berarti hanya 1 inputan saja.
- Pada bagian Definisi dan Spesifikasi dituliskan penjelasan dari fungsi tersebut serta tipe data domain (parameter /input) dan range (output). Dalam contoh di atas, tipe data input adalah integer dan outputnya juga integer. Lalu text dalam { } sebagai penjelasan dari fungsi FX2.
- Pada bagian Realisasi, kita menuliskan isi dari fungsi tersebut. Dalam contoh di atas, FX2 adalah fungsi untuk menghitung pangkat dua dari sebuah integer, maka isinya tentu saja x * x.
- Pada bagian aplikasi, kita menuliskan penggunaan fungsi dalam program. Perlu diperhatikan bahwa nama fungsi dan parameter harus sesuai dengan yang tertera di notasi. Dalam contoh di atas, 3 sebagai ganti dari x maka hasil yang muncul adalah 9 karena 3 * 3 = 9. Bila ditulis (FX2 ) akan muncul pesan error karena kita belum menuliskan parameternya. Demikian juga halnya dengan (FX2 1 2) error karena parameter seharusnya hanya 1 saja tapi kita menginputkan 2 parameter.
Demikian sekilas artikel tentang pemrograman fungsional dan notasi fungsional. Anda dapat mulai berlatih menggunakan pemrograman fungsional ini. Bahkan banyak programmer juga menggunakan bahasa fungsional agar pekerjaannya tidak mudah ditiru oleh programmer lainnya.
Ijin Repost :)
BalasHapushttp://lisp-recursion.blogspot.com/2012/05/notasi-fungsional.html
888 Casino Review & Bonus Code for US players - KTNV
BalasHapus888 Casino NJ has been 익산 출장안마 offering new players 사천 출장마사지 a 100% deposit match 강릉 출장샵 up to $1000 + 20 free spins. Check out this review for more details.Online Since: 2018Welcome Bonus: $1000 Welcome BonusCode Valid: December 2021 Rating: 3.4 · Review 군산 출장마사지 by TJ 수원 출장샵 Houthey