Jumat, 03 Juni 2011


Polymorphism
Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object.
polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

public class polimorfisme {
            public static void main(String[]args){
                        penyanyi a;
                        penyanyiKlasik astrie = new penyanyiKlasik();
                        a = astrie;
                        a.bernyanyi();
                        penyanyiRnb bayu = new penyanyiRnb();
                        a = bayu;
                        a.bernyanyi();             
            }
}
class penyanyi{
   void bernyanyi () {
        System.out.println("mari bernyanyi ..");
    }
}
class penyanyiKlasik extends penyanyi {
void bernyanyi () {
            super.bernyanyi ();
            System.out.println ("bernyanyi dengan irama klasik");

    }
}
class penyanyiRnb extends penyanyiKlasik {
            void bernyanyi (){
                        super.bernyanyi();
                        System.out.println ("bernyanyi dengan irama RnB");
            }
}
hasil :

BAB III
TUGAS PENDAHULUAN
                                                                                                                                                                               
1.      Keuntungan apa yang bisa didapat dengan Polymorphism?
Kita bisa membuat kode program tanpa harus mengetahui persis apa yang akan dilakukan program saat kita menulis program tersebut
2.      Bagaimana hubungan antar teknik overloading dengan Polymorphism?
Metode overloading adalah mendefinisikan metode yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama. Sedangkan polimorfisme merupakan kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila metode yang sama dipanggil, dimana aksi metode tergantung dari tipe objeknya dan signature metode harus sama baik pada superclass maupun subclass.

BAB IV
KEGIATAN PRAKTIKUM


Membuat kelas Student       
/*Disimpan dengan nama Student.java*/
/*Kode Program untuk kelas Student*/
class Student {
   public void Write(int ID, int Grad, String Fname, String Lname) {
       m_ID = ID;
       m_Graduation = Grad;
       m_First = Fname;
       m_Last = Lname;
    }  
    public void Display(){
        System.out.println( "Student: " + m_ID + " " + m_First + " " + m_Last + " Graduated: " + m_Graduation);
    }  
    private int m_ID, m_Graduation;  
    private String m_First;  
    private String m_Last;
}
Membuat kelas StudentGrad yang merupakan kelas turunan dari kelas Student     
/*Disimpan dengan nama StudentGrad.java*/
/*Kode Program untuk kelas StudentGrad*/
class StudentGrad extends Student {
   public void Write(int ID, int Grad, String Fname, String Lname, int yrGrad, String unSch, String major) {
       super.Write(ID, Grad, Fname, Lname);
       m_UndergradSchool = unSch;
       m_Major = major;
       m_Grad = Grad;
       YearGraduated = yrGrad;
    }
    public void Display(){
        super.Display();
        System.out.println(" Graduated: " + m_Grad + " " + m_UndergradSchool + " " + m_Major + " " + YearGraduated);
    }  
    private Integer YearGraduated,m_Grad;
    private String m_UndergradSchool;
    private String m_Major;
}
Membuat kelas StudentInfo yang digunakan untuk memasukan agumen ke kedua metode pada masing-masing class Student dan StudentGrad   
/*Disimpan dengan nama StudentInfo.java*/
/*Kode Program untuk kelas StudentInfo*/
class StudentInfo {
     public static void main (String args[]) {
         StudentGrad myStudent = new StudentGrad();
         myStudent.Write(10, 1,"Bob","Smith", 2000,"Columbia University","CS");
         myStudent.Display();  
        }
}

Hasil Running:


BAB V
TUGAS AKHIR


Membuat kelas hewan
/*Disimpan dalam file hewan.java*/
/*Kode Program untuk kelas hewan*/
class hewan {
     private String tipe;
     public hewan(String tipe){
           this.tipe = tipe;
    }
    public String toString(){
           return "Ini adalah "+tipe;
    }
     public void bersuara(){
     }
}

Membuat kelas Anjing, Ayam dan Kucing yang merupakan kelas turunan dari kelas hewan
/*Disimpan dalam file Anjing.java*/
/*Kode Program untuk kelas Anjing*/
class Anjing extends hewan{
    private String nama;
    private String jenis;
    public Anjing(String nama, String jenis){
     super("Anjing");
    this.nama=nama;
     this.jenis=jenis;
    
    }
    public void bersuara(){
     System.out.println("Guk.. Guk.. Guk.. ");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

/*Disimpan dalam file Ayam.java*/
/*Kode Program untuk kelas Ayam*/
class Ayam extends hewan{
    private String nama;
    private String jenis;
    public Ayam(String nama, String jenis){
     super("Ayam");
    this.nama=nama;
     this.jenis=jenis;
    }
    public void bersuara(){
     System.out.println("Kukuruyuk.. Petok.. Petok..");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

/*Disimpan dalam file Kucing.java*/
/*Kode Program untuk kelas Kucing*/
class Kucing extends hewan{
    private String nama;
    private String jenis;
    
    public Kucing(String nama){
     super("Kucing");
     this.nama=nama;
    }
    public Kucing(String nama, String jenis){
     super("Kucing");
     this.nama=nama;
     this.jenis=jenis;   
    }
    public void bersuara(){
     System.out.println("Meong.. Meong.. Meong.. ");
    }
    public String toString(){
        return super.toString()+"\nIni adalah "+jenis+" bernama "+nama;
    }
}

Membuat kelas polimorfisme yang merupakan program utama dan sekaligus mengimplementasikan penggunaan metode polimorfisme

/*Disimpan dalam file polimorfisme.java*/
/*Kode Program untuk kelas polimorfisme*/
import java.util.Random;
class polimorfisme{
    public static void main(String args[]){
        hewan[] hewannya = {
            new Anjing("Broni", "Herder"),
            new Kucing("Kiti", "Persia"),
            new Ayam("Toki", "Buras")
        };
        hewan pilihHewan; 
        Random pilih = new Random();
        for (int i = 0; i<5 ; i++){
            pilihHewan = hewannya[pilih.nextInt(hewannya.length)];
            System.out.println("\nPilihan Anda:\n" + pilihHewan);
            pilihHewan.bersuara();
        }
    }
}

Hasil Running :