8
KONSEP OOP INHERITANCE (PEWARISAN) ENCAPSULATION (ENKAPSULASI) POLYMORPHISM (POLIMORFISME)

KONSEP OOP

Embed Size (px)

DESCRIPTION

KONSEP OOP. INHERITANCE (PEWARISAN) Encapsulation (enkapsulasi) Polymorphism (polimorfisme). Inheritance (Pewarisan) -1-. Dalam pohon hirarki inheritance, sebuah subclass mewujudkan abstraksi yang lebih spesifik dari superclassnya: subclass = superclass + (fitur-fitur baru) - PowerPoint PPT Presentation

Citation preview

Page 1: KONSEP OOP

KONSEP OOP

INHERITANCE (PEWARISAN)ENCAPSULATION (ENKAPSULASI)

POLYMORPHISM (POLIMORFISME)

Page 2: KONSEP OOP

Inheritance (Pewarisan) -1-

• Dalam pohon hirarki inheritance, sebuah subclass mewujudkan abstraksi yang lebih spesifik dari superclassnya: subclass = superclass + (fitur-fitur baru)– Subclass dapat menambahkan fields dan methods baru– Subclass dapat mengambil alih (override) method milik

superclass dan mengubah implementasi method tersebut• Manfaat inheritance:– Pemanfaatan kembali (reuse) kelas– Menyediakan model yang bersifat generik (abstract class);

implementasi spesifiknya bisa dilakukan kemudian (mungkin oleh pemrogram yang berbeda)

Page 3: KONSEP OOP

Inheritance (Pewarisan) -2-

Contoh :Dulu mobil remote kontrol tanpa kabel hanya ada satu tombol untuk

maju mundur, sekarang bisa bergerak sesuai keinginan kita.

Dulu fungsi jam tangan hanya sebagai penunjuk waktu saja, sekarang fungsinya sudah bertambah, bisa menampilkan tanggal hingga kalender.

Sekarang contoh yang dimodifikasi. Jika dulu perseneling mobil hanya manual sekarang sudah ada yang otomatis.

Jadi, dengan inheriten semua perubahan itu gak ngerubah bulat-bulat objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.

Page 4: KONSEP OOP

Enkapsulasi -1-

• Enkapsulasi menyembunyikan property dan behaviour object dari pihak luar (object yang lain) object lain melihat object ini sebagai “black box” saja

Page 5: KONSEP OOP

Enkapsulasi -2-public class SegiEmpat { int panjang; int lebar; string warna;

public SegiEmpat(string w, int p, int l) { panjang = p; lebar = l; warna = w; }

public setWarna (string w) { warna = w; }}

sPinkSegiEmpat sPink = new SegiEmpat(“pink”, 20,10);

setWarna(string w)

Pihak luar (object lain) melihat sPinksebagai sebuah “kotak hitam” yangtidak terlihat isinya, kecuali fields danmethods yang memang dideklarasikan secara publik

Object lain tidak bisa melihat apa yang dilakukan sPink secara internal

Page 6: KONSEP OOP

Enkapsulasi -3-• Intinya adalah kita tidak perlu mengetahui apa sih yang ada dalam objek itu (class),

yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi.

• Ilustrasinya adalah motor. Bagaimana cara menghidupkan motor? – Masukkan kunci, tekan tombol starter dan gas atau kalo tidak ada, pakai kick

starter.– Kita tidak perlu tahu apa yang terjadi sebenarnya waktu kita menekan starter

atau kick starter. Yang penting motor hidup dan bisa dijalankan. • Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan.

– Kita tidak perduli kerja remote control itu yang sebenarnya, yang penting begitu dihidupkan dan dan stiknya digerakkan ke atas dia akan maju. Begitu digerakkan ke kanan, dia akan belok, dst.

• Contoh terakhir adalah jam tangan. – Waktu membeli jam tangan, kita hanya memilih tampilan dan kualitas yang

bagus, itu yang terpenting. Tidak peduli cara mesin rangkaian digital yang bekerja di dalam jam itu.

Page 7: KONSEP OOP

Polymorphism -1- Poly: banyak; morphism: bentuk sebuah fitur

(generik) bisa diimplementasikan dengan berbagai cara Polymorphism diimplementasikan dengan mekanisme

inheritance

hewan

anjing“menggonggong”

kucing“mengeong”

kuda“meringkik”

“bersuara”

Page 8: KONSEP OOP

Polymorphism -2-• Dengan satu baris perintah kita bisa menggunakannya

untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya.

• Ilustrasinya adalah tombol play. Dimana-mana tombol play fungsinya sama, untuk menjalankan. Padahal beda cara kerja tombol play di vcd dan radio.

• Inti Polimorfisme adalah objek yang kita gunakan ini bisa berubah sesuai dengan kondisi yang terjadi. Jadi kita tidak perlu menulis kode program yang panjang.