Minggu, 08 Januari 2017

Pemrograman Berorientasi Objek

Enkapsulasi

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 yang telah dibuat dengan konsep dan rencana yang sudah ditentukan dari awal. Contoh Enkapsulasi Dalam Program : 

Belajar.Java

 class belajar{
            public String x =”Pintar”;
            private String y = “Java”;
         }

Pintar.Java

public class Pintar{
           public static void main(String[]args){
           Coba panggil = new Belajar();
           System.out.println(“Panggil X : “+panggil.x);
           System.out.println(“Panggil Y : “+panggil.y);
          }
   }

Tipe public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi private tidak dapat dipanggil didalam class Belajar.


Acces Modifer

Ketika sebuah program Java ingin diciptakan, dan user menginginkan beberapa data dilarang untuk diakses, pengimplementasi inilah yang sering disebut Access Modifiers. Kegunaan Access Modifiers ini untuk memberi hak akses kepada user. Tentu tidak semua data yang berada di dalam suatu kelas, atau turunannya dapat diakses, karena terdapat batasan-batasan yang berlaku.
1. Akses Default 
   adalah tipe yang hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class. Contoh program : 

2. Akses Public 
       adalah class member untuk diakses baik dari dalam dan luar class. Contoh Programnya :

3. Akses Protected 
   Akses Protected mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass. Contoh Programnya: 

4. Akses Private 
        Pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat. Contoh kutipan program dari akses private:

Sumber: https://rioramski.wordpress.com/2012/11/12/access-modifiers-pada-pemrograman-java/ 


Inheritance

Pewarisan (Inheritance) merupakan sifat dalam bahasa berorientasi objek yang memungkinkan sifat-sifat dari suatu kelas diturunkan ke kelas lain. Sistem OOP memungkinkan kita untuk mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah maka kelas tersebut semakin spesifik.

sumber:https://doniavira.wordpress.com/2012/04/19/pewarisan-inheritance/


KONSEP PEWARISAN (INHERITANCE)
Sebagai Informasi bahwa Ciri khas Pemrograman Berorientasi Objek ada tiga hal yaitu:
1. Enkapsulasi ( Pembungkusan )
2. Inheritance ( Pewarisan )
3. Polymorphism ( Perbedaan Bentuk )


Single Inheritance


     Adalah pewarisan yang jumlah kelas dasarnya (basic class / superclass) tunggal, tapi kelas turunan (subclass) bisa lebih dari satu Konsep inheritance yang ada di Java hanya memperkenankan adanya single inheritance. Contoh Program Dari Single Inheritance :

Konstruktor


  ialah sebuah method yang namanya sama persis dengan nama class-nya. Konstruktor sendiri berfungsi untuk memberikan nilai awal pada sebuah class ketika class tersebut dibuat dalam bentuk objek pada class lain. Konstruktor bisa memiliki parameter bisa juga tidak. Dalam konstruktor, tidak boleh pakai keyword void.
sumber: http://jagocoding.com/snippets/1152/Konstruktor_di_Java


Inheritance Bertingkat

Sistem penurunan sifatnya akan dilakukan secara hirarki (bertingkat-tingkat) , semakin ke bawah class, maka akan semakin detail. Contoh Programnya : 

Keyword Super

Constructor yang terdapat pada kelas induk dapat dipanggil dari kelas turunan menggunakan kata kunci super.

Polimorphisme

Konsep Dasar
Polymorphism merupakan sesuatu yang mempunyai banyak bentuk. Polymorphism sifat class yang memungkinkan sebuah method mempunyai nama yang sama, namun memiliki aksi yang berbeda. Dalam pemrograman polymorphism merupakan dapat diartikan suatu modul yang mempunyai nama sama, tapi memiliki behavior yang berbeda sehingga listing code implementasinya berbeda. Polymorphism menyediakan menyediakan multiobject dari sub class yang berbeda diperlakukan sebagai object tunggal dari super class.

Overloading
Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya. Pada method overloading perbedaan parameter mencakup :
o    Jumlah parameter
o    Tipe data dari parameter
o    Urutan dari tipe data parameter
o    Method Overloading juga dikenal dengan sebutan Static Polymorphism.
Berikut ini contoh Overloading:

Overriding
Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding pada Java :
1. Parameter yang terdapat pada method overriding di subclass harus sama dengan     parameter yang terdapat pada parent class.
2. Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class
Berikut ini contoh Overriding : 

Virtual Method Invocation
Virtual Method Invocation (VMI) bisa terjadi jika terjadi polimorphisme dan overriding. Pada saay objek yang sudah dibuat tersebut memanggil overridden method pada parent class, kompiler java akan melakukan invocation (pemanggilan) terhadap overriding method pada subclass, dimana yang seharusnya dipanggil adalah overridden method. Berikut contoh terjadinya Virtual Method Invocation, Contoh Programnya : 
sumber: https://www.coursehero.com/file/pvujt4/Virtual-Method-Invocation-VMI-bisa-terjadi-jika-terjadi-polimorfisme-dan/


Polymorphic Arguments 

Polymorphic Arguments adalah tipe suatu parameter yang menerima suatu nilai yang bertipe subclass-nya. Berikut contoh programnya :


Instance Of Statements

Operator Instanceof adalah operator yang dapat digunakan untuk mengoperasikan dua buah tipe data reference. Selain itu, operator ini juga digunakan dalam proses sebelum dilakukan downcast dari subtype ke supertype supaya tidak terjadi ClassCastException.
Sumber : http://alvinalexander.com/java/java-instanceof-class-inheritance-examples

Casting Objek
Polymorphism memperbolehkan untuk membuat obyek dari subclass untuk diberikan ke variabel acuan tipe superclass. Berikut ini adalah pernyataan untuk membuat obyek dari kelas PersegiPanjang untuk diberikan ke variabel obj dengan tipe kelas Object:
   Object obj = new PersegiPanjang();
Kelas PersegiPanjang adalah kelas turunan dari kelas Object, sehingga acuan ke obyek yang dibuat dari kelas PersegiPanjang dapat diberikan ke variabel obj dengan tipe Object yang mana merupakan superclassnya. Akan tetapi, Anda tidak diperkenankan untuk melakukan kebalikannya, memberikan variabel acuan obj ke variabel pp yang merupakan tipe dari kelas PersegiPanjang sebagaimana pernyataan berikut ini:
   PersegiPanjang pp = obj;
Saat dieksekusi, pernyataan tersebut akan menghasilkan error. Instance (obyek) dari subclass adalah juga instan dari superclass tetapi tidak bisa sebaliknya. Sebagai contoh, setiap persegi panjang adalah obyek, tetapi tidak setiap obyek adalah persegi panjang, bisa saja itu lingkaran, segitiga, bujur sangkar atau yang lain. Agar kompiler Java mengetahui bahwa obj adalah obyek dari kelas PersegiPanjang, Anda perlu mengkonversi secara eksplisit sebagaimana pernyataan di bawah ini.
   PersegiPanjang pp = (PersegiPanjang) obj;
Anda diperbolehkan untuk mengkonversi obyek dari subclass ke variabel dengan tipe superclass (upcasting) kerena instance dari subclass adalah juga instance dari superclass. Ketika mengkonversi instance (obyek) superclass ke variabel dengan tipe subclass (downcasting), Anda perlu melakukan perkonversian secara eksplisit.

Package

Konsep Package
Pengertian package adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya. Pengertian package adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya.

Mengatur kelas ke dalam paket.
Setiap kelas Java akan diletakkan (dikelompokkan) ke dalam paket. Kelas-kelas tersebut diletakkan ke dalam paket saat program sumber Java (Java source program) dikompilasi. Untuk meletakkan sebuah kelas hasil kompilasi ke dalam paket yang dituju, Anda dapat menyertakan pernyataan package diikuti nama paket di program sumber Java. Pernyataan package yang diikuti nama peket adalah pernyataan Java yang paling pertama. Berikut ini adalah sintak pernyataan package untuk meletakkan hasil kompilasi ke dalam paket:
   package nama-paket;
Hak Akses Dalam Packages



Tingkat Akses Private Tingkat Akses Public Tingkat Akses Protected Tanpa Tingkat Akses
Kelas Yang Sama Ya Ya Ya Ya
Kelas Turunan Paket Yang Sama Tidak Ya Ya Ya
Bukan Kelas Turunan Paket Yang Sama Tidak Ya Ya Ya
Kelas Turunan Paket Yang Berbeda Tidak Ya Ya Tidak
Bukan Kelas Turunan Paket Yang Berbeda Tidak Ya Ya Tidak

This Is The Newest Post


EmoticonEmoticon