Java Pertemuan 7
Java Pertemuan 7
CLASS
(LANJUTAN)
7.1 Inheritance
Inheritance merupakan salah satu point penting dalam pembuatan pemrograman
berorientasi objek. Sebuah class atau objek dapat saling berhubungan dengan class yang lain,
salah satu bentuk hubungannya adalah inheritance (pewarisan). Hubungan ini seperti hubungan
keluarga antara orang tua dan anak. Contohnya orangtua yang baik, dapat menurunkan anak
yang baik pula, begitupun dalam kodingan. Sebuah class di Java, dapat memiliki satu atau lebih
keturunan atau class anak (subclass). Class anak akan memiliki warisan atribut dan method dari
class ibu.
Contoh didalam package Hewan membuat class-class nama hewan dengan perilaku yang
berbeda, lalu buat kode untuk masing-masing class:
Zebra
class Zebra
{ String
name; int
age;
int speed;
void walk(){
// ...
}
void run(){
//...
}
}
PEMROGRAMAN I 1
Kelinci
Kucing
classDaripada
Kelinci { menulis berulang-ulang properti dan method yang sama, dapat menyingkatnya
class Kucing
String
dengan {
menggunakan inheritance. Cari member class yang sama:
String
name; int
name;
age; Int
age;
int speed;
int speed;
void walk(){
void walk(){
// ...
} // ...
}void jump(){
void
//...run(){
} //...
} }
PEMROGRAMAN I 2
Setelah menggunakan inheritance, maka akan menjadi seperti ini:
Hewan adalah class induk yang memiliki class anak Zebra, Kelinci, dan Kucing. Apapun
properti atau atribut yang ada di class induk, akan dimiliki juga oleh class anak.
1. Buka Netbeans, buat Java Package baru bernama inheritance di dalam Source Packages.
2. Isi nama package dengan inheritance.
PEMROGRAMAN I 3
3. Buat class-class baru berdasarkan diagram di atas:
>> bangundatar.java <<
PEMROGRAMAN I 4
>> segitiga.java <<
PEMROGRAMAN I 5
// memanggil method luas dan keliling
mBangunDatar.luas();
mBangunDatar.keliling();
mPersegi.luas();
mPersegi.keliling();
mLingkaran.luas();
mLingkaran.keliling();
mPersegiPanjang.luas();
mPersegiPanjang.keliling();
mSegitiga.luas();
mSegitiga.keliling();
}
}
Jalankan mainbangundatar.java, akan didapatkan hasil seperti dibawah ini:
Mengapa hasilnya seperti diatas? Bukan hasil berupa angka? Inilah peran method Overriding,
dari sini akan dilanjutkan dengan menggunakan method Overriding.
PEMROGRAMAN I 6
1. Buka kembali file persegi.java, lalu tambahkan @Override dibawah tipe data float, untuk
jelasnya dapat dilihat pada codingan dibawah ini:
2. Buka kembali file lingkaran.java, tambahkan juga @Override seperti kodingan dibawah ini:
Dalam rumus luas dan keliling lingkaran, dapat menggunakan konstanta Math.PI sebagai
nilai PI. Konstanta ini sudah ada di Java. Fungsi @Override yaitu menulis ulang
method luas() dan keliling() pada class anak, jadi inheritance dan @Override ini saling
berhubungan satu dengan yang lainnya.
PEMROGRAMAN I 7
Latihan
1. Pada pertemuan 7 dengan contoh program Bangun Datar menghitung luas dan keliling,
terdiri dari lingkaran, persegi, persegi panjang, dan segitiga. Pada contoh program sudah
ditambahkan @Override file lingkaran.java dan persegi.java, lanjutkan kembali program
mencari luas dan keliling:
- persegipanjang.java NIM ganjil
- segitiga.java NIM genap
Setelah itu, jalankan kembali program class mainbangundatar.java!
2. Screenshot kodingan program dan hasil program. Di dalam kodingan program, beri nama
masing-masing (contoh: //galuhsaputri).
PEMROGRAMAN I 8