Langsung ke konten utama

Pemrograman Berorientasi Objek series 2

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

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.
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.
Contoh Akses Private :


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.






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


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

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.
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.
Contoh Akses Private :


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.






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


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

Postingan populer dari blog ini

PEMROGRAMAN BERBASIS OBJEK

Pengertian Pemrograman Berbasis Objek Pemrograman Berbasis Objek  atau  Object Oriented Programming  ( OOP ) adalah sebuah tata cara pembuatan program ( programming paradigm ) dengan menggunakan konsep “ objek ” yang memiliki data ( atribut  yang menjelaskan tentang objek) dan prosedur ( function ) yang dikenal dengan  method . Dalam pengertian sederhananya,  OOP  adalah konsep pembuatan program dengan memecah permasalahan program dengan menggunakan  objek .  Objek  dapat diumpamakan dengan ‘ fungsi khusus’  yang bisa berdiri sendiri. Untuk membuat sebuah aplikasi, berbagai objek akan saling bertukar data untuk mencapai hasil akhir. Berbeda dengan konsep fungsi atau ‘ function’  di dalam pemrograman, sebuah  objek  bisa memiliki data dan  function  tersendiri. Setiap objek ditujukan untuk mengerjakan sebuah tugas, dan menghasilkan nilai akhir untuk selanjutnya dapat ditampilkan atau digunakan ...

Bahaya Keseringan Install Ulang Laptop

Ok sekarang saya akan berbagi tentang keseringan instal ulang laptop. Kenapa sih ya harus install ulang ?  Sebenarnya tujuan dari instal ulang itu apa sih? Untuk membuat PC bebas virus kaAh? Ingin berganti jenis Window? Atau karena kinerja nya dianggap lemot maka nya harus di instal ulang?  Nah buat yang sering install ulang harus buang pikiran yang seperti itu karena keseringan install ulang sangat berakibat fatal dan memiliki efek samping  untuk laptop kita . Berikut efek samping keseringan intall ulang  Laptop menjadi ketergantungan untuk install ulang . Maksudnya apa ya hal ? jadi laptop akan mudah rusak dalam kinerja sistemnya dan membuat ketergantungan untuk melakukan install ulang terus menerus. Laptop yang sering install ulang juga dapat memberikan efek kepada baterai . Nah karena sering install ulang dapat mengurangi daya baterai. Fakta statistik yang pernah saya baca itu, setiap melakukan install ulang dapat mengurangi daya baterai 4 - 5 %. M...