• Tidak ada hasil yang ditemukan

PBO (1) FUNDAMENTAL UTAMA YANG HARUS DIPELAJARI

N/A
N/A
Dina Kamaladuri Wardani

Academic year: 2023

Membagikan "PBO (1) FUNDAMENTAL UTAMA YANG HARUS DIPELAJARI"

Copied!
26
0
0

Teks penuh

(1)

OOP / PBO

Pemrograman Berorientasi Objek

By: Miftahul Ulum

@miftahululum002 From Arkatama

(2)

PBO

§ Merupakan paradigma pemrograman yang berfokus pada

penggunaan objek-objek dan interaksi di antara objek tersebut

§ Class, Object, Attributes, Methods

(3)

Differences

(4)

OOP Concepts

(5)
(6)

Ilustrasi (Class Diagram)

(7)

Class

§ Sebuah blueprint atau cetak biru untuk menciptakan objek- objek.

§ Kelas dapat memiliki properti (variabel)

§ Metode (fungsi) yang dapat digunakan oleh objek-objek yang dibuat dari kelas tersebut

(8)

Class

properti class

Method/behaviour

(9)

Constructor

§ Metode yang dieksekusi ketika sebuah objek diinstansiasi.

§ menginisialisasi nilai awal dari properti objek

§ PHP __construct()

(10)

Constructor

(11)

Object

§ Sebuah instansi dari kelas. Setiap objek memiliki properti dan metode yang unik, dan dapat berinteraksi dengan objek-objek lainnya

(12)

Object

(13)

Encapsulation

§ Enkapsulasi (encapsulation) adalah konsep dalam PBO yang menekankan penggunaan hak akses (access modifiers) pada properti dan metode dalam sebuah kelas.

§ Hak akses ini dapat digunakan untuk membatasi akses ke

properti dan metode yang hanya dapat diakses dari dalam kelas (private), dari dalam kelas dan kelas turunannya (protected), atau dari mana saja (public)

(14)

Access Modifier

§ Public, Mengatur hak akses method dan properti agar dapat diakses dari manapun bahkan dari luar class (pada saat menjadi objek).

§ Private, Mengatur hak ases method dan property agar hanya dapat diakses dari class tersebut namun tidak dapat diakses dari class turunannya dan dari objeknya.

§ Protected, Mengatur hak akses method dan property agar hanya dapat diakses di class tersebut dan turunannya tapi tidak bisa dari objek.

§ abstract, Hanya dapat digunakan class dan method untuk membuat class dan method abstrak.

§ Final, Hanya dapat digunakan class dan method ini membuat sebuah class tidak dapat diturunkan dan method tidak dapat di timpa atau dideklarasikan ulang

(15)

Access Modifier

(16)

Inheritance

§ Sebuah kelas dapat mewarisi properti dan metode dari kelas lain yang disebut superclass.

§ Kelas yang mewarisi properti dan metode disebut subclass atau turunan (child class), sedangkan kelas yang memberikan

properti dan metode disebut superclass atau induk (parent class)

(17)

Inheritance

(18)

Polimorfisme

§ Poli -> banyak, morph -> bentuk

§ Polimorfisme (polymorphism) adalah konsep dalam PBO di mana objek-objek dari kelas- kelas yang berbeda dapat

digunakan secara interchangeable. Hal ini dapat dicapai dengan menggunakan pewarisan, di mana kelas-kelas turunan dapat memiliki metode dengan nama yang sama namun perilaku yang berbeda

(19)

Polimorfisme

§ Polimorfisme dapat menggunakan konsep inheritance dan overriding method

§ Overriding method adalah konsep di mana sebuah method yang telah diwarisi dari class induk dapat diubah fungsinya pada

class turunan

(20)

Overriding

(21)

Abstract Class

§ Sebuah class yang tidak bisa diinstansiasi secara langsung, tetapi hanya bisa digunakan sebagai class induk untuk class turunan.

§ Class yang dibuat dengan konsep abstraksi dapat menyediakan kontrak atau interface yang harus diikuti oleh class turunan.

(22)

Abstract Class

(23)

Interface

§ Interface adalah class yang digunakan sebagai kontrak/template yang harus diikuti oleh class yang mengimplementasikannya.

§ Interface dapat menyediakan method-method yang harus diimplementasikan oleh class turunan.

(24)

Interface

(25)

Tugas

§ 1. Buatlah class Animal dengan property nama dan jenis, serta method getInfo() yang mengembalikan informasi tentang hewan tersebut.

§ 2. Buatlah class Cat yang merupakan turunan dari class Animal dengan property jenis

bernilai "kucing" dan method getInfo() yang menambahkan informasi khusus tentang kucing.

§ 3. Buatlah class Dog yang merupakan turunan dari class Animal dengan property jenis

bernilai "anjing" dan method getInfo() yang menambahkan informasi khusus tentang anjing.

§ 4. Buatlah objek dari class Animal, Cat, dan Dog, lalu panggil method getInfo() untuk masing- masing objek.

§ 5. Unggah ke repository dan screenshot hasil pengerjaan ke dalam file PDF dan unggah ke aplikasi SINAUO

(26)

Example Result

Referensi

Dokumen terkait