Variabel & Konstanta

Variabel & Konstanta 📦

Variabel adalah tempat penyimpanan data dalam program. Di JavaScript, ada tiga cara untuk mendeklarasikan variabel: var, let, dan const.


Apa itu Variabel?

Bayangkan variabel seperti kotak berlabel — kamu bisa menaruh nilai di dalamnya, membacanya, dan mengubahnya:

let nama = 'Budi';    // kotak bernama "nama" berisi teks "Budi"
let umur = 25;        // kotak bernama "umur" berisi angka 25
let aktif = true;     // kotak bernama "aktif" berisi nilai true

console.log(nama);  // Budi
console.log(umur);  // 25

let — Variabel Modern

let adalah cara modern dan yang direkomendasikan untuk mendeklarasikan variabel yang nilainya bisa berubah:

let skor = 0;
console.log(skor); // 0

skor = 10;  // nilai berubah
console.log(skor); // 10

skor = skor + 5;
console.log(skor); // 15

Karakteristik let:

  • Bisa diubah nilainya setelah deklarasi
  • Hanya bisa diakses di dalam blok {} tempat ia dideklarasikan (block scope)
  • Tidak bisa dideklarasikan ulang di scope yang sama
let x = 10;
let x = 20; // ❌ Error! Tidak bisa deklarasi ulang

if (true) {
  let y = 5;  // hanya ada di dalam blok if ini
}
console.log(y); // ❌ Error! y tidak dikenal di sini

const — Konstanta

const digunakan untuk nilai yang tidak akan berubah setelah ditetapkan:

const PI = 3.14159;
const NAMA_APP = 'BelajarJS';
const URL_API = 'https://api.contoh.com';

PI = 3;  // ❌ Error! Nilai const tidak bisa diubah

Penting: const tidak berarti nilai di dalamnya tidak bisa diubah sama sekali. Untuk objek dan array, isi di dalamnya masih bisa dimodifikasi:

const orang = { nama: 'Budi', umur: 25 };
orang.umur = 26;  // ✅ Boleh — mengubah properti
orang = {};       // ❌ Error! Tidak bisa mengganti objek

const daftar = [1, 2, 3];
daftar.push(4);   // ✅ Boleh — menambah elemen
daftar = [];      // ❌ Error! Tidak bisa mengganti array

var — Cara Lama (Hindari)

var adalah cara lama sebelum ES6 (2015). Sebaiknya dihindari karena perilakunya yang sering membingungkan:

var nama = 'Budi';
var nama = 'Sari'; // ✅ Tidak error, tapi ini tidak ideal

// var memiliki function scope, bukan block scope
if (true) {
  var pesan = 'Halo';
}
console.log(pesan); // 'Halo' — var bocor ke luar blok!

// var mengalami hoisting
console.log(nilai); // undefined (bukan error!)
var nilai = 42;

Perbedaan var, let, const

Aspek var let const
Scope Function Block Block
Dapat diubah Ya Ya Tidak
Dapat dideklarasi ulang Ya Tidak Tidak
Hoisting Ya (undefined) Tidak bisa diakses Tidak bisa diakses
Rekomendasi Hindari Gunakan Gunakan

Aturan Penamaan Variabel

// ✅ Valid
let namaLengkap = 'Budi Santoso';   // camelCase — konvensi JavaScript
let umur = 25;
let _private = true;
let $harga = 50000;
let nama2 = 'nama kedua';

// ❌ Tidak Valid
let 2nama = 'salah';        // tidak boleh diawali angka
let nama lengkap = 'salah'; // tidak boleh ada spasi
let let = 'salah';          // tidak boleh pakai kata kunci JS

Konvensi penamaan yang umum di JavaScript:

// camelCase — untuk variabel dan fungsi
let namaDepan = 'Budi';
let totalHarga = 150000;
function hitungTotal() {}

// PascalCase — untuk class dan komponen
class OrangPengguna {}

// UPPER_SNAKE_CASE — untuk konstanta yang benar-benar tidak berubah
const BATAS_MAKSIMUM = 100;
const URL_SERVER = 'https://api.example.com';

Deklarasi vs Inisialisasi

// Deklarasi saja (nilai undefined)
let nama;
console.log(nama); // undefined

// Deklarasi + Inisialisasi
let umur = 25;

// Inisialisasi kemudian
let skor;
skor = 100;

// const HARUS diinisialisasi saat deklarasi
// const PI;        // ❌ Error!
const PI = 3.14;    // ✅ Benar

💡 Tips: Gunakan const sebagai default — jika nanti ternyata nilainya perlu berubah, ubah ke let. Hindari var sepenuhnya. Aturan sederhana ini membuat kode lebih mudah diprediksi dan bug lebih mudah ditemukan. 🎯

Informasi Kursus

Kursus

JavaScript Dasar

Kategori

Dasar JavaScript

Durasi Pelajaran

20 menit

Pelajaran dalam Kategori Ini