PEMROGRAMAN BERORIENTASI OBYEK
- CONDRO WIBAWA -
SIFAT-SIFAT PEMROGRAMAN BERORIENTASI OBJEK (PBO)
PBO memiliki sifat-sifat/ciri khas program yang hanya dimiliki di paradigma ini
Bebeapa diantara sifat PBO yang sering digunakan adalah
ENCAPSULATION
INHERITANCE
POLYMORPHISM
ENCAPSULATION
Encapsulation
penyembunyian data (data hiding) dengan cara membungkus data (variabel) dan metode yang beroperasi pada data tersebut ke dalam satu unit, yaitu Class
Tujuan Enkapsulasi:
Metode Enkapsulasi
Class
Private
Variable/Method
Setter/ Getter
Contoh :
Contoh :
Variable nama dan umur tidak bisa dipanggil seperti ini, karena modifiernya “private”
Access Modifier
adalah metode yang digunakan untuk mengatur tingkat akses terhadap kelas, atribut (variabel), metode, atau konstruktor.
Ini sangat penting dalam penerapan enkapsulasi dan menjaga keamanan data serta modularitas program.
PUBLIC
PROTECTED
PRIVATE
PUBLIC
Bisa diakses dari mana saja (termasuk class yang berbeda)
Digunakan untuk hal-hal yang memang ingin diekspos ke luar
PROTECTED
Bisa diakses:
PRIVATE
Hanya bisa diakses di dalam kelas itu sendiri.
Tidak bisa diakses oleh kelas lain, bahkan kelas turunan pun tidak bisa.
(default)
Jika tidak ditulis modifier apa pun (hanya tipe data dan nama), maka default-nya hanya bisa diakses oleh kelas lain dalam paket yang sama.
rangkuman
INHERITANCE
Inheritance
adalah mekanisme dalam OOP (Object-Oriented Programming) yang memungkinkan sebuah kelas (subclass) mewarisi properti dan metode dari kelas lain (superclass).
Tujuan Enkapsulasi:
Apa itu
“SUPER CLASS DAN SUB CLASS�??”
Jika diperhatikan,�class “dosen” dan “mahasiswa” akan memiliki kesamaan yang sifatnya lebih “umum”,
yaitu keduanya adalah “Manusia”
Pada Java,�manusia juga merupakan class.
Maka, bisa dikatakan :�class “dosen” dan “manusia” �adalah bagian dari �class “manusia”
MANUSIA
Dosen
Mahasiswa
Class yang lebih umum disebut �Super Class
Class di bawahnya disebut Sub Class
Class Manusia, memiliki atribut dan method sendiri seperti berikut :
MANUSIA
Atribut :
Method :
Dikarenakan dosen dan mahasiswa adalah bagian/turunan dari manusia, maka dosen dan mahasiswa akan “mewarisi” atribut dan method dari manusia. Tinggal ditambahkan atribut dan method spesifik yang membedakan dosen dan mahasiswa
DOSEN
Atribut :
Method :
MAHASISWA
Atribut :
Method :
Di dalam PBO,
Konsep “mewariskan” atribut dan method antar super class dan sub class ini disebut dengan konsep “INHERITANCE”
Membuat Super Class dan Sub Class �(Langkah 1)
Membuat Super Class dan Sub Class �(Langkah 2)
Membuat Super Class dan Sub Class �(Langkah 3)
Membuat Super Class dan Sub Class �(Output)
METHOD OVERRIDING
Method Overriding adalah proses mendefinisikan ulang method yang sudah ada di superclass (yang telah diwariskan) dengan perilaku baru yang berbeda
Manusia | Dosen | Mahasiswa |
Makan | Makan | Makan |
“Manusia sedang makan” | “Dosen sedang makan” | “Mahasiswa sedang makan” |
Bentuk Method Aslinya :
Manusia | Dosen | Mahasiswa |
Makan | Makan | Makan |
“Manusia sedang makan” | “Dosen sedang makan sambil membaca jurnal” | “Mahasiswa sedang makan” |
Bentuk Method Customnya :
Tapi ternyata, seorang dosen kalau makan “sambil membaca jurnal”
Jadi, meskipun nama methodnya sama, setelah dioveriding ternyata perilaku yang dilakukan berbeda
Coba perhatikan cara makan kalian,�meskipun aktifitasnya (methodnya) sama,�tapi ada perilaku yang berbeda bukan ?
Syarat Overiding Method
Sintaks Overiding Method
Sintaks Overiding Method
POLYMORPHISME
Polymorphisme
Polymorphism adalah konsep dalam OOP (Object-Oriented Programming) yang memungkinkan objek memiliki banyak bentuk, tergantung konteks penggunaannya.
📌 Kata “polymorphism” berasal dari bahasa Yunani:
"poly" = banyak, "morph" = bentuk
Tujuan Polymorphisme:
Ada dua metode dalam Polymorphisme :
METHOD OVERLOADING�METHOD OVERRIDING
Method Overloading
adalah fitur dalam Java yang memungkinkan beberapa method memiliki nama yang sama di dalam satu kelas, dengan parameter yang berbeda.
SYARATNYA :�Agar method dianggap overload, minimal satu hal dari parameter harus berbeda:
🟥 Nama method harus sama�🟩 Parameter berbeda (jumlah, tipe, atau urutan)
Method Overloading
Kapan digunakan ?
Saat kamu ingin punya �satu method tapi dengan banyak tipe input.
Overloading
Method Overriding
Sudah dijelaskan di bagian Inheritance
ada pertanyaan
?