Apa Itu Functional Programming Languages

Apa Itu Functional Programming

Functional programming languages ada di mana-mana, dan sebagian besar situs-situs yang ada internet menggunakannya. Bahkan kalian sudah tidak asing dengan istilah ini karena sering dilontarkan, tetapi apa itu functional programming languages dan apa kelebihan dan kekurangannya?

Tetapi sebelum itu mari kita luangkan waktu untuk mendefinisikan paradigma pemrograman sebelum membahas apa itu functional programming.

Baca Juga: Apa Yang Dimaksud Low-Code Dan Bagaimana Cara Kerjanya?

Apa Itu Paradigma Pemrograman?

Karena komputer pada intinya adalah mesin, kita memerlukan cara yang baik untuk berkomunikasi dengan mereka. Namun, semakin abstrak dari satu dan nol yang kita dapatkan, semakin khusus suatu bahasa. Inilah mengapa kita memiliki begitu banyak bahasa high-level, karena mereka semua berfungsi sedikit berbeda dan semuanya cocok untuk tugas yang berbeda. 

Arti dari paradigma pemrograman adalah cara untuk mengkategorikan bahasa pemrograman berdasarkan teori atau metodologi utama mereka untuk menangani data. Bahasa memenuhi syarat untuk paradigma dengan memiliki sejumlah prinsip yang menentukan. Ada banyak paradigma pemrograman, banyak di antaranya tumpang tindih atau mengandung paradigma lain. Dua paradigma utama adalah functional dan object- oriented, tetapi ada banyak lagi cara penanganan data yang tidak dipertimbangkan oleh kedua paradigma ini.

Apa Itu Functional Programming?

Functional programming adalah salah satu dari dua paradigma pemrograman utama, di samping object-oriented programming. Singkatnya, pemrograman functional berfokus pada fungsi matematika murni dan data tidak berubah, yaitu data yang tidak dapat diubah setelah dibuat. Itu tidak memiliki keadaan, yang berarti bahwa satu-satunya hal yang berubah dalam program functional adalah input.

Karena tidak ada perubahan status dengan objek, dalam pemrograman functional kalian secara konseptual dapat mengubah urutan kode dan masih memiliki output yang sama. Seolah-olah kalian mengalikan delapan angka bersama, tidak masalah urutan apa yang kalian gandakan, kalian masih akan mencapai hasil yang sama. 

Dalam pengertian ini, functional programming adalah semua tentang aliran. Input muncul di bagian atas dan hasilnya jatuh dari bawah. Ini berbanding terbalik dengan object-oriented programming, yang lebih merupakan mesin keadaan berubah, dengan objek yang unik dan bisa berubah. 

Functional programmingl telah ada sedikit lebih lama dari object-oriented programming. Functional programming mungkin telah terjadi penurunan dalam beberapa generasi terakhir, tetapi baru-baru ini telah terjadi perubahan besar dengan adanya bahasa pemrograman JavaScript, yang merupakan paradigm-agnostic tetapi telah dianggap sebagai bahasa yang lebih functional daripada yang object-oriented.

Kelebihan Dan Kekurangan Functional Programming

Kelebihan

  1. Pure functions lebih mudah dipahami karena tidak mengubah status apa pun dan hanya bergantung pada input yang diberikan kepada mereka. Output apa pun yang mereka hasilkan adalah nilai pengembalian yang mereka berikan. Function signature mereka memberikan semua informasi tentang mereka yaitu jenis pengembalian dan argumen mereka.
  2. Kemampuan functional programming languages untuk memperlakukan fungsi sebagai nilai dan meneruskannya ke fungsi sebagai parameter membuat kode lebih mudah dibaca dan mudah dimengerti.
  3. Pengujian dan debugging lebih mudah. Karena pure functions hanya mengambil argumen dan menghasilkan output, mereka tidak menghasilkan perubahan apa pun yang tidak mengambil input atau menghasilkan beberapa output tersembunyi. Mereka menggunakan nilai yang tidak dapat diubah, sehingga menjadi lebih mudah untuk memeriksa beberapa masalah dalam program yang ditulis menggunakan pure functions.
  4. Ini digunakan untuk mengimplementasikan konkurensi / paralelisme karena pure functions tidak mengubah variabel atau data lain di luarnya.
  5. Ini mengadopsi evaluasi lazy yang menghindari evaluasi repeated karena nilai dievaluasi dan disimpan hanya ketika diperlukan.

Kekurangan

  1. Terkadang menulis pure functions dapat mengurangi keterbacaan kode.
  2. Menulis program dengan gaya rekursif daripada menggunakan loop dapat sedikit mengintimidasi.
  3. Menulis pure functions itu mudah tetapi menggabungkannya dengan rest of application dan I / O adalah tugas yang sulit.
  4. Nilai-nilai yang tidak dapat diubah dan rekursi dapat menyebabkan penurunan kinerja.

Contoh Functional Programming Languages

  • JavaScript – Meskipun JavaScript bukan bahasa yang sepenuhnya functional, JavaScript memang memiliki banyak fitur functional programming. Karena itu, pemrogram telah menggunakan functional programming dalam JavaScript lebih sering daripada sebelumnya karena dapat lebih bermanfaat dan stabil dalam situasi skrip tertentu daripada bahasa object-oriented. 
  • Clojure – Ini merupakan bahasa functional programming yang kuat yang dibangun di atas Lsip, yang telah ada sejak tahun 1950-an. Ini berarti fungsional hingga ke akarnya. Ini berjalan pada platform Java dan dikompilasi ke bytecode JVM.
  • Haskell – Haskell adalah bahasa pure functional lainnya, dan dirancang untuk menyelesaikan masalah dunia nyata, bukan masalah akademik. Ini tidak setua Lisp; itu dibuat pada 1990-an. Ini telah digunakan untuk beberapa proyek populer, seperti window manager Xmonad.

Kesimpulan

Jadi Apa Itu functional programming? Functional programming adalah paradigma pemrograman yang ada sebelum munculnya object-oriented. Pada dasarnya, functional programming memperlakukan fungsi dan data sebagai immutable atau tidak berubah. Dalam functional programmin, function tidak boleh mengubah data asli atau status program.


Sekian artikel Apa Itu Functional Programming Languages. Nantikan artikel menarik lainnya dan jangan lupa share artikel ini ke teman-teman kalian. Terimakasih…

Related posts

10 Peran Pekerjaan Backend Developer Dan Skill Yang Dibutuhkan

Apa Itu Git Bash Dan Bagaimana Cara Menggunakannya?

Pengertian Framework Dalam Pemrograman