Class & Objek (Enkapsulasi)

Konsep OOP: class sebagai cetak biru, objek, field, constructor, this, modifier akses, getter/setter, static, dan toString.

Part 7 dari 17 ± 60 menit Gratis

Apa itu OOP?

Pemrograman Berorientasi Objek (OOP) memodelkan program sebagai kumpulan objek yang menyimpan data dan punya perilaku. Analogi: class adalah cetak biru rumah; objek adalah rumah nyata yang dibangun dari cetak biru itu. Satu class dapat melahirkan banyak objek, masing-masing punya datanya sendiri.

Empat pilar OOP: enkapsulasi, pewarisan, polimorfisme, dan abstraksi. Bab ini membahas dasar dan enkapsulasi; yang lain di bab berikutnya.

Membuat class

class Mahasiswa {
    // field (data / atribut)
    private String nama;
    private String nim;
    private double ipk;

    // constructor
    public Mahasiswa(String nama, String nim) {
        this.nama = nama;
        this.nim = nim;
        this.ipk = 0.0;
    }

    // method (perilaku)
    public String getNama() { return nama; }
    public double getIpk()  { return ipk; }

    public void setIpk(double ipk) {
        if (ipk < 0 || ipk > 4) {
            throw new IllegalArgumentException("IPK harus 0-4");
        }
        this.ipk = ipk;
    }

    public void perkenalan() {
        System.out.println("Saya " + nama + " (" + nim + ")");
    }
}

Membuat dan memakai objek

public class Main {
    public static void main(String[] args) {
        Mahasiswa m1 = new Mahasiswa("Sari", "A001");
        Mahasiswa m2 = new Mahasiswa("Budi", "A002");
        m1.setIpk(3.8);
        m1.perkenalan();                 // Saya Sari (A001)
        System.out.println(m2.getNama()); // Budi
    }
}

Kata kunci new membuat objek di memori dan memanggil constructor. Variabel m1 menyimpan referensi (alamat) ke objek itu. Dua variabel bisa menunjuk objek yang sama.

Constructor

  • Namanya sama persis dengan nama class dan tidak punya tipe kembalian.
  • Dipanggil otomatis saat new; tugasnya menyiapkan keadaan awal objek.
  • Jika kamu tidak menulis satu pun, Java memberi constructor kosong bawaan. Begitu kamu menulis sendiri, constructor bawaan hilang.
  • Boleh banyak (overloading) dan saling memanggil lewat this(...).

Kata kunci this

this menunjuk objek yang sedang bekerja. Paling sering dipakai untuk membedakan field dari parameter bernama sama: this.nama = nama; (field kiri, parameter kanan).

Enkapsulasi: modifier akses

ModifierDapat diakses dari
privatehanya di dalam class itu sendiri
(tanpa modifier)class lain dalam package yang sama
protectedpackage yang sama + subclass
publicdi mana saja

Enkapsulasi = menyembunyikan data (private) dan hanya memberi akses terkontrol lewat method public (getter/setter). Keuntungannya: kamu bisa memvalidasi perubahan (IPK tidak boleh 5) dan mengubah implementasi dalam tanpa merusak kode luar.

static: milik class, bukan objek

class Penghitung {
    private static int jumlahObjek = 0;   // satu salinan dipakai bersama
    Penghitung() { jumlahObjek++; }
    static int getJumlahObjek() { return jumlahObjek; }
}
new Penghitung(); new Penghitung();
System.out.println(Penghitung.getJumlahObjek());   // 2

Member static dipanggil lewat nama class. Method static tidak bisa langsung memakai field non-static karena tidak ada objek terkait.

toString dan equals

Setiap class otomatis mewarisi Object. Override toString() agar objek tercetak rapi:

@Override
public String toString() {
    return nama + " (" + nim + ")";
}
System.out.println(m1);   // Sari (A001)

Null dan NullPointerException

Variabel referensi yang belum menunjuk objek bernilai null. Memanggil method lewat null melempar NullPointerException — error paling sering di Java. Pastikan objek sudah dibuat sebelum dipakai.

Satu berkas, beberapa class

Dalam satu berkas hanya satu class yang boleh public (namanya sama dengan berkas). Class lain boleh ditulis tanpa public di berkas yang sama — itu yang kita lakukan di latihan. Pada proyek nyata, tiap class biasanya punya berkasnya sendiri.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X