NAMA : Fikri Rizky Wijaya
NIM : 2011-81-077
TUGAS : Teori Pemrograman Java
SEKSI : 10
1. Polimorfisme
Dalam pemrograman berorientasi object kita mengenal suatu istilah yaitu “ Polimorfisme ”, yaitu suatu teknik dalam programming
yang lebih mengarahkan kita untuk memprogram secara general dari pada
secara spesifik. Sebagai contoh seumpama kita memiliki 3 class berbeda
yaitu: “Motor”, “Mobil” dan “Pesawat”. Dimana ketiga class tersebut
adalah turunan dari class “Kendaraan”. Dalam kelas kedaraan terdapat
suatu method yaitu “Move()”, akan tetapi apakah method “Move()” akan
memberikan hasil yang sama pada tiga class tersebut. Dimana jika method
“Move()” dipanggil pada class “Motor” akan menghasilkan perpindahan
30Km, jika pada class “Mobil” akan menghasilkan perpindahan 70Km dan
jika dipanggil pada class “Pesawat” akan menghasilkan perpindahan 300Km.
Hal inilah yang kita sebut sebagai Polimorfisme , yaitu
penggunaan method yang sama, yang akan menghasilkan suatu hasil yang
berbeda tergantung class yang menggunakan method tersebut.
Berikut ini adalah contoh program java yang menggunakan polimorfisme :
Kemampuan dari referensi untuk mengubah sifat menurut object apa yang
dijadikan acuan dinamakan polimorfisme. Polimorfisme menyediakan
multiobject dari subclasses yang berbeda untuk diperlakukan sebagai
object dari superclass tunggal, secara otomatis menunjuk method yang
tepat untuk menggunakannya ke particular object berdasar subclass yang
termasuk di dalamnya.
Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui referensi ke method.
contoh program :
class kendaraan {
public void bahanbakar (){
System.out.println("kendaraan berbahanbakar :");
}
}
// Membuat kelas turunan mobil yang merupakan turunan dari class kendaraan :
class mobil extends kendaraan {
public void bahanbakar(){
System.out.println(" MOBIL bahan bakar bensin");
}
}
//Membuat kelas turunan kereta api yang merupakan turunan dari class kendaraan :
class keretaapi extends kendaraan {
public void bahanbakar (){
System.out.println("KERETA API bahan bakar batu bara");
}
}
//Membuat kelas turunan pesawat yang merupakan turunan dari class kendaraan :
class pesawat extends kendaraan {
public void bahanbakar(){
System.out.println("PESAWAT berbahan bakar Bensol");
}
}
// Membuat class bahanbakarkendaraan untuk mengetes class-class yang telah dibuat :
public class bahanbakarkendaraan {
public static void main(String[] args){
kendaraan kendaraan = new kendaraan();
mobil MOBIL = new mobil();
keretaapi KERETAAPI = new keretaapi();
pesawat PESAWAT = new pesawat();
kendaraan.bahanbakar();
kendaraan = MOBIL;
kendaraan.bahanbakar();
kendaraan = KERETAAPI;
kendaraan.bahanbakar();
kendaraan = PESAWAT;
kendaraan.bahanbakar();
}
}
output :
2. INHERITANCE
Inheritance adalah salah satu teknik pemrograman berorientasi object
yang digunakan agar suatu codingan dapat digunakan kembali oleh
programmer lain / reuseable. Hal tersebut dilakukan dengan cara membuat
turunan dari suatu class yang sudah ada, yaitu dengan membuat child
class. Contohnya adalah jika ada programmer yang membuat suatu class
yaitu shape yang memiliki atribut atribut luas, dan position kita tidak
perlu membuat class baru ketika kita ingin membuat suatu class
rectangle yang notabennya juga termasuk shape, jadi kita cuma perlu
untuk menurunkan class shape tadi ke class rectangle yang akan kita
buat.
Dari gambar diatas dapat kita ketahui hierarki dari penurunan class
shape menjadi class class lainya yang notabennya masih termasuk dalam
class shape. Selain itu dalam iheritance ini kita juga mulai mengenal
yang dinamakan access modifier, yaitu keyword untuk merubah atribut
dari suatu field dalam suatu class, dimana dalam java access modifier
tersebut ada 4, yaitu: (none) -> Akses ke field tersebut hanya
terbatas pada suatu package Public -> Field tersebut dapat diakses
dari semua tempat, asal masih dalam satu scope Private -> Akses ke
field tersebut hanya terbatas pada class dimana field tersebut ada
Protected -> Akses ke filed tersebut hanya terbatas pada class
dimana field tersebut ada, beserta class turunan dari class field
tersebut. Untuk contoh program dapat dilihat dibawah ini, yang
merupakan inheritance class person menjadi class student.
contoh program :
//class Person.java
public class Person {
protected String name;
protected int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
//class Student.java
public class Student extends Person {
private String schoolName;
public Student(String name, int age, String schoolName) {
super(name, age);
this.schoolName = schoolName;
}
public String getSchoolName() {
return this.schoolName;
}
}
//class Main.java
public class Main {
public static void main(String[] args) {
Person person = new Person("Yohanda", 19);
Student student = new Student("Mandala", 18, "SMAN 2");
System.out.println("Informasi tentang object person : ");
System.out.println("Name : " + person.getName());
System.out.println("Age : " + person.getAge());
System.out.println();
System.out.println("Informasi tentang object student : ");
System.out.println("Name : " + student.getName());
System.out.println("Age : " + student.getAge());
System.out.println("School Name : " + student.getSchoolName());
}
}
output :
wah pas banget nih ada tugas buat ke-2nya di java, nice info sob.. ^^
BalasHapusKirimin lagi dong java nya supaya banyak..gw lgi banyak tugas nihh =)) :)
BalasHapuspass banget nihh untuk ngerjain tugass bessar PBO
BalasHapus