#01 PARADIGMA PBO

Modul Ajar Komprehensif: Menguasai Paradigma Pemrograman Berorientasi Objek (PBO)

Daftar Isi

A. Pendahuluan: Selamat Datang di Dunia Objek
B. Konsep Dasar: Class dan Object
C. Analogi Kehidupan Nyata
D. Empat Pilar PBO: Pondasi Utama
  1. 1. Encapsulation: Membungkus Data
  2. Inheritance: Mewariskan Sifat
  3. Polymorphism: Banyak Bentuk
  4. Abstraction: Menyederhanakan Kerumitan
E. Komponen PBO: Atribut dan Method
F. Studi Kasus: Membuat Game RPG Sederhana
G. Penutup: Mengapa PBO Penting?

A. Pendahuluan: Selamat Datang di Dunia Objek

Halo calon programmer masa depan! 👋

Di semester sebelumnya (Dasar-Dasar Pemrograman), kalian mungkin sudah belajar membuat program yang jalannya lurus dari atas ke bawah (berurutan). Itu disebut pemrograman Terstruktur.

Bayangkan kalian ingin membuat program Robot.

  • Cara Lama: Kalian menulis instruksi langkah demi langkah: angkat_kaki_kanan, angkat_kaki_kiri, maju.
  • Cara PBO: Kalian tidak hanya menulis instruksi, tapi menciptakan robotnya dulu sebagai sebuah benda (objek). Robot ini punya nama, warna, dan kemampuan sendiri.

Paradigma Pemrograman Berorientasi Objek (PBO) atau Object-Oriented Programming (OOP) adalah cara berpikir di mana kita melihat program komputer sebagai kumpulan objek yang saling berinteraksi, persis seperti dunia nyata.


B. Konsep Dasar: Class dan Object

Dua istilah ini akan kalian dengar setiap hari selama 3 tahun ke depan di PPLG. Mari kita pahami bedanya agar tidak tertukar.

1. Class (Cetakan/Blueprint)

  • Definisi: Class adalah rancangan, sketsa, atau cetakan. Ia belum ada wujud fisiknya. Ia hanya kertas berisi rencana.
  • Fungsi: Mendefinisikan benda apa yang mau dibuat, sifatnya apa, dan bisanya apa.

2. Object (Wujud Nyata)

  • Definisi: Object adalah hasil jadi dari cetakan tadi. Ia nyata, memakan tempat di memori komputer, dan bisa digunakan.
  • Fakta Unik: Dari 1 Class, kita bisa membuat ribuan Object.

C. Analogi Kehidupan Nyata

Agar lebih paham, mari gunakan analogi yang sering kalian temui.

Analogi 1: Pabrik Kue

Class: Cetakan Kue. (Benda mati, terbuat dari logam, bentuknya bintang). Kamu tidak bisa memakan cetakan kue.

Object: Kue Bintang. (Terbuat dari tepung, enak, bisa dimakan).

  • Kue A (Object 1): Gosong sedikit.
  • Kue B (Object 2): Banyak kejunya.
  • Kue C (Object 3): Hancur.
Semuanya berasal dari cetakan (Class) yang sama, tapi nasibnya beda-beda.

Analogi 2: Arsitek Rumah

  • Class: Gambar Denah di kertas biru. (Hanya gambar, tidak bisa ditinggali).
  • Object: Rumah Asli yang sudah dibangun Pak Tukang. (Ada alamatnya, ada penghuninya).
Rumus Ingat: Class = Konsep/Rencana Object = Barang Jadi


D. Empat Pilar PBO: Pondasi Utama

PBO berdiri di atas 4 tiang utama. Tanpa salah satu tiang ini, programmu mungkin akan roboh (sulit diatur).

1. Encapsulation (Enkapsulasi / Pembungkusan)

Konsep: Membungkus data sensitif agar aman dan tidak diotak-atik sembarangan oleh orang luar.
Analogi: Kapsul Obat.

  • Kalian minum obat dalam bentuk kapsul. Kalian tidak tahu (dan tidak perlu tahu) rasa bubuk obat pahit di dalamnya. Kapsul melindungi bubuk itu agar aman sampai di perut.
  • Di program: Data seperti Password atau Saldo dibungkus dalam kapsul (Private). Orang lain tidak bisa ubah saldo sembarangan, harus lewat prosedur resmi (Method).

2. Inheritance (Pewarisan)

Konsep: Mewariskan sifat dari Induk ke Anak. Supaya kita tidak capek menulis ulang kode yang sama.
Analogi: Ayah dan Anak.

  • Ayah punya sifat: Rambut Keriting, Mata Cokelat.
  • Anak lahir: Otomatis punya Rambut Keriting & Mata Cokelat (Warisan).
  • Tapi Anak bisa punya bakat baru: Jago Main Game (Sifat Khusus).
  • Di program: Kita punya Class Manusia (Induk). Kita mau buat Siswa. Siswa tinggal mewarisi Manusia, jadi otomatis punya Nama dan Alamat. Kita tinggal tambah NISN.

