0% menganggap dokumen ini bermanfaat (0 suara)
127 tayangan5 halaman

Konsep OOP Inheritance

Dokumen tersebut membahas konsep pewarisan (inheritance) dalam pemrograman berorientasi objek, di mana suatu kelas dapat mewarisi properti dan metode dari kelas lain. Diberikan contoh pewarisan antara kelas Bangun Datar dan kelas-kelas turunannya seperti Persegi, Lingkaran, Persegi Panjang, dan Segitiga. Kelas-kelas turunan tersebut dapat menimpa (override) metode luas() dan keliling() dari kelas induk untuk meng

Diunggah oleh

Muhammad Alfriadi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
127 tayangan5 halaman

Konsep OOP Inheritance

Dokumen tersebut membahas konsep pewarisan (inheritance) dalam pemrograman berorientasi objek, di mana suatu kelas dapat mewarisi properti dan metode dari kelas lain. Diberikan contoh pewarisan antara kelas Bangun Datar dan kelas-kelas turunannya seperti Persegi, Lingkaran, Persegi Panjang, dan Segitiga. Kelas-kelas turunan tersebut dapat menimpa (override) metode luas() dan keliling() dari kelas induk untuk meng

Diunggah oleh

Muhammad Alfriadi
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 5

Sistem Informasi Bisnis

Pemrograman Berorientasi Objek


Semester 3
Muhammad Alfriadi
1810120015
Tugas Konsep OOP

1. Inheritance / Pewarisan

Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana sebuah class dapat
‘menurunkan’ property dan method yang dimilikinya kepada class lain. Konsep inheritance digunakan
untuk memanfaatkan fitur ‘code reuse’ untuk menghindari duplikasi kode program.

• Inheritance (Pewarisan) merupakan salah Inheritance (Pewarisan) merupakan salah satu dari tiga
konsep dasar OOP.
• Konsep inheritance ini mengadopsi dunia Konsep inheritance ini mengadopsi dunia riil dimana
suatu entitas/obyek dapat mempy y un ai entitas/obyek turunan.
• Dengan konsep inheritance, sebuah class dap py at mempunyai class turunan.
• Suatu class yang mempunyai class Suatu class yang mempunyai class turunan dinamakan parent
class atau base class.
• Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class.
• Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.
• Karena suatu subclass dapat mewarisi apa Karena suatu subclass dapat mewarisi apa-apa yang
dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia
punyai dan juga apa-apa yang ia warisi dari class parent-nya.
• Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend)
parent class (extend) parent class nya.
• Dengan menambahkan kata kunci Dengan menambahkan kata kunci extends setelah deklarasi
nama class, kemudian diikuti dengan nama parent kemudian diikuti dengan nama parent class nya.
• Kata kunci extends tersebut memberitahu Kata kunci extends tersebut memberitahu kompiler Java
bahwa kita ingin melakukan perluasan class perluasan class.

• Method Overriding dilakukan saat kita ingin membuat ulang sebuah method pada sub-class atau
class anak. Method Overriding dapat dibuat dengan menambahkan anotasi @Override di atas nama
method atau sebelum pembuatan method.

Contoh :

BANGUN DATAR
==============
package inheritance;
public class BangunDatar {

float luas(){
System.out.println("Menghitung laus bangun datar");
return 0;
}
float keliling(){
System.out.println("Menghitung keliling bangun datar");
return 0;
}
}

PERSEGI
=======
package inheritance;

public class Persegi extends BangunDatar {


float sisi;
}

LINGKARAN
==========
package inheritance;

public class Lingkaran extends BangunDatar{

// jari-jari lingkaran
float r;

PERSEGI LINGKARAN
==================
package inheritance;

public class PersegiPanjang extends BangunDatar {


float panjang;
float lebar;

SEGITIGA
========
package inheritance;

public class Segitiga extends BangunDatar {

float alas;
float tinggi;

}
CLASS MAIN
===========
package inheritance;

public class Main {


public static void main(String[] args) {

// membuat objek bangun datar


BangunDatar bangunDatar = new BangunDatar();

// membuat objek persegi dan mengisi nilai properti


Persegi persegi = new Persegi();
persegi.sisi = 2;

// membuat objek Lingkaran dan mengisi nilai properti


Lingkaran lingkaran = new Lingkaran();
lingkaran.r = 22;

// membuat objek Persegi Panjang dan mengisi nilai properti


PersegiPanjang persegiPanjang = new PersegiPanjang();
persegiPanjang.panjang = 8;
persegiPanjang.lebar = 4;

// membuat objek Segitiga dan mengisi nilai properti


Segitiga mSegitiga = new Segitiga();
mSegitiga.alas = 12;
mSegitiga.tinggi = 8;

// memanggil method luas dan keliling


bangunDatar.luas();
bangunDatar.keliling();

persegi.luas();
persegi.keliling();

lingkaran.luas();
lingkaran.keliling();

persegiPanjang.luas();
persegiPanjang.keliling();

mSegitiga.luas();
mSegitiga.keliling();
}
}
Extend @Override

PERSEGI
=======
class Persegi extends BangunDatar {
float sisi;

@Override
float luas(){
float luas = sisi * sisi;
System.out.println("Luas Persegi: " + luas);
return luas;
}

@Override
float keliling(){
float keliling = 4 * sisi;
System.out.println("Keliling Persegi: " + keliling);
return keliling;
}
}

LINGKARAN
==========
package inheritance;

public class Lingkaran extends BangunDatar{

// jari-jari lingkaran
float r;

@Override
float luas(){
float luas = (float) (Math.PI * r * r);
System.out.println("Luas lingkaran: " + luas);
return luas;
}

@Override
float keliling(){
float keliling = (float) (2 * Math.PI * r);
System.out.println("Keliling Lingkaran: " + keliling);
return keliling;
}

}
PERSEGI PANJANG
================
package inheritance;

public class PersegiPanjang extends BangunDatar {


float panjang;
float lebar;

@Override
float luas(){
float luas = panjang * lebar;
System.out.println("Luas Persegi Panjang:" + luas);
return luas;
}

@Override
float keliling(){
float kll = 2*panjang + 2*lebar;
System.out.println("Keliling Persegi Panjang: " + kll);
return kll;
}
}

SEGITIGA
========
package inheritance;

public class Segitiga extends BangunDatar {

float alas;
float tinggi;

@Override
float luas() {
float luas = 1/2 * (alas * tinggi);
System.out.println("Luas Segitiga: " + luas);
return luas;
}

Untuk class Segitiga, kita hanya melakukan override terhadap method luas() saja. Karena untuk method
keliling(), segitiga memiliki rumus yang berbeda-beda. Atau mungkin bisa diturunkan lagi class segitiga
ini menjadi: SegitigaSiku, SegitigaSamaKaki, SegitigaSamaSisi, dsb.

Anda mungkin juga menyukai