dasarfungsireturnPemula3 mnt baca

Return Value: Mengembalikan Nilai dari Fungsi

Memahami return untuk mengeluarkan hasil dari fungsi dan menghentikan eksekusinya.

Fungsi yang memberi hasil

Sejauh ini fungsi kita hanya mencetak ke console. Dengan return, fungsi bisa mengembalikan nilai yang kemudian dipakai di tempat lain:

javascript
function kuadrat(x) {
  return x * x;
}

let hasil = kuadrat(5);
console.log(hasil); // 25
console.log(kuadrat(3) + kuadrat(4)); // 9 + 16 = 25

Analoginya: fungsi tanpa return seperti mesin fotokopi yang hasil cetakannya langsung dibuang. Fungsi dengan return seperti kalkulator yang menampilkan hasilnya untuk kamu pakai.

return menghentikan fungsi

Begitu return dijalankan, fungsi langsung berhenti. Kode setelahnya tidak dieksekusi:

javascript
function cekUmur(umur) {
  if (umur < 0) {
    return "Umur tidak valid";
  }
  if (umur >= 17) {
    return "Boleh masuk";
  }
  return "Belum cukup umur";
}

Pola early return seperti ini membuat kode lebih datar dan mudah dibaca daripada if-else bertingkat.

return vs console.log

Ini kebingungan klasik pemula. console.log hanya menampilkan ke console untuk debugging, nilainya tidak bisa dipakai lagi. return mengeluarkan nilai yang bisa disimpan atau diolah:

javascript
function tambah(a, b) {
  console.log(a + b); // tampil di console, tapi...
}
let x = tambah(2, 3); // x = undefined!

function tambahBenar(a, b) {
  return a + b;
}
let y = tambahBenar(2, 3); // y = 5, bisa dipakai

Catatan teknis: Fungsi tanpa return (atau return tanpa nilai) mengembalikan undefined secara otomatis. Jadi kalau hasil fungsimu undefined padahal tidak seharusnya, cek dulu apakah ada return di dalamnya.

Mengembalikan banyak nilai

return hanya bisa mengembalikan satu nilai, tapi satu nilai itu bisa berupa array atau object:

javascript
function statistik(angka) {
  let total = angka.reduce((a, b) => a + b, 0);
  return {
    total: total,
    rata: total / angka.length,
    jumlah: angka.length
  };
}

let hasil = statistik([10, 20, 30]);
console.log(hasil.rata); // 20

// atau langsung destructuring
let { total, rata } = statistik([10, 20, 30]);
console.log(total, rata); // 60 20

Pola mengembalikan object sangat umum di JavaScript. Dibanding mengembalikan array, object punya nama properti yang menjelaskan arti tiap nilai. Pemanggil tidak perlu hafal urutan, cukup sebut namanya.

Kesimpulan

Gunakan return untuk fungsi yang menghitung atau menghasilkan sesuatu, console.log hanya untuk debugging. Kebiasaan ini membuat fungsimu bisa dirangkai menjadi program yang lebih besar.