Basic JavaScript: Dari Nol sampai Proyek Pertama5/10

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.