ENO

Eno graphic
Pekerja Keras
Lihat profil lengkapku
// JavaScript Document

Laporan ENO. H. Simanjorang (MI10-19)

INFORMATION HIDING, ENCAPSULATION, INHERITANCE
DAN POLYMORHISM

Encapsulation
Encapsulation merupakan cara membungkus data dan method yang menyusun kelas dan menyembunyikannya dari dunia luar. Jika kita telah melakukan information hiding terhadap suatu attribut pada suatu class, lalu bagaimana cara melakukan perubahan terhadap attribut yang kita sembunyikan tersebut, caranya adalah dengan membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu attribut tersebut.
Berikut ini keuntungan dari prinsip encapsulation :

    Bersifat independen. Suatu modul yang terenkapsulasi dengan baik akan bersifat independen dari yang lain. Sehingga dapat digunakan pada bagian manapun dari program.
    Bersifat transparan. Jika Anda melakukan modifikasi pada suatu modul, maka perubahan tersebut akan dirasakan oleh semua bagian yang menggunakan modul tersebut.
    Menghindari dari efek yang diluar perencanaan. Modul yang terenkapsulasi dengan baik hanya akan berinteraksi dengan bagian program melalui variable input dan output yang telah didefinisikan sebelumnya. Sehingga dapat mengurangi kemungkinan bug.

Kesimpulan :
Tujuan encapsulation adalah untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interfensi atau penyalahgunaan dari luar system dan sekaligus menyederhanakan system itu sendir

Information Hiding

Information Hiding adalah menyembunyikan attribute dan method suatu objek dari objek lain. Encapsulation adalah menyembunyikan atribute 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.

Inheritance

Inheritance dalam java Salah satu bagian penting dalam object oriented programming adalah inheritance / pewarisan. Inheritance adalah proses pewarisan data dan method dari suatu class kepada class yang lain. Secara default inheritance bersifat menyeluruh sehingga semua data dan method diturunkan kepada class yang baru. Kelas yang mewariskan disebut dengan super class sedangkan class turunan disebut dengan sub class.



Keuntungan dari inheritance

• Bersifat reusable. Bayangkan bila anda perlu membuat beberapa class yang mempunyai sifat dasar dan basis class yang sama, dan pada masing masing class tersebut ditambahkan data dan method yang unique. Tanpa inheritance anda harus menyalin semua data dan method dari suatu class.
• Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama. Jika anda ingin melakukan modifikasi suatu data atau method pada semua sub class anda tidak perlu melakukan perubahan pada masing masing sub class. Modifikasi cukup dilakukan pada super class.
Dalam inheritance dikenal dengan istilah overriding. Overidding adalah kemampuan sub class untuk melakukan modifikasi data dan method dari super class. Sebelum anda melakukan overidding terhadap method atau data dari class induk, Harus memperhatikan aksesibelitas dari data dan method dari super class.[ overidding hanya bisa dilakukan untuk data dan method yang memiliki modifier default, public dan protected.]
Note.

    Untuk melakukan inheritance digunakan keyword extends
    Dalam java hanya mendukung single inheritance
    data dengan modifier private tidak diwariskan ke sub class
    constructor super class tidak diwariskan ke sub class


Semua attribute dan method dari suatu kelas super dapat diwariskan ke subkelas. Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan kelas C.

Bentuk pewarisan :

[modifier] class namaSubKelas extend namaKelasSuper {
// classBody
}

Manfaat Pewarisan

Tanpa inheritance, maka semua attribute dan method yang pernah dibuat dan bituhkan kelas lain, harus ditulis ulang seluruhnya. Dengan inheritance, seorang programmer ingin memodifikasi suatu attribute atau method yang dimanfaatkan subkelas, maka dilakukan modifikasi attribute dan
method tersebut pada kelas supernya.

Catatan :
Kalau method cetak() di kelas Employee dan kelas Manager ada, maka yang
dijalankan adalah method milik kelas Manager. Prioritasnya adalah kelas Manager
kemudian kelas Employee.



Polymorphism

Setelah inheritance, hal yang penting bagi object oriented programming adalah polymorphism. Secara leksikal polymorphism merupakan sesuatu yang mempunyai banyak bentuk. Dalam pemrograman polymorphism merupakan dapat diartikan suatu modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga listing code implementasinya berbeda. Dan dalam bahasa yang lain adalah kemampuan dari reference untuk mengubah sifat sesuai dengan object yang dijadiin acuan. Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda diperlakukan sebagai object tunggal dari super class.

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

Outputnya :




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

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());
          }
}
Outputnya adalah :
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+=3000000; }
}

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
read more
  •  CLASS    

     Class adalah wadah yang berisi abstrak(pedoman) dari suatu objek (benda), yang mendekripsikan data (sifat karateristik) dan fungsi yang dimiliki oleh objek tersebut.
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.

Contoh :
         //Deklarasi Class
         public static Hanz {
        
         //body class
         }
  • METHOD
          
            Method merupakan tingkah laku dari suatu objek atau kelas, jika bersifat static berarti tingkah laku semua objek dalam kelas tersebut.  Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
Contoh : pada object mangga : terdapat method ambilRasa , kupasKulit dan lain-lain.

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.
 
Deklarasinya :
            [modifier] tipe nilai kembalian nama method (parameter input)
            {
                  method body
            }
Dalam penulisan, modifier juga di kenal sebagai :
public, protected, private, static, abstrak, dll.
  Contoh :
            void profil (String nama.String jenis kelamin.int umur)
            String get nama ( )
            double setluas (double panjang.double lebar)

Contoh:
  • Mahasiswa cowok = new anakSI();
  • cowok.methodKU( Bernaz );
  • Mahasiswa cewek = new anakTI();
  • cewek.mothodKU( Amelia );
Outputnya:
  • Methodku dengan parameter dengan nilai Bernaz di class anakSI telah dipanggil
  • Methodku dengan parameter dengan nilai Amelia di class anakTI telah dipanggil
  •  CONSTRUCTOR

           Constructor adalah sebuah tipe khusus dari method yang di gunakan untuk membuat dan menginisialisasi sebuah objek tertentu.
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.
         Deklarasinya :
         (constructor Declaration)::=
         <modifier><classname>(<parameter>) {
         <statement>
         }
  • 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.
Modifier berguna : 
*   Untuk menentukan sifat dari suatu kelas dan
            menentukan preveledge (hak akses) dari kelas lain.
* Untuk menentukan relasi (extend atau implements)
            dengan kelas lainnya. Sifat yang di ikuti apabila di ikuti
            class maka sifatnya akanmengikuti class.
  
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.
Object adalah entitas dasar saat runtime
Contoh :
 String Str = new String ( );
 Random r = new Random ( );
 Pegawai P2 = new Pegawai ( );
 Date hari = new Date ( );
Contoh Program :
            class motor
            {
                  String warna;
                  void hidupkanmesin( ) {
                        System.out.println (“ Ini Metode Hidup “);
                  }
                  public static void main (String []args)
                  {
                        motor Motor Bowo = new motor ( );     //class di buat
                        Motor Bowo.warna = “Hitam”;             //memakai data warna
                        System.out.println (Motor Bowo.Warna);
                        Motor Bowo.Hidupkan Mesin ( );        //menjadi metode
                  }
            }


  
Output :
            Hitam
            Ini Metode Hidup
           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. 
Langkah - langkah Praktikum 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;
  }
}




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

read more
 
Powered By Blogger | Portal Design By eno grapich's Blog