Functional Programming jika diartikan ke dalam Bahasa Indonesia disebut sebagai Pemrograman Fungsional. Pemrograman Fungsional didasari oleh konsep pemetaan dan fungsi pada matematika. Pemrograman Fungsional ini didasari atau dapat berbentuk berupa fungsi primitif atau fungsi dasar dan komposisi dari fungsi-fungsi yang sudah terdefinisi. Dalam pemrograman fungsional program adalah fungsi hasil komposisi dari fungsi-fungsi lain, apakah fungsi itu dasar atau hasil komposisi dari fungsi dasar. Functional programming ini memiliki cara kerja dengan fungsi kelas satu, dimana fungsi yang disusun pada sebuah program dapat dikirim sebagai sebuah argumen untuk fungsi lainnya. Pemrograman fungsional ini dikenal dapat menyediakan dukungan yang lebih baik untuk pemrograman terstruktur dari pada pemrograman imperatif. Pemrograman fungsional memiliki beberapa keuntungan yaitu tidak menggunakan algoritma yang rumit. Bahasa fungsional mempermudah untuk membuat abstraksi yang sederhana, biasanya lebih deklaratif dan mudah dipahami. 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 tidak dibatasi oleh variabel yang berasosiasi dengan lokasi memori, maka sebuah struktur data cukup ditangani sebagai sebuah nilai. Untuk menuliskan suatu program fungsional, dipakai suatu bahasa ekspresi. Ada 3 macam bahasa ekspresi tersebut, yaitu:
1. Ekspresi Fungsional Dasar
Ekspresi fungsional dasar ini adalah ekspresi yang biasa digunakan dalam bahasa pemrograman, yaitu aritmatika, numerik yang meliputi ekspresi matematika (+), (-), (/), (*). Ekspresi ini paten yang artinya tidak bisa diubah-ubah yang sudah digunakan pada setiap pemrograman.
2. Ekspresi Kondisional.
Ekspresi kondisional adalah suatu ekspresi yang hasil evaluasinya tergantung pada hasil evaluasi dasar.
3. Ekspresi Rekursif
Ekspresi rekursif adalah ekspresi yang bekerja memanggil dirinya sendiri atau sebaliknya. Ekspresi ini biasa disebut looping atau perulangan.
Agar pembuatan fungsi dari pemrograman fungsional tersusun rapih, ada beberapa tahapan dalam pembuatan, diantaranya adalah:
1. Definisi
Menentukan nama dan mendefinisikan domain dan range dari fungsi
2. Spesifikasi
Menentukan arti dari sebuah fungsi, intinya menentukan pekerjaan apa yang akan dikerjakan fungsi tersebut. Contoh: Fungsi bernama Pangkat 4(x) artinya menghitung pangkat empat x seperti pada lumrahnya.
3. Realisasi
Mengasosiasikan pada nama fungsi, sebuah ekspresi fungsional dengan parameter formal yang cocok. Contoh: Mengasosiasikan pada pangkat empat a*a*a*a atau a^4 dengan a adalah nama parameter formal. Parameter formal fungsi adalah nama yang dipilih untuk mengasosiasikan domain dan range.
4. Aplikasi
Memakai fungsi dalam ekspresi, yaitu dengan menggantikan sebuah nama parameter formal dengan nilai. Dengan aplikasi fungsi, akan dilakukan evaluasi ekspresi fungsional. Contoh: Pangkat empat (2) + Pangkat empat (3). Argumen pada saat dilakukan aplikasi fungsi disebut parameter aktual.
Bahasa pemrograman fungsional tertua adalah LISP. Dan hanya bahasa inilah yang dalam perkembangannya juga digunakan secara komersial, sehingga penggunaannya meluas. Pada postingan saya yang berikutnya saya akan membahas tentang LISP yang juga cukup terkenal dalam pemrograman.
Tidak ada komentar:
Posting Komentar