Information Hiding, Inheritance, Encapsulation dan Polymorphism


Information Hiding dan Encapsulation 
Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan
cara memberikan modifier private. Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.

Pewarisan (inheritance)
Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object.
Contoh dari hierarki class :
Superclass
Adalah class yang letaknya di atas class tertentu di dalam hierarki.
Subclass
Adalah class yang letaknya di bawah class tertentu        di dalam hierarki.
 Untuk mengambil sebuah class, gunakan keyword extends.

Polymorphism
Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object. Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan. Dalam Java, kita dapat membuat referensi dari suatu superclass ke object dari subclassnya.

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

SuperClass.java

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


SubClass.java

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

hasil compile

DemoInheritance.java

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


Persegi.java

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

hasil compile

MainPersegi.java

Membuat program Karyawan.java

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

Karyawan.java

Membuat program Manager.java

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

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

Manager.java

Membuat program Receptionist.java
class Receptionist extends Karyawan {
   Receptionist() {
        gaji +=1000000;
   }
  
   void naikGaji() { gaji+=1000000; }
}

Receptionist.java

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

hasil compile

Polymorphisme.java

Class, Method, Constructor, Modifier dan Object pada JAVA


  • CLASS
         Class merupakan suatu blueprint atau cetakan untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.
  •  METHOD
           Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
Metode menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.
Metode memiliki 4 (empat) bagian dasar :
  1. Nama metode
  2. Tipe Objek atau tipe primitive yang dikembalikan metode.
  3. Daftar parameter.
  4. Badan atau isi metode.
  •  CONSTRUCTOR
Constructor merupakan method khusus yang digunakan untuk menginisialisasi objek, dan tiap class boleh memiliki lebih dari satu constructor.
Perbedaan method biasa dengan constructor adalah bahwa constructor harus  memiliki nama yang sama dengan nama class-nya dan tidak memiliki nilai  kembalian.

Constructor dijalankan pada saat sebuah objek diinisialisasi  (menggunakan kata new). Pada constructor juga berlaku overloading, artinya  boleh mendeklarasikan lebih dari satu constructor, asalkan memiliki parameter yang berbeda.
  • MODIFIER
Modifier adalah sifat yang dimiliki oleh setiap atribut, method maupun kelas dalam java. Modifier akses adalah modifier yang selalu digunakan, modifier akses terdiri dari private, default, protected dan public.
Wilayah Akses
Public
Protected
default
Private
Kelas  yang  sama
Ya
Ya
Ya
Ya
Antar kelas dalam package yangsama
Ya
Ya
Ya
Tidak
Subkelas di package yang berbeda
Ya
Ya
Tidak
Tidak
Bukan Subkelas, package yang berbeda
Ya
Tidak
Tidak
Tidak
beberapa modifier penting lainnya :
  1. Static yaitu modifier yang digunakan agar suatu atribut maupun method dapat diakses oleh objeck atau kelas lain mesti tanpa dilakukan instansiasi terhadap kelas dimana atribut maupun method itu berbeda, method main adalah salah satu contoh method modifier static yang sering digunakan.
  2. Final yaitu modifier yang digunakan untuk mencegah kemungkinan modifikasi terhadap atribut maupun method, dengan modifier ini suatu atribut akan berlaku sebagai konstanta
  • OBJECT
           sebuah kelas dapat digunakan untuk membuat banyak objek, setiap objek dapat dilakukan secara berbeda oleh objek-objek lain yang menggunakannya. di butuhkan operator NEW untuk membuat objek dari suatu kelas.
           objek dibuat dengan cara menuliskan :
  1. NamaKelas NamaObjek = new NamaConstractor();
  2. NamaKelas Namaobjek;
    NamaObjek = new NamaConstractor();
           proses di atas disebut instansiasi. ketika objek selesai dibuat, objek tersebut disimpan didalam memori dan dapat diakses oleh objek-objek lain melalui nama objeknya. 

Membuat program Disket.java

public class Disket {
  int panjang = 10;
  final int LEBAR = 10;
  String warna = "kuning";
  String bentuk = "segiempat";
  String data = "";
  Disket() {
      panjang= 100 ;
  }
  Disket(int panjang1) {
      this.panjang = panjang1;
  }
  void simpanData(String data1) {
         this.data += data1;
  }

  void hapusData() {
         data = "";
  }

  String bacaData() {
         return data;
  }
}
 

Disket.java

Membuat program MainDisket.java

class MainDisket{
    public static void main (String[] args) {
          Disket disk1 = new Disket(50);
          System.out.println("Panjang Disket = "+ disk1.panjang);
          System.out.println("Lebar Disket = "+ disk1.LEBAR);
          System.out.println("Warna Disket = "+ disk1.warna);
          System.out.println("Bentuk Disket = "+ disk1.bentuk);

          System.out.println("data mula-mula = "+ disk1.bacaData());
          disk1.simpanData("Belajar java");
          System.out.println("Setelah SimpanData = "+ disk1.bacaData());
          disk1.hapusData();
          System.out.println("Setelah hapusData = "+ disk1.bacaData());
    }
}


MainDisket.java

Program Tes Tipe Data, Tes Keputusan dan Tes Perulangan

TIPE DATA PADA JAVA 

    Integer atau bilangan bulat
    - Terdiri atas int, long, byte, short.
    - Biasanya user kebanyakan memakai int.
    Floading Point
    - Digunakan untuk bilangan pecahan.
    - Defaultnya adalah double.
    contoh : x = 4.12f atau x = 421f      
    Char
    - Character tunggal.
    - Diawali dan diakhiri tanda petik ( ' ).
    contoh : a='b';
    Boolean
    - Hanya bernilai TRUE & FALSE.

    Contoh :
    class TesTipeData {
    public static void main (String[] args) {

    byte b = 1;
    short s = 100;
    int i = 1000;
    long l = 10000;
    char c = 'a';
    float f = 3.14f;
    double d = 3.14;
    boolean t = true;
    System.out.println("byte " +b);
    System.out.println("short " +s);
    System.out.priprintlnntln("int " +i);
    i = 010;
    System.out.println("int " +i+ " octal mode");
    i = 0XFF;
    System.out.println("int " +i+ " hexa mode");
    System.out.println("long " +l);
    System.out.println("char " +c);
    System.out.println("float " +f);
    System.out.println("double " +d);
    System.out.println("boolean " +t);
    System.out.println("PI " +PI);
    }
    }

    Hasilnya :
    Byte 1
    Short 1000
    Int 1000
    Int 8 ocktal mode
    Int 255 hexa mode
    Long 10000
    char a
    Float 3.14
    Double 3.14
    boolean true
    PI 3.14
    Press any key to continue . . .


    KONDISI IF PADA JAVA

    Pernyataan if merupakan salah satu bentuk pernyataan berkondisi yang berguna untuk pengambilan keputusan terhadap dua buah kemungkinan pernyataan.

    Jika if memiliki dua buah kondisi maka if akan mengandung kata else. if juga memungkinkan untuk lebih dari dua kemungkinan.

    Contoh :
    class TesKeputusan {
       public static void main (String[] args) {
           char jeniskelamin = 'W';
           //nested if
           if (jeniskelamin=='L')
                System.out.println("Cowok");
           else if (jeniskelamin=='P')
                System.out.println("Cewek");
           else
                System.out.println("Banci");
               
           //ternary
           System.out.println(jeniskelamin=='P'? "Dia pasti cowok." : "Dia pasti cewek");
          
           //switch case
           switch (jeniskelamin) {
                case 'P' : System.out.println("Cowok");
                                  break;
                case 'L' : System.out.println("Cewek");
                                  break;
                default  : System.out.println("Banci");
                                  break;
                                  }
      }
    }

    Hasilnya :
    Banci dia pasti cewek
    Banci
    Press ani key continue . . . -




    PERULANGAN PADA JAVA

    Ada beberapa tipe perulangan, antara lain :

            1. Perulangan while
                       Pernyataan berguna untuk melakukan proses perulangan untuk sebuah kondisi tersebut bernilai benar (true), maka perulangan akan terus berjalan, dan terhenti ketika kondisi bernilai salah (false). Bentuk pernyataan while seperti berikut ini :

                       while (kondisi) {
                               // isi intruksi
                       }

               Misal :

                        int jumlah = 1;


                        while(jumlah <= 10) {
                                   System.out.println(jumlah);
                                   jumlah++; // menaikkan jumlah
                        }

                       Jika program tersebut dijalankan, maka hasilnya adalah tulisan dari no 1 sampai 10. Dan saat jumlah bernilai 11, maka perulangan akan terhenti dikarenakan kondisi bernilai false (11<= 10).

             2. Perulangan do-while
                       Perulangan do-while merupakan perulangan yang hampir mirip dengan perulangan while namun perbedaannya, pada perulangan do-while, maka minimal instruksi akan dijalankan sekali. Bentuk pernyataan do-while sebagai berikut :

                       do{
                              // instruksi 
                        }while (kondisi);

              Misal :
                        int jumlah = 100;
      
                        do{
                                System.out.println(jumlah);
                                jumlah++; // naikkan jumlah
                        }while (jumlah <= 10);

                        Jika program tersebut dijalankan, maka akan menghasilkan keluaran 100, artinya walaupun kondisi salah, namun minimal isi instruksi akan dijalankan sekali, hali ini dikarenakan proses do-while berbeda dengan while, dimana do-while pertama melakukan instruksi baru mengecek kondsisi, sedangkan while pertama mengecek kondisi baru melakukan instruksi.


             3. Perulangan for
                         Perulangan for merupakan perulangan yang memiliki variabel untuk melakukan pengkondisian, berbeda dengan while dan do-while yang kita harus membuat sebuah variabel diluar untuk melakukan pengkondisian, pada perulangan for, ditempatkan sebuah blok untuk membuat variabel dan melakukan proses pengkondisian. Bentuk pernyataan for seperti berikut :

                         for (inisialisasi; kondisi; penaikan/penurunan) {
                              instruksi
                         }
             
                        Misal kita akan menampilkan angaka dari 1 = 100, maka dapat menggunakan perulangan for.

                         for(int i = 1; i <= 100; i++) {
                              System.out.println(i);
                         }

              4. Perintah break
                        Perintah break merupakan perintah yang dapat digunakan untuk menghentikan proses perulangan, misal jika kita membuat program seperti berikut :

                        for (int i = 1; i <= 100; i++) {
                               System.out.println(i);
                               if (i = = 50) {
                                      break;
                                }
                         }

                           Maka program hanya akan menampilkan angka dari 1 sampai 50, karena pada saat mencapai 50, program dihentikan oleh perintah break.


              5. Perintah continue
                            Perintah continue dapat digunakan untuk meloncati sebuah perulangan maksudnya adalah instruksi yang seharusnya dapat dilewat, hal ini berarti instruksi tidak akan dijalankan misal.

                            for (int i = 1; i <= 100; i++) {
                                   if (i % 2 = = 0 ) {
                                          continue
                                   }
                                   System.out.println(i);
                              }
                        
                             Jika program diatas dijalankan, maka hasilnya akan menampilkan angka-angka ganjil saja, hal ini dikarenakan saat nilai i merupakan angka genap, maka perintah continue membuat program tidak menampilkan angka genap.


    Contoh :
    public class TesPerulangan {
      public static void main (String[] args) {
            int i;
           
            //for
            System.out.println("Perulangan For...");
            for (i=0; i<10; i++)
                 System.out.println("Perulangan ke : "+i);
                
            //while
            System.out.println("Perulangan While...");
            i=0;
            while (i<10) {
                  System.out.println("Perulangan ke : "+i);
                  i++;
            }
           
            // do while
            System.out.println("Perulangan Do While...");
            i=0;
            do {
                 System.out.println("Perulangan ke : "+i);
                 i++;
            }
            while (i<10);
      }
    }
           
    Hasilnya :
    Perulangan For . . .
    Perulangan ke : 0
    Perulangan ke : 1
    Perulangan ke : 2
    Perulangan ke : 3
    Perulangan ke : 4
    Perulangan ke : 5
    Perulangan ke : 6
    Perulangan ke : 7
    Perulangan ke : 8
    Perulangan ke : 9
    Perulangan While . . .
    Perulangan ke : 0
    Perulangan ke : 1
    Perulangan ke : 2
    Perulangan ke : 3
    Perulangan ke : 4
    Perulangan ke : 5
    Perulangan ke : 6
    Perulangan ke : 8
    Perulangan ke : 9
    Perulangan  Do While . . .
    Perulangan ke : 0
    Perulangan ke : 1
    Perulangan ke : 2
    Perulangan ke : 3
    Perulangan ke : 4
    Perulangan ke : 5
    Perulangan ke : 6
    Perulangan ke : 7
    Perulangan ke : 8
    Perulangan ke : 9
    Perulangan to continue . . .