Bab 5 dari 10
Fungsi dan Scope
Fungsi membungkus pekerjaan tertentu agar dapat dipanggil berulang kali. Fungsi yang baik memiliki satu tanggung jawab yang jelas.
Function declaration
Code
function hitungLuasPersegiPanjang(panjang, lebar) {
return panjang * lebar;
}
const luas = hitungLuasPersegiPanjang(8, 4);
console.log(luas); // 32
panjang dan lebar adalah parameter. Nilai 8 dan 4 adalah argumen. return mengirim hasil keluar dari fungsi.
Arrow function
Code
const formatRupiah = nilai => {
return `Rp${nilai.toLocaleString("id-ID")}`;
};
console.log(formatRupiah(125000));
Untuk satu ekspresi, bentuknya dapat dipersingkat:
Code
const kuadrat = angka => angka * angka;
Default parameter
Code
function sapa(nama = "Teman") {
return `Halo, ${nama}!`;
}
Scope
Variabel yang dibuat di dalam blok hanya tersedia di blok tersebut.
Code
const aplikasi = "Kasir";
function cetakInfo() {
const versi = "1.0";
console.log(aplikasi, versi);
}
cetakInfo();
// console.log(versi); // ReferenceError
Hindari terlalu banyak variabel global karena dapat saling bertabrakan.
Fungsi murni
Fungsi murni menghasilkan output yang sama untuk input yang sama dan tidak mengubah data di luar dirinya.
Code
function hitungDiskon(harga, persen) {
return harga - harga * (persen / 100);
}
Latihan
Buat fungsi hitungNilaiAkhir(tugas, uts, uas) dengan bobot 30%, 30%, dan 40%. Buat fungsi kedua untuk mengubah hasilnya menjadi predikat A sampai D.