Kelas dan Objek · Pelajaran 2 dari 10
Kelas dan objek
9 menit baca · BelajarCode
Pemrograman berorientasi objek (PBO atau OOP) menyusun program dari objek yang punya data dan perilaku sendiri. Cetak biru objek disebut kelas.
| Konsep | Arti | Contoh |
|---|---|---|
| Kelas | Cetak biru atau rancangan | Rancangan "Mahasiswa" |
| Objek | Wujud nyata dari kelas | Mahasiswa bernama Dewi, mahasiswa bernama Bagas |
| Atribut (field) | Data yang dimiliki objek | nama, nim, ipk |
| Metode | Perilaku atau aksi objek | info(), naikSemester() |
1class Mahasiswa {2 String nama;3 String nim;4 int semester;56 void naikSemester() {7 semester++;8 }910 String info() {11 return nama + " (" + nim + ") semester " + semester;12 }13}1415public class Main {16 public static void main(String[] args) {17 Mahasiswa a = new Mahasiswa();18 a.nama = "Dewi";19 a.nim = "2410511002";20 a.semester = 1;2122 Mahasiswa b = new Mahasiswa();23 b.nama = "Bagas";24 b.nim = "2410511003";25 b.semester = 3;2627 a.naikSemester();28 System.out.println(a.info());29 System.out.println(b.info());30 }31}Dewi (2410511002) semester 2 Bagas (2410511003) semester 3
new Mahasiswa()membuat objek baru di memori.- Setiap objek punya salinan atributnya sendiri. Menaikkan semester Dewi tidak mengubah semester Bagas.
- Satu berkas boleh berisi beberapa kelas, tetapi hanya satu yang boleh
public.
Variabel objek menyimpan referensi
Variabel bertipe kelas tidak menyimpan objeknya langsung, melainkan referensi (alamat) ke objek itu.
1class Kotak {2 int isi;3}45public class Main {6 public static void main(String[] args) {7 Kotak a = new Kotak();8 a.isi = 5;9 Kotak b = a;10 b.isi = 10;11 System.out.println("a.isi = " + a.isi);12 System.out.println("a dan b objek yang sama: " + (a == b));13 }14}a.isi = 10 a dan b objek yang sama: true
Kotak b = a; tidak membuat objek baru. Kedua variabel menunjuk objek yang sama, sehingga mengubah lewat b ikut terlihat lewat a.
Cek pemahaman
Berapa objek Mahasiswa yang dibuat oleh kode Mahasiswa a = new Mahasiswa(); Mahasiswa b = a; Mahasiswa c = new Mahasiswa();?
Latihan
Kelas Lampu
Buat kelas Lampu dengan atribut nyala (boolean) dan ruangan (String), serta metode tekanSaklar() yang membalik keadaan nyala dan metode status(). Buat dua lampu dan uji.
Pembahasan
1class Lampu {2 boolean nyala;3 String ruangan;45 void tekanSaklar() {6 nyala = !nyala;7 }89 String status() {10 return "Lampu " + ruangan + (nyala ? " menyala" : " padam");11 }12}1314public class Main {15 public static void main(String[] args) {16 Lampu kamar = new Lampu();17 kamar.ruangan = "kamar";18 Lampu dapur = new Lampu();19 dapur.ruangan = "dapur";2021 kamar.tekanSaklar();22 System.out.println(kamar.status());23 System.out.println(dapur.status());24 kamar.tekanSaklar();25 System.out.println(kamar.status());26 }27}Lampu kamar menyala Lampu dapur padam Lampu kamar padam
Atribut boolean yang tidak diisi bernilai bawaan false, jadi lampu dapur padam sejak awal.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Java online.