01.pemrograman Berorientasi Objek
01.pemrograman Berorientasi Objek
Berorientasi Objek
Febie Elfaladonna
Materi
• Pengenalan Java dan OOP
Multithreading:
•Konsep: Java mendukung multithreading, yang memungkinkan eksekusi
beberapa thread (benang) secara bersamaan, meningkatkan efisiensi dan
performa aplikasi.
•Implementasi: Java menyediakan API built-in untuk pengelolaan thread
dan sinkronisasi, memudahkan pengembangan aplikasi yang memerlukan
pemrosesan paralel.
B. Konsep Dasar OOP
1. Apa itu Pemrograman Berorientasi Objek (OOP)?
• Definisi:
• Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang
menggunakan "objek" untuk mendefinisikan dan memanipulasi data. Berbeda dengan
paradigma prosedural yang berfokus pada fungsi, OOP berfokus pada objek yang
berisi data dan metode.
• Tujuan OOP:
• Organisasi Kode: Mengorganisasi kode dalam struktur yang lebih modular dan
terstruktur.
• Penggunaan Kembali Kode: Memudahkan penggunaan kembali kode melalui
pewarisan dan komposisi.
• Abstraksi dan Pemeliharaan: Meningkatkan pemahaman dan pemeliharaan kode
dengan memisahkan detail implementasi dari antarmuka pengguna.
2. Empat Prinsip Dasar OOP
Enkapsulasi:
•Definisi: Enkapsulasi adalah prinsip menyembunyikan detail
implementasi dari objek dan hanya menampilkan antarmuka
yang diperlukan. Ini melindungi data dari akses yang tidak sah
dan perubahan langsung.
•Implementasi di Java:
•Atribut kelas biasanya dideklarasikan sebagai private, dan
akses ke atribut tersebut dilakukan melalui metode public
(getter dan setter).
Pewarisan (Inheritance):
•Definisi: Pewarisan memungkinkan sebuah kelas (subclass)
mewarisi atribut dan metode dari kelas lain (superclass),
memungkinkan penggunaan kembali dan ekstensi kode.
•Implementasi di Java:
•Kelas turunan dideklarasikan menggunakan keyword
extends. Kelas turunan dapat mengakses dan menimpa metode
dari kelas induk.
•Contoh: class Dog extends Animal dimana Dog mewarisi
karakteristik dari Animal.
Polimorfisme:
•Definisi: Polimorfisme adalah kemampuan objek untuk
mengambil banyak bentuk. Ini memungkinkan metode yang
sama untuk memiliki perilaku yang berbeda tergantung pada
objek yang memanggilnya.
•Implementasi di Java:
•Polimorfisme metode dicapai melalui overriding (menimpa
metode dalam subclass) dan overloading (mendefinisikan
beberapa metode dengan nama yang sama tetapi parameter
yang berbeda).
•Contoh: Metode draw() pada berbagai bentuk geometris seperti
lingkaran dan segitiga.
Abstraksi:
•Definisi: Abstraksi adalah proses menyederhanakan
kompleksitas dengan menyembunyikan detail implementasi dan
hanya menampilkan fungsionalitas yang relevan.
•Implementasi di Java:
•Kelas abstrak dan metode abstrak digunakan untuk
mendefinisikan struktur dasar yang harus diimplementasikan
oleh subclass.
•Contoh: abstract class Shape dengan metode abstrak
draw(), yang harus diimplementasikan oleh subclass seperti Circle
dan Rectangle.
Latihan
• Apa yang dimaksud dengan enkapsulasi dalam pemrograman berorientasi objek?
Berikan contoh bagaimana enkapsulasi dapat diterapkan dalam Java dengan
menggunakan atribut dan metode dalam sebuah kelas.
• Jelaskan perbedaan antara kelas abstrak dan interface di Java. Berikan satu
contoh penggunaan masing-masing dalam konteks pemrograman berorientasi
objek.
• Apa yang dimaksud dengan polimorfisme dalam konteks metode di Java? Berikan
contoh kode sederhana yang menunjukkan bagaimana metode overriding dapat
digunakan untuk mencapai polimorfisme.
• Apa itu abstraksi dalam OOP dan bagaimana Anda dapat menerapkannya di Java?
Jelaskan dengan menggunakan contoh konsep kelas abstrak dan metode abstrak.