Jumat, 08 Maret 2019

Pertemuan 4. INFORMATION HIDING, INHENTERITANCE, ENCAPSULATION DAN POLYMORPHISM

INFORMATION HIDING, INHENTERITANCE, ENCAPSULATION DAN POLYMORPHISM

  1. INHERITANCE (pewarisan)
Inheritance adalah penurunan atribute dan method  dari suatu kelas super/kelas Induk ke sub kelas/kelas anak. Pewarisan ini bersifat menyeluruh sehingga semua atribute dan method  yang dimiliki kelas super dapat diturunkan ke subkelas.
Deklarasi :
            [modifier] class NamaSubKelas extends NamaKelasSuper {
                        Class body;
            }
Keterangan : Kata kunci extends digunakan untuk menyatakan pewarisan.


B.     ENCAPSULATION

Encapsulation adalah suatu kemampuan dalam pemrograman berorientasi objek untuk menyembunyikan atribut dan method suatu objek dari objek lain. Dalam pemrograman, memyembunyikan detail ini dikenal dengan istilah information hiding.

Pengkapsulan dilakukan dengan cara memberikan modifier private pada suatu method dan pada variable. Method untuk memberikan nilai padasuatu atribut privat yang diawali dengan kata “set”, sedangkan method untuk mengambil nilai dari suatu atribut yang diawali dengan“get.

C.    POLYMORPHISM

Polymorfisme bermakna satu kata yang memilik banyak arti. Contoh :
1.      “Sayuran itu masih mentah”.
2.      “Pukulan petinju itu berhasil dimentahkan lawanya”.
3.      “Gagasan itu masih mentah sehingga perlu dibahas kembali”.
Dapat diartikan bahwa polimorfisme memiliki nama yang sama, namun memiliki tingkah laku yang berbeda dan beda pula dam mengimplementasikanya.


LANGKAH-LANGKAH PRAKTIKUM

A.    MEMBUAT PROGRAM SuperClass.java

public class SuperClass{
            public SuperClass() {
                        System.out.println ("Ini konstruktor milik SuperClass");
            }
            public void methodSubClass() {
                        System.out.println("Ini method milik SuperClass");
            }
}
B.     MEMBUAT PROGRAM SubClass.java

public class SubClass extends SuperClass {
            public SubClass() {
                        super();
            }
            public void methodSubClass() {
                        System.out.println ("supermethodSuperClass");
            }
}



C.    MEMBUAT PROGRAM DemoInheritance.java

public class DemoInheritance{
            public static void main (String[] args) {
                        SubClass sc = new SubClass();
                        sc.methodSubClass();
            }
}

OUTPUT :
sc: digunakan untuk membuat object baru.



D.    MEMBUAT PROGRAM  Persegi.java

public class Persegi {
            private double panjang;        //atribut yang di sembunyikan
            private double lebar;          //atribut yang di sembunyikan
            private double tinggi;         //atribut yang di sembunyikan

            public Persegi() {
                        panjang = 0;
                        lebar = 0;
    }
            private double luas(double p,double l) {
                        return p*l;
            }
            public void setPanjang(double panjangl) {
                        this.panjang = panjangl;
    }
    public void setLebar(double lebarl) {
                        this.lebar = lebarl;
    }
    public double getPanjang() {
                        return panjang;
    }
    public double getLebar() {
                        return lebar;
            }
            public double getLuas() {
                        return luas(panjang, lebar);
            }
}




E.     MEMBUAT PROGRAM MainPersegi.java

public class MainPersegi {
      public static void main (String[] args) {
                  Persegi pg = new Persegi();
                  pg.setPanjang (10);
                  pg.setLebar (20);

                  System.out.println("Panjang : "+pg.getPanjang());
                  System.out.println("Lebar : "+pg.getLebar());
                  System.out.println("Luas : "+pg.getLuas());
      }
}

OUTPUT :



F.     MEMBUAT PROGRAM Karyawan.java

abstract class Karyawan {
            int gaji;
            Karyawan () {
                        gaji = 1000000;
            }
            int getGaji () {
                        return gaji;
            }
            abstract void naikGaji();
}

G.    MEMBUAT PROGRAM Manager.java

class Manager extends Karyawan {
            Manager () {
                        gaji += 2000000;
            }
            void naikGaji() { gaji+=3000000; }
}

H.    MEMBUAT PROGRAM Receptionist.java

class Receptionist extends Karyawan {
            Receptionist () {
                        gaji += 1000000;
            }
            void naikGaji() { gaji+=1000000;}
}
I.       MEMBUAT PROGRAM Polymorphisme.java

class Polymorphisme {
            public static void main (String[] args) {
                        Karyawan K[] = new Karyawan[3];

                        K[0] = new Manager();
                        K[1] = new Receptionist();
                        K[3] = new Manager();

                        for (int i=0;i<3;i++)
                        System.out.println("Gaji Karyawan "+i+" adalah "+K[i].getGaji());

                        for (int i=0;i<3;i++)
                        K[i].naikGaji();
                        for (int i=0;i<3;i++)
                        System.out.println("Gaji sekarang "+i+" adalah "+K[i].getGaji());
            }
}

OUTPUT:



 Nb : Program tidak akan menghasilkan output jika didalam sebuah program tidak memiliki syarat/fungsi utama "public static void main".



Tidak ada komentar:

Posting Komentar