SlideShare a Scribd company logo
2
Most read
3
Most read
6
Most read
MAKALAH
PRAKTIKUM
POLYMORPHISM & INHERITANCE
PEMROGRAMAN BERORIENTASI
OBJECT
DISUSUN OLEH :
MELINA KRISNAWATI
12.12.0328
SI 12 F
STMIK AMIKOM PURWOKERTO
TAHUN AJARAN 2012 / 2013
SOAL (KASUS)
 Buatlah project dengan nama TestHewan dengan beberapa class, diantaranya : Hewan,
Singa, Elang, Lebah, Paus. Dengan menggunakan Teknik Polymorphism.
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.
Serta tambahkan pula tentang cara bernafas hewan – hewan tersebut, apakah dengan paru
– paru atau trakea.
 Buatlah kesimpulan tentang polymorphism.
LANDASAN TEORI
POLYMORPHISM
 Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah
class terdapat beberapa method dengan nama yang sama.
 Polymorphism adalah teknik pemrograman yang memungkinkan programmer
menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda
memberikan tanggapan / respon terhadap pesan yang sama sesuai dengan sifat masing –
masing obyek.
Atau polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa
(Override), suatu method, yang menimpa (override), suatu method, yang berasal dari parent class
( super class ) dimana object tersebut diturunkan. Sehingga memiliki sifat yang berbeda.
Metodenya adalah sebagai berikut :
 Dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi
itu akan menyesuaikan sendiri ke pemanggilannya.
 Ilustrasinya adalah tombol play. Dimana – mana tombol play fungsinya sama, untuk
menjalankan. Padahal beda cara kerja tombol play di vcd dan radio.
Polymorphism mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memiliki nama
sama, tetapi memiliki kelakuan ( behavior ) yang berbeda. Polymorphism merupakan metode
pewarisan sifat yang mana dalam anak kelas terdapat method yang mengoverride method dalam
induk kelas.
Method disebut polimorfis jika aksi yang dilakukan oleh suatu metode berbeda – beda
tergantung pada objek actual pada saat metode itu dijalankan.
Polimorfisme merupakan kemampuan untuk sebuah kelas memiliki banyak kelas turunan.
Setiap kelas turunan memiliki deklarasi masing – masing yang unik dan dapat berbagi
fungsionalitas yang sama dengan kelas parent ( yang diturunkan).
Contoh polimorfisme adalah kelas Hewan yang sebelumnya telah dibuat.
public class Test{
public static void main (String []args){
Singa singa1 = new Singa();
Singa1.testHewan();
INHERITANCE
Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatau hubungan
dua buah kelas atau lebih. Dalam hal ini kelas yang memiliki method yang sama dengan kelas
lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi
turunannya. Pada dasarnya, teknik inheritance digunakan untuk membuat suatu class yang masih
memiliki sifat atau spesifikasi dari class induknya / superclass.
Dalam proses pewarisan ini data dan method yang dimiliki oleh suatu class akan diwariskan
seluruhnya kepada class pewarisnya. Suatu class yang mewariskan disebut dengan Super Class
atau Class Induk. Sedangkan class yang diwariskan disebut dengan SubClass atau Class Sub atau
Class Anak. Suatu method declass anak memiliki nama yang sama dengan method declass
induknya disebut dengan Override ( Overriding ). Overriding adalah kemampuan class anak
untuk memodifikasi atau mendefinisikan kembali data dan method dari kelas induknya. Utnuk
mengaplikasikan konsep inheritance didalam program, dengan menggunakan kata kunci extends.
Sifat lain pewarisan yaitu Overloading, yakni penggunaan satu nama class untuk beberapa
method yang berbeda parameter.
Contoh program menggunakan teknik inheritance :
Class CetakDataTipe
{
Public void CetakData(String Cetak)
{
System.out.println(Cetak);
}
Public void CetakData(int Cetak)
{
Package aplikasi.program;
Import.aplikasi.data.Karyawan;
Public class program{
Public static void main(String [] args){
Karyawan kry = new karyawan();
System.out.println(Cetak);
}
Public void CetakData(double Cetak)
{
System.out.println(Cetak);
}
Public void CetakData(char Cetak)
{
System.out.println(Cetak);
}
}
Public class Display
{
Public static void main (String[] args)
{
CetakDataTipe data = new CetakDataTipe();
System.out.print(“Cetak Data Tipe String : “);
Data.CetakData(“Sumatra”);
System.out.print(“Cetak Data Tipe Integer : ”);
Data.CetakData(1989);
System.out.print(“Cetak Data Tipe Double : ”);
Data.CetakData(16.5 /2);
System.out.print(“Cetak Data Tipe Char : ”);
Data.CetakData(‘N’);
}
}
OVERRIDING
Overriding tidak sama dengan overloading, overriding merupakan mekanisme dimana sebuah
metode dapat dideklarasikan ulang pada kelas turunannya.
Missal ada dua kelas bayi dan dewasa, pda kelas bayi tersebut terdapat metode lari() yang
memerintahkan untuk lari.
Setelah itu kelas Dewasa merupakan kelas turunan dari kelas Bayi.
Setelah itu jika kita coba buat sebuah objek kelas Dewasa dan menyuruhnya lari.
maka hasilnya adalah “Tidak bisa”, artinya metode lari() yang dipanggil sebenarnya milik kelas
Bayi yang pastinya tidak dapat berlari. Sekarang jika dianggap kelas Dewasa dapt berlari, maka
kita harus mengubah metode lari() tersebut agar dapat berlari, caranya adalah dengan melakukan
pendeklarasian ulang (overriding). Caranya adalah dengan membuat metode yang sama dengan
metode yang diwarisinya.
public class Bayi{
public void lari(){
System.out.println(“Tidak Bisa “);
}
}
public class Dewasa extends Bayi {
}
Public class Test {
Public static void main(String [] args){
Dewasa dewasa = new Dewasa();
Dewasa.lari();
}
}
PEMBAHASAN
Pada class Hewan, di dalam coding tersebut menggunakan :
 Protected
Atribut, metode atau kelas yang ditandai dengan visibilitas protected hanya dapat diakses
oleh kelas itu sendiri dan turunannya.
 Kata Kunci this
Kata kunci this digunakan dalam sebuah kelas dan digunakan untuk menyatakan objek
sekarang. Contoh misal saat kita membuat para meter yang sama dengan nama atribut
yang ada dalam sebuah kelas, maka jika kita menggunakan parameter tersebut untuk
mengubah atribut pada kelas, maka perubahan tidak akan terjadi.
 Public
Artinya adalah dapat diakses oleh seluruh kelas, termasuk kelas itu sendiri.
Berarti bahwa siapapun dapat mengakses member ini, baik code yang ada di dalam class
itu sendiri ataupun yang berada di dalam luar class.
Pada class Singa1, Elang1, Lebah1, dan Paus1, didalam coding tersebut menggunakan :
 Kata Kunci super
Kata kunci super merupakan kata kunci yang digunakan untuk mengakses kelas parent (
yang diturunkan).
 Override atau Overriding
Mekanisme dimana sebuah metode dapat dideklarasikan ulang pada kelas turunannya.
 Public
Artinya adalah dapat diakses oleh seluruh kelas, termasuk kelas itu sendiri.
Berarti bahwa siapapun dapat mengakses member ini, baik code yang ada di dalam class
itu sendiri ataupun yang berada di dalam luar class.
 Private
Hanya dapat diakses oleh kelas itu sendiri.
Member yang dideklarasikan sebagai private, hanya dapat di akses oleh internal member
dari class tersebut saja.
Pada class TestHewan, didalam coding tersebut menggunakan :
 Int
tipe data yang digunakan.
 Import java.util.Scanner;
adalah untuk memanggil atau mengaktifkan fungsi Scanner.
 import javax.swing.JOptionPane;
adalah untuk memanggil atau mengaktifkan JOptionPane, yang nantinya akan digunakan
untuk menampilkan message.
 Switch – case
Switch mengkontruksikan cabang untuk beberapa kondisi dari nilai.Digunakan untuk
memilih suatu objek yang nantinya akan di eksekusi pada output java. Jadi, misalkan
akan memilih 1, maka pada program tersebut akan menampilkan objek yang sudah
diperintahkan didalam case tersebut.
 System.exit(0);
digunakan untuk keluar dari program.
Didalam program yang telah saya buat, coding System.exit(0); akan memberhentikan
program. Jika coding JOptionPane.showMessageDialog(null, "Anda telah keluar dari
Program"); diletakkan dibawah coding System.exit(0); maka messege dialog tersebut
tidak akan tereksekusi, karena System.exit(0); tersebut telah menjalankan fungsinya,
yaitu keluar dari program. Maka, jika kita meletakkan beberapa coding atau bahkan
ratusan coding dibawah System.exit(0); coding selanjutnya tidak akan tereksekusi karena
program telah dihentikan, atau keluar dari program.
Contoh output program jika coding JOptionPane.showMessageDialog(null, "Anda
telah keluar dari Program"); diletakkan di atas coding System.exit(0);
Contoh output program jika coding JOptionPane.showMessageDialog(null, "Anda
telah keluar dari Program"); diletakkan dibawah System.exit(0);
Maka messege dialog tersebut tidak akan tereksekusi pada output program.
 JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program");
Coding diatas adalah untuk menampilkan message box dan menampilkan statement
“Anda telah keluar dari program”.
 Singa1 S = new Singa1("mamalia" dll);
Code diatas adalah pembuatan objek baru dengan nama S untuk menggantikan fungsi
Singa , Singa disini berarti class Singa yang sudah dibuat sebelumnya.
LISTING PROGRAM & HASIL RUNNING
 Coding pada Class Hewan :
package test_hewan;
/**
*
* @author azuura
*/
public class Hewan1 {
protected String jenis, ciri;
public Hewan1(String jenis, String ciri) {
this.jenis = jenis;
this.ciri = ciri;
}
public Hewan1() {
}
public void tampilHewan() {
System.out.println("Jenis Hewan : " + jenis);
System.out.println("Ciri Hewan : " + ciri);
}
}
 Coding pada Class Singa1 :
package test_hewan;
/**
*
* @author azuura
*/
public class Singa1 extends Hewan1 {
private String suara, berjalan;
public Singa1(String jenis, String ciri, String suara, String berjalan) {
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Singa1(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);
}
}
 Coding pada Class Elang1 :
package test_hewan;
/**
*
* @author azuura
*/
public class Elang1 extends Hewan1 {
private String suara, berjalan;
public Elang1(String jenis, String ciri, String suara, String berjalan) {
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Elang1(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);
}
}
 Coding pada Class Lebah1 :
package test_hewan;
/**
*
* @author azuura
*/
public class Lebah1 extends Hewan1 {
private String suara, berjalan;
public Lebah1(String jenis, String ciri, String suara, String berjalan) {
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Lebah1(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);
}
}
 Coding pada Class Paus1 :
package test_hewan;
/**
*
* @author azuura
*/
public class Paus1 extends Hewan1 {
private String suara, berjalan;
public Paus1(String jenis, String ciri, String suara, String berjalan) {
super(jenis, ciri);
this.suara = suara;
this.berjalan = berjalan;
}
public Paus1(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);
}
}
 Coding pada Class TestHewan:
package test_hewan;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
* @author azuura
*/
public class Test_Hewan {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int pilih;
Scanner masuk = new Scanner(System.in);
System.out.println("===============Test Hewan==============");
System.out.println("1. Singa >> L I O N << ");
System.out.println("2. Elang >> E A G L E << ");
System.out.println("3. Lebah >> B E E << ");
System.out.println("4. Paus >> W H A L E <<");
System.out.println("5. Keluar dari aplikasi");
System.out.println("=======================================");
System.out.print("Pilih Hewan : ");
pilih = masuk.nextInt();
System.out.println("n");
Singa1 S = new Singa1("Mamalia", "Besar, hewan buas, bulu tebal
disekitar tengkuknya", "Mengaum", "Dengan 4 kaki, seperti kucing");
Elang1 E = new Elang1("Burung / Aves", "hewan berdarah panas , paruh
bengkok dan kuat, mempunyai sayap & tubuh yang diselubungi pelepah", "Ya
suara elang", "Terbang dengan sayap");
Lebah1 L = new Lebah1("Serangga", "bisa menghasilkan madu, memiliki 3
pasang kaki, 2 pasang sayap", "mendengung", "terbang");
Paus1 P = new Paus1("Mamalia", "Besar, hewan berdarah panas,",
"Menggeram", "Berenang");
switch (pilih) {
case 1:
System.out.println("S I N G A >> L I O N << ");
S.tampilHewan();
System.out.println("Singa bernafas dengan paru - paru");
break;
case 2:
System.out.println("E L A N G >> E A G L E << ");
E.tampilHewan();
System.out.println("Elang bernafas dengan paru - paru.");
break;
case 3:
System.out.println("L E B A H >> B E E << ");
L.tampilHewan();
System.out.println("Lebah adalah jenis serangga ");
System.out.println("Sistem organ pernafasan serangga disebut
Insecta");
System.out.println("sedangkan alat pernafasannya adalah
Trakea");
break;
case 4:
System.out.println("P A U S >> W H A L E << ");
P.tampilHewan();
System.out.println("Paus Bernafas dengan menggunakan paru -
paru");
break;
case 5:
JOptionPane.showMessageDialog(null, "Anda telah keluar dari
Program ! ");
System.exit(0);
break;
default:
System.out.println("Maaf pilihan anda tidak tercantum ! ");
}
}
}
 Output default :
 Output program dari JOptionPane.showMessegeDialog(null, “Anda
telah keluar dari Program ! “); dan System.exit(0);
KESIMPULAN
Polymorphism atau “banyak bentuk” merupakan suatu sifat yang secara umum dapat
digambarkan sebagai kemampuan untuk bisa dihadirkan dalam banyak bentuk.
Kesimpulan dari polymorphism adalah objek yang kita gunakan ini bisa berubah sesuai dengan
kondisiyang terjadi. Jadi kita tidak perlu menulis kode program yang panjang.
Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah inheritance. Di dalam
java, untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan
kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent classnya.
Dalam proses pewarisan inheritance, data dan method yang dimiliki oleh suatu class akan
diwariskan seluruhnya kepada class pewarisnya. Suatu class yang mewariskan disebut dengan
Super Class atau Class Induk. Sedangkan class yang diwariskan disebut dengan SubClass atau
Class Sub atau Class Anak. Suatu method declass anak memiliki nama yang sama dengan
method declass induknya disebut dengan Override ( Overriding ).
DAFTAR PUSTAKA
Astuti, Tri. 2013. Modul Praktikum “Polymorphism dan Inheritance”.
Kurniawan, Khannedy Eko. 2011. Belajar Java Dasar. StripBandunk : Bandung.
Horstmann, Cay dan Cornell, Gary. 2000. Core Java Volume1, Fundamentals. Sun Microsystems Inc.
California.
Ad

Recommended

GoLang_1
GoLang_1
Dimas Prawira
 
Tugas 2 individu tentang dbms
Tugas 2 individu tentang dbms
Elma Fiana
 
Matematika Diskrit - 03 himpunan - 02
Matematika Diskrit - 03 himpunan - 02
KuliahKita
 
Tugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
 
Erd dan contoh kasus
Erd dan contoh kasus
haniputriheryanti26
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
ahmad haidaroh
 
Software Aplikasi Dasar dan Software Khusus
Software Aplikasi Dasar dan Software Khusus
Sinath Sabado
 
Kumpulan soal-dan-pembahasan-himpunan
Kumpulan soal-dan-pembahasan-himpunan
Dermawan12
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Rivalri Kristianto Hondro
 
Standar 16 nama kode warna html,php,web desain
Standar 16 nama kode warna html,php,web desain
Azis Ihsan
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sql
Lela Warni
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interface
f' yagami
 
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
KuliahKita
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
Roziq Bahtiar
 
8 logika predikat
8 logika predikat
Yulinda Nurhafina
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Algoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Google hacking 2015
Google hacking 2015
gopartheredbuff
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01
KuliahKita
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
KuliahKita
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
Simon Patabang
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
wanakuroyuri
 
Peran komputer dalam dunia pendidikan
Peran komputer dalam dunia pendidikan
Fariz AbuRizal
 
VARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANG
Universitas Qomaruddin, Gresik, Indonesia
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
Laili Wahyunita
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
ssuserc54f06
 
Pemrograman Java - Inheritance
Pemrograman Java - Inheritance
Devi Nufriana
 

More Related Content

What's hot (20)

Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Rivalri Kristianto Hondro
 
Standar 16 nama kode warna html,php,web desain
Standar 16 nama kode warna html,php,web desain
Azis Ihsan
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sql
Lela Warni
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interface
f' yagami
 
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
KuliahKita
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
Roziq Bahtiar
 
8 logika predikat
8 logika predikat
Yulinda Nurhafina
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Algoritma penjadwalan proses
Algoritma penjadwalan proses
Rakhmi Khalida, M.M.S.I
 
Google hacking 2015
Google hacking 2015
gopartheredbuff
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01
KuliahKita
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
KuliahKita
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
Simon Patabang
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
wanakuroyuri
 
Peran komputer dalam dunia pendidikan
Peran komputer dalam dunia pendidikan
Fariz AbuRizal
 
VARIABEL RANDOM & DISTRIBUSI PELUANG
VARIABEL RANDOM & DISTRIBUSI PELUANG
Universitas Qomaruddin, Gresik, Indonesia
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
Laili Wahyunita
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
KuliahKita
 
Standar 16 nama kode warna html,php,web desain
Standar 16 nama kode warna html,php,web desain
Azis Ihsan
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sql
Lela Warni
 
Rpl 10-perancangan user interface
Rpl 10-perancangan user interface
f' yagami
 
Matematika Diskrit - 03 himpunan - 05
Matematika Diskrit - 03 himpunan - 05
KuliahKita
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
5 Macam Metode Dasar Kriptografi
5 Macam Metode Dasar Kriptografi
Roziq Bahtiar
 
Sistem Basis Data(PPT)
Sistem Basis Data(PPT)
tafrikan
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
Auliaa Oktarianii
 
Matematika Diskrit - 07 teori bilangan - 01
Matematika Diskrit - 07 teori bilangan - 01
KuliahKita
 
Matematika Diskrit - 01 pengantar matematika diskrit
Matematika Diskrit - 01 pengantar matematika diskrit
KuliahKita
 
7 Metode Pencarian Data Array
7 Metode Pencarian Data Array
Simon Patabang
 
Makalah algoritma dan hubungannya dengan pemrograman
Makalah algoritma dan hubungannya dengan pemrograman
wanakuroyuri
 
Peran komputer dalam dunia pendidikan
Peran komputer dalam dunia pendidikan
Fariz AbuRizal
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
Laili Wahyunita
 

Similar to Java (Netbeans) Polymorphism - Object Oriented Programming (OOP) (20)

pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
ssuserc54f06
 
Pemrograman Java - Inheritance
Pemrograman Java - Inheritance
Devi Nufriana
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
debbie95
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
debbie95
 
Pemograman berorientasi objek
Pemograman berorientasi objek
Namira Namirah
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
Smkn-2 Pekanbaru
 
1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku
IrfanRifangga
 
Pbo
Pbo
Basiroh M.Kom
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
rahmi wahyuni
 
Inheritance Dan Polimorfisme
Inheritance Dan Polimorfisme
Diana Anggraini
 
Pertemuan7_Konsep Inheritance, Polymorphism, dan Encapsulation.pptx
Pertemuan7_Konsep Inheritance, Polymorphism, dan Encapsulation.pptx
AlexanderJPSibarani1
 
Bab Tiga Pewarisan Dalam Pemrograman Berorientasi Objek.ppt
Bab Tiga Pewarisan Dalam Pemrograman Berorientasi Objek.ppt
RPLMJPS3Tasikmalaya
 
Modul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5
Rizki Christoper
 
Tugas 5
Tugas 5
Ridah Almakhbuby
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
plgbk
 
OOP - Inheritance
OOP - Inheritance
KuliahKita
 
04 inheritance
04 inheritance
Çhäñðrä Såpûtrå
 
Tugas 5 rekayasa web
Tugas 5 rekayasa web
osta92
 
Oop dengan java
Oop dengan java
its
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
ssuserc54f06
 
Pemrograman Java - Inheritance
Pemrograman Java - Inheritance
Devi Nufriana
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
debbie95
 
Debbiemistikaweni 1412510982 tugas5
Debbiemistikaweni 1412510982 tugas5
debbie95
 
Pemograman berorientasi objek
Pemograman berorientasi objek
Namira Namirah
 
Pbo inheritance, polymorphism, dan inte
Pbo inheritance, polymorphism, dan inte
Smkn-2 Pekanbaru
 
1211510555 irfan adi rifangga tugas5_ku
1211510555 irfan adi rifangga tugas5_ku
IrfanRifangga
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
rahmi wahyuni
 
Inheritance Dan Polimorfisme
Inheritance Dan Polimorfisme
Diana Anggraini
 
Pertemuan7_Konsep Inheritance, Polymorphism, dan Encapsulation.pptx
Pertemuan7_Konsep Inheritance, Polymorphism, dan Encapsulation.pptx
AlexanderJPSibarani1
 
Bab Tiga Pewarisan Dalam Pemrograman Berorientasi Objek.ppt
Bab Tiga Pewarisan Dalam Pemrograman Berorientasi Objek.ppt
RPLMJPS3Tasikmalaya
 
Rizki christoper 1211510480 tugas rekweb 5
Rizki christoper 1211510480 tugas rekweb 5
Rizki Christoper
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
plgbk
 
OOP - Inheritance
OOP - Inheritance
KuliahKita
 
Tugas 5 rekayasa web
Tugas 5 rekayasa web
osta92
 
Oop dengan java
Oop dengan java
its
 
Ad

More from Melina Krisnawati (20)

makalah sistem operasi - android vd ios
makalah sistem operasi - android vd ios
Melina Krisnawati
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Melina Krisnawati
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Melina Krisnawati
 
menu strip - visual basic
menu strip - visual basic
Melina Krisnawati
 
Tugas algoritma fibonacci
Tugas algoritma fibonacci
Melina Krisnawati
 
Algoritma - Array
Algoritma - Array
Melina Krisnawati
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasi
Melina Krisnawati
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Melina Krisnawati
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Melina Krisnawati
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)
Melina Krisnawati
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabet
Melina Krisnawati
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try Catch
Melina Krisnawati
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Melina Krisnawati
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Melina Krisnawati
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Melina Krisnawati
 
makalah sistem operasi - android vd ios
makalah sistem operasi - android vd ios
Melina Krisnawati
 
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Melina Krisnawati
 
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Kode program layout xml dan tampilan ui graphical (menggunakan eclipse)
Melina Krisnawati
 
Aplikasi sistem informasi pada fungsi fungsi organisasi
Aplikasi sistem informasi pada fungsi fungsi organisasi
Melina Krisnawati
 
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Laporan Final Project - Aplikasi Sistem Informasi Rental CD - Netbeans
Melina Krisnawati
 
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Java (Netbeans) - Abstract & Interface - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Exception handling - Object Oriented Programming
Java (Netbeans) - Exception handling - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Looping - Object Oriented Programming
Java (Netbeans) - Looping - Object Oriented Programming
Melina Krisnawati
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Laporan pembuatan Final Project (Java - Netbeans) "Rental CD"
Melina Krisnawati
 
Konsep & storyboard game multimedia (puzzle alphabet)
Konsep & storyboard game multimedia (puzzle alphabet)
Melina Krisnawati
 
Multimedia 2D (Game) - Puzzle alphabet
Multimedia 2D (Game) - Puzzle alphabet
Melina Krisnawati
 
Pemrograman Mobile - Try Catch
Pemrograman Mobile - Try Catch
Melina Krisnawati
 
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Laporan praktikum 4 Sistem Operasi - External Command (mem, xcopy, system, l...
Melina Krisnawati
 
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Laporan praktikum 3 - Sistem Operasi Internal & External Command (Lanjutan)
Melina Krisnawati
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Melina Krisnawati
 
Ad

Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

  • 1. MAKALAH PRAKTIKUM POLYMORPHISM & INHERITANCE PEMROGRAMAN BERORIENTASI OBJECT DISUSUN OLEH : MELINA KRISNAWATI 12.12.0328 SI 12 F STMIK AMIKOM PURWOKERTO TAHUN AJARAN 2012 / 2013
  • 2. SOAL (KASUS)  Buatlah project dengan nama TestHewan dengan beberapa class, diantaranya : Hewan, Singa, Elang, Lebah, Paus. Dengan menggunakan Teknik Polymorphism. 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. Serta tambahkan pula tentang cara bernafas hewan – hewan tersebut, apakah dengan paru – paru atau trakea.  Buatlah kesimpulan tentang polymorphism.
  • 3. LANDASAN TEORI POLYMORPHISM  Polymorphism dapat disamakan dengan Method Overloading, dimana di dalam sebuah class terdapat beberapa method dengan nama yang sama.  Polymorphism adalah teknik pemrograman yang memungkinkan programmer menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan / respon terhadap pesan yang sama sesuai dengan sifat masing – masing obyek. Atau polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (Override), suatu method, yang menimpa (override), suatu method, yang berasal dari parent class ( super class ) dimana object tersebut diturunkan. Sehingga memiliki sifat yang berbeda. Metodenya adalah sebagai berikut :  Dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilannya.  Ilustrasinya adalah tombol play. Dimana – mana tombol play fungsinya sama, untuk menjalankan. Padahal beda cara kerja tombol play di vcd dan radio. Polymorphism mempunyai makna sesuatu yang memiliki banyak bentuk, yaitu memiliki nama sama, tetapi memiliki kelakuan ( behavior ) yang berbeda. Polymorphism merupakan metode pewarisan sifat yang mana dalam anak kelas terdapat method yang mengoverride method dalam induk kelas. Method disebut polimorfis jika aksi yang dilakukan oleh suatu metode berbeda – beda tergantung pada objek actual pada saat metode itu dijalankan. Polimorfisme merupakan kemampuan untuk sebuah kelas memiliki banyak kelas turunan. Setiap kelas turunan memiliki deklarasi masing – masing yang unik dan dapat berbagi fungsionalitas yang sama dengan kelas parent ( yang diturunkan). Contoh polimorfisme adalah kelas Hewan yang sebelumnya telah dibuat. public class Test{ public static void main (String []args){ Singa singa1 = new Singa(); Singa1.testHewan();
  • 4. INHERITANCE Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatau hubungan dua buah kelas atau lebih. Dalam hal ini kelas yang memiliki method yang sama dengan kelas lainnya beserta atribut dan metode tambahan yang merupakan sifat khusus kelas yang menjadi turunannya. Pada dasarnya, teknik inheritance digunakan untuk membuat suatu class yang masih memiliki sifat atau spesifikasi dari class induknya / superclass. Dalam proses pewarisan ini data dan method yang dimiliki oleh suatu class akan diwariskan seluruhnya kepada class pewarisnya. Suatu class yang mewariskan disebut dengan Super Class atau Class Induk. Sedangkan class yang diwariskan disebut dengan SubClass atau Class Sub atau Class Anak. Suatu method declass anak memiliki nama yang sama dengan method declass induknya disebut dengan Override ( Overriding ). Overriding adalah kemampuan class anak untuk memodifikasi atau mendefinisikan kembali data dan method dari kelas induknya. Utnuk mengaplikasikan konsep inheritance didalam program, dengan menggunakan kata kunci extends. Sifat lain pewarisan yaitu Overloading, yakni penggunaan satu nama class untuk beberapa method yang berbeda parameter. Contoh program menggunakan teknik inheritance : Class CetakDataTipe { Public void CetakData(String Cetak) { System.out.println(Cetak); } Public void CetakData(int Cetak) { Package aplikasi.program; Import.aplikasi.data.Karyawan; Public class program{ Public static void main(String [] args){ Karyawan kry = new karyawan();
  • 5. System.out.println(Cetak); } Public void CetakData(double Cetak) { System.out.println(Cetak); } Public void CetakData(char Cetak) { System.out.println(Cetak); } } Public class Display { Public static void main (String[] args) { CetakDataTipe data = new CetakDataTipe(); System.out.print(“Cetak Data Tipe String : “); Data.CetakData(“Sumatra”); System.out.print(“Cetak Data Tipe Integer : ”); Data.CetakData(1989); System.out.print(“Cetak Data Tipe Double : ”); Data.CetakData(16.5 /2); System.out.print(“Cetak Data Tipe Char : ”); Data.CetakData(‘N’); } }
  • 6. OVERRIDING Overriding tidak sama dengan overloading, overriding merupakan mekanisme dimana sebuah metode dapat dideklarasikan ulang pada kelas turunannya. Missal ada dua kelas bayi dan dewasa, pda kelas bayi tersebut terdapat metode lari() yang memerintahkan untuk lari. Setelah itu kelas Dewasa merupakan kelas turunan dari kelas Bayi. Setelah itu jika kita coba buat sebuah objek kelas Dewasa dan menyuruhnya lari. maka hasilnya adalah “Tidak bisa”, artinya metode lari() yang dipanggil sebenarnya milik kelas Bayi yang pastinya tidak dapat berlari. Sekarang jika dianggap kelas Dewasa dapt berlari, maka kita harus mengubah metode lari() tersebut agar dapat berlari, caranya adalah dengan melakukan pendeklarasian ulang (overriding). Caranya adalah dengan membuat metode yang sama dengan metode yang diwarisinya. public class Bayi{ public void lari(){ System.out.println(“Tidak Bisa “); } } public class Dewasa extends Bayi { } Public class Test { Public static void main(String [] args){ Dewasa dewasa = new Dewasa(); Dewasa.lari(); } }
  • 7. PEMBAHASAN Pada class Hewan, di dalam coding tersebut menggunakan :  Protected Atribut, metode atau kelas yang ditandai dengan visibilitas protected hanya dapat diakses oleh kelas itu sendiri dan turunannya.  Kata Kunci this Kata kunci this digunakan dalam sebuah kelas dan digunakan untuk menyatakan objek sekarang. Contoh misal saat kita membuat para meter yang sama dengan nama atribut yang ada dalam sebuah kelas, maka jika kita menggunakan parameter tersebut untuk mengubah atribut pada kelas, maka perubahan tidak akan terjadi.  Public Artinya adalah dapat diakses oleh seluruh kelas, termasuk kelas itu sendiri. Berarti bahwa siapapun dapat mengakses member ini, baik code yang ada di dalam class itu sendiri ataupun yang berada di dalam luar class. Pada class Singa1, Elang1, Lebah1, dan Paus1, didalam coding tersebut menggunakan :  Kata Kunci super Kata kunci super merupakan kata kunci yang digunakan untuk mengakses kelas parent ( yang diturunkan).  Override atau Overriding Mekanisme dimana sebuah metode dapat dideklarasikan ulang pada kelas turunannya.  Public Artinya adalah dapat diakses oleh seluruh kelas, termasuk kelas itu sendiri. Berarti bahwa siapapun dapat mengakses member ini, baik code yang ada di dalam class itu sendiri ataupun yang berada di dalam luar class.  Private Hanya dapat diakses oleh kelas itu sendiri. Member yang dideklarasikan sebagai private, hanya dapat di akses oleh internal member dari class tersebut saja.
  • 8. Pada class TestHewan, didalam coding tersebut menggunakan :  Int tipe data yang digunakan.  Import java.util.Scanner; adalah untuk memanggil atau mengaktifkan fungsi Scanner.  import javax.swing.JOptionPane; adalah untuk memanggil atau mengaktifkan JOptionPane, yang nantinya akan digunakan untuk menampilkan message.  Switch – case Switch mengkontruksikan cabang untuk beberapa kondisi dari nilai.Digunakan untuk memilih suatu objek yang nantinya akan di eksekusi pada output java. Jadi, misalkan akan memilih 1, maka pada program tersebut akan menampilkan objek yang sudah diperintahkan didalam case tersebut.  System.exit(0); digunakan untuk keluar dari program. Didalam program yang telah saya buat, coding System.exit(0); akan memberhentikan program. Jika coding JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program"); diletakkan dibawah coding System.exit(0); maka messege dialog tersebut tidak akan tereksekusi, karena System.exit(0); tersebut telah menjalankan fungsinya, yaitu keluar dari program. Maka, jika kita meletakkan beberapa coding atau bahkan ratusan coding dibawah System.exit(0); coding selanjutnya tidak akan tereksekusi karena program telah dihentikan, atau keluar dari program. Contoh output program jika coding JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program"); diletakkan di atas coding System.exit(0);
  • 9. Contoh output program jika coding JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program"); diletakkan dibawah System.exit(0); Maka messege dialog tersebut tidak akan tereksekusi pada output program.  JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program"); Coding diatas adalah untuk menampilkan message box dan menampilkan statement “Anda telah keluar dari program”.  Singa1 S = new Singa1("mamalia" dll); Code diatas adalah pembuatan objek baru dengan nama S untuk menggantikan fungsi Singa , Singa disini berarti class Singa yang sudah dibuat sebelumnya.
  • 10. LISTING PROGRAM & HASIL RUNNING  Coding pada Class Hewan : package test_hewan; /** * * @author azuura */ public class Hewan1 { protected String jenis, ciri; public Hewan1(String jenis, String ciri) { this.jenis = jenis; this.ciri = ciri; } public Hewan1() { } public void tampilHewan() { System.out.println("Jenis Hewan : " + jenis); System.out.println("Ciri Hewan : " + ciri); } }  Coding pada Class Singa1 : package test_hewan; /** * * @author azuura */ public class Singa1 extends Hewan1 { private String suara, berjalan; public Singa1(String jenis, String ciri, String suara, String berjalan) { super(jenis, ciri); this.suara = suara; this.berjalan = berjalan; } public Singa1(String suara, String berjalan) { this.suara = suara; this.berjalan = berjalan; }
  • 11. @Override public void tampilHewan() { super.tampilHewan(); System.out.println("Suara Hewan : " + suara); System.out.println("Cara Berjalan : " + berjalan); } }  Coding pada Class Elang1 : package test_hewan; /** * * @author azuura */ public class Elang1 extends Hewan1 { private String suara, berjalan; public Elang1(String jenis, String ciri, String suara, String berjalan) { super(jenis, ciri); this.suara = suara; this.berjalan = berjalan; } public Elang1(String suara, String berjalan) { this.suara = suara; this.berjalan = berjalan; }
  • 12. @Override public void tampilHewan() { super.tampilHewan(); System.out.println("Suara Hewan : " + suara); System.out.println("Cara Berjalan : " + berjalan); } }  Coding pada Class Lebah1 : package test_hewan; /** * * @author azuura */ public class Lebah1 extends Hewan1 { private String suara, berjalan; public Lebah1(String jenis, String ciri, String suara, String berjalan) { super(jenis, ciri); this.suara = suara; this.berjalan = berjalan; } public Lebah1(String suara, String berjalan) { this.suara = suara; this.berjalan = berjalan; } @Override public void tampilHewan() { super.tampilHewan();
  • 13. System.out.println("Suara Hewan : " + suara); System.out.println("Cara Berjalan : " + berjalan); } }  Coding pada Class Paus1 : package test_hewan; /** * * @author azuura */ public class Paus1 extends Hewan1 { private String suara, berjalan; public Paus1(String jenis, String ciri, String suara, String berjalan) { super(jenis, ciri); this.suara = suara; this.berjalan = berjalan; } public Paus1(String suara, String berjalan) { this.suara = suara; this.berjalan = berjalan; } @Override
  • 14. public void tampilHewan() { super.tampilHewan(); System.out.println("Suara Hewan : " + suara); System.out.println("Cara Berjalan : " + berjalan); } }  Coding pada Class TestHewan: package test_hewan; import java.util.Scanner; import javax.swing.JOptionPane; /** * * @author azuura */ public class Test_Hewan { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here int pilih; Scanner masuk = new Scanner(System.in);
  • 15. System.out.println("===============Test Hewan=============="); System.out.println("1. Singa >> L I O N << "); System.out.println("2. Elang >> E A G L E << "); System.out.println("3. Lebah >> B E E << "); System.out.println("4. Paus >> W H A L E <<"); System.out.println("5. Keluar dari aplikasi"); System.out.println("======================================="); System.out.print("Pilih Hewan : "); pilih = masuk.nextInt(); System.out.println("n"); Singa1 S = new Singa1("Mamalia", "Besar, hewan buas, bulu tebal disekitar tengkuknya", "Mengaum", "Dengan 4 kaki, seperti kucing"); Elang1 E = new Elang1("Burung / Aves", "hewan berdarah panas , paruh bengkok dan kuat, mempunyai sayap & tubuh yang diselubungi pelepah", "Ya suara elang", "Terbang dengan sayap"); Lebah1 L = new Lebah1("Serangga", "bisa menghasilkan madu, memiliki 3 pasang kaki, 2 pasang sayap", "mendengung", "terbang"); Paus1 P = new Paus1("Mamalia", "Besar, hewan berdarah panas,", "Menggeram", "Berenang"); switch (pilih) { case 1: System.out.println("S I N G A >> L I O N << "); S.tampilHewan(); System.out.println("Singa bernafas dengan paru - paru"); break; case 2: System.out.println("E L A N G >> E A G L E << "); E.tampilHewan(); System.out.println("Elang bernafas dengan paru - paru."); break; case 3: System.out.println("L E B A H >> B E E << "); L.tampilHewan(); System.out.println("Lebah adalah jenis serangga "); System.out.println("Sistem organ pernafasan serangga disebut Insecta"); System.out.println("sedangkan alat pernafasannya adalah Trakea"); break; case 4:
  • 16. System.out.println("P A U S >> W H A L E << "); P.tampilHewan(); System.out.println("Paus Bernafas dengan menggunakan paru - paru"); break; case 5: JOptionPane.showMessageDialog(null, "Anda telah keluar dari Program ! "); System.exit(0); break; default: System.out.println("Maaf pilihan anda tidak tercantum ! "); } } }  Output default :
  • 17.  Output program dari JOptionPane.showMessegeDialog(null, “Anda telah keluar dari Program ! “); dan System.exit(0);
  • 18. KESIMPULAN Polymorphism atau “banyak bentuk” merupakan suatu sifat yang secara umum dapat digambarkan sebagai kemampuan untuk bisa dihadirkan dalam banyak bentuk. Kesimpulan dari polymorphism adalah objek yang kita gunakan ini bisa berubah sesuai dengan kondisiyang terjadi. Jadi kita tidak perlu menulis kode program yang panjang. Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah inheritance. Di dalam java, untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent classnya. Dalam proses pewarisan inheritance, data dan method yang dimiliki oleh suatu class akan diwariskan seluruhnya kepada class pewarisnya. Suatu class yang mewariskan disebut dengan Super Class atau Class Induk. Sedangkan class yang diwariskan disebut dengan SubClass atau Class Sub atau Class Anak. Suatu method declass anak memiliki nama yang sama dengan method declass induknya disebut dengan Override ( Overriding ).
  • 19. DAFTAR PUSTAKA Astuti, Tri. 2013. Modul Praktikum “Polymorphism dan Inheritance”. Kurniawan, Khannedy Eko. 2011. Belajar Java Dasar. StripBandunk : Bandung. Horstmann, Cay dan Cornell, Gary. 2000. Core Java Volume1, Fundamentals. Sun Microsystems Inc. California.