Pemrograman Non Prosedural
Pemrograman Non Prosedural biasanya berhubungan dengan Pemrograman Fungsional.
Paradigma pemrograman Fungsional
· Didasari oleh konsep pemetaan dan fungsi pada matematika.
· Fungsi dapat berbentuk sebagai fungsi ‘primitif’ atau komposisi dari fungsi lain
yang terdefinisi.
· Pemrogram mengasumsikan bahwa ada fungsi dasar yang dapat dilakukan.
Penyelesaian masalah didasari atas aplikasi dari fungsi-fungsi tersebut. Dasar
pemecahan persoalan adalah transformasional.
· Semua kelakuan program adalah suatu rantai transformasi dari sebuah keadaan
awal menuju ke suatu rantai keadaan akhir, melalui keadaan antara, melalui suatu
aplikasi fungsi.
· Paradigma ini tidak mempersoalkan 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. Adapun yang menjadi perhatian
adalah keadaan awal dan akhir saja.
PEMROGRAMAN FUNGSIONAL
· Paradigma pemrograman fungsional didasari oleh konsep pemetaan dan fungsi pada
matematika. Fungsi dapat berbentuk:
• fungsi primitif/dasar, atau
• komposisi dari fungsi-fungsi lain yang telah terdefinisi.
· Pemrogram mengasumsikan bahwa sudah terdefinisi fungsi dasar. Dari komposisi
fungsi dasar tersebut dapat dibentuk fungsi baru. 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. Karena itu, dalam bahasa pemrograman fungsional,
PDF created with pdfFactory Pro trial version www.pdffactory.com
program adalah fungsi hasil komposisi dari fungsi-fungsi lain, apakah fungsi itu dasar
atau hasil komposisi dari fungsi dasar. Bahasa pemrograman fungsional memperoleh
hasil dengan cara mengaplikasikan fungsi terhadap argumen atau parameternya, yang
juga dapat berupa fungsi.
· Bahasa pemrograman fungsional menonjol dalam kemampuan struktur datanya.
Karena bahasa ini tidak dibatasi oleh variabel yang berasosiasi dengan lokasi memori,
maka sebuah struktur data cukup ditangani sebagai sebuah nilai.
· Bahasa pemrograman fungsional tertua adalah LISP. Dan hanya bahasa inilah yang
dalam perkembangannya juga digunakan secara komersial. Sehingga penggunaannya
meluas.
NOTASI FUNGSIONAL
· Program adalah model solusi persoalan informatik, berisi kumpulan informasi penting
yang mewakili persoalan.
· Dalam konteks fungsional, program digambarkan dalam : himpunan nilai type,
dengan nilainya adalah konstanta.
· Fungsi di sini merupakan asosiasi antara 2 type yaitu domain dan range.
· Domain range dapat berupa : type dasar dan type terkomposisi (bentukan).
· Penulisan suatu program fungsional, dipakai bahasa ekspresi à tiga macam bentuk
komposisi ekspresi adalah ekspresi fungsional dasar, konditional dan rekursif.
· Pemrograman fungsional didasari atas analisa top down. Analisa top down dalam
pemrograman fungsional: Problema, Spesifikasi dan Dekomposisi .
· Fungsi pada analisa topdown adalah strukturisasi teks. Sebuah fungsi mewakili
sebuah tingkatan abstraksi.
PDF created with pdfFactory Pro trial version www.pdffactory.com
Konstruksi Program Fungsional
· Definisi Fungsi : Menentukan nama dan mendefinisikan domain dan range dari
fungsi.
· Spesifikasi fungsi : menentukan “arti” dari fungsi.
Contoh : Fungsi bernama Pangkat3(x) artinya menghitung pangkat tiga x seperti pada
umumnya.
· Realisasi fungsi : mengasosiasikan pada nama fungsi, sebuah ekspresi fungsional
dengan parameter formal yang cocok.
Contoh : mengasosiasikan pada Pangkat Tiga: a*a*a atau a3 dengan a adalah nama
parameter formal. Parameter formal fungsi adalah nama yang dipilih untuk
mengasosiasikan domain dan range.
· Aplikasi fungsi : memakai fungsi dalam ekspresi, yaitu dengan menggantikan semua
nama parameter formal dengan nilai. Dengan aplikasi fungsi, akan dievaluasi ekspresi
fungsional.
Contoh : Pangkat Tiga (2) + Pangkat Tiga(3).
Argumen pada saat dilakukan aplikasi fungsi disebut parameter actual.
· Notasi untuk menuliskan program fungsional disebut dengan notasi fungsional,
dimana terdiri dari empat bagian sesuai dengan tahapan pemrograman.
Contoh generic(template) teks program dalam notasi fungsional.
(Thank’s to Taufik Kurniawan bwt bahannya ^_^)
(Tulisan ini bwt memenuhi salah satu tugas MT Kul Pemograman Non Procedural)



Komentar Terakhir