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
- Buat class
Mahasiswa
dengan atributnama
dannim
, lalu buat method untuk menampilkannya. - Buat class
Hewan
lalu turunkan ke classKucing
danAnjing
dengan suara yang berbeda. - Buat class
AkunBank
denganprivate saldo
, lalu gunakangetter
dansetter
. - Buat class
Matematika
dengan methodtambah
yang di-overloading (2 versi: int dan double).
Asesmen: Tanya Jawab
- Apa perbedaan antara class dan object?
- Jelaskan apa yang dimaksud dengan enkapsulasi!
- Buat contoh program sederhana menggunakan inheritance.
- Apa yang dimaksud dengan polimorfisme? Berikan contohnya.
- Mengapa OOP dianggap mempermudah dalam pengembangan program skala besar?