Skip to content

@ri7nz

Pure Function

JavaScript, Functional Programming1 min read

Apa salahnya kujual Miras
Anggur, Vodka, Arak beras, dijamin MURNI tanpa potas
~ silampukau

Membaca potongan lirik diatas, pembaca akan berfikir bahwa pedangang Miras tersebut menjual minuman yang MURNI tanpa campuran atau bahan pengawet yang dapat memberikan efek samping kepada konsumen, peminum, atau "pelanggan" . Padahal se-MURNI-nya minuman tersebut, tetap saja memberikan efek samping yakni mabuk jika banyak, kalau sedikit kayaknya nggak deh! 👀.

Okay, kembali kejalan yang benar. Pada tulisan ini saya ingin memberikan sebuah cerita tentang pemrograman fungsional atau Functional Programming. Dalam pemrograman fungsional kita akan familiar dengan istilah Pure Function atau fungsi murni (saking murninya tanpa potas loh).

Pure Function merupakan sebuah fungsi yang tidak memiliki efek samping. Dengan kata lain, masukan dan keluaran (input/output) dari fungsi tersebut selalu sama.

Apakah pembaca memahami pernyataan diatas? jika belum, yah lanjut saja bacanya 🙌.

Kunci utama yang perlu kita "pegang" dalam pernyataan diatas ialah input dan output sebuah fungsi selalu sama. Misalnya, ketika kita membuat sebuah fungsi menambahkan nilai {N} dengan 2, sehingga potongan kodenya seperti ini:

1/**
2 * @pure add
3 * @param {Number} a
4 * @param {Number} b
5 * @return {Number} a + b
6 */
7const add = (a, b) => a + b
8
9/**
10 * @pure addTwo
11 * @param {number} n
12 * @return {number} + 2
13 */
14const addTwo = (n) => add(n, 2)

Dari kode diatas, kita sudah tahu jika {N} bernilai 2 maka kembaliannya adalah 3 4. (Yailah, kodenya pendek begitu, apapun yang terjadi yah N akan selalu ditambah dengan 2). Nah, sesederhana itu.

Dari fungsi addTwo kita belajar:

  • addTwo merupakan definisi dan nama fungsinya
  • paramater {N} harus bertipe data {Number} (Javascript type-data)
  • paramater {N} HARUS di-operasikan dengan {2}
  • Kembalian dari fungsi tersebut HARUS {Number}

Mendapat kepastian tentang artikel ini ?

Jika tidak, kamu boleh bertanya, memberikan kritik, atau apapun (terserah kamu) Kita: Diskusikan Disini

Referensi