Assalamua'laikum Wr. Wb.
Di H-1 untuk UAS ini, saya akan membagikan sedikit ilmu tentang Pemrograman Berorientasi Objek yang katanya itu susah untuk di pahami. Memang saya merasa cukup sulit untuk memahami materi PBO, tetapi dengan adanya usaha, do'a dan menurut guru saya kita wajib ngulik, Insyaallah dimudahkan untuk memahami materi PBO.
Dalam materi sekarang kita akan membahas tentang Enkapsulasi, Inheritance, Polymorphism dan Package. Silahkan untuk dibaca ...
.
.
.
ENKAPSULASI
Di H-1 untuk UAS ini, saya akan membagikan sedikit ilmu tentang Pemrograman Berorientasi Objek yang katanya itu susah untuk di pahami. Memang saya merasa cukup sulit untuk memahami materi PBO, tetapi dengan adanya usaha, do'a dan menurut guru saya kita wajib ngulik, Insyaallah dimudahkan untuk memahami materi PBO.
Dalam materi sekarang kita akan membahas tentang Enkapsulasi, Inheritance, Polymorphism dan Package. Silahkan untuk dibaca ...
.
.
.
ENKAPSULASI
Contoh Enkapsulasi :
Sumber: https://sitisofiah21.wordpress.com/2014/09/20/program-sederhana-enkapsulasi-inheritance-dan-polimorfisme/
ACCES
MODIFIER
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 Akses Default :
2. Akses Private pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat.
INHERITANCE
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.
2. Akses Private pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat.
Contoh Akses Private :
3. Akses Protected mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass.
3. Akses Protected mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass.
Contoh Akses Protected :
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.
Single
inheritance
Satu hal penting yang harus kita ketahui dari konsep inheritance yang
ada di Java adalah Java hanya memperkenankan adanya single inheritance. Konsep
single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent
class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat
diamati dengan mudah. Inilah salah satu keunggulan OOP dalam Java.
Berikut ini contoh dari Single Inheritance :
Konstruktor
Konstruktor adalah
method yang secara otomatis dipanggil/dijalankan pada saat sebuah class
diinstansi. Atau dengan kata lain konstruktor adalah method yang pertama kali
dijalankan pada saat sebuah objek pertama kali diciptakan. Jika dalam sebuah
class tidak terdapat konstruktor maka secara otomatis Java akan membuatkan
sebuah default Konstruktor.
Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value. Sama halnya dengan method, konstruktor dapat memiliki satu atau banyak parameter maupun tanpa parameter.
Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value. Sama halnya dengan method, konstruktor dapat memiliki satu atau banyak parameter maupun tanpa parameter.
Keyword Super
Constructor yang terdapat pada kelas induk dapat dipanggil dari kelas
turunan menggunakan kata kunci super.
Sumber:
Buku Mudah Belajar Java
Inheritas Bertingkat
Sistem penurunan
sifatnya akan dilakukan secara hirarki (bertingkat-tingkat) , semakin ke bawah
class, maka akan semakin detail.
Contoh :
POLYMORPHISM
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
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 :
http://dantikpuspita.com/polymorphism-pada-konsep-pbo-java-programming/
Virtual
Method Invocation
. Virtual
method invocation merupakan suatu hal yang sangat penting dalam konsep
polimorfisme.
. Syarat terjadinya VMI adalah sebelumnya sudah terjadi polymorphism.
. Pada saat obyek 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.
polimorfisme.
. Syarat terjadinya VMI adalah sebelumnya sudah terjadi polymorphism.
. Pada saat obyek 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.
Polymorphic arguments
Polymorphic arguments adalah tipe suatu parameter
yang menerima suatu nilai yang bertipe subclass-nya.
Berikut contoh dari polymorphics
arguments:
Sumber : Video tutorial dari thenewboston.com
INSTANCEOF
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 terjadiClassCastException.
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.
Sumber : http://www.termasmedia.com/pemrograman/java/251-cara-mengkonversi-casting-obyek-di-java.html
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.
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.
http://arraydalamprogram.blogspot.co.id/2010/06/package-dalam-bahasa-pemograman-java.html
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;
ENKAPSULASI
Contoh Enkapsulasi :
Sumber: https://sitisofiah21.wordpress.com/2014/09/20/program-sederhana-enkapsulasi-inheritance-dan-polimorfisme/
ACCES
MODIFIER
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 Akses Default :
2. Akses Private pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat.
INHERITANCE
2. Akses Private pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat.
Contoh Akses Private :
3. Akses Protected mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass.
3. Akses Protected mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass.
Contoh Akses Protected :
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.
Single
inheritance
Satu hal penting yang harus kita ketahui dari konsep inheritance yang
ada di Java adalah Java hanya memperkenankan adanya single inheritance. Konsep
single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent
class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat
diamati dengan mudah. Inilah salah satu keunggulan OOP dalam Java.
Berikut ini contoh dari Single Inheritance :
Konstruktor
Konstruktor adalah
method yang secara otomatis dipanggil/dijalankan pada saat sebuah class
diinstansi. Atau dengan kata lain konstruktor adalah method yang pertama kali
dijalankan pada saat sebuah objek pertama kali diciptakan. Jika dalam sebuah
class tidak terdapat konstruktor maka secara otomatis Java akan membuatkan
sebuah default Konstruktor.
Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value. Sama halnya dengan method, konstruktor dapat memiliki satu atau banyak parameter maupun tanpa parameter.
Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value. Sama halnya dengan method, konstruktor dapat memiliki satu atau banyak parameter maupun tanpa parameter.
Keyword Super
Constructor yang terdapat pada kelas induk dapat dipanggil dari kelas
turunan menggunakan kata kunci super.
Sumber:
Buku Mudah Belajar Java
Inheritas Bertingkat
Sistem penurunan
sifatnya akan dilakukan secara hirarki (bertingkat-tingkat) , semakin ke bawah
class, maka akan semakin detail.
Contoh :
POLYMORPHISM
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
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 :
http://dantikpuspita.com/polymorphism-pada-konsep-pbo-java-programming/
Virtual
Method Invocation
. Virtual
method invocation merupakan suatu hal yang sangat penting dalam konsep
polimorfisme.
. Syarat terjadinya VMI adalah sebelumnya sudah terjadi polymorphism.
. Pada saat obyek 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.
polimorfisme.
. Syarat terjadinya VMI adalah sebelumnya sudah terjadi polymorphism.
. Pada saat obyek 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.
Polymorphic arguments
Polymorphic arguments adalah tipe suatu parameter
yang menerima suatu nilai yang bertipe subclass-nya.
Berikut contoh dari polymorphics
arguments:
Sumber : Video tutorial dari thenewboston.com
INSTANCEOF
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 terjadiClassCastException.
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.
Sumber : http://www.termasmedia.com/pemrograman/java/251-cara-mengkonversi-casting-obyek-di-java.html
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.
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.
http://arraydalamprogram.blogspot.co.id/2010/06/package-dalam-bahasa-pemograman-java.html
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;
Sumber : http://www.termasmedia.com/pemrograman/java/118-pengertian-fungsi-dan-kegunaan-paket-package-di-java.html
Hak Akses Dalam Packages
Tingkat Akses private | Tingkat Akses protected | Tingkat Akses public | Tanpa Tingkat Akses | |
---|---|---|---|---|
Kelas yang sama | Ya | Ya | Ya | Ya |
Kelas turunan Paket sama | Tidak | Ya | Ya | Ya |
Bukan Kelas turunan Paket sama | Tidak | Ya | Ya | Ya |
Kelas turunan Paket berbeda | Tidak | Ya | Ya | Tidak |
Bukan Kelas turunan Paket sama |
Tidak | Tidak | Ya | Tidak |
.
.
.
.
Alhamdulillah :)
#RplWajibNgullLik :)
#SemangatUASPraja20
Komentar
Posting Komentar