Fungsi Dasar
Membuat blok kode yang bisa dipakai ulang dengan function: deklarasi, pemanggilan, dan manfaat DRY.
Fungsi itu mesin mini
Fungsi adalah blok kode yang diberi nama dan bisa dijalankan berkali-kali. Analoginya seperti mesin: kamu tidak perlu tahu cara kerja dalamnya, cukup tekan tombol (panggil namanya) dan dapatkan hasilnya.
function sapa() {
console.log("Halo, selamat datang!");
}
sapa(); // memanggil fungsi
sapa(); // bisa dipanggil berkali-kaliTanpa fungsi, kamu harus menyalin-tempel kode yang sama di setiap tempat. Itu melanggar prinsip DRY (Don't Repeat Yourself).
Deklarasi vs pemanggilan
Mendefinisikan fungsi tidak menjalankannya. Kode di dalam fungsi baru berjalan saat dipanggil dengan tanda kurung:
function hitungLuas() {
let panjang = 5;
let lebar = 3;
console.log(panjang * lebar);
}
// belum ada output, fungsi baru didefinisikan
hitungLuas(); // 15, sekarang dijalankanLupa tanda kurung adalah kesalahan umum pemula: hitungLuas tanpa kurung hanya merujuk ke fungsinya, tidak menjalankannya.
Fungsi yang melakukan satu hal
Fungsi yang baik mengerjakan satu tugas dan namanya menjelaskan tugas itu:
function hitungRataRata(a, b, c) {
return (a + b + c) / 3;
}
function tampilkanPesan(pesan) {
console.log("Pesan: " + pesan);
}Nama fungsi memakai kata kerja: hitung, tampilkan, ambil, simpan. Kalau nama fungsi butuh kata "dan" (misalnya hitungDanTampilkan), itu tanda ia mengerjakan dua hal dan sebaiknya dipecah.
Catatan teknis: Ada dua cara membuat fungsi: function declaration (function nama() {}) dan function expression (const nama = function() {}). Declaration mengalami hoisting sehingga bisa dipanggil sebelum didefinisikan, sedangkan expression tidak. Detail hoisting dibahas di modul tersendiri.
Fungsi memanggil fungsi
Fungsi bisa memanggil fungsi lain. Ini cara membangun program besar dari bagian kecil yang masing-masing mudah dipahami:
function kuadrat(x) {
return x * x;
}
function jumlahKuadrat(a, b) {
return kuadrat(a) + kuadrat(b);
}
console.log(jumlahKuadrat(3, 4)); // 9 + 16 = 25jumlahKuadrat tidak perlu tahu cara menguadratkan, ia percaya kuadrat melakukannya dengan benar. Ini disebut komposisi, dan ini cara programmer memecah masalah besar jadi potongan kecil.
Aturan praktis: kalau sebuah fungsi lebih dari 20-30 baris, kemungkinan ia mengerjakan terlalu banyak hal. Pecah jadi fungsi-fungsi kecil dengan nama jelas, lalu rangkai. Kode yang tersusun dari fungsi kecil jauh lebih mudah dites dan diperbaiki.
Kesimpulan
Fungsi mengubah kode sekali-pakai jadi alat yang bisa dipakai ulang. Mulai biasakan membungkus logika berulang jadi fungsi dengan nama yang jelas, ini fondasi kode yang rapi.