Senin, 14 Oktober 2013

Information Hiding, Inheritance, Encapsulation dan Polymorphism

A. Inheritance (Pewarisan)
Pengertian Inheritance (Pewarisan) adalah salah satu bentuk penggunaan kembali perangkat lunak dimana suatu kelas baru dibuat dari kelas yang sudah ada dengan memakai variabel data fungsi (method) dari kelas yang sudah ada tersebut serta menambah atribut/pelaku yang baru, kelas baru otomatis memiliki variabel atau fungsi yang dimiliki kelas asal.

ketikkan script kode berikut pada TextPad

public class SuperClass {
    public SuperClass(){
        System.out.println("Ini Konstruktor Milik SuperClass");
    }
    public void methodSuperClass(){
        System.out.println("Ini Method Milik SuperClass");
    }
}



public class SubClass extends SuperClass{
    public SubClass(){
        super();
    }
    public void methodSubClass(){
        super.methodSuperClass();
    }
}



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


Hasilnya seperti gambar di bawah



B.Enkapsulasi/pengkapsulan(Encapsulation)  
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus listrik, apakah menyala atau tidak.
Begitulah konsep kerja dari enkapsulasi, dia akan melindungi sebuah program dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal.


ketikkan script kode berikut pada TextPad

public class Persegi {
    private double panjang ;    //atribut yang disembunyikan
    private double lebar ;        //atribut yang disembunyikan
    private double tinggi ;        //atribut yang disembunyikan
    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);
    }
}


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


Hasil nya seperti dibawah



C.Polomorfisme
Kata Polimorfisme memiliki kemampuan untuk memiliki bentuk atau wujud berbeda. Dalam istilah pemrograman, kata ini memiliki arti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aks method tergantung dari tipe objeknya atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.


 Tuliskan Script Kode Berikut



abstract class Karyawan {

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

class Manager extends Karyawan {

                Manager(){

                                gaji += 2000000;

                }

               

                void naikGaji() { gaji+=3000000; }

}
 
class Receptionist extends Karyawan {

                Receptionist() {

                                gaji += 1000000;

                }

               

                void naikGaji() { gaji += 1000000; }

}


class Polymorphisme {

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

                                K[0] = new Manager() ;
                                K[1] = new Receptionist() ;
                                K[2] = 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());
                                                }
                }

  

Hasilnya Seperti dibawah
 
 

Tidak ada komentar:

Posting Komentar