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.

More Related Content

PPTX
Variable, deklarasi dan inisialisasi
PDF
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
DOCX
Fungsi dan Array Pada C++
PDF
Modul praktikum-pemrograman java dgn netbeans
PDF
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
DOCX
Himpunan matematika diskrit
PPTX
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
PDF
Modul Ajar Basis Data
Variable, deklarasi dan inisialisasi
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
Fungsi dan Array Pada C++
Modul praktikum-pemrograman java dgn netbeans
LAPORAN TUGAS AKHIR PERANCANGAN APLIKASI KNOWLEDGE BASE SYSTEM UNTUK INSTRUKS...
Himpunan matematika diskrit
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Modul Ajar Basis Data

What's hot (20)

PPTX
SLIDE KE:5 NFA
PPTX
#1 PENGENALAN PYTHON
PPT
Jawaban Struktur data soal-latihan
PDF
Bab 2 logika predikat ta 2019
PDF
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
PPTX
Metode enkripsi caesar cipher
PPTX
Pemrograman Konsep Routing
PPT
5 Macam Metode Dasar Kriptografi
DOC
Aljabar boolean
PPTX
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
DOCX
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
DOCX
Matematika diskrit Aplikasi Graf / Graf
DOCX
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
PDF
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
PDF
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
PDF
pewarnaan graf
PPT
Modul 4 representasi pengetahuan
DOCX
Laporan PBO pratikum 2
DOCX
Soal essay basis data xi
SLIDE KE:5 NFA
#1 PENGENALAN PYTHON
Jawaban Struktur data soal-latihan
Bab 2 logika predikat ta 2019
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Metode enkripsi caesar cipher
Pemrograman Konsep Routing
5 Macam Metode Dasar Kriptografi
Aljabar boolean
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma untuk mengecek bilangan di antara 2 bilangan masukan
Matematika diskrit Aplikasi Graf / Graf
Menyederhanakan fungsi boolean dengan menggunakan metode quin1
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
Pertemuan 05 Teknik Pencarian (Search) -lanjutan
pewarnaan graf
Modul 4 representasi pengetahuan
Laporan PBO pratikum 2
Soal essay basis data xi
Ad

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

DOCX
Laporan PBO Pratikum 3
PDF
Modul pratikum pbo - Polimorphism
PDF
[PBO] Pertemuan 1 (praktik) - Pengenalan java
PDF
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
PPTX
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
DOCX
04.56 JAVA SE_polymorphic arguements
PPTX
04-Java Application programming interface.pptx
PDF
Modul pratikum pbo - ENCAPSULATION
DOCX
Kelas dan objek
PPT
8_file_2013-06-05_100800_candra_irawan_m.kom__.ppt
PPTX
Object Oriented Programming Concept
PDF
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
DOCX
P5 depandi enda
PPTX
PBO_03_Inheritance.pptx
PDF
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
PPT
8_file_2013-06-05_100800_candra_irawan_m.kom__.ppt
PDF
Modul Object Oriented Programming
DOCX
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
PDF
12. tambahan polymorphisme
PDF
Modul Pemrograman Berorientasi Objek
Laporan PBO Pratikum 3
Modul pratikum pbo - Polimorphism
[PBO] Pertemuan 1 (praktik) - Pengenalan java
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
04.56 JAVA SE_polymorphic arguements
04-Java Application programming interface.pptx
Modul pratikum pbo - ENCAPSULATION
Kelas dan objek
8_file_2013-06-05_100800_candra_irawan_m.kom__.ppt
Object Oriented Programming Concept
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
P5 depandi enda
PBO_03_Inheritance.pptx
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
8_file_2013-06-05_100800_candra_irawan_m.kom__.ppt
Modul Object Oriented Programming
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
12. tambahan polymorphisme
Modul Pemrograman Berorientasi Objek
Ad

More from Melina Krisnawati (20)

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

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.