Functional programming menawarkan gaya berpikir yang membuat kode mudah diuji dan diparalelkan. Kita akan mempelajari pure function, immutability, higher-order function, hingga kapan pendekatan fungsional lebih cocok daripada OOP.
Kenali dua aturan pure function, kontrasnya dengan impure function, dan terapkan pola functional core, imperative shell.
Buka → # ImmutabilityGunakan tuple, frozenset, dan frozen dataclass untuk menghindari bug shared mutable state dengan disiplin copy-on-write.
Buka → # Higher-Order FunctionsSusun kode fleksibel dengan pola strategy dan dispatch dictionary sebagai pengganti rantai if-elif yang terus memanjang.
Buka → # map, filter, dan reduceKuasai trio transformasi data: map dan filter yang lazy, reduce dari functools, serta kapan comprehension lebih baik.
Buka → # ClosuresBedah cara function menangkap variabel lewat __closure__, bangun counter factory, dan hindari jebakan late binding.
Buka → # Function CompositionRangkai function kecil menjadi pipeline dengan compose, pipe, dan functools.partial untuk alur data yang jelas.
Buka → # Functional vs Object-OrientedBandingkan dua paradigma lewat kasus keranjang belanja yang sama, lalu pilih gaya secara pragmatis ala Python.
Buka →