Study
TypeScript

Tugas Akhir

Penjelasan

Sekarang saatnya menggabungkan semua yang sudah dipelajari — dari interface sampai utility types — jadi satu program utuh. Kamu akan membuat sistem sederhana untuk mengelola koleksi buku perpustakaan, memakai interface, class, generics, dan utility types sekaligus.

Tugas

Buat interface Buku dengan id: number, judul: string, penulis: string, dan tersedia: boolean. Buat class Perpustakaan<T extends { id: number }> generic dengan properti private koleksi: T[] = [], method tambah(item: T): void yang push ke koleksi, method cariById(id: number): T | undefined memakai find(), dan method semua(): readonly T[] yang mengembalikan koleksi. Buat instance Perpustakaan<Buku>, tambahkan minimal 3 buku, cari salah satu lewat id, lalu buat type alias BukuRingkas dengan Pick untuk hanya menampilkan judul dan tersedia dari SEMUA buku.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kalau bingung mulai dari mana, kerjakan method tambah() dan cariById() dulu, cek hasilnya dengan console.log(), baru terakhir kerjakan transformasi ke BukuRingkas. Program besar selalu lebih mudah kalau dipecah jadi langkah-langkah kecil.