3. Polymorphism (Polimorfisme)

Arti Kata: Poly (Banyak) + Morph (Bentuk).
Konsep: Satu perintah yang sama, tapi responnya berbeda tergantung siapa yang menerima perintah.

  • Analogi: Tombol "Mainkan" di HP.
    • Buka aplikasi Musik, tekan "Mainkan" -> Keluar Suara Lagu.
    • Buka aplikasi Video, tekan "Mainkan" -> Keluar Film.
    • Buka aplikasi Game, tekan "Mainkan" -> Game dimulai.
    • Tombolnya namanya SAMA ("Mainkan"), tapi hasilnya BEDA.

4. Abstraction (Abstraksi)

Konsep: Fokus pada fitur penting, sembunyikan detail rumit yang membingungkan.
Analogi: Menyetir Motor Matic.

  • Kalian cukup tahu: Gas untuk jalan, Rem untuk berhenti.
  • Kalian TIDAK PERLU TAHU bagaimana bensin dibakar di mesin, bagaimana oli melumasi piston, atau bagaimana listrik mengalir ke busi. Itu rumit!
  • Abstraksi membuat hidup pengguna lebih mudah.


E. Komponen PBO: Atribut dan Method

Setiap Objek di dunia ini pasti punya dua hal:

  1. Ciri-ciri (Disebut: Attribute)
  2. Kemampuan/Aksi (Disebut: Method)

Mari kita bedah Objek Kucing:

KomponenPenjelasanContoh pada KucingBahasa Pemrograman
AttributeData/Sifat yang dimilikiWarna bulu, berat badan, nama, jenis kelaminString warna; int berat;
MethodAksi yang bisa dilakukanMakan, tidur, mengeong, mencakar, lompatvoid makan() { ... }


F. Studi Kasus: Membuat Game RPG Sederhana

Untuk anak PPLG, cara paling seru belajar PBO adalah lewat Game! Bayangkan kita mau buat game mirip Mobile Legends atau Genshin Impact.

Langkah 1: Buat Cetakan Dasar (Class) Hero.java

Kita butuh cetakan untuk Hero. Semua Hero pasti punya nama dan nyawa (HP).

// File: Hero.java
public class Hero {

    // Atribut (Ciri-ciri)
    String nama;
    int darah;
    int kekuatan;

    // Konstruktor
    public Hero(String namaInput, int darahInput) {
        nama = namaInput;
        darah = darahInput;
        System.out.println(nama + " telah dipanggil ke Land of Dawn!");
    }

    // Method (Perilaku)
    public void serang() {
        System.out.println(nama + " menyerang musuh! Ciattt!");
    }
}

Langkah 2: Ciptakan Objek Nyata (Object) Main.java

Di program utama (Main), kita gunakan cetakan tadi untuk membuat hero sungguhan.

// File: GameUtama.java
public class GameUtama {
    public static void main(String[] args) {

        // Instansiasi Object
        Hero hero1 = new Hero("Alucard", 100);
        Hero hero2 = new Hero("Layla", 80);

        // Memanggil method dari object
        hero1.serang();
        hero2.serang();
    }
}

Analisis Studi Kasus

  1. Class: Hero. Kita cuma nulis kode Hero satu kali.
  2. Object: hero1 (Alucard) dan hero2 (Layla). Kita bisa bikin 100 hero beda-beda dari 1 kode Class saja.
  3. Modular: Kalau kita mau ubah cara menyerang, kita cukup ubah di dalam Class Hero, otomatis Alucard dan Layla ikut berubah. Praktis kan?

G. Penutup: Mengapa PBO Penting?

Sebagai siswa PPLG Kelas X, kalian baru memulai perjalanan panjang. PBO adalah Standar Industri.

  • Aplikasi Android (Java/Kotlin) pakai PBO.
  • Game Development (C#/Unity) pakai PBO.
  • Website Backend (PHP Laravel/Spring Boot) pakai PBO.

Jika kalian menguasai pola pikir ini: "Bagi masalah besar menjadi objek-objek kecil", maka coding bahasa apapun nanti akan terasa mudah.

Tantangan Minggu Ini: Coba lihat sekeliling kelasmu. Pilih satu benda (misal: Spidol, Kursi, atau Kipas Angin). Tulis di buku tulis:

  1. Apa nama Class-nya?
  2. Apa saja Atributnya? (Warnanya? Mereknya?)
  3. Apa saja Methodnya? (Bisa dipakai nulis? Bisa diputar?)

Selamat belajar, programmer muda! 🚀

Posting Komentar

Lebih baru Lebih lama

Formulir Kontak