Pemrograman Berorientasi Objek (PBO) dalam Java

0

Tujuan Pembelajaran

  • Memahami konsep dasar OOP: Class, Object, Atribut, dan Method.
  • Mengenal pilar OOP: Enkapsulasi, Inheritance, Polimorfisme.
  • Dapat membuat class dan object sederhana dalam Java.
  • Mampu menerapkan konsep pewarisan (inheritance) dalam program.


Apa itu OOP?

Pemrograman Berorientasi Objek (Object-Oriented Programming / OOP) adalah paradigma pemrograman yang berfokus pada objek. Objek adalah representasi dari entitas dunia nyata yang memiliki atribut (data) dan method (perilaku).

Konsep Dasar OOP

  • Class → blueprint atau cetakan dari objek.
  • Object → hasil nyata dari sebuah class.
  • Atribut → variabel yang dimiliki class.
  • Method → fungsi atau perilaku yang dimiliki class.

Contoh Class dan Object


class Mahasiswa {
    // Atribut
    String nama;
    int umur;

    // Method
    void tampilkanInfo() {
        System.out.println("Nama: " + nama);
        System.out.println("Umur: " + umur);
    }
}

public class OOPDemo {
    public static void main(String[] args) {
        // Membuat object dari class Mahasiswa
        Mahasiswa mhs1 = new Mahasiswa();
        mhs1.nama = "Budi";
        mhs1.umur = 20;
        mhs1.tampilkanInfo();
    }
}

Enkapsulasi

Enkapsulasi adalah penyembunyian data (atribut) agar tidak bisa diakses langsung dari luar class. Biasanya menggunakan private dan akses melalui getter dan setter.


class AkunBank {
    private double saldo;

    // Setter
    public void setSaldo(double jumlah) {
        saldo = jumlah;
    }

    // Getter
    public double getSaldo() {
        return saldo;
    }
}

public class EnkapsulasiDemo {
    public static void main(String[] args) {
        AkunBank akun = new AkunBank();
        akun.setSaldo(1000000);
        System.out.println("Saldo: " + akun.getSaldo());
    }
}

Inheritance (Pewarisan)

Inheritance adalah pewarisan sifat dari class induk ke class anak. Dengan inheritance, kita bisa membuat class baru berdasarkan class yang sudah ada.


class Hewan {
    void makan() {
        System.out.println("Hewan sedang makan...");
    }
}

class Kucing extends Hewan {
    void suara() {
        System.out.println("Meong!");
    }
}

public class InheritanceDemo {
    public static void main(String[] args) {
        Kucing k = new Kucing();
        k.makan(); // diwarisi dari class Hewan
        k.suara();
    }
}

Polimorfisme

Polimorfisme berarti satu method dapat memiliki banyak bentuk. Dalam Java, polimorfisme bisa terjadi dengan method overriding dan method overloading.

Contoh Overriding


class Kendaraan {
    void jalan() {
        System.out.println("Kendaraan sedang berjalan...");
    }
}

class Mobil extends Kendaraan {
    @Override
    void jalan() {
        System.out.println("Mobil melaju di jalan raya...");
    }
}

public class PolimorfismeDemo {
    public static void main(String[] args) {
        Kendaraan k = new Mobil();
        k.jalan(); // Memanggil method yang sudah dioverride
    }
}

Contoh Overloading


class Matematika {
    int tambah(int a, int b) {
        return a + b;
    }

    double tambah(double a, double b) {
        return a + b;
    }
}

public class OverloadingDemo {
    public static void main(String[] args) {
        Matematika m = new Matematika();
        System.out.println(m.tambah(5, 3));
        System.out.println(m.tambah(2.5, 3.5));
    }
}

Langkah Praktik

  1. Buat class Mahasiswa dengan atribut nama dan nim, lalu buat method untuk menampilkannya.
  2. Buat class Hewan lalu turunkan ke class Kucing dan Anjing dengan suara yang berbeda.
  3. Buat class AkunBank dengan private saldo, lalu gunakan getter dan setter.
  4. Buat class Matematika dengan method tambah yang di-overloading (2 versi: int dan double).

Asesmen: Tanya Jawab

  1. Apa perbedaan antara class dan object?
  2. Jelaskan apa yang dimaksud dengan enkapsulasi!
  3. Buat contoh program sederhana menggunakan inheritance.
  4. Apa yang dimaksud dengan polimorfisme? Berikan contohnya.
  5. Mengapa OOP dianggap mempermudah dalam pengembangan program skala besar?
Tags

Posting Komentar

0Komentar
Posting Komentar (0)