Ringkasan BAB 1
Selamat! 🎉
Section titled “Selamat! 🎉”Kamu telah menyelesaikan BAB 1: Variabel & Tipe Data. Ini adalah fondasi yang sangat penting. Hampir semua program yang akan kamu tulis setelah ini akan memakai variabel dan tipe data.
Jika saat ini beberapa istilah masih belum terasa otomatis, itu normal. Terus praktikkan contoh dan challenge. Lama-kelamaan, cara menulis variabel yang benar akan menjadi kebiasaan.
Tujuan Pembelajaran Tercapai
Section titled “Tujuan Pembelajaran Tercapai”Setelah BAB 1, kamu seharusnya sudah memahami:
- Apa itu variabel dan mengapa program membutuhkannya
- Perbedaan
letdanconst - Aturan nama variabel yang baik
- Tipe data dasar TypeScript
- Cara TypeScript menjaga kecocokan tipe data
- Cara membuat output dinamis dengan template literal
- Cara membaca error variabel dan tipe data
Konsep Utama: Variabel
Section titled “Konsep Utama: Variabel”Variabel adalah tempat penyimpanan data yang diberi nama.
const namaSiswa: string = "Putra"let nilaiUjian: number = 80| Bagian | Arti |
|---|---|
const / let |
Cara membuat variabel |
namaSiswa |
Nama/label variabel |
: string |
Tipe data variabel |
= |
Mengisi nilai |
"Putra" |
Nilai yang disimpan |
let vs const
Section titled “let vs const”| Kata kunci | Nilai dapat diubah? | Kapan digunakan? |
|---|---|---|
let |
Ya | Nilai memang akan berubah |
const |
Tidak | Nilai tetap setelah diisi |
let kelasSaatIni = "XI RPL 1"kelasSaatIni = "XII RPL 1" // ✓
const namaSekolah = "SMKS Antartika 1"// namaSekolah = "Sekolah Baru" // ErrorAturan praktis: mulai dari const. Gunakan let jika nilai perlu berubah.
Aturan Penamaan Variabel
Section titled “Aturan Penamaan Variabel”// Baikconst namaSiswa = "Dewi"let nilaiRataRata = 88.5const BATAS_LULUS = 75
// Hindarilet a = "Dewi"let nama siswa = "Dewi" // tidak validlet 1nilai = 90 // tidak validIngat:
- Gunakan camelCase:
namaSiswa,nilaiAkhir - Nama harus deskriptif
- Tidak boleh dimulai angka
- Tidak boleh memakai spasi atau karakter khusus
- TypeScript membedakan huruf besar dan kecil
Semua Tipe Data yang Dipelajari
Section titled “Semua Tipe Data yang Dipelajari”| Tipe | Contoh | Kegunaan |
|---|---|---|
number |
90, 3.14, -5 |
Angka dan perhitungan |
string |
"Putra" |
Teks |
boolean |
true, false |
Status ya/tidak |
null |
null |
Sengaja tidak ada nilai |
undefined |
undefined |
Nilai belum tersedia |
bigint |
999999999999n |
Bilangan bulat sangat besar |
symbol |
Symbol("id") |
Identitas unik |
any |
let data: any |
Nilai apa saja — hindari sebisa mungkin |
unknown |
let data: unknown |
Nilai belum diketahui, harus dicek dulu |
never |
fungsi yang selalu error | Fungsi tidak selesai normal |
null dan undefined
Section titled “null dan undefined”undefined → belum pernah diberi nilainull → sengaja diberi nilai kosonglet nilaiUjian: number// belum diisi
let email: string | null = null// sengaja kosong, nanti boleh diisi stringType Inference
Section titled “Type Inference”TypeScript bisa menebak tipe dari nilai awal:
const nama = "Putra" // stringconst umur = 17 // numberconst aktif = true // booleanType inference membuat kode lebih ringkas, tetapi TypeScript tetap menjaga tipe data tersebut.
Literal Type
Section titled “Literal Type”Literal type membatasi pilihan nilai:
type Jurusan = "RPL" | "TKJ" | "DKV"const jurusan: Jurusan = "RPL"Pilihan di luar daftar akan menghasilkan error. Literal type cocok untuk status, jurusan, peran, ukuran, atau pilihan terbatas lain.
Template Literal
Section titled “Template Literal”Gunakan backtick untuk menyisipkan variabel ke dalam kalimat:
const nama = "Putra"const nilai = 90
console.log(`Halo, ${nama}! Nilaimu ${nilai}.`)Ingat:
- Backtick:
`...` - Placeholder:
${...} - Kutip biasa
"..."tidak akan mengganti${...}
Perintah Penting
Section titled “Perintah Penting”| Perintah | Fungsi |
|---|---|
tsx src/bab1/namafile.ts |
Menjalankan file TypeScript |
tsc --version |
Memeriksa versi TypeScript |
tsx --version |
Memeriksa versi TSX |
mkdir src/bab1/challenge |
Membuat folder challenge |
Contoh menjalankan program:
tsx src/bab1/aplikasi-biodata-siswa.tsError yang Perlu Diingat
Section titled “Error yang Perlu Diingat”| Pesan Error | Penyebab Umum | Perbaikan |
|---|---|---|
Cannot assign to const |
Mengubah nilai const |
Gunakan let jika nilai perlu berubah |
Type 'string' is not assignable to type 'number' |
Tipe nilai tidak cocok | Pakai nilai/tipe yang sesuai |
Variable is used before being assigned |
Variabel belum diberi nilai | Isi sebelum dipakai |
Cannot redeclare block-scoped variable |
Nama variabel dibuat dua kali | Gunakan satu deklarasi atau nama berbeda |
Object is of type 'unknown' |
unknown digunakan tanpa cek |
Cek dengan typeof |
Checklist BAB 1
Section titled “Checklist BAB 1”Tandai setiap kemampuan yang sudah kamu kuasai:
- Bisa membuat variabel dengan
let - Bisa membuat konstanta dengan
const - Bisa memilih
letatauconstsesuai kebutuhan - Bisa membuat nama variabel camelCase dan deskriptif
- Bisa menggunakan
number,string, danboolean - Bisa menjelaskan perbedaan
nulldanundefined - Bisa menjelaskan kapan
anyberbahaya - Bisa mengecek
unknowndengantypeof - Bisa menggunakan literal type untuk pilihan terbatas
- Bisa memakai template literal dengan
${...} - Bisa menjalankan file
.tsmemakai TSX - Bisa membaca error dasar TypeScript tanpa panik
- Sudah menyelesaikan Studi Kasus
- Sudah membuat Mini Project
- Sudah mencoba 10 Challenge
Peta Konsep
Section titled “Peta Konsep”VARIABEL├── let → nilainya dapat berubah├── const → nilainya tetap└── nama baik → camelCase dan deskriptif
TIPE DATA├── number, string, boolean├── null, undefined├── bigint, symbol└── any, unknown, never
FITUR TYPESCRIPT├── type inference├── literal type└── pemeriksaan error lebih awal
OUTPUT└── template literal: `Halo, ${nama}`Latihan Penutup
Section titled “Latihan Penutup”Tanpa melihat contoh sebelumnya, buat kembali file src/bab1/review-bab1.ts yang berisi:
- Biodata singkat (minimal lima variabel)
- Minimal tiga tipe data berbeda
- Satu literal type untuk jurusan atau status
- Satu nilai
null - Satu perhitungan angka
- Satu boolean dan ternary operator
- Satu template literal multi-baris
- Minimal dua komentar yang berguna
Jalankan dengan:
tsx src/bab1/review-bab1.tsJika bisa membuatnya tanpa menyalin, berarti fondasi BAB 1 sudah kuat.
Pesan untuk Kamu
Section titled “Pesan untuk Kamu”Variabel dan tipe data mungkin terlihat sederhana, tetapi ini adalah bahasa dasar yang dipakai hampir setiap program. Programmer yang kuat bukan hanya bisa menulis kode yang berjalan — ia juga tahu data apa yang sedang dipakai, tipe apa yang tepat, dan bagaimana mencegah error sebelum terjadi.
Terus bereksperimen. Ubah contoh kode. Buat error kecil lalu perbaiki. Itu adalah proses belajar seorang developer.