Lewati ke konten

Ringkasan BAB 7

Kamu telah menyelesaikan BAB 7: Interface & Type Alias! Ini adalah bab penutup kelompok pemodelan data struktural. Kamu sekarang telah menguasai seluruh konsep yang mendefinisikan identitas utama dari bahasa TypeScript dibanding JavaScript biasa.


📄 TypeScript
interface Siswa {
readonly nis: number;
nama: string;
email?: string; // opsional
}
const s: Siswa = { nis: 1001, nama: "Putra" }
📄 TypeScript
interface Orang { nama: string }
interface Guru extends Orang { nip: number }

📄 TypeScript
type Tahun = number;
type Siswa = { nama: string };
📄 TypeScript
type ID = string | number; // Union (ATAU)
type Staf = Identitas & Karyawan; // Intersection (DAN)
📄 TypeScript
type Status = "Lulus" | "Remedial";
enum Peran {
Siswa = "SISWA",
Guru = "GURU"
}

Fitur interface type Alias
Tujuan Utama Mendefinisikan kontrak objek Memberikan alias tipe kustom
Sintaks = Tanpa = Wajib memakai =
Penggabungan (Merging) Bisa (otomatis digabung jika nama sama) Tidak bisa (error duplicate identifier)
Union (|) Tidak bisa langsung Bisa (sangat sering digunakan)
Primitif / Tuple Tidak bisa Bisa
Pewarisan extends & (intersection)

  • Gunakan interface secara default jika kamu merancang objek standar yang akan diwarisi (extends) oleh tipe objek lain atau class OOP.
  • Gunakan type jika kamu membutuhkan union type (string | number), literal type, atau alias tipe primitif sederhana.

  • Memahami perbedaan fungsi Interface dan Type Alias
  • Bisa membuat interface objek standar
  • Bisa menggunakan interface sebagai parameter function
  • Bisa menggunakan extends untuk pewarisan interface
  • Menggunakan properti opsional ? pada interface
  • Menggunakan readonly untuk mengunci nilai properti
  • Bisa membuat type alias
  • Menguasai union type | dan type guarding typeof
  • Menguasai intersection type & untuk menggabungkan type objek
  • Menggunakan literal type untuk membatasi opsi nilai
  • Bisa membuat dan menggunakan enum
  • Menyelesaikan Studi Kasus dan Mini Project
  • Menyelesaikan 10 Challenge BAB 7

Tanpa melihat panduan, buat file src/bab7/review-bab7.ts:

  1. Buat enum KategoriBuku (Komputer, Novel, Sains).
  2. Buat interface Dokumen (readonly id string/number, judul string).
  3. Buat interface Buku yang meng-extends Dokumen dan menambah properti kategori (KategoriBuku) serta properti opsional penulis (string).
  4. Buat objek bukuA lengkap bertipe Buku.
  5. Buat fungsi cetakBuku(b: Buku) yang menampilkan detail buku dan aman dari error properti opsional menggunakan ??. Tampilkan hasilnya.

Dengan menyelesaikan BAB 7, kamu kini telah memahami mengapa TypeScript menjadi bahasa favorit perusahaan teknologi skala besar. Kemampuannya merancang tipe data terstruktur dengan interface dan type alias membuat kode aman dari error tipe, terstandardisasi, dan sangat mudah dipelihara.

Persiapkan dirimu untuk petualangan berikutnya. Teruslah berkarya!