Variabel & Tipe Data JS
Belajar cara mendeklarasikan variabel di JavaScript untuk menyimpan berbagai jenis nilai, dan kenali tipe-tipe data primitif seperti String, Number, dan Boolean.
Nyimpen Data di JavaScript: Kenalan Sama Variabel & Tipe Datanya!
Udah bisa "ngobrol" sama JavaScript pake console.log()
? Keren! Sekarang, gimana caranya biar
JavaScript bisa "inget" sesuatu? Misalnya, kita mau nyimpen nama pengguna, umur, skor game, atau
status login. Nah, buat nyimpen informasi atau nilai-nilai kayak gitu, kita pake yang namanya
Variabel.
Apa Itu Variabel? Si "Wadah" Penyimpan Nilai
Bayangin aja variabel itu kayak wadah, kotak, atau label yang bisa kamu kasih nama, terus kamu isi sama suatu nilai. Nilai di dalem wadah itu bisa macem-macem, bisa teks, angka, atau jenis data lainnya. Dan yang seru, isi wadahnya (nilainya) itu bisa berubah-ubah seiring program kita jalan (kecuali kalau kita pake jenis variabel tertentu yang nilainya tetap).
Dengan variabel, kita bisa:
- Nyimpen data biar bisa dipake lagi nanti di bagian kode lain.
- Bikin kode jadi lebih gampang dibaca karena kita bisa ngasih nama yang deskriptif ke data kita.
- Ngubah nilai data dengan mudah.
Cara Bikin (Deklarasi) Variabel di JavaScript
Di JavaScript modern (ES6 ke atas), ada dua keyword utama buat bikin atau mendeklarasikan
variabel: let
dan const
. Dulu ada juga var
, tapi penggunaannya udah mulai ditinggalkan karena
beberapa perilakunya yang bisa bikin bingung.
-
let
:- Dipake buat deklarasiin variabel yang nilainya bisa diubah (reassigned) nanti.
- Kamu bisa deklarasiin dulu tanpa ngasih nilai awal (dia bakal otomatis jadi
undefined
), atau bisa juga langsung dikasih nilai.
javascript let namaPengguna; // Deklarasi variabel 'namaPengguna' tanpa nilai awal namaPengguna = "Budi"; // Ngasih nilai ke variabel console.log(namaPengguna); // Output: Budi let usia = 25; // Deklarasi variabel 'usia' dan langsung ngasih nilai console.log(usia); // Output: 25 usia = 26; // Nilai 'usia' bisa diubah console.log(usia); // Output: 26
-
const
(Constant / Konstanta):- Dipake buat deklarasiin variabel yang nilainya TIDAK BISA diubah lagi setelah pertama kali dikasih nilai (read-only).
- Variabel
const
wajib langsung dikasih nilai pas deklarasi. - Ini berguna banget buat nilai-nilai yang emang seharusnya gak berubah di sepanjang program (misalnya, nilai pi, URL API, atau konfigurasi tetap).
javascript const PI = 3.14159; console.log(PI); // Output: 3.14159 // PI = 3.14; // Ini bakal error! Nilai const gak bisa diubah. const namaSitus = "WebsiteKeren.com"; // namaSitus = "WebsiteLain.com"; // Error juga!
- Penting soal
const
dengan Objek dan Array: Kalau kamu bikin objek atau array pakeconst
, kamu gak bisa nge-reassign variabel itu ke objek/array baru. Tapi, kamu masih bisa ngubah isi (properti atau elemen) dari objek/array itu sendiri. Bingung? Nanti kita bahas lebih dalem pas udah belajar objek dan array ya. Untuk sekarang, anggep aja nilai primitif diconst
itu bener-bener gak bisa diubah.
-
var
(Cara Lama, Hindari Jika Bisa):- Ini cara lama buat deklarasiin variabel sebelum ES6.
var
punya beberapa perilaku soal scope (jangkauan variabel) yang beda samalet
danconst
(namanya function scope bukan block scope), yang kadang bisa nyebabin bug aneh.- Saran: Di JavaScript modern, usahakan selalu pake
let
atauconst
. Pakeconst
secara default, kecuali kalau kamu tau nilainya bakal berubah, baru pakelet
. Hindarivar
kecuali kalau kamu kerja di proyek lama yang masih pake itu.
Aturan Penamaan Variabel (Identifier Rules & Conventions):
- Nama variabel bisa terdiri dari huruf, angka, underscore (
_
), atau tanda dolar ($
). - Gak boleh diawali angka.
- Case-sensitive:
namaSaya
itu beda samaNamasaya
ataunamasaya
. - Gak boleh pake reserved keywords (kata-kata yang udah punya arti khusus di JavaScript, kayak
let
,const
,function
,if
,for
, dll.). - Konvensi Umum:
- Pake camelCase buat nama variabel yang terdiri dari beberapa kata (kata pertama huruf kecil,
kata berikutnya diawali huruf besar). Contoh:
namaLengkapPengguna
,totalHargaBarang
. - Pilih nama yang deskriptif dan ngejelasin isi variabelnya. Daripada
x = 10;
, mendingjumlahItem = 10;
.
- Pake camelCase buat nama variabel yang terdiri dari beberapa kata (kata pertama huruf kecil,
kata berikutnya diawali huruf besar). Contoh:
Tipe Data Primitif di JavaScript: Jenis-Jenis "Isi" Variabel
Nilai yang kamu simpen di variabel itu bisa macem-macem jenisnya. Di JavaScript, ada beberapa Tipe Data Primitif (tipe data dasar):
-
String
(Teks):- Dipake buat nyimpen data teks (urutan karakter).
- Ditulis di antara tanda kutip tunggal (
'...'
), kutip ganda ("..."
), atau backtick (`...`
- ini disebut Template Literals, punya fitur lebih). - Contoh:
javascript let salam = "Halo, JavaScript!"; let namaDepan = "Budi"; let pesanLengkap = `Selamat datang, ${namaDepan}!`; // Pake template literal console.log(pesanLengkap); // Output: Selamat datang, Budi!
-
Number
(Angka):- Dipake buat nyimpen angka, baik itu bilangan bulat (integer) maupun bilangan desimal (floating-point).
- Gak ada pembedaan tipe
int
ataufloat
kayak di beberapa bahasa lain, semuanyaNumber
. - Contoh:
javascript let umur = 30; let harga = 1500.75; let suhuNegatif = -10;
- Ada juga nilai angka spesial:
Infinity
,-Infinity
, danNaN
(Not a Number – biasanya hasil dari operasi matematika yang gak valid, misal0/0
).
-
Boolean
(Logika Benar/Salah):- Cuma punya dua nilai:
true
(benar) ataufalse
(salah). - Sering dipake buat kondisi di pernyataan
if
atau hasil perbandingan. - Contoh:
javascript let sudahMenikah = false; let lampuMenyala = true; let lebihBesar = 10 > 5; // Hasilnya true console.log(lebihBesar); // Output: true
- Cuma punya dua nilai:
-
undefined
:- Variabel yang udah dideklarasiin tapi belum dikasih nilai awal itu otomatis punya nilai
undefined
. - Ini juga tipe datanya sendiri.
- Contoh:
javascript let pekerjaan; console.log(pekerjaan); // Output: undefined
- Variabel yang udah dideklarasiin tapi belum dikasih nilai awal itu otomatis punya nilai
-
null
:- Ini nilai spesial yang nunjukin "tidak ada nilai" atau "nilai kosong" secara sengaja.
- Beda sama
undefined
.null
itu harus kita set secara eksplisit. - Contoh:
javascript let dataPengguna = null; // Sengaja dikosongin, mungkin nanti diisi data
-
Symbol
(ES6 ke Atas):- Tipe data yang nilainya unik dan immutable (gak bisa diubah). Jarang dipake sama pemula, lebih buat kasus-kasus advance kayak bikin properti objek yang unik. Kita skip dulu detailnya ya.
-
BigInt
(ES2020 ke Atas):- Dipake buat nyimpen angka integer yang gedenya luar biasa, lebih gede dari yang bisa ditampung
tipe
Number
biasa. Juga jarang dipake pemula.
- Dipake buat nyimpen angka integer yang gedenya luar biasa, lebih gede dari yang bisa ditampung
tipe
JavaScript itu Dynamically Typed (Tipenya Dinamis): Artinya, kamu gak perlu nentuin tipe data variabel pas deklarasi. Tipe data variabel bakal otomatis ditentuin sama JavaScript berdasarkan nilai yang kamu kasih ke variabel itu. Dan, tipe data sebuah variabel juga bisa berubah kalau kamu ngasih nilai baru dengan tipe yang beda (meskipun ini kadang bisa jadi sumber bug kalau gak hati-hati).
let x = 10; // x sekarang tipenya Number
console.log(typeof x); // Output: "number"
x = "Halo"; // x sekarang tipenya String
console.log(typeof x); // Output: "string"
Mengecek Tipe Data Pake typeof
Kalau kamu pengen tau tipe data dari sebuah variabel atau nilai, kamu bisa pake operator typeof
.
console.log(typeof "Budi"); // Output: "string"
console.log(typeof 123); // Output: "number"
console.log(typeof true); // Output: "boolean"
console.log(typeof undefined); // Output: "undefined"
console.log(typeof null); // Output: "object" (Ini salah satu "quirk" atau keanehan JavaScript, null seharusnya primitif tapi typeof-nya object)
let nama;
console.log(typeof nama); // Output: "undefined"
Variabel dan tipe data ini adalah blok bangunan paling dasar di JavaScript (dan bahasa pemrograman lainnya). Dengan ngerti cara nyimpen dan jenis-jenis data yang bisa disimpen, kamu udah siap buat mulai ngelakuin operasi, perbandingan, dan bikin logika di kodemu.
Di materi berikutnya, kita bakal ngoprek berbagai macam operator yang bisa kamu pake buat ngolah data-data ini!
Kuis Variabel & Tipe Data JS
Pertanyaan 1 dari 5
Keyword JavaScript apa yang digunakan untuk mendeklarasikan variabel yang nilainya BISA diubah (reassigned) setelah deklarasi?