P. 1
BAHASA PEMROGRAMAN FUNGSIONAL

BAHASA PEMROGRAMAN FUNGSIONAL

|Views: 716|Likes:
Published by Fidelis Dhedhe

More info:

Published by: Fidelis Dhedhe on Feb 14, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

06/06/2013

pdf

text

original

BAHASA PEMROGRAMAN FUNGSIONAL Pengertian

Suatu bahasa dimana ekspresi disusun atas fungsi panggilan (bukan pernyataan). Fungsi: perintahperintah yang terkumpul menjadi satu dan dapat menghasilkan suatu nilai.Disebut bahasa pemrograman fungsional karena memang pada program seluruh kodenya berupa fungsi-fungsi. Bahasa pemrograman fungsional merupakan salah satu bahasa pemrograman yang memperlakukan proses komputasi sebagai evaluasi fungsi-fungsi matematika.Isi dari Program fungsional tidak mengandung pernyataan perintah.Contoh bahasa pemrograman fungsional : Lisp, Scheme, ML, Haskell.

Haskell merupakan salah satu dari banyak bahasa pemrograman fungsional, seperti Lisp, Scheme, Erlang, Clean, Mercury, ML, Ocaml, SQL, XSL, dll. Mirip dengan bahasa pemrograman fungsional, bahasa pemrograman logical seperti Prolog merupakan bahasa pemrograman deklaratif. Bentuk Umum Program ???
bentuk komputer yang berfungsi dalam pemogramaan untuk paradigma bahasa pemograman yang memberlakukan proses perhitungan sebagai evolusi dari fungsi matimatika.dalam fungsional memiliki Notasi Fungsional, yang dimaksud dengan notasi fungsional adalah model solusi persoalan dalam informatik, berisi kumpulan informasi penting yang mewakili persolan itu. Dalam konteks fungsional, program direpresentasi dalam : himpunan nilai type, dengan Nilai-nilai dari type adalah konstanta. Pada dasarnya pada pemograman fungsional solusi persoalan diungkapkan menjadi identifikasi dari 1 atau beberapa fungsi, yang jika di ³ aplikasikan ³ dengan nilai yang diberikan akan memberikan hasil yang diharapkan

> main :: IO () > main = do putStr "Enter a number: " > l <- readLine > putStr "n!= " > print (fact (read l)) This is the factorial function. > fact :: Integer -> Integer > fact 0 = 1 > fact n = n * fact (n-1)

. dan Validitas Checker Stanford untuk penalaran dalam quantier bebas.618. Konsep tentang Pattern Matching ???? Konsep tentang Logika Keputusan ??? ion dalam Haskell Nancy A. sifat polimorfisme parametrikHaskell digunakan untuk mengangkat hasil analisis BDD untuk . Dalam contoh semacam. Kata "variabel" yang diterapkan ke variabel Haskell adalah menyesatkan.. Arti lain di mana "variabel" digunakan dalam Haskell adalah sebagai parameter formal untuk fungsi. terlebih-urutan logika. Sebaliknya.Konsep tentang Assignment dan Variabel ??? Dalam Haskell.. konsep ini jauh lebih dekat dengan arti kata matematika. Hari Yohanes Launchbury Je Lewis Oregon Graduate Institute Sains & Teknologi Abstrak.. variabel adalah nama untuk beberapa ekspresi yang valid. Operator = operator digunakan untuk menetapkan nilai ke variabel. Menggambarkan generalisasi dari jenis Boolean Haskell. Kami menggambarkanpenggunaan paket ini untuk penalaran tentang algoritma pengurutan dan modelmikroprosesor sederhana. karena nilai suatu variabel tidak pernah bervariasi selama runtime program.14159 . Kami memiliki antarmuka dened referentially transparan ke paket paket ini memungkinkan pengguna untuk mengabaikan rincian implementasi penting mereka. telah menghubungkan Haskell dengan Diagram Keputusan Biner (Binary Decision Diagram (BDD)) paket untuk logika proposisional. di mana satu dapat menggunakan phi untuk berdiri sendiri dengan 3.. Sebagai contoh: add x y = x + y x dan y adalah parameter formal untuk fungsi menambahkan. atau X2 untuk mewakili rumus menghitung untuk menguji kecocokannya. yang memungkinkan kita untuk menggunakan prosedur keputusan yang ada untuk penalaran tentang ekspresi logis. Secara khusus. Nilai-nilai ini umumnya tidak berubah di tengahtengah melakukan perhitungan matematis. Kami menemukan bahwa memiliki hubungan yang ketat antara Prover dan Haskell Haskell memungkinkan untuk melayani sebagai bahasa meta-meningkatkan kemampuan Prover. misalnya phi =1. Ini sesuai dengan gagasan tentang "variabel" dalam kalkulus lambda. Konsep tentang List . Ruang lingkup variabel tersebut dapat dikendalikan dengan menggunakan membiarkan atau di mana klausa tersebut.

Dengan fungsi lebih dari 1 variabel (+ x y) ditulis ((+ x) y) dimana fungsi (+ x) adalah fungsi yang menambahkan sesuatu ke x Kelebihan dan kekurangan bahasa pemrograman fungsional Adapun kelebihan dari bahasa pemrograman fungsional antara lain: 1.Kode dapat digunakan kembali. 3. Struktur data dievaluasi secukupnya untuk menghasilkan jawaban. 2. ekspresif yang menyatakan semua fungsi dapat diperhitungkan -. Program fungsional seringjali lebih mudah untuk dimengerti.Singkat. Hal tersebut tidak dapat terjadi pada program C.Mudah dimengerti. Hal ini memungkinkan penggunaan kembali program. dipisahkan dengan spasi.Abstraksi yang kuat. ditutp dengan tanda kurung. Dalam kasus Quicksort. Bahasa pemrograman fungsional menggunakan polymorphism. 5. Tidak ada kemungkinan memperlakukan integer sebagai pointer. Bahasa fungsional non-strict memliki fitur kuat lainnya: hanya mengevaluasi program seperti yang diperlukan untuk menghasilkan jawaban. atau potongan program lebih sering dari yang dapat dilakukan oleh pengaturan terstruktur. dan sangat mudah untuk melakukan kesalahn kecil yang mengakibatkan program tidak dapat dieksekusi.Tidak ada tumpukan pada memori. 4.urutan dari atom atau list.Dengan ekspresi polynomial X²+3X-5 . Contoh : (PLUS A B) ((DAGING AYAM) (SAWI KANGKUNG BAYAM) AIR)) Konsep tentang Lambda Adalah : -. . yang sering disebut dengan lazy evaluation. yang akan meningkatkan penggunaan kembali kode. atau dilanjutkan dengan pointer null.bahasa sederhana dengan ilmu semantik sederhana. tidak terlalu diperlukan pengetahuan mengenai Haskell maupun quicksort. 6. yang membutuhkan waktu untuk dimengerti. dan sebagian mungkin tidak dievaluasi sama sekali. Program fungsional cenderung lebih ringkas dibanding program terstruktur (2 sampai 10 kali). Hal ini memungkinkan ³pelekatan´ untuk menyusun bersama program yang sudah ada.Merupakan suatu bentuk formal dengan fungsi sebagai aturan Contoh : -.Pelekatan yang kuat.

Kebanyakan program rumit perlu mengalokasikan memori dinamis dari tumpukan (heap). dan diselamatkan secara otomatis oleh kolektor sampah.Secara umum bahasa fungsional menawarkan cara-cara baru yang kuat untuk meng-enkapsulasi abstraksi. Satu mekanisme abstraksi yang kuat yang terdapat dalam bahasa fungsional adalah higher-order function. Abstraksi mengizinkan kita untuk menentukan objek yang pekerjaan internalnya tersembunyi. Kekurangan pada bahasa pemrograman fungsional adalah: . Abstraksi merupakan kunci untuk membangun program modular yang dapat dipelihara. 7. Penyimpanan dialokasikan dan diinisialisaikan secara implisit. Setiap bahasa fungsional memudahkan pemrogram dari beban manajemen penyimpanan tersebut.Manajemen memori yang terintegrasi.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->