Aturan Penamaan Variabel
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah membaca halaman ini, kamu akan mampu:
- Membedakan aturan wajib dan konvensi penamaan variabel
- Menulis nama variabel menggunakan gaya camelCase
- Menghindari nama variabel yang buruk atau tidak valid
Pendahuluan
Section titled “Pendahuluan”Dalam programming, nama variabel itu penting. Bukan hanya agar kode bisa berjalan, tapi agar kode bisa dibaca dan dipahami — oleh diri sendiri di masa depan, dan oleh orang lain yang bekerja bersama kamu.
Ada dua hal yang perlu dipisahkan: aturan wajib (jika dilanggar, program error) dan konvensi (tidak wajib, tapi sangat dianjurkan karena sudah menjadi standar industri).
Aturan Wajib (Syntax Rules)
Section titled “Aturan Wajib (Syntax Rules)”Berikut adalah aturan yang harus diikuti. Melanggar aturan ini akan menyebabkan error:
✅ Harus dimulai dengan huruf, underscore _, atau dollar sign $
Section titled “✅ Harus dimulai dengan huruf, underscore _, atau dollar sign $”let nama = "Putra" // ✓ dimulai huruflet _sementara = 0 // ✓ dimulai underscorelet $harga = 5000 // ✓ dimulai dollar sign❌ Tidak boleh dimulai dengan angka
Section titled “❌ Tidak boleh dimulai dengan angka”let 1nilai = 90 // Error!let 2tahun = 2024 // Error!✅ Boleh mengandung huruf, angka, underscore, dollar sign
Section titled “✅ Boleh mengandung huruf, angka, underscore, dollar sign”let nilai1 = 90 // ✓ mengandung angkalet nama_siswa = "Ani" // ✓ mengandung underscore❌ Tidak boleh mengandung spasi atau karakter khusus
Section titled “❌ Tidak boleh mengandung spasi atau karakter khusus”let nama siswa = "Ani" // Error! (ada spasi)let nilai-ujian = 90 // Error! (ada tanda minus)let nama@siswa = "Ani" // Error! (ada @)❌ Tidak boleh menggunakan kata kunci TypeScript/JavaScript
Section titled “❌ Tidak boleh menggunakan kata kunci TypeScript/JavaScript”Beberapa kata sudah “dipakai” oleh TypeScript dan tidak bisa digunakan sebagai nama variabel:
let let = "apapun" // Error!let const = 100 // Error!let return = true // Error!let class = "XI" // Error!Konvensi Penamaan (Best Practices)
Section titled “Konvensi Penamaan (Best Practices)”Ini bukan aturan wajib, tapi standar industri yang diikuti hampir semua programmer TypeScript/JavaScript:
🐫 camelCase untuk variabel dan fungsi
Section titled “🐫 camelCase untuk variabel dan fungsi”camelCase artinya kata pertama huruf kecil, setiap kata berikutnya diawali huruf kapital (seperti punuk unta).
let namaSiswa = "Putra"let nilaiRataRata = 87.5let tahunMasukSekolah = 2023let sudahMengikutiUjianAkhir = true🔤 UPPER_SNAKE_CASE untuk konstanta global
Section titled “🔤 UPPER_SNAKE_CASE untuk konstanta global”const NILAI_MAKSIMUM = 100const NAMA_APLIKASI = "Sistem Nilai"const BATAS_NILAI_LULUS = 75📦 PascalCase untuk tipe, interface, dan class (BAB selanjutnya)
Section titled “📦 PascalCase untuk tipe, interface, dan class (BAB selanjutnya)”type DataSiswa = { ... }interface HasilUjian = { ... }Ilustrasi: camelCase vs yang Lainnya
Section titled “Ilustrasi: camelCase vs yang Lainnya”❌ Buruk (susah dibaca):let x = "Putra"let ns = "Putra"let NamaSiswa = "Putra"let nama_siswa = "Putra"
✅ Baik (camelCase):let namaSiswa = "Putra"let nilaiMatematika = 92let statusKelulusan = trueNama yang Deskriptif vs Tidak Deskriptif
Section titled “Nama yang Deskriptif vs Tidak Deskriptif”Selain aturan penulisan, nama variabel juga harus bermakna:
// ❌ Tidak deskriptif — susah dipahamilet a = "Dewi"let b = 17let c = true
// ✅ Deskriptif — mudah dipahamilet namaSiswa = "Dewi"let umurSiswa = 17let statusAktif = trueBayangkan kamu membuka kode yang kamu tulis 6 bulan lalu. Kamu lebih mudah memahami kode yang menggunakan namaSiswa daripada kode yang menggunakan a.
Mari Mencoba
Section titled “Mari Mencoba”Buat file src/bab1/penamaan-variabel.ts:
// Nama variabel yang baik dan deskriptifconst namaLengkap: string = "Putra Ramadhan"const tanggalLahir: string = "15 Maret 2007"const namaSekolah: string = "SMKS Antartika 1 Sidoarjo"let kelasSaatIni: string = "X RPL 1"let nilaiRataRata: number = 88.5let statusAktif: boolean = truelet jumlahAbsensi: number = 0
console.log("=== DATA SISWA ===")console.log("Nama :", namaLengkap)console.log("Tanggal Lahir:", tanggalLahir)console.log("Sekolah :", namaSekolah)console.log("Kelas :", kelasSaatIni)console.log("Nilai Rata-rata:", nilaiRataRata)console.log("Status Aktif :", statusAktif)console.log("Jumlah Absensi:", jumlahAbsensi)Jalankan:
tsx src/bab1/penamaan-variabel.tsTabel Ringkasan Aturan
Section titled “Tabel Ringkasan Aturan”| Aturan | Contoh Valid | Contoh Tidak Valid |
|---|---|---|
Dimulai huruf/_/$ |
nama, _temp, $harga |
1nama, 99persen |
| Tidak ada spasi | namaSiswa |
nama siswa |
| Tidak ada simbol khusus | nilai1 |
nilai-1, nilai@1 |
| Bukan kata kunci | kelasKu |
class, let, const |
| camelCase (konvensi) | nilaiRataRata |
NilaiRataRata, nilai_rata_rata |
| Deskriptif (konvensi) | namaSiswa |
a, x, tmp |
Kesalahan Umum
Section titled “Kesalahan Umum”❌ Salah ketik nama variabel
Section titled “❌ Salah ketik nama variabel”let namaSiswa = "Putra"console.log(namasIswa) // Error! 'namasIswa' is not definedTypeScript bersifat case-sensitive — huruf besar dan kecil dianggap berbeda. namaSiswa dan namasIswa adalah dua variabel yang berbeda!
Cara memperbaiki: Gunakan fitur autocomplete di VS Code — tekan Ctrl + Space untuk melihat saran nama variabel yang tersedia.
Latihan
Section titled “Latihan”Buat file src/bab1/latihan-penamaan.ts:
Dari daftar nama variabel berikut, mana yang valid? Mana yang tidak? Perbaiki yang tidak valid:
let 2siswa = "Ani"let nama siswa = "Budi"let _cadangan = 0let return = truelet nilaiAkhirSemester = 85let harga-barang = 5000const BATAS_LULUS = 75let $temp = "sementara"
Ringkasan
Section titled “Ringkasan”Aturan Wajib:
- Dimulai dengan huruf,
_, atau$ - Tidak boleh ada spasi atau karakter khusus
- Tidak boleh menggunakan kata kunci TypeScript
Konvensi (Sangat Dianjurkan):
- camelCase untuk variabel:
namaSiswa,nilaiRataRata - UPPER_SNAKE_CASE untuk konstanta global:
NILAI_MAKSIMUM - Nama harus deskriptif — jelas menggambarkan isinya
- TypeScript bersifat case-sensitive!