Dokumen tersebut membahas konsep-konsep dasar pemrograman berorientasi objek seperti class, encapsulation, attribute, method, inheritance, dan polymorphism beserta contoh-contohnya.
2. Pembahasan
Apa itu pemograman Berorientasi Objek?
Konsep Dasar Pemograman Berorientasi Objek
Dasar-Dasar Aturan Pemograman Berorientasi Objek
Memahami Konsep Pewarisan
4. Konsep Dasar PBO
Class (Kelas)
Encapsulation (Enkapsulasi)
Attribute (Data)
Method (Function/Behavior)
Inheritance (Pewarisan)
Polymorphism (Polymorphisme)
Contoh
5. Memahami Konsep Pewarisan
(Inheritence)
Pengertian Inheritance
Istilah Inheritance
Deklarasi Inheritance
Kapan Kita Menerapkatn Inheritance?
Keuntungan Inheritance
6. Pengertian Pemograman
Berorientasi Objek
Pemrograman berorientasi objek (object-oriented
programming disingkat OOP)
merupakan pemograman yang
berorientasikan kepada objek. Semua data
dan fungsi di dalam paradigma ini dibungkus
dalam kelas-kelas atau objek-objek. Setiap
objek dapat menerima pesan, memproses
data, dan mengirim pesan ke objek lainnya.
7. Dasar-Dasar Aturan Penulisan
Pemograman Berorientasi Objek
Aturan penulisan program di Java
- Java adalah turunan dari C, sehingga Java memiliki sifat C
yaitu Case sensitive, yaitu membedakan antara huruf besar
dan kecil
- Dalam sebuah file program di Java, hanya diijinkan
memiliki 1 buah class yang bersifat public
- Dalam sebuah file program Java, hanya ada satu method
main(method yang pertama kali dibaca oleh interpreter
Java)
- Nama sebuah file program Java harus sama dengan nama
class yang memiliki method main() di dalam tubuhnya.
Perhatikan bahwa tulisan nama file dengan nama class
(huruf besar maupun kecilnya) haruslah persis sama.
Berikut adalah contoh membuat program dengan
menggunakan Java.
Contoh
9. Class (Kelas)
Kelas merupakan definisi abstrak mengenai
informasi dan tingkah laku dari sekumpulan
datan. Secara sederhana kelas dapat
dimisalkan sebagai sebuah konsep
rancangan awal yang digunakan untuk
menciptakan objek. Kelas merupakan tipe
data bagi objek yang melakukan
encapsulation data dan operasi pada data
field. Prosedur atau method, dan property
sifat kelas tersebut.
10. Encapsulation (Enkapsulasi)
Istilah encapsulation merupakan kombinasi
data dan fungsional dalam sebuah unit
tunggal sebagai bentuk pembungkus untuk
menyembunyikan rincian suatu informasi.
Proses encapsulation menekan pada
antarmuka dari suatu class, atau dengan
kata lain bagaimana menggunakan objek
class tertentu tanpa, tanpa hatus
mengetahui secara rinci proses kerjanya.
11. Attribute (Data)
Atribut adalah data yang dapat
membedakan antara satu obyek
dengan obyek yang lain.
Contoh untuk class mahasiswa
terdapat obyek mahasiswa si A,dan
obyek mahasiswa si B. Yang
membedakan antara obyek si A dan
obyek si B adalah NIM-nya yang
merupakan Atribut dari obyek
tersebut.
12. Method (Function/Behavior)
Adalah merupakan suatu operasi berupa
fungsi-fungsi yang dapat dikerjakan oleh
suatu Object. Didefinisikan pada class akan
tetapi dipanggil melalui Object.
Method menentukan prilaku objek apa yang
terjadiketika objek itu dibuat serta berbagai
operasi yang dapat dilakukan objek.
13. Inheritance (Pewarisan)
Dalam OOP memungkinkan suatu kelas untuk
mewariskan sifat yang dimiliki pada kelas lain yang
menjadi turunannya. Penurunan sifat ini dapat
dilakukan secara bertingkat-tingkat, sehingga
semakin kebawah kelas tersebut menjadi semakin
spesifik. Pada kelas turunan bisa memiliki sifat yang
khusus dari kelas yang mewarisi sifatnya. Dengan
konsep pewarisan ini memungkinkan seorang
programmer untuk dapat menggunakan source code
yang telah ditulisnya pada suatu kelas berulang kali
pada kelas-kelas turunanny atanpa harus menulis
ulang keseluruhan source code tersebut.
14. Polymorphism (Polymorphisme)
Istilah polymorphism merupakan
kemampuan objek-objek yang berbeda kelas
namun terkait dalam pewarisan untuk
merespon secara berbeda terhadap suatu
pesan yang sama. Dengan kata lain
polymorphism juga dapat dikatakan sebagai
kemampuan sebuah objek untuk
memutuskan method mana yang akan
diterapkan padanya, tergantung letak objek
tersebut pada jenjang pewarisan.
16. Pengertian Inheritance
Konsep inheritance ini mengadopsi dunia riil dimana suatu
entitas/obyek dapat mempunyai entitas/obyek turunan.
Dengan konsep inheritance, sebuah class dapat mempunyai
class turunan.
Suatu class yang mempunyai class turunan dinamakan
parent class atau base class. Sedangkan class turunan itu
sendiri seringkali disebut subclass atau child class. Suatu
subclass dapat mewarisi apa-apa yang dipunyai oleh parent
class.
Karena suatu subclass dapat mewarisi apa apa yang
dipunyai oleh parent class-nya, maka member dari suatu
subclass adalah terdiri dari apa-apa yang ia punyai dan juga
apa-apa yang ia warisi dari class parent-nya.
Kesimpulannya, boleh dikatakan bahwa suatu subclass
adalah tidak lain hanya memperluas (extend) parent
class-nya.
17. Istilah Inheritance
Extends
Keyword ini harus kita tambahkan pada definisi class yang
menjadi subclass.
Superclass
Superclass digunakan untuk menunjukkan hirarki class yang
berarti class dasar dari subclass/class anak.
Subclass
Subclass adalah class anak atau turunan secara hirarki dari
superclass.
Super
Keyword ini digunakan untuk memanggil konstruktor dari
superclass atau menjadi variabel yang mengacu pada superclass.
Methode Overriding
Pendefinisian ulang method yang sama pada
18. Deklarasi Inheritance
Deklarasi yang digunakan adalah dengan
menambahkan kata kunci extends setelah deklarasi
nama class, kemudian diikuti dengan nama parent
class-nya. Kata kunci extends tersebut memberitahu
kompiler Java bahwa kita ingin melakukan perluasan
class.
public class B extends A { }
Pada saat dikompilasi, Kompiler Java akan
membacanya sebagai subclass dari class Object.
public class A extends Object { }
19. Kapan kita menerapkan
Inheritance?
Kita baru perlu menerapkan inheritance pada saat kita jumpai ada
suatu class
yang dapat diperluas dari class lain.
Misal terdapat class Pegawai public class Manager { public
String nama; public double gaji; }
Misal terdapat class Manager public class Manager { public
String nama; public double gaji; public String Depertemen; }
Dari 2 buah class diatas, kita lihat class Manager mempunyai data
member yang identik sama dengan class Pegawai, hanya saja ada
tambahan data member departemen.
Sebenarnya yang terjadi disana adalah class Manajer merupakan
perluasan dari class Pegawai dengan tambahan data member
departemen.
Disini perlu memakai konsep inheritance, sehingga class Manajer
dapat kita tuliskan seperti berikut :
public class Manajer extends Pegawai { public String
departemen; }
20. Keuntungan Inheritance
Subclass menyediakan state/behaviour yang
spesifik yang membedakannya dengan superclass,
hal ini akan memungkinkan programmer Java
untuk menggunakan ulang source code dari
superclass yang telah ada.
Programmer Java dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut
abstract class, untuk mendefinisikan class dengan
behaviour dan state secara umum.