Kalau kita ngobrolin mobil masa kini, kamu pasti paham dong, bagaimana berbagai sensor bekerja menangkap info berbeda untuk menghasilkan performa optimal. Ada sensor suhu, tekanan, bahkan sensor parkir yang saling melengkapi input buat sistem kendali mesin. Mirip sekali dengan cara JavaScript menerima *input* lewat parameter fungsi. Di artikel JS-18 kali ini, kita bakal kulik gimana JavaScript bisa bikin fungsi jadi fleksibel lewat parameter, nilai default, dan rest operator. Yuk, siap-siap membuka kap mesin algoritma!
Sensor Berbeda untuk Input: Analogi Dunia Otomotif
Bayangin kamu punya mobil balap yang penuh sensor untuk menangkap kondisi jalan dan mesin. Sensor-sensor itu nggak harus aktif semua sekaligus, tapi harus bisa menyesuaikan kebutuhan kondisi sebenarnya. Misalnya, saat balapan di sirkuit basah, sensor grip ban lebih diutamakan ketimbang sensor kecepatan maksimal. Sama halnya saat menulis fungsi di JavaScript, kita sering perlu agar fungsi bisa menerima input yang variatif dan nggak kaku jumlah atau tipenya.
Ini membuat fungsi JavaScript seperti mobil canggih yang siap menerima “input sensor” yang fleksibel: entah satu nilai, beberapa nilai, atau bahkan tanpa nilai sama sekali—selama fungsi itu bisa *mengerti* dan memprosesnya dengan benar.
Mengenal Parameter, Default Value, dan Rest Operator
Parameter adalah “jalur input” fungsi. Kalau kamu pernah modifikasi mesin, parameter ini ibarat tuning yang bisa kita atur supaya mesin bisa optimal dalam berbagai situasi.
– **Parameter**: Variabel yang kita deklarasikan saat bikin fungsi, jadi tempat menerima input.
– **Default Value**: Nilai bawaan parameter apabila kita lupa memasukkan input. Ini penting supaya mesin (fungsi) tetap jalan meski input minim.
– **Rest Operator (`…`)**: Fitur canggih untuk nge-gather semua parameter tambahan jadi satu array. Ini seperti punya satu jalur kabel yang ngumpulin semua sinyal sensor lebih banyak tanpa perlu nambahin jalur baru tiap sensor.
Kombinasi ketiganya bikin kita bisa bikin fungsi serap berbagai input dengan gaya yang super fleksibel, bikin kode lebih rapi dan praktis.
Fungsi Fleksibel dengan Parameter, Default Value, dan Rest Operator
Sekarang kita coba pakai tiga teknik ini ke dalam tiga contoh fungsi JavaScript yang bisa kamu jalankan langsung di browser console atau Node.js.
1. Parameter dan Default Value Paling Dasar
// Fungsi hitung luas segitiga dengan default tinggi 10
function hitungLuasSegitiga(alas, tinggi = 10) {
return 0.5 * alas * tinggi;
}
console.log(hitungLuasSegitiga(5)); // Output: 25 (tinggi=10 default)
console.log(hitungLuasSegitiga(5, 8)); // Output: 20 (tinggi=8 input manual)
Kita lihat, kalau tinggi tidak diberikan, fungsi ambil nilai default 10. Ini mirip sensor yang siap memberi data standar saat info asli belum tersedia.
2. Rest Operator untuk jumlah input tak terbatas
// Fungsi jumlahkan semua angka input tanpa batas
function jumlahkanSemua(...angka) {
return angka.reduce((total, nilai) => total + nilai, 0);
}
console.log(jumlahkanSemua(1, 2, 3)); // Output: 6
console.log(jumlahkanSemua(10, 20, 30, 40)); // Output: 100
Dengan rest operator, kita bisa punya fungsi seperti ECU (Engine Control Unit) yang mengumpulkan data sensor dari semua titik tanpa pusing soal jumlah input.
3. Kombinasi Parameter Tetap, Default, dan Rest Operator
// Fungsi input fleksibel: satu nama, nilai default umur, dan daftar hobi
function profilPengguna(nama, umur = 20, ...hobi) {
return {
nama,
umur,
hobi: hobi.length ? hobi : ['tidak ada hobi']
};
}
console.log(profilPengguna('Andi', 25, 'ngoprek', 'balap motor'));
// { nama: 'Andi', umur: 25, hobi: [ 'ngoprek', 'balap motor' ] }
console.log(profilPengguna('Sari'));
// { nama: 'Sari', umur: 20, hobi: [ 'tidak ada hobi' ] }
Kondisi fungsi yang mirip ECU modern yang fleksibel menerima data user tidak lengkap sekalipun, masih bisa menangani dengan baik.
Masa Depan: Dari Garasi ke Algoritma
Seiring teknologi otomotif makin maju, mobil masa depan makin pintar dalam beradaptasi dengan input dari berbagai sensor sekaligus. Nah, pendekatan serupa juga berlaku dalam pemrograman algoritma: kemampuan fungsi menerima input yang fleksibel, default cerdas, dan pengumpulan data dinamis sangat berguna di berbagai aplikasi, mulai dari simulasi mesin hingga otomasi produksi.
Dengan kenalan parameter, default value, dan rest operator, kamu melangkah lebih dekat jadi “mekanik kode” yang siap utak-atik fungsi sesuai kebutuhan. Cobalah implementasikan di proyek kamu, biar semakin paham dan berasa power boost-nya!
—
Mau terus upgrade skill JavaScript dan algoritma sambil ngobrol santai di garasi digital? Stay tuned di Otokreasi.com!



