Bicara soal engine mobil, kita tahu ada dua pendekatan utama yang menggerakkan kendaraan kita: mekanik dan elektronik. Sama halnya dengan JavaScript, cara membuat fungsi juga mengalami evolusi dari cara lama ke cara modern. Di artikel JS-16 ini, kita akan mengupas perbandingan function declaration dan expression—seperti membandingkan tune-up karburator lawas dengan upgrade ECU terbaru. Yuk, gas pol!
Mekanik vs Elektronik: Evolusi Cara Kerja Mesin
Dalam dunia otomotif, mesin mekanik dulu adalah rajanya. Fungsi-fungsinya diatur secara manual, dan setiap setting perlu di-tweak secara hati-hati dengan peralatan sederhana. Analoginya, function declaration di JavaScript seperti mesin mekanik: jelas, langsung, dan mudah dimengerti.
Namun seiring perkembangan teknologi, mesin elektronik dengan ECU (Electronic Control Unit) hadir membawa fleksibilitas dan efisiensi yang lebih baik. Dalam JavaScript, ini bisa kita samakan dengan function expression dan arrow function; mereka lebih compact, fleksibel, dan cocok untuk kebutuhan pemrograman masa kini.
Terminologi: Function Declaration dan Function Expression
Sebelum masuk ke kode, mari pahami dulu apa bedanya dua istilah ini.
– **Function Declaration**: Fungsi yang kita definisikan dengan keyword `function` di awal dan langsung diberi nama. Ini mirip seperti mesin yang selalu standby, siap dinyalakan kapan saja karena sudah terpasang di tempatnya.
– **Function Expression**: Fungsi ini disimpan dalam variabel dan bisa anonim atau punya nama. Ini bagaikan modul elektronik yang bisa kita pasang dan cabut sesuai kebutuhan, fleksibel dan bisa dipindah-pindah.
Contohnya, function declaration memiliki hoisting, yang artinya kamu bisa menggunakan fungsi sebelum kamu mendeklarasikannya di kode. Sedangkan function expression tidak punya fitur ini.
Fungsi Dasar: Contoh Kode di JavaScript
Oke, saatnya kita lihat contoh langsung bagaimana dua cara ini bekerja. Anggap saja kita ingin bikin fungsi untuk menghitung kecepatan rata-rata mobil (jarak / waktu).
Contoh Function Declaration (Cara Lama)
function hitungKecepatan(jarak, waktu) {
// Kecepatan = jarak dibagi waktu
return jarak / waktu;
}
// Panggil fungsi
console.log(hitungKecepatan(150, 2)); // Output: 75
Function declaration jelas dan mudah diikuti, cocok buat yang baru belajar dan butuh struktur kaku seperti tuning mesin klasik.
Contoh Function Expression (Cara Modern)
const hitungKecepatan = function(jarak, waktu) {
return jarak / waktu;
};
console.log(hitungKecepatan(200, 2.5)); // Output: 80
Function expression juga menghasilkan hal yang sama tapi lebih fleksibel—kamu bisa mengoper fungsi ini sebagai parameter, atau menuliskannya anonim.
Variasi Arrow Function (Modern dan Ringkas)
const hitungKecepatan = (jarak, waktu) => jarak / waktu;
console.log(hitungKecepatan(120, 1.5)); // Output: 80
Arrow function memberi sintaks lebih ringkas, mirip ECU yang sudah optimal dengan pengaturan otomatis.
Masa Depan: Dari Garasi ke Algoritma
Sama seperti dunia otomotif yang kini mayoritas mengandalkan sistem elektronik dengan modul-modul yang bisa dicustom dan di-update lewat software, dunia pemrograman pun bergerak ke modularisasi. Memecah fungsi-fungsi kecil yang bisa dipakai ulang, seperti suku cadang mobil yang bisa diganti tanpa bongkar total mesin.
Dengan cara ini, algoritma jauh lebih efisien dan maintenance-nya gampang. Misalnya, kita bisa buat fungsi untuk hitung kecepatan, fungsi untuk kalkulasi bahan bakar, dan fungsi-fungsi lainnya secara terpisah dalam modul yang terorganisasi rapi.
Ini mengingatkan kita pada tren tuning mobil 2025 di Indonesia, yang semakin didominasi oleh sistem control otomatis, pemetaan ulang ECU, dan penggunaan AI untuk optimasi performa tanpa harus menyentuh mesin langsung.
—
Masa Depan: Dari Garasi ke Algoritma
Dari perjuangan mekanik manual hingga kemudahan elektronik, evolusi fungsi di JavaScript mengajarkan kita pentingnya adaptasi dan modularitas. Mulai dari function declaration yang stabil, beralih ke expression yang fleksibel, hingga arrow function yang efisien, semua menawarkan pilihan untuk membangun kode yang lebih solid dan mudah dikelola. Terus explore, modifikasi terus kodenya, dan bikin karya digitalmu sehebat modifikasi mobil idaman!
—
Mau tahu trik JavaScript lain yang bisa bikin codingmu makin kinclong? Jangan lupa subscribe newsletter Otokreasi.com dan cek seri JavaScript Algorithm terbaru tiap minggunya—langsung dari garasi algoritma ke komputer kamu!





