Konsep Oop Polymorphism


Polymorphism dalam konsep Object Oriented Programming ialah kemampuan suatu objek untuk menciptakan banyak bentuk melalui satu cara yang sama. Banyak bentuk maksudnya bahwa objek yang intinya sama tapi bertindak/bertingkah laris yang berbeda-beda.

Kemampuan polimorfisme diantaranya :
- Penerapan Polimorfisme pada Overload dan Override (baik melalui inheritance maupun interface)
- Penggunaan Superclass sebagai referensi dari object Subclass

Overload : method/konstruktur yang mempunyai nama yang sama namun dengan parameter yang berbeda. Override : proses pendeklarasian ulang nama method pada kelas utama kepada kelas turunannnya. Dalam pembuatan overriding method, nama dan tipe data method harus sama dengan kelas induknya guna pembuatan polymorphism.

Berikut ialah referensi polymorphism di java. Pada super kelas sistem akademik terdapat method IsiData() yang akan diimplementasikan banyak sekali bentuk di sub-subclass nya.





Kelas siakad
/**  *  * @author Wim Sonevel  */ public class siakad {     int nim;     String nama;     String matkul;     int sks;     String dosen;     double uts;     double uas;      public siakad(){}         public siakad(int nim, String nama){         this.nim = nim;         this.nama = nama;     }     public siakad(String matkul, int sks){         this.matkul = matkul;         this.sks = sks;     }     public siakad(String dosen){         this.dosen = dosen;     }     public siakad(double uts, double uas){         this.uts = uts;         this.uas = uas;     }     public void isiData(){         System.out.println("Sistem Akademik");         System.out.println("----------------------------");     } } 


Kelas dosen
/**  *  * @author Wim Sonevel  */ public class dosen extends siakad{     public dosen(String dosen){         super(dosen);     }     @Override     public void isiData(){         System.out.println("Dosen : "+dosen);     } }  
Kelas mahasiswa
/**  *  * @author Wim Sonevel  */ public class mahasiswa extends siakad{     public mahasiswa(int nim, String nama){         super(nim, nama);     }     @Override     public void isiData(){         System.out.println("Nim : "+nim);         System.out.println("Nama : "+nama);     } } 


Kelas matkul
/**  *  * @author Wim Sonevel  */ public class matkul extends siakad{     public matkul(String matkul, int sks){         super(matkul, sks);     }     @Override     public void isiData(){         System.out.println("Mata Kuliah : "+matkul);         System.out.println("SKS : "+sks);     } } 


Kelas nilai
/**  *  * @author Wim Sonevel  */ public class nilai extends siakad{     double nilaiAkhir = 0.0;     char angka;          public nilai(double uts, double uas){         super(uts, uas);     }      public void hitungNilai(){         nilaiAkhir = (uts+uas)/2;                  if(nilaiAkhir>80)             angka = 'A';         else if(nilaiAkhir>70)             angka = 'B';         else if(nilaiAkhir>60)             angka = 'C';         else             angka = 'D';     }     @Override     public void isiData(){         System.out.println("Nilai UTS : "+uts);         System.out.println("Nilai UAS : "+uas);         System.out.println("Nilai Akhir : "+nilaiAkhir);         System.out.println("Angka Mutu : "+angka);     } } 


kelas main
/**  *  * @author Wim Sonevel  */ public class tesSiakad {     public static void main(String[]args){         siakad si = new siakad();         mahasiswa mhs = new mahasiswa(11650053, "Wim Sonevel");         matkul mat = new matkul("Pemrograman Berorientasi Objek",3);         dosen dos = new dosen("Shoffin");         nilai ni = new nilai(85, 70);         ni.hitungNilai();          si.isiData();         si = mhs;         si.isiData();         si = mat;         si.isiData();         si = dos;         si.isiData();         si = ni;         si.isiData();      } } 


Lalu jalankan kelas tesSiakad maka outputnya akan menyerupai berikut :

Sistem Akademik
----------------------------
Nim : 11650053
Nama : Wim Sonevel
Mata Kuliah : Pemrograman Berorientasi Objek
SKS : 3
Dosen : Shoffin
Nilai UTS : 85.0
Nilai UAS : 70.0
Nilai Akhir : 77.5
Angka Mutu : B

Sekian dan agar bermanfaat
Happy Coding :)

Comments

Popular posts from this blog

Implementasi Basis Data

(Tutorial Ios) Custom Uitableviewcell In Uitableview

(Tutorial Android) Image Loader Using Glide