JavaScript: Functional Programming
Paradigma Pemrograman Sebelum membahas lebih lanjut mengenai Functional Programming , kita harus memahami definisi paradigma pemrograman. Kata paradigma sendiri dapat diartikan sebagai konsep, ke…
Paradigma Pemrograman
Sebelum membahas lebih lanjut mengenai Functional Programming, kita harus memahami definisi paradigma pemrograman. Kata paradigma sendiri dapat diartikan sebagai konsep, kerangka atau pola. Dengan demikian paradigma pemrograman merupakan sebuah konsep penulisan kode pada bahasa pemrograman. Paradigma pemrograman ada untuk tujuan penanganan data, me-manage kode dan tentunya berkaitan dengan penyelesaian sebuah masalah dengan paradigma itu sendiri.
Paradigma pemrograman ada beragam, beberapa diantaranya yaitu Object Oriented Programming, Functional Programming, Imperative Programming dan Procedural Programming. Kali ini yang akan diulas salah satu paradigma pemrograman di bahasa pemrograman JavaScript yaitu Functional Programming.
Paradigma pemrograman ada beragam, beberapa diantaranya yaitu Object Oriented Programming, Functional Programming, Imperative Programming dan Procedural Programming. Kali ini yang akan diulas salah satu paradigma pemrograman di bahasa pemrograman JavaScript yaitu Functional Programming.
Functional Programming
Sebelum membahas mengenai Functional programming, pembaca diharapkan sudah paham apa itu fungsi pada pemrograman dan paham mengenai mekanisme fungsi pada bahasa pemrograman, khususnya JavaScript.
JavaScript merupakan bahasa pemrograman dengan beberapa paradigma(multi-paradigm), salah satunya yaitu Functional programming.
JavaScript merupakan bahasa pemrograman dengan beberapa paradigma(multi-paradigm), salah satunya yaitu Functional programming.
Functional Programming paradigma dalam pemrograman berarti dalam penulisan kode menggunakan bahasa pemrograman kita menggunakan konsep maupun pola dan penyelesaian masalah berbasis fungsi. Fungsional programming cenderung lebih ringkas, lebih dapat diprediksi, dan lebih mudah untuk diuji/test dari pada penulisan kode menggunakan paradigma permrograman lain.
Penulisan
Ada 5 functional programming core konsep yang perlu kita ketahui, berikut penjelasan dan contoh cara penulisan:
Pure Functions hanya bergantung pada inputnya. Menghasilkan output yang sama untuk input yang sama dan tidak mengubah kondisi eksternal.
2. Immutability
Alih-alih mengubah (memutasi) data, dengan konsep immutability kita membuat struktur data baru.
3. Higher-Order Functions (HOFs)
Higher-Order Functions mengambil fungsi lain sebagai argumen atau mengembalikannya(return).
Contoh: map, filter, reduce
Menggabungkan fungsi-fungsi kecil untuk membangun fungsi-fungsi yang lebih kompleks.
5. Currying
Mengubah fungsi yang memerlukan beberapa argumen atau input menjadi rangkaian fungsi dengan argumen tunggal.
Kelebihan Functional Programming
1. Karna salah satu core konsep functional programming adalah pure function maka hasil atau output bisa diprediksi sehingga kemungkinan terjadinya bug lebih minim.
2. Dengan konsep function compotition yang memungkinkan kita membuat fungsi yang terpisah dan menjadikannya bagian-bagian kecil, maka memungkinkan untuk lebih mudah ditest dan lebih mudah dieskalasi ketika terjadi bug.
3. Konsep immutability di functional programming dapat mengamankan data dari perubahan.
4. Functional programming mudah dibaca dan dipahami kalau kita menuliskannya sesuai dengan 5 konsep diatas.