Menu
CoddyTech

Fungsi Murni

Pelajaran 3 dari 14 dalam kursus Deklarasi Fungsi di JavaScript di Coddy.

Di JavaScript, fungsi murni adalah fungsi yang selalu mengembalikan output yang sama jika diberi input yang sama dan tidak menghasilkan efek samping yang dapat diamati. Fungsi murni tidak mengubah state eksternal atau berinteraksi dengan variabel di luar fungsi.

Fungsi murni sangat berguna untuk:
Transformasi data: Ideal untuk memetakan, memfilter, dan mereduksi data.
Manajemen state: Memastikan imutabilitas state, terutama dalam framework seperti Redux.

Sintaks fungsi murni:

function add(a, b) {
	return a + b;
}

Fungsi 'add' di atas bersifat murni karena selalu menghasilkan hasil yang sama untuk input yang sama dan tidak memengaruhi state eksternal apa pun.

Sintaks fungsi tidak murni:

let counter = 0;
function increment() {
	return counter++;
}

Fungsi 'increment' ini tidak murni karena mengubah variabel atau state eksternal, sehingga menimbulkan efek samping.

Merefaktor fungsi tidak murni menjadi fungsi murni:

let total = 0;

// Fungsi tidak murni 
function addToTotal(amount) {
    total += amount;
    return total;
}

// Mengubah fungsi tidak murni menjadi fungsi murni
// Fungsi murni (membuat total baru)
function addToTotal(total, amount) {
	return total + amount;
}

Dalam contoh di atas, merefaktor fungsi tidak murni menjadi fungsi murni memastikan fungsi tersebut mengembalikan object baru tanpa mengubah object asli.

challenge icon

Tantangan

Mudah

Kamu perlu menulis kode JavaScript untuk memfaktorkan ulang fungsi tidak murni yang ada menjadi fungsi murni, beri nama fungsi ini nextBirthday.

Fungsi ini harus menerima satu argumen, yaitu usia.

Coba sendiri

let userAge = 24;

// Fungsi tidak murni 
function celebrateBirthday() {
    userAge += 1;
    return userAge; 
} 
// Jangan ubah kode di atas
// Tulis kodemu di sini

Semua pelajaran di Deklarasi Fungsi di JavaScript

Latihan sendiri: Compiler JavaScript online