What I Learned from DevC Malang Study Group Workshop #1

Functional Programming

Paradigma bahasa pemrograman dimana mendapatkan penjelasan mengenai Functional programming yang sering saya skip pembelajarannya. Salah satunya, Function memiliki karakteristik yaitu input – proses – output dimana input berupa argument dan akan mengembalikan sebuah value. Misalnya

Function
  • Input sebagai argument
  • Output sebagai return value

Pure Function

Dalam penjelasannya kemarin, kita diberitahu dan diajarkan mengenai Pure Function juga. Pure Function, merupakan salah satu prinsip dasar(?) dalam FP dimana cirinya adalah

  • Input yang sama akan hasilkan output yang sama, artinya input yang sama akan menghasilkan output yang sama walaupun fungsi tersebut diulang ulang hingga akhir zaman.
  • Tidak ada side efek , artinya tidak merubah data diluar fungsi atau data diluar fungsi tidak memberikan efek pada data didalam fungsi.
  • Bisa diprediksi, artinya ketika kita tahu apa input dari fungsi tersebut kita bisa memprediksi seperti apa output yang dihasilkan.

Misalnya

Pure Function

Pada contoh ini, bisa terlihat bahwa contoh diatas adalah Pure Function. Kenapa ? Karena

  • Terprediksi karena input dan output akan menghasilkan yang sama walaupun diulang ulang
  • Benar, ada data yang dimasukkan kedalam function. Namun, hal itu tidak merubah return value dari fungsi tersebut.
  • Tidak ada sideeffek. Nilai count akan tetap 0 walau menggunakan let bukan const yang bisa merubah nilai variable tersebut.

Hooks

Ya, pemahaman FP sangat penting untuk bisa menggunakan Hooks pada ReactJS. Sebab, konsep pada Hooks adalah FP dimana props dan useState merupakan input dan UI merupakan output. Contohnya

Contoh Hooks
  • Bisa diprediksi. Karena kita bisa mengetahui bila kita menekan button 1 kali , maka count akan bertambah 1.
  • Kita melakukan input yang sama, yaitu klik button akan menghasilkan output yang sama pula yaitu penambahan angka 1 dalams setiap klik. Bila diulang terus ya hasilnya akan sama
  • Tidak ada side effect. Karena tidak merubah data dari luar function.

Hooks juga membantu dalam manajemen state pada ReactJS sehingga dalam pengambilan state tidak perlu melalui child component. Langsung bisa diambil dengan menggunakan variable yang sudah dideklarasikan.


Itu yang bisa saya bagikan pada artikel kali ini. Terima kasih telah membaca. Bila dirasa bermanfaat, silahkan bagikan dan dukung saya di Karya Karsa ya!

Leave a Reply

Your email address will not be published. Required fields are marked *