OOP Java - Tj Konsep Dasar OOP
Materi hari ini Objek Kelas Encapsulation Inheritance Polymorphism
Objek (1) Sebutkan objek-objek yg ada di sekeliling kita ! Apakah Objek itu ? Objek : benda-benda mati ? Objek : makhluk hidup ? Objek : barang abstrak ?
Objek (2) Objek dalam OOP, memiliki pengertian yg sama dengan objek-objek yg ada di sekeliling kita ! Objek bisa berupa : Benda benda mati Makhluk hidup Barang/ sesuatu yg abstrak Objek : entitas yg ada disekeliling kita. Mirip seperti Entitas yg anda tentukan ketika membuat ER diagram.
Objek (3) Sebutkan apa saja yg biasanya dimiliki oleh suatu objek ?
Objek (4) Objek memiliki : Dalam OOP : Nama : identifikasi dari objek State : status / ciri / atribut yg terdapat pd objek Behavior : apa yg dapat dilakukan oleh objek tsb Dalam OOP : State = atribut Behavior = method Ekivalensinya dalam bhs non-OOP : State = variabel Behavior = fungsi / prosedur
Objek (5) Sebutkan dari objek-objek disekitar kita : Nama objek State / atribut Behavior Any question, please… ?
Kelas (1) Objek monitor komputer di meja anda apakah sama dengan objek monitor di meja teman sebelah kiri/kanan anda ? Karakteristiknya (state & behavior) sama, tetapi merupakan 2 benda yg berbeda.
Kelas (2) Kelas : kelompok objek-objek yg memiliki karakteristik yg sama (yg sejenis) Kelas : definisi /spesifikasi dari objek-objek Lebih tepatnya kelas di-analogi-kan sebagai : Cetakan kue Blueprint / denah bangunan Resep masakan dll Dari satu cetakan bisa dibuat banyak kue yg bentuknya sama. Dari satu blueprint rumah bisa dibuat banyak rumah yg bentuk, ukuran, bahannya sama.
Kelas (3) Misalkan sebuah kelas : Nama kelas : Orang Atribut : Nama : String Umur : integer Method : makan() Orang + nama : String + umur : int + makan() : void
Kelas (3--) Demo menggunakan Netbeans Membuat kelas Membuat kelas testnya dengan membentuk beberapa objek Latihan membuat kelas & kelas test sendiri
Encapsulation (1) Objek & kelas : perwujudan dari konsep encapsulation Dua pengertian dari konsep encapsulation : Atribut & method dibungkus jadi satu Atribut (& method) dapat dilindungi sehingga tidak dapat diakses dari luar secara langsung Bisa dilakukan pada bahasa non-OOP ? Bhs C : bisa memasukkan fungsi kedalam struct ? Bhs Pascal : bisa memasukkan procedure / function kedalam record ?
Encapsulation (2) Penjelasan pengertian kedua (akan dijelaskan lebih jauh pada pertemuan kuliah mengenai Get & Set method)
Inheritance (1) Menggunakan kata kunci : extends Kelas induk : parent, superclass, ancestor Kelas anak : child, subclass, descendant Kita akan membuat turunan dari kelas Orang : Orang + nama : String + umur : int + makan() : void Mahasiswa + nrp : String + belajar() : void
Inheritance (2) Kodenya sbb : public class Mahasiswa extends Orang { public String nrp; public void belajar() { System.out.println(“Mhs “ + nama + “ sedang belajar”); }
Inheritance (3) Kelas testnya sbb : public class TestMahasiswa { public static void main(String[] args) { Mahasiswa mhs; mhs.nama = “Deden”; mhs.umur = 20; mhs.nrp = “0874001”; mhs.makan(); mhs.belajar(); }
Inheritance (4) Tiga Konsep inheritance : Semua atribut & method dari kelas induk diturunkan ke kelas anak Pada kelas anak dapat menambahkan atribut & method yang tidak ada pada kelas induk Pada kelas anak dapat memodifikasi method (behavior) yang sudah ada di kelas induk
Polymorphism (1) Polymorphism : mengambil banyak bentuk Kelakuan bisa berubah-ubah tergantung dari objek yang memanggilnya. Akan dijelaskan lebih jauh pada pertemuan tentang Polymorphism