Kelas Abstrak 
dan Komposisi 
Pemrograman 
Berorientasi Objek 
Georgius Rinaldo 
dodo@kuliahkita.com
Kelas Abstrak 
Kelas Abstrak adalah sebuah kelas yang didefinisikan 
tetapi tidak bisa diinstansiasi. 
Dalam kelas abstrak terdapat method abstrak. Method ini 
juga tidak dapat dipakai karena hanya berupa deklarasi. 
Karena tidak dapat dipakai, maka kelas abstrak harus 
diturunkan terlebih dahulu (inheritance) dan didefinisikan 
ulang method-nya supaya dapat dipakai.
Mengapa Kelas Abstrak? 
Kelas abstrak dapat digunakan sebagai kerangka untuk 
mendefinisikan sub-kelas yang masih terdapat dalam 1 
kategori tetapi memiliki kelakuan berbeda. 
Kelas ini digunakan jika Kita ingin menyediakan 
implementasi detil ke sub-kelas tanpa mengimplementasi 
kelas induknya.
Contoh Kelas Abstrak 
Kita punya contoh Hewan pada materi sebelumnya. Kelas 
ini dapat diturunkan dan didefinisikan methodnya tiap sub-kelas 
yang kelakuannya berbeda. 
abstract class Hewan 
function bersuara(); 
class Kucing extends Hewan 
function bersuara() { … } 
// mengembalikan “meow” 
class Burung extends Hewan 
function bersuara(string suara) { … } 
// mengembalikan “sesuai input suara”
Contoh Implementasi 
// misalkan kita buat kelas hewan jadi abstrak 
public abstract class Hewan { 
String nama; 
int umur; 
// method yang ada tidak didefinisikan isinya 
void bersuara(); 
void berlari(); 
}
Komposisi (Composition) 
Sedikit berbeda dengan inheritance, composition 
merupakan cara menyusun kelas yang terdiri dari objek-objek 
kelas lain. 
Jika pada turunan, kelas baru akan terbentuk berdasarkan 
kelas basisnya sehingga membuat hubungan “is-a”. 
Sedangkan kompsisi akan membuat hubungan “has-a” 
atau “memiliki sebuah”.
Struktur Komposisi 
Kelas komposisi dapat terdiri dari kelas-kelas lainnya atau 
lebih dari satu kelas lainnya. 
Misal: terdapat kelas Mobil, Mesin, Roda. Sebuah kelas 
Mobil dapat memiliki data bertipe kelas Mesin dan Roda. 
Mobil 
- Mesin 
- Roda 
class Mobil 
class Mesin 
class Roda
Struktur Komposisi 
Jika aplikasi / program sudah berskala besar, maka 
struktur komposisi ini akan banyak dipakai. 
Selain karena membuat lebih terstruktur, struktur 
komposisi ini juga tentu mempermudah penggunaan 
kembali method pada objek-objek tertentu yang terkait.
Contoh Implementasi - Komposisi 
// misalkan kita memiliki kelas kandang 
public class Kandang { 
// sebuah kandang terdiri dari banyak hewan 
Anjing a = new Anjing(); 
Kucing k = new Kucing(); 
Hamster h = new Hamster(); 
… 
}

OOP - Kelas abstrak dan Komposisi

  • 1.
    Kelas Abstrak danKomposisi Pemrograman Berorientasi Objek Georgius Rinaldo dodo@kuliahkita.com
  • 2.
    Kelas Abstrak KelasAbstrak adalah sebuah kelas yang didefinisikan tetapi tidak bisa diinstansiasi. Dalam kelas abstrak terdapat method abstrak. Method ini juga tidak dapat dipakai karena hanya berupa deklarasi. Karena tidak dapat dipakai, maka kelas abstrak harus diturunkan terlebih dahulu (inheritance) dan didefinisikan ulang method-nya supaya dapat dipakai.
  • 3.
    Mengapa Kelas Abstrak? Kelas abstrak dapat digunakan sebagai kerangka untuk mendefinisikan sub-kelas yang masih terdapat dalam 1 kategori tetapi memiliki kelakuan berbeda. Kelas ini digunakan jika Kita ingin menyediakan implementasi detil ke sub-kelas tanpa mengimplementasi kelas induknya.
  • 4.
    Contoh Kelas Abstrak Kita punya contoh Hewan pada materi sebelumnya. Kelas ini dapat diturunkan dan didefinisikan methodnya tiap sub-kelas yang kelakuannya berbeda. abstract class Hewan function bersuara(); class Kucing extends Hewan function bersuara() { … } // mengembalikan “meow” class Burung extends Hewan function bersuara(string suara) { … } // mengembalikan “sesuai input suara”
  • 5.
    Contoh Implementasi //misalkan kita buat kelas hewan jadi abstrak public abstract class Hewan { String nama; int umur; // method yang ada tidak didefinisikan isinya void bersuara(); void berlari(); }
  • 6.
    Komposisi (Composition) Sedikitberbeda dengan inheritance, composition merupakan cara menyusun kelas yang terdiri dari objek-objek kelas lain. Jika pada turunan, kelas baru akan terbentuk berdasarkan kelas basisnya sehingga membuat hubungan “is-a”. Sedangkan kompsisi akan membuat hubungan “has-a” atau “memiliki sebuah”.
  • 7.
    Struktur Komposisi Kelaskomposisi dapat terdiri dari kelas-kelas lainnya atau lebih dari satu kelas lainnya. Misal: terdapat kelas Mobil, Mesin, Roda. Sebuah kelas Mobil dapat memiliki data bertipe kelas Mesin dan Roda. Mobil - Mesin - Roda class Mobil class Mesin class Roda
  • 8.
    Struktur Komposisi Jikaaplikasi / program sudah berskala besar, maka struktur komposisi ini akan banyak dipakai. Selain karena membuat lebih terstruktur, struktur komposisi ini juga tentu mempermudah penggunaan kembali method pada objek-objek tertentu yang terkait.
  • 9.
    Contoh Implementasi -Komposisi // misalkan kita memiliki kelas kandang public class Kandang { // sebuah kandang terdiri dari banyak hewan Anjing a = new Anjing(); Kucing k = new Kucing(); Hamster h = new Hamster(); … }