Jumat, Oktober 30

Paradigma pemrograman Fungsional

Paradigma ini didasari oleh konsep pemetaaan dan fungsi pada matematika. Fungsi dapat berbentuk sebagai fungsi "primitif", atau komposisi dari fungsi-fungsi lain yang telah terdefinisi. Pemrogram mengasumsikan bahwa ada fungsi-fungsi dasar yang dapat dilakukan. Penyelesaian masalah didasari atas aplikasi dari fungsi-fungsi tersebut. Jadi dasar pemecahan persoalan adalah transformasional. Semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan awal menuju ke suatu rantai keadaan akhir, yang mungkin melalui keadaan antara, melalui aplikasi fungsi.

Paradigma fungsional tidak lagi mempernasalahkan memorisasi dan struktur data, tidak ada pemilahan antara data dan program, tidak ada lagi pengertian tentang "variabel". Pemrogram tidak perlu lagi mengetahui bagaimana mesin mengeksekusi atau bagaimana informasi disimpan dalam memori, setiap fungsi adalah "kotak hitam", yang menjadi perhatiannya hanya keadaan awal dan akhir. Dengan merakit kotak hitam ini, pemrogram akan menghasilkan program besar.
Berlainan sekali dengan paradigma prosedural, program fungsional harus diolah lebih dari program prosedural (oleh pemroses bahasanya), karena itu salah satu keberatan adalah kinerja dan efisiensinya.

Contoh-1 Ekspresi numerik : PANGKAT DUA
Pernyataan :
Buatlah definisi, spesifikasi dan realisasi dari sebuah fungsi yang menerima sebuah
bilangan bulat dan menghasilkan pangkat dua dari bilangan tersebut dengan menuliskan
ekspresi yang hanya mengandung operator ekspresi aritmatika yang telah didefinisikan
PANGKAT2 FX2(x)
DEFINISI DAN SPESIFIKASI
FX2 : integer → integer
{FX2 (x) menghitung pangkat dua dari x, sebuah bilangan integer }
REALISASI
FX2 (x) : x * x
APLIKASI
⇒ FX2(1)
⇒ FX2(0)
⇒ FX2(-1)


Contoh-2 Ekspresi numerik: PANGKAT TIGA
Pernyataan :
Buatlah definisi, spesifikasi dan realisasi dari sebuah fungsi yang menerima sebuah
bilangan bulat dan menghasilkan pangkat tiga dari bilangan tersebut dengan menuliskan
ekspresi yang hanya mengandung operator ekspresi aritmatika yang telah didefinisikan
PANGKAT3 (versi-1) FX3.v1(x)
DEFINISI DAN SPESIFIKASI
FX3 : integer → integer
{FX3 (x) menghitung pangkat tiga dari x, sebuah bilangan integer }
REALISASI
FX3 (x) : x * x * x
APLIKASI
⇒ FX3(1)
⇒ FX3(8)
⇒ FX3(-1)

Tidak ada komentar:

Posting Komentar