Function & Scope dalam JavaScript: Fondasi Penting yang Wajib Dipahami

Kalau kamu sedang belajar JavaScript—apalagi kalau ingin serius masuk ke dunia web development atau bahkan AI berbasis JavaScript—dua konsep yang wajib benar-benar dipahami adalah: function dan scope.
Kenapa?
Karena hampir semua logika program JavaScript berdiri di atas dua hal ini.

Apa Itu Function di JavaScript?

Function adalah blok kode yang bisa dipanggil kembali untuk menjalankan tugas tertentu.
Bayangkan function seperti “mesin kecil” yang bisa kamu gunakan berulang kali tanpa harus menulis ulang kodenya.

🔹 Contoh Dasar Function :


function sapa() { console.log("Halo dunia!"); } sapa(); // Memanggil function

Output:


Halo dunia!

🔹 Function dengan Parameter

Parameter membuat function jadi fleksibel.


function sapa(nama) { console.log("Halo " + nama); } sapa("Budi");

Output:


Halo Budi

🔹 Function dengan Return Value

Function juga bisa mengembalikan nilai.


function tambah(a, b) { return a + b; } let hasil = tambah(5, 3); console.log(hasil);

Output:


8

return itu penting. Tanpa return, function hanya menjalankan kode tapi tidak mengembalikan hasil.

Jenis-Jenis Function di JavaScript

🔹 Function Declaration


function kali(a, b) { return a * b; }

Bisa dipanggil sebelum didefinisikan (karena hoisting).

🔹 Function Expression


const bagi = function(a, b) { return a / b; };
Tidak bisa dipanggil sebelum didefinisikan.

🔹 Arrow Function (Modern JavaScript)


const kurang = (a, b) => { return a - b; };
Versi singkatnya:

const kurang = (a, b) => a - b;

Arrow function sering dipakai di React, Node.js, dan berbagai framework modern.

Apa Itu Scope?

Scope adalah ruang lingkup di mana sebuah variabel bisa diakses.
Banyak bug di JavaScript terjadi karena orang belum paham scope.

🔹 Global Scope

Variabel yang dideklarasikan di luar function bisa diakses di mana saja.


let nama = "Andi"; function cetak() { console.log(nama); } cetak();

🔹 Function Scope

Variabel yang dibuat di dalam function hanya bisa diakses di dalam function itu saja.


function contoh() { let umur = 25; console.log(umur); } contoh(); console.log(umur); // Error!

Kenapa error?
Karena umur hanya hidup di dalam function.

🔹 Block Scope (let & const)

Sejak ES6, let dan const punya block scope.


if (true) { let angka = 10; console.log(angka); } console.log(angka); // Error

Berbeda dengan var yang tidak punya block scope.

Scope Chain (Konsep Penting!)

JavaScript mencari variabel dari dalam ke luar.
Contoh:


let globalVar = "Saya global"; function luar() { let luarVar = "Saya di luar"; function dalam() { console.log(globalVar); console.log(luarVar); } dalam(); } luar();

Urutan pencarian:

  • Cek di dalam function sekarang
  • Jika tidak ada, naik ke atas
  • Terus naik sampai global
  • Jika tidak ketemu → error
Inilah yang disebut scope chain.

Kenapa Ini Penting?

Kalau kamu:
  • Mau jadi web developer
  • Mau masuk ke backend Node.js
  • Mau belajar React
  • Mau bikin logic trading bot
  • Mau bikin AI berbasis JavaScript
Maka memahami function & scope itu bukan pilihan — itu wajib.


Karena:

  • 80% bug pemula berasal dari scope
  • Closure (konsep lanjutan) bergantung pada scope
  • Async programming juga sangat berkaitan dengan function

Kesalahan Umum Pemula

  • ❌ Lupa pakai let / const
  • ❌ Salah paham hoisting
  • ❌ Mengira variabel di dalam function bisa diakses di luar
  • ❌ Terlalu banyak global variable

Kesimpulan

Function = Mesin logika
Scope = Batas wilayah variabel


Kalau kamu kuasai dua ini, kamu sudah naik level dari pemula ke menengah.

Next Post Previous Post
No Comment
Add Comment
comment url