BAB 6: Object-Oriented Programming

BAB 6: Object-Oriented Programming (OOP)

6.1 Class dan Object

Pengenalan Class

Class adalah blueprint atau template untuk membuat object. Class mendefinisikan properti dan method yang akan dimiliki oleh object.

// Contoh class sederhana
class Person {
  // Properties (attributes)
  String name;
  int age;
  
  // Methods
  void sayHello() {
    print('Hello, my name is $name');
  }
  
  void haveBirthday() {
    age++;
    print('Happy birthday! Now I am $age years old');
  }
}

void main() {
  // Membuat object dari class Person
  var person1 = Person();
  person1.name = 'Budi';
  person1.age = 25;
  
  // Mengakses method
  person1.sayHello();
  person1.haveBirthday();
}

Properties dan Methods

6.2 Constructor

Default Constructor

Named Constructor

Factory Constructor

6.3 Inheritance

Basic Inheritance

Abstract Class

6.4 Encapsulation

Private Members dan Getters/Setters

6.5 Praktek: Program Sistem Perpustakaan Sederhana

Latihan Mandiri

  1. Tambahkan fitur untuk mengedit informasi buku dan member

  2. Implementasikan sistem denda untuk keterlambatan pengembalian

  3. Tambahkan fitur pencarian buku berdasarkan judul atau penulis

  4. Buat sistem reservasi buku yang sedang dipinjam

  5. Implementasikan fitur untuk melihat history peminjaman

Tips OOP

  1. Gunakan private members (diawali dengan _) untuk encapsulation

  2. Manfaatkan inheritance untuk mengurangi duplikasi kode

  3. Gunakan abstract class untuk template yang akan diimplementasikan

  4. Pilih constructor yang sesuai dengan kebutuhan

  5. Validasi input di constructor atau setter

  6. Gunakan getter/setter untuk akses kontrol yang lebih baik

  7. Dokumentasikan kode dengan baik

  8. Terapkan prinsip Single Responsibility

Last updated

Was this helpful?