Selasa, 25 Oktober 2011

Praktikum Java ke 4


 Information Hiding, Inheritance, Encapsulation dan Polymorphism

Tujuan dari program ini agar kita dapat memahami dan mempraktekkan pembuatan aplikasi yang mengimplementasikan sifat-sifat dari bahasa pemograman berorientasi objek.
Dalam bahasa pemograman berorientasi objek, program dibagi menjadi objek-objek yang saling berhubungan. Konsep-konsep dasar yang mendasari pemograman berorientasi objek adalah inheritance (pewarisan), encapsulation (pengkapsulan) dan polymorphism (satu kata memiliki banyak arti).
1.       Contoh program Inheritance
              a.         Membuat Program SuperClass.java

public class SuperClass{
                public SuperClass() {
                                System.out.println("Ini Konstruktor milik SuperClass");
                }

                public void methodSuperClass(){
                                System.out.println("Ini method milik SuperClass");
                                 }
                    }
                Output : tidak ada karena program ini tidak memiliki fungsi utama.
                b.      Membuat Program SubClass.java

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

                Output : tidak ada karena program ini juga tidak memiliki fungsi utama.
             Dari kedua program di atas hanya menunjukkan Inheritance yaitu penurunan atribut dan method dari suatu kelas super(kelas induk) ke sub kelas (kelas anak).
Penjelasan:
      ·         public SuperClass() {
                System.out.println("Ini Konstruktor milik SuperClass");
       }
       Kode program ini merupakan kode kelas induk yang penurunan kelasnya ke kode program:
       
public SubClass(){
       super();
}
       Dimana kode program ini memiliki konstruktor yang akan memanggil konstruktor kelas induk.

       ·         public void methodSuperClass(){
                System.out.println("Ini method milik SuperClass");
                }
       Kode program ini merupakan kode kelas induk yang penurunan kelasnya ke kode program:  

 public void methodSubClass(){
       super.methodSuperClass();
}
     Dimana kode program ini memiliki konstruktor yang akan memanggil konstruktor kelas induk
     atau   turunan dari methodSuperClass.

           c.       Membuat Program DemoInheritance.java

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

Output:


Program ini merupakan program untuk memanggil method SuperClass dan SubClass dengan
membuat objek baru yaitu sc.


2.       Contoh Program Encapsulation
a.       Membuat Program Persegi.java

public class Persegi{

               private double panjang;
               private double lebar;
               private double tinggi;

               public Persegi() {
                               panjang = 0;
                               lebar = 0;
               }

               private double luas (double p, double l){
                               return p*l;
               }

               public void setPanjang (double panjang1){
                               this.panjang = panjang1;
               }

               public void setLebar (double lebar1){
                               this.lebar = lebar1;
               }

               public double getPanjang(){
                               return panjang;
               }

               public double getLebar(){
                               return lebar;
               }

               public double getLuas(){
                               return luas (panjang, lebar);
               }
}

Output : tidak ada karena program ini juga tidak memiliki fungsi utama.

b.      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:


Penjelasan:
               ·         Kode program ini merupakan atribut yang disembunyikan dengan modifier private.
private double panjang;
private double lebar;
private double tinggi;

               ·         public Persegi() {
                panjang = 0;
                lebar = 0;
                }
                Kode program ini merupakan konstruktor dari kelas Persegi.
                ·         private double luas (double p, double l){
                                return p*l;
                  }
                Kode program ini merupakan method yang disembunyikan karena memiliki modifier private.
                Modifier private yaitu modifier yang wilayah aksesnya pada kelas yang sama atau hanya
                dapat dipanggil pada kelas yang sama saja.
               ·          Bahwa dapat kita lihat encapsulation pada program di atas yaitu menyembunyikan atribut dan        
                      method suatu objek dari objek lain.
               ·         Program MainPersegi.java adalah program untuk menjalankan program Persegi.java
                      karena  memiliki fungsi utama. Dapat kita lihat :
-          Persegi pg = new Persegi();
Ø  Memanggil konsktruktor  untuk mengubah nilai panjang menjadi 0 dan Lebar menjadi 0.
-          pg.setPanjang(10);
Ø  Memanggil method setPanjang dengan objek pg
-          pg.setLebar(20);
Ø  Memanggil method setLebar dengan objek pg
-          System.out.println("Panjang :"+pg.getPanjang());
Ø  Menampilkan Panjang = 10 dari method getPanjang
-          System.out.println("Lebar :"+pg.getLebar());
Ø  Menampilkan Lebar = 20 dari method getLebar
-          System.out.println("Luas :"+pg.getLuas());
Ø  Menampilkan Luas = 200 dari method getLuas

3.       Contoh Program Encapsulation
a.       Membuat Program Karyawan.java

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

b.      Membuat Program Manager.java

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

             void naikGaji() { gaji+=3000000;}
}

c.       Membuat Program Receptionist.java

class Receptionist extends Karyawan{
             Receptionist(){
                             gaji+=1000000;
             }

             void naikGaji() { gaji+=1000000;}
}

d.      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[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());
        }
}                 
Polymorphism(polymorphisme) merupakan suatu kata yang memiliki banyak arti. Dapat kita lihat dari contoh program polymorphism. Program Manager.java dan Receptionist.java merupakan turunan dari program Karyawan.java yang ketiga program tersubut tidak memiliki output karena tidak memilki fungsi utama. Program tersebut dapat dijalankan pada program Polymorphisme.java.
Output:







Tidak ada komentar:

Posting Komentar