Ringkasan BAB 8
Selamat! 🎉
Section titled “Selamat! 🎉”Kamu telah menyelesaikan BAB 8: Object-Oriented Programming (OOP)! Ini adalah pencapaian luar biasa. OOP adalah paradigma pemrograman standar industri yang digunakan oleh tim pengembang software profesional di seluruh dunia untuk membangun aplikasi besar yang kokoh dan mudah dirawat.
OOP Cheat Sheet
Section titled “OOP Cheat Sheet”Deklarasi Class Dasar
Section titled “Deklarasi Class Dasar”class Siswa { constructor(public nama: string, public kelas: string) {}
belajar(): void { console.log(`${this.nama} sedang belajar.`); }}Instansiasi Objek
Section titled “Instansiasi Objek”const siswa1 = new Siswa("Putra", "XI RPL 1");siswa1.belajar();Perbandingan Class vs Object
Section titled “Perbandingan Class vs Object”| Karakteristik | Class | Object (Instance) |
|---|---|---|
| Definisi | Desain / sketsa cetak biru | Wujud fisik nyata hasil cetakan |
| Wujud di Memori | Hanya definisi tipe, belum ada data | Menempati ruang RAM dengan data nyata |
| Jumlah | Dibuat 1 kali | Bisa dicetak tak terbatas dari 1 class |
| Analogi | Blueprint sketsa kertas rumah | Rumah fisik nyata di kaveling tanah |
Perbandingan Access Modifier
Section titled “Perbandingan Access Modifier”| Modifier | Di dalam Class? | Di Class Anak (extends)? | Di luar Class? |
|---|---|---|---|
public |
Ya ✓ | Ya ✓ | Ya ✓ |
protected |
Ya ✓ | Ya ✓ | Tidak ✗ |
private |
Ya ✓ | Tidak ✗ | Tidak ✗ |
Struktur Pewarisan (Inheritance)
Section titled “Struktur Pewarisan (Inheritance)” Superclass (Induk): Manusia │ ▼ extends (Mewarisi nama & umur) Subclass (Anak): Siswa (Menambah nis, menggunakan super() di constructor)Checklist Pemahaman BAB 8
Section titled “Checklist Pemahaman BAB 8”Tandai setiap poin yang sudah kamu kuasai:
- Memahami perbedaan cara berpikir prosedural dan berbasis objek (OOP).
- Bisa menjelaskan perbedaan Class (sketsa) dan Object (rumah fisik).
- Bisa membuat Class lengkap dengan property dan method di TypeScript.
- Menggunakan constructor standar dan Parameter Properties singkat.
- Menggunakan keyword
thissecara tepat untuk mengakses data internal class. - Menerapkan access modifier
public,private, danprotecteddengan benar. - Memahami pilar Enkapsulasi untuk menyembunyikan data internal objek.
- Memahami pilar Pewarisan (Inheritance) menggunakan keyword
extends. - Memahami pilar Polimorfisme menggunakan teknik Method Overriding.
- Bisa membuat Abstract Class dan mengimplementasikan Abstract Method di class anak.
- Bisa menggunakan Static Property dan Static Method langsung dari nama Class.
- Menggunakan Getter dan Setter modern untuk validasi data properti.
- Menyelesaikan Studi Kasus Sistem Informasi Akademik.
- Menyelesaikan 10 Challenge pemrograman berbasis objek.
- Memahami dan bisa memperbaiki error-error umum OOP.
Perintah Penting
Section titled “Perintah Penting”tsx src/bab8/namafile.ts ← Menjalankan file TypeScript OOP di terminalLatihan Penutup
Section titled “Latihan Penutup”Tanpa melihat panduan, buatlah file src/bab8/review-oop.ts:
- Buat class induk
Pekerjadengan properti:public nama: stringdanprotected gajiPokok: number. - Buat class anak
Programmeryang meng-extendsPekerja, menambah propertiprivate _tunjangan: number = 0lengkap dengan getter dan setter terproteksi. - Tambahkan method
hitungTotalGaji(): numberyang menjumlahkangajiPokokdan_tunjangan. - Tambahkan method
kerja()yang menimpa method induk (polimorfisme) untuk menampilkan data pendapatan total secara rapi. - Buat objek Programmer, set tunjangannya lewat setter, lalu panggil method
kerja().
Jalankan dan pastikan program berjalan lancar tanpa error kompilasi.
Pesan untuk Kamu
Section titled “Pesan untuk Kamu”Object-Oriented Programming (OOP) mungkin terasa rumit pada awalnya karena banyaknya istilah baru (seperti polimorfisme atau enkapsulasi). Namun, setelah kamu mulai menulis kode aplikasi nyata yang besar, kamu akan menyadari betapa indahnya OOP dalam menjaga kerapian kodemu.
Kamu kini siap melangkah ke pembuatan aplikasi nyata tingkat lanjut. Teruslah berkarya dan jangan pernah berhenti belajar! 🚀