Materi Pemrograman berorientasi Objek

Published by admin_123 on

Pemrograman Berorientasi Objek: Kelas Sederhana & Pewarisan

Pemrograman Berorientasi Objek

Kelas Sederhana & Pewarisan

Membangun Fondasi Sistem Inventaris Sekolah dengan Konsep PBO

La Gani, S.Kom

Pengantar Pemrograman Berorientasi Objek (PBO)

PBO adalah paradigma pemrograman yang berpusat pada ‘objek’. Mengorganisir kode dengan data dan fungsi terbungkus bersama.

Manfaat Kunci PBO: Meningkatkan modularitas, reusabilitas kode, dan kemudahan pemeliharaan proyek perangkat lunak kompleks.

Blueprint PBO

Kelas (Class)

Cetak biru atau templat untuk membuat objek.

Objek (Object)

Instans nyata dari sebuah kelas, entitas dengan atribut dan perilaku.

“PBO membantu kita memodelkan dunia nyata ke dalam kode, menjadikan pengembangan lebih intuitif dan terstruktur.”

Memahami Kelas dan Objek

Kelas (Class)

Cetakan atau blueprint untuk membuat objek, mendefinisikan struktur dan perilaku.

  • Struktur Data – Mendefinisikan data yang akan disimpan
  • Fungsi/Metode – Mendefinisikan perilaku objek
  • Template – Pola untuk membuat banyak objek serupa

Objek (Object)

Instansiasi dari sebuah kelas, memiliki nilai spesifik untuk atributnya.

  • Entitas Nyata – Representasi konkret dalam program
  • Nilai Unik – Setiap objek memiliki state sendiri
  • Interaktif – Dapat berinteraksi dengan objek lain

Atribut (Properties)

Karakteristik atau data yang dimiliki oleh suatu objek.

  • Warna – Properti visual objek
  • Ukuran – Dimensi fisik atau kapasitas
  • Nama – Identifikasi unik objek
  • Harga – Nilai ekonomi objek

Metode (Behaviors)

Aksi atau fungsi yang dapat dilakukan oleh objek.

  • berjalan() – Perubahan posisi objek
  • makan() – Konsumsi sumber daya
  • bernyanyi() – Produksi suara/keluaran

Studi Kasus: Representasi Dunia Nyata ke Objek

Memodelkan entitas fisik atau konseptual menjadi kelas dan objek dalam program.

Objek Mobil

Atribut: warna, merek

Metode: menyetir()

Objek Produk

Atribut: nama, harga

Metode: tambahStok()

Objek Siswa

Atribut: nama, kelas

Metode: belajar()

Contoh Kode: Kelas ‘BarangInventaris’

Berikut adalah implementasi kelas sederhana untuk sistem inventaris sekolah:

public class BarangInventaris {
    private String kodeBarang;
    private String namaBarang;
    private int jumlah;
    private String kondisi; // Baik, Rusak, Perbaikan
    
    // Constructor
    public BarangInventaris(String kode, String nama, int qty) {
        this.kodeBarang = kode;
        this.namaBarang = nama;
        this.jumlah = qty;
        this.kondisi = "Baik";
    }
    
    // Methods
    public void tambahJumlah(int qty) {
        if (qty > 0) {
            this.jumlah += qty;
            System.out.println("Jumlah barang berhasil ditambah: " + qty);
        }
    }
    
    public void updateKondisi(String newKondisi) {
        this.kondisi = newKondisi;
        System.out.println("Kondisi barang diperbarui: " + newKondisi);
    }
    
    public String getInfoBarang() {
        return "Kode: " + kodeBarang + 
               ", Nama: " + namaBarang + 
               ", Jumlah: " + jumlah + 
               ", Kondisi: " + kondisi;
    }
}

Instansiasi Objek BarangInventaris

// Membuat objek dari kelas BarangInventaris
BarangInventaris buku = new BarangInventaris("BK001", "Buku PBO", 50);
BarangInventaris laptop = new BarangInventaris("LP002", "Laptop Seri X", 15);
BarangInventaris proyektor = new BarangInventaris("PJ003", "Proyektor Model Y", 8);

// Memanggil metode pada objek
buku.tambahJumlah(10);
laptop.updateKondisi("Baik");

// Menampilkan informasi barang
System.out.println(buku.getInfoBarang());

Konsep Pewarisan (Inheritance)

Pewarisan adalah konsep fundamental dalam PBO yang memungkinkan kelas (child/subclass) mewarisi atribut & metode dari kelas lain (parent/superclass).

Manfaat Pewarisan: Reusabilitas kode, kemudahan pemeliharaan, modularitas, dan ekstensibilitas.

Contoh Pewarisan: Hewan dan Ikan

// Kelas Induk (Parent Class)
class Hewan {
    String nama;
    String habitat;
    
    void bergerak() {
        System.out.println("Hewan bergerak...");
    }
}

// Kelas Anak (Child Class) - mewarisi dari Hewan
class Ikan extends Hewan {
    String jenisSirip;
    
    void berenang() {
        System.out.println("Ikan berenang dengan sirip: " + jenisSirip);
    }
    
    // Override metode dari kelas induk
    @Override
    void bergerak() {
        System.out.println("Ikan berenang di air.");
    }
}

Implementasi Pewarisan

// Membuat objek dari kelas turunan
Ikan ikanMas = new Ikan();
ikanMas.nama = "Ikan Mas";
ikanMas.habitat = "Air Tawar";
ikanMas.jenisSirip = "Sirip Ekor Ganda";

// Memanggil metode yang diwarisi dan metode baru
ikanMas.bergerak(); // Memanggil metode yang di-override
ikanMas.berenang(); // Memanggil metode spesifik Ikan

Demo Interaktif: Objek BarangInventaris

📚

Buku ‘PBO Lanjut’

Status Inventaris: Stok Awal: 50, Harga: Rp 150.000

Aksi: Panggil kurangiStok(5)

Stok Akhir: 45

💻

Laptop ‘Seri X’

Status Inventaris: Stok Awal: 15, Harga: Rp 12.000.000

Aksi: Panggil tambahStok(3)

Stok Akhir: 18

📽️

Proyektor ‘Model Y’

Status Inventaris: Stok Awal: 8, Harga: Rp 7.500.000

Aksi: Panggil kurangiStok(2)

Stok Akhir: 6

Konsep PBO yang Terlihat: Instansiasi Objek, Pemanggilan Metode, Perubahan State Internal, Enkapsulasi Data

Kuis Singkat: Konsep Dasar PBO

Uji pemahaman Anda tentang konsep dasar Pemrograman Berorientasi Objek:

1. Konsep PBO yang memungkinkan kelas mewarisi properti dari kelas lain adalah…

A. Enkapsulasi
B. Abstraksi
C. Polimorfisme
D. Pewarisan

Jawaban: D. Pewarisan

Pewarisan (Inheritance) adalah konsep yang memungkinkan kelas mewarisi atribut dan metode dari kelas lain, mengurangi duplikasi kode.

2. Blueprint untuk membuat objek PBO disebut…

A. Metode
B. Atribut
C. Kelas
D. Instansi

Jawaban: C. Kelas

Kelas (Class) adalah blueprint atau cetakan untuk membuat objek, mendefinisikan struktur dan perilaku objek.

3. Metode khusus untuk inisialisasi objek saat dibuat adalah…

A. Destruktor
B. Konstruktor
C. Setter
D. Getter

Jawaban: B. Konstruktor

Konstruktor (Constructor) adalah metode khusus yang dipanggil otomatis saat objek dibuat dengan keyword new.

Praktik Terbaik Desain Kelas

Prinsip SOLID

Single Responsibility

Satu kelas, satu tanggung jawab

Open/Closed

Terbuka untuk ekstensi, tertutup untuk modifikasi

Liskov Substitution

Subkelas bisa menggantikan superkelas

Interface Segregation

Klien tak dipaksa pakai antarmuka tak relevan

Dependency Inversion

Bergantung pada abstraksi, bukan detail

Naming Convention yang Baik

  • Kelas: Gunakan CamelCase dan kata benda (contoh: BarangInventaris)
  • Metode: Gunakan camelCase dan kata kerja (contoh: tambahJumlah)
  • Variabel: Gunakan camelCase yang deskriptif (contoh: jumlahStok)
  • Konstanta: Gunakan SCREAMING_SNAKE_CASE (contoh: MAX_STOK)

Enkapsulasi yang Baik

Mengelompokkan data (atribut) dan perilaku (metode) dalam satu unit, sambil menyembunyikan detail implementasi internal.

Enkapsulasi yang baik meningkatkan fleksibilitas, mempermudah pemeliharaan, mendorong reusabilitas kode, dan meningkatkan modularitas sistem.

Langkah Selanjutnya dalam Pembelajaran PBO

  • Latih Implementasi Prinsip SOLID dalam proyek nyata
  • Eksplorasi Pola Desain (Design Patterns) seperti Factory, Singleton, Observer
  • Pelajari PBO Tingkat Lanjut: Generic, Collections, Multithreading
  • Terapkan PBO dalam Proyek Nyata: Sistem inventaris, aplikasi toko online, manajemen perpustakaan

Pentingnya Kelas (Class): Blueprint untuk objek, mendefinisikan struktur dan perilaku. Fondasi modularitas kode.

Pentingnya Pewarisan (Inheritance): Menghemat waktu dengan penggunaan kembali kode, membentuk hierarki objek yang logis.

Materi Pembelajaran Pemrograman Berorientasi Objek

La Gani | Kontak: lgani4@gmail.com

Pembelajaran adalah perjalanan berkelanjutan. Terus eksplorasi dan praktikkan konsep PBO!

Kategori: pembelajaran

0 Komentar

Tinggalkan Balasan

Avatar placeholder

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *