SOAL
Terdapat
class-class hewan sebagai berikut :
Penjelasan
dari masing-masing atribut dan method sebagai berikut :
·
jenis
: apakah termasuk hewan mamalia, serangga atau burung
·
ciri
: ciri dari hewan tersebut
·
suara()
: suara hewan tersebut
·
berjalan()
: cara hewan tersebut berjalan/bergerak
Buatlah
class-class yang mengimplimentasikan gambar diatas. Buatlah class TestHewan
yang akan mengimplementasikan class-class di atas
dengan
ketentuan sebagai berikut :
1.
Saat
pertama kali dijalankan akan ditampilkan menu pilihan, yaitu nama-nama hewan
tersebut serta menu untuk keluar dari program.
2.
Setelah
user memilih hewan yang diinginkan, maka tampilkan suara dan cara berjalan/bergerak
dari hewan yang dipilih.
3.
Jika
user memilih Keluar, maka program selesai.
4.
Setelah
program anda berjalan dengan benar, tambahkan cara masingmasing hewan tersebut
bernafas, yaitu apakah menggunakan paru-paru, insang, atau yang lainnya.
Sehingga pada saat class TestHewan dijalankan akan menampilkan suara, cara
berjalan/bergerak dan cara bernafas dari hewan yang dipilih. Buat method ini
dengan teknik polymorphism.
Buatlah
kesimpulan sendiri tentang polymorphism.
LANDASAN
TEORI
1.
POLYMORPHISM
Polymorphism
mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memiliki nama sama,
tetapi memiliki kelakuan (behaviour) yang berbeda. Polymorphism merupakan
metode pewarisan sifat yang mana dalam anak kelas terdapat method yang
mengoverride method dalam induk kelas. Metode disebut polimorfis jika aksi yang
dilakukan oleh suatu metode berbeda-beda tergantung pada objek aktual pada saat
metode itu dijalankan.
Polimorfisme
adalah salah satu fitur utama dalam pemrograman berorientasi objek. Dengan
adanya sifat pewarisan polimorfis itu berarti kita bisa menghemat koding.
Overloading sangat lekat dengan polimorfis karena di dalam polimorfis harus
terdapat overloading yaitu keadaan dimana memiliki method dengan nama yang sama
namun parameter berbeda. Method Overriding adalah kemampuan dari subclass untuk
memodifikasi method dari superclass-nya, yaitu dengan cara menumpuk
(mendefinisikan kembali) method superclass-nya.
2.
INHERITANCE
Inheritance
merupakan proses pewarisan data dan method dari suatu class yang telah ada
kepada suatu class baru. Class yang mewariskan disebut dengan superclass /
parent class / base class, sedangkan class yang mewarisi (class yang baru)
disebut dengan subclass / child class / derived class. Subclass tidak
dapat mewarisi anggota private dari superclass-nya.
Dengan
inheritance, class yang baru (subclass) akan mirip dengan class yang lama
(superclass) namun memiliki karakteristik yang baru. Dalam Java, subclass hanya
bisa memiliki satu superclass (single inheritance) sedangkan superclass bisa
memiliki satu subclass atau lebih. Untuk menerapkan inheritance, gunakan
statement “extends”.
Keyword
“super” digunakan oleh subclass untuk memanggil constructor atau method yang
ada pada superclass-nya.
Contoh untuk memanggil
constructor milik superclass-nya :
Contoh untuk memanggil method
milik superclass-nya :
LISTING
PROGRAM & RUN PROGRAM
1.
Class Program
TestHewan
package
testhewan;
import
java.util.Scanner;
public
class TestHewan
{
public static void main(String[] args)
{
System.out.println("Daftar
pilihan Hewan");
System.out.println("=====================");
System.out.println("1.
Singa");
System.out.println("2.
Elang");
System.out.println("3.
Lebah");
System.out.println("4.
Paus");
System.out.println("5. Keluar dari
program");
System.out.println("=====================");
System.out.print("Pilihan Hewan :
");
int pilih;
Scanner c = new Scanner(System.in);
pilih = c.nextInt();
System.out.println("\t");
Singa s1 = new
Singa("Mamalia", "Memiliki tubuh yang besar, pemakan
daging", "Mengaung 'Hauwww'", "Menggunakan 4 kaki");
Elang e1 = new
Elang("Mamalia", "Memiliki tubuh yang sedang",
"Mencucuk 'Pcukcukcukcuk'", "Terbang dengan sayap, berjalan
dengan 2 kaki, Berenang");
Lebah l1 = new
Lebah("Burung", "Memiliki tubuh yang kecil, termasuk serangga,
pencari madu", "Mengiung 'wiiungngungungungu'", "Terbang
dengan sayap, berjalan dengan 2 kaki");
Paus p1 = new Paus("Mamalia",
"Memiliki tubuh yang besar, hewan berdarah panas, Hidup di laut",
"Keras 'Plundg'", "Berenang");
switch (pilih)
{
case 1:
System.out.println("SINGA");
s1.tampilHewan();
System.out.println("Singa
bernafas dengan paru - paru");
break;
case 2:
System.out.println("ELANG");
e1.tampilHewan();
System.out.println("Singa
bernafas dengan paru - paru");
break;
case 3:
System.out.println("LEBAH");
l1.tampilHewan();
System.out.println("Lebah
bernafas dengan paru - paru");
break;
case 4:
System.out.println("PAUS");
p1.tampilHewan();
System.out.println("Paus
bernafas dengan paru - paru");
break;
case 5:
System.exit(0);
break;
default:
System.out.println("Maaf
pilihan yang anda masukkan tidak terdaftar !");
}
}
}
2.
Class Program
Hewan
package
testhewan;
public
class Hewan
{
protected String jenis, ciri;
public Hewan(String jenis, String ciri)
{
this.jenis = jenis;
this.ciri = ciri;
}
public Hewan()
{
}
public void tampilHewan()
{
System.out.println("Jenis
Hewan : " + jenis);
System.out.println("Ciri
Hewan : " + ciri);
}
}
3.
Class Program
Singa
package
testhewan;
public
class Singa extends Hewan
{
private String suara, berjalan;
public Singa(String jenis, String ciri,
String suara, String berjalan)
{
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Singa(String suara, String berjalan)
{
this.suara = suara;
this.berjalan = berjalan;
}
@Override
public void tampilHewan()
{
super.tampilHewan();
System.out.println("Suara
Hewan : " + suara);
System.out.println("Cara berjalan
: " + berjalan);
}
}
4.
Class Program
Elang
package
testhewan;
public
class Elang extends Hewan
{
private String suara, berjalan;
public Elang(String jenis, String ciri,
String suara, String berjalan)
{
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Elang(String suara, String berjalan)
{
this.suara = suara;
this.berjalan = berjalan;
}
@Override
public void tampilHewan()
{
super.tampilHewan();
System.out.println("Suara
Hewan : " + suara);
System.out.println("Cara berjalan
: " + berjalan);
}
}
5.
Class Program
Lebah
package
testhewan;
public
class Lebah extends Hewan
{
private String suara, berjalan;
public Lebah(String jenis, String ciri,
String suara, String berjalan)
{
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Lebah(String suara, String berjalan)
{
this.suara = suara;
this.berjalan = berjalan;
}
@Override
public void tampilHewan()
{
super.tampilHewan();
System.out.println("Suara
Hewan : " + suara);
System.out.println("Cara
berjalan : " + berjalan);
}
}
6.
Class Program
Paus
package
testhewan;
public
class Paus extends Hewan
{
private String suara, berjalan;
public Paus(String jenis, String ciri,
String suara, String berjalan)
{
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Paus(String suara, String berjalan)
{
this.suara = suara;
this.berjalan = berjalan;
}
@Override
public void tampilHewan()
{
super.tampilHewan();
System.out.println("Suara
Hewan : " + suara);
System.out.println("Cara
berjalan : " + berjalan);
}
}
1.
Tampilan
daftar pilihan Hewan.
3.
Tampilan
user memilih keluar
2.
Tampilan
setelah user memilih hewan no 1, menampilkan suara dan cara berjalan atau
bergerak dari hewan yang dipilih.
4.
Tampilan
setelah user memilih hewan no 1, menampilkan suara cara berjalan/bergerak dan
cara bernafas dari hewan yang dipilih.
KESIMPULAN
Untuk
menghitung luas lingkaran dan luas persegi panjang pada netbeans menggunakan
kondisional yaitu pernyataan switch, dimana pernyataan switch dipakai pada saat
kita ingin memberikan kondisi dengan beberapa syarat yang identik yang masing-masing
mempunyai pernyataan yang berbeda-beda. Pada Java, nilai yang dilewatkan pada
switch harus bertipe int, short, byte atau char.
kenapa diclass paus bagian super nya error ya saya coba