Alur Program · Pelajaran 6 dari 10

Fungsi dan arrow function

9 menit baca · BelajarCode

Deklarasi fungsi

JavaScript
1function luasPersegiPanjang(panjang, lebar) {2  return panjang * lebar;3}45console.log(luasPersegiPanjang(4, 3));6console.log(luasPersegiPanjang(5, 4) + luasPersegiPanjang(2, 2));
Keluaran
12
24

Parameter dengan nilai bawaan

JavaScript
1function sapa(nama, salam = "Halo") {2  return `${salam}, ${nama}!`;3}45console.log(sapa("Bima"));6console.log(sapa("Bima", "Selamat pagi"));
Keluaran
Halo, Bima!
Selamat pagi, Bima!

Arrow function

Arrow function adalah cara ringkas menulis fungsi. Jika isinya hanya satu ekspresi, kurung kurawal dan return boleh dihilangkan.

JavaScript
1const kuadrat = (x) => x * x;2const rataRata = (a, b, c) => (a + b + c) / 3;3const keteranganNilai = (nilai) => {4  if (nilai >= 75) return "tuntas";5  return "remedial";6};78console.log(kuadrat(7));9console.log(rataRata(80, 90, 85));10console.log(keteranganNilai(70));
Keluaran
49
85
remedial

Fungsi sebagai nilai

Di JavaScript, fungsi bisa disimpan di variabel dan dikirim ke fungsi lain. Fungsi yang dikirim seperti ini disebut callback.

JavaScript
1function ulangi(kali, aksi) {2  for (let i = 1; i <= kali; i++) {3    aksi(i);4  }5}67ulangi(3, (ke) => console.log(`Langkah ${ke}`));
Keluaran
Langkah 1
Langkah 2
Langkah 3

Pola callback ini sangat sering dipakai, misalnya untuk menentukan apa yang terjadi saat tombol ditekan.

Ruang lingkup blok

Variabel let dan const hanya berlaku di dalam blok { } tempat ia dibuat.

JavaScript
1const pesan = "di luar";2if (true) {3  const pesan = "di dalam";4  console.log(pesan);5}6console.log(pesan);
Keluaran
di dalam
di luar

Cek pemahaman

Apa hasil const tambah = (a, b = 10) => a + b; lalu console.log(tambah(5));?

Latihan

Konversi suhu

Buat dua arrow function: keFahrenheit(c) dengan rumus c × 9 / 5 + 32 dan keKelvin(c) dengan rumus c + 273.15. Tampilkan konversi untuk 0, 37, dan 100 derajat Celsius.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler JavaScript online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi