KuloDev
1 Hari
0 XP
intermediate35 menitModul: 03-functional-programming-and-patterns

Paradigma Functional Programming di JavaScript

Kuasai teknik pemrograman fungsional modern: Pure Functions, Immutability, Currying, Higher-Order Functions, dan Function Composition (pipe/compose).

1. Tiga Pilar Functional Programming

**Functional Programming (FP)** adalah paradigma pemrograman yang memperlakukan komputasi sebagai evaluasi fungsi matematika murni dan menghindari perubahan status (*state mutation*) serta efek samping (*side effects*).

2. Currying & Function Composition

**Currying** adalah teknik mengubah fungsi yang menerima $N$ argumen menjadi rantai fungsi yang masing-masing menerima 1 argumen. Hal ini memudahkan pembuatan fungsi modular yang dapat digabungkan (*composed*).

example.js
javascript
1// 1. Currying Example
2const multiply = a => b => a * b;
3const double = multiply(2);
4console.log(double(5)); // 10
5
6// 2. Composition (Pipe): Menjalankan data dari kiri ke kanan
7const pipe = (...fns) => initialVal =>
8 fns.reduce((val, fn) => fn(val), initialVal);
9
10const trim = str => str.trim();
11const toUpper = str => str.toUpperCase();
12const exclaim = str => `${str}!`;
13
14const formatShout = pipe(trim, toUpper, exclaim);
15console.log(formatShout(' halo developer ')); // "HALO DEVELOPER!"

Selesaikan Materi Ini?

Dapatkan +25 XP dan simpan progres belajarmu.