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, kita memulai dengan membuat sebuah fungsi yang murni, fungsi tersebut memiliki 2 parameter dengan nama parameter pertama yakni a
dengan tipe data Number
, kemudian paramater kedua bernama b
dengan tipe data yang sama dengan paramater sebelumnya, kita beri nama fungsi ialah add
, dan mengembalikan Number
dari sebuah operasi +
penjumlahan.
Dari definisi fungsi add
tersebut ketika parameter a
digantikan dengan 2
dan parameter b
digantikan dengan 3
maka hasilnya 5
. selama a
dan b
diberikan nilai yang sesuai (termasuk tipe data yang sudah kita definisikan pada komentar diatas fungsi). Maka, kita selalu mendapatkan hasil yang sama, apapun keadaan program kita ketika fungsi ini dipanggil yah akan selalu menghasilkan yang sama.
Karena fungsi add
tersebut telah kalian pahami dan fungsi tersebut adalah fungsi yang murni, maka kita mencoba mendefinisikan fungsi yang baru dengan spesifikasi yang hampir sama (yah hanya salah satu paramater yang kita tetapkan nilainya).
Misalnya, kita membuat sebuah fungsi menambahkan nilai {N}
dengan 2, sehingga potongan kodenya seperti ini:
Difungsi ini kita menggunakan fungsi yang sudah kita buat sebelumnya (Reusable dari add
).
Dari kode tersebut, 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:
{N}
harus bertipe data (Javascript type-data){N}
HARUS di-operasikan dengan 2Misalnya, kita memulai dengan membuat sebuah fungsi yang murni, fungsi tersebut memiliki 2 parameter dengan nama parameter pertama yakni a
dengan tipe data Number
, kemudian paramater kedua bernama b
dengan tipe data yang sama dengan paramater sebelumnya, kita beri nama fungsi ialah add
, dan mengembalikan Number
dari sebuah operasi +
penjumlahan.
Dari definisi fungsi add
tersebut ketika parameter a
digantikan dengan 2
dan parameter b
digantikan dengan 3
maka hasilnya 5
. selama a
dan b
diberikan nilai yang sesuai (termasuk tipe data yang sudah kita definisikan pada komentar diatas fungsi). Maka, kita selalu mendapatkan hasil yang sama, apapun keadaan program kita ketika fungsi ini dipanggil yah akan selalu menghasilkan yang sama.
Karena fungsi add
tersebut telah kalian pahami dan fungsi tersebut adalah fungsi yang murni, maka kita mencoba mendefinisikan fungsi yang baru dengan spesifikasi yang hampir sama (yah hanya salah satu paramater yang kita tetapkan nilainya).
Misalnya, kita membuat sebuah fungsi menambahkan nilai {N}
dengan 2, sehingga potongan kodenya seperti ini:
Difungsi ini kita menggunakan fungsi yang sudah kita buat sebelumnya (Reusable dari add
).
Dari kode tersebut, 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:
{N}
harus bertipe data (Javascript type-data){N}
HARUS di-operasikan dengan 2Mendapat kepastian tentang artikel ini ?
Jika tidak, kamu boleh bertanya, memberikan kritik, atau apapun (terserah kamu) Kita: Diskusikan Disini
© 2024 - r17x with You
.