OOPHub M1 🚀

Welcome to the OOP Club! 🚀

Tempat lu belajar konsep dasar Dart & OOP pake analogi yang masuk akal tanpa pusing!

🎯 Goals Kita Hari Ini

  • Paham POV bedanya kodingan Prosedural vs OOP.
  • Tau apa itu Class, Object, Attribute, Method, dan 4 Core OOP.
  • Selesai setup environment (Instalasi anti-ribet).
  • Bikin kodingan Dart pertama kalian (Variabel, Operator, & Output).

OOP itu Makanan Apa Sih? 🤔

Sebelum nyentuh kode, kita harus shift mindset dulu dari cara koding zaman maba (Prosedural) ke cara koding anak agensi/startup (OOP).

Prosedural (Cara Lama)

Lu fokus ke urutan/langkah-langkah. Mirip ngerjain tugas kelompok tapi lu doang yang ngerjain dari A sampe Z (Bikin pusing, kode berantakan panjang banget ke bawah).

Analogi Game: Sistem harus ngecek satu-satu urutan: peluru nembak, musuh kena, darah ngurang, musuh mati. Ribet!

OOP (Cara Baru)

Lu fokus ke Objek (Siapa yang ngelakuin). Lebih terstruktur dan gampang di-maintain.

Analogi Game: Sistem cuma bikin Objek Hero. Masing-masing Hero punya tugas dan skill sendiri. Objek Hero A tinggal manggil skill buat nyerang Objek Hero B.

Class dan Object (The Blueprint & The Reality)

Ini konsep paling core di OOP. Jangan sampai kebalik ya!

Konsep Penjelasan Analogi TikTok / CapCut Analogi Game
Class Template/Blueprint. Masih abstrak, cuma konsep. Template CapCut (Cuma kerangka efek/lagu) Blueprint Hero (Konsep stat & skill di database)
Object Hasil Nyata dari template (instance). Udah punya wujud. Video Editan Lu (Udah ada foto lu, di-export) Zilong/Jett (Hero yang udah di-pick & dimainin)

Anatomi Objek (Isinya Apa Aja?)

  • Attributes (Spek/Data): Apa yang dimiliki sama objek itu. (Contoh Hero: Nama, Role, HP, Mana, Skin).
  • Methods (Skill/Aksi): Apa yang bisa dilakukan sama objek itu. (Contoh Hero: Ulti(), Recall(), Healing()).

Spill Dikit: 4 Pilar Utama OOP 🏛️

🔒

Encapsulation (Privasi)

Kayak akun IG di-private. Data lu aman dari luar, nggak bisa sembarangan diubah sama yang bukan followers lu.

👶

Inheritance (Nepo Baby)

Class baru bisa dapet "warisan" sifat dari ortunya. Misal: Kucing mewarisi sifat Hewan. Anak tinggal nerusin aja.

🤹

Polymorphism (Multitasking)

Satu tombol, beda hasil. Tombol "Klik Kiri" di game: pegang pistol buat nembak, pegang pisau buat nusuk.

🛵

Abstraction (Tinggal Pake)

Kayak bawa motor matic. Lu cuma perlu tau cara nge-gas & ngerem. Gausah pusing mikirin sistem injeksinya.