java (netbeans) polymorphism - object oriented programming (oop)

23
MAKALAH PRAKTIKUM POLYMORPHISM & INHERITANCE PEMROGRAMAN BERORIENTASI OBJECT DISUSUN OLEH : MELINA KRISNAWATI 12.12.0328 SI 12 F STMIK AMIKOM PURWOKERTO

Upload: melina-krisnawati

Post on 19-Jan-2015

2.563 views

Category:

Software


36 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

MAKALAH

PRAKTIKUMPOLYMORPHISM & INHERITANCE

PEMROGRAMAN BERORIENTASI OBJECT

DISUSUN OLEH :

MELINA KRISNAWATI

12.12.0328

SI 12 F

STMIK AMIKOM PURWOKERTOTAHUN AJARAN 2012 / 2013

Page 2: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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 tersebutSuara() : suara hewan tersebutBerjalan() : cara hewan tersebut berjalan/bergerak.Serta tambahkan pula tentang cara bernafas hewan – hewan tersebut, apakah dengan paru – paru atau trakea.

Buatlah kesimpulan tentang polymorphism.

Page 3: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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();

Page 4: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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();

Page 5: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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’);

}

}

Page 6: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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();

}}

Page 7: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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.

PublicArtinya 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 OverridingMekanisme dimana sebuah metode dapat dideklarasikan ulang pada kelas turunannya.

PublicArtinya 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.

PrivateHanya dapat diakses oleh kelas itu sendiri.Member yang dideklarasikan sebagai private, hanya dapat di akses oleh internal member dari class tersebut saja.

Page 8: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

Pada class TestHewan, didalam coding tersebut menggunakan :

Inttipe 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);

Page 9: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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.

Page 10: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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; }

Page 11: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

@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; }

Page 12: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

@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();

Page 13: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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

Page 14: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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);

Page 15: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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:

Page 16: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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 :

Page 17: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

Output program dari JOptionPane.showMessegeDialog(null, “Anda telah keluar dari Program ! “); dan System.exit(0);

Page 18: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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 ).

Page 19: Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)

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.