Materi 06 - Programming dan Data Science

Object-Oriented Programming Basics

Cara berpikir berbeda dari procedural. Encapsulation, inheritance, polymorphism.

Durasi 28 Menit Level intermediate Kurikulum 30 Materi

1. Class dan Object

Class adalah blueprint, object adalah instance dari class. Contoh: class Customer punya attribute (nama, email) dan method (kirim_email). Buat banyak Customer dari 1 class.

2. 4 Pilar OOP

Encapsulation (data bundling dengan method, akses control). Abstraction (sembunyikan complexity, expose interface). Inheritance (turunan dari parent class). Polymorphism (1 interface, banyak implementasi).

3. Constructor dan Destructor

Constructor (init di Python) dipanggil saat object dibuat. Inisialisasi state awal object. Destructor jarang dipakai eksplisit di language modern karena ada garbage collector.

4. Method dan Attribute

Attribute adalah variable di dalam class. Method adalah function di dalam class. Akses lewat object.attribute atau object.method(). Konvensi: attribute privat awali underscore.

5. Inheritance dan Composition

Inheritance: child class warisi parent. Composition: object berisi object lain. Aturan praktis: prefer composition over inheritance kecuali ada is-a relationship yang jelas.

Tugas Praktik

  1. Buat class Mobil dengan attribute dan method
  2. Implementasi inheritance: BMW dan Toyota turunan Mobil
  3. Praktek polymorphism dengan method override
  4. Refactor procedural code ke OOP
  5. Bandingkan composition vs inheritance untuk kasus nyata

Rangkuman