1 of 41

PEMROGRAMAN BERORIENTASI OBYEK

- CONDRO WIBAWA -

2 of 41

SIFAT-SIFAT PEMROGRAMAN BERORIENTASI OBJEK (PBO)

3 of 41

PBO memiliki sifat-sifat/ciri khas program yang hanya dimiliki di paradigma ini

Bebeapa diantara sifat PBO yang sering digunakan adalah

ENCAPSULATION

INHERITANCE

POLYMORPHISM

4 of 41

ENCAPSULATION

5 of 41

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:

  1. Melindungi data dari perubahan langsung oleh luar kelas.
  2. Mengontrol bagaimana data diakses atau dimodifikasi.
  3. Meningkatkan keamanan dan kestabilan program.

6 of 41

Metode Enkapsulasi

  1. Membuat Class, semua atribut dan method diletakkan di dalam Class
  2. Melakukan kontrol Modifier Access
  3. Menyediakan metode getter dan setter yang bersifat public

7 of 41

Class

Private

Variable/Method

Setter/ Getter

8 of 41

Contoh :

9 of 41

Contoh :

10 of 41

Variable nama dan umur tidak bisa dipanggil seperti ini, karena modifiernya “private”

11 of 41

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

12 of 41

PUBLIC

Bisa diakses dari mana saja (termasuk class yang berbeda)

Digunakan untuk hal-hal yang memang ingin diekspos ke luar

13 of 41

PROTECTED

Bisa diakses:

  • Di kelas yang sama
  • Di subclass (kelas turunan), walaupun di paket berbeda
  • Di kelas lain dalam paket yang sama

14 of 41

PRIVATE

Hanya bisa diakses di dalam kelas itu sendiri.

Tidak bisa diakses oleh kelas lain, bahkan kelas turunan pun tidak bisa.

15 of 41

(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.

16 of 41

rangkuman

17 of 41

INHERITANCE

18 of 41

Inheritance

adalah mekanisme dalam OOP (Object-Oriented Programming) yang memungkinkan sebuah kelas (subclass) mewarisi properti dan metode dari kelas lain (superclass).

Tujuan Enkapsulasi:

  1. Reusability (kode tidak perlu ditulis ulang)
  2. Organisasi kode menjadi hierarki
  3. Polimorfisme (berperilaku berbeda meskipun tipe sama)

19 of 41

Apa itu

“SUPER CLASS DAN SUB CLASS�??”

20 of 41

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

21 of 41

Class Manusia, memiliki atribut dan method sendiri seperti berikut :

MANUSIA

Atribut :

  1. Nama
  2. Tgl Lahir
  3. Ras
  4. Orang tua

Method :

  1. Berjalan
  2. Makan
  3. Marah
  4. Menikah

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 :

  1. Semua atribut manusia
  2. NIDN
  3. Keahlian/Mata Kuliah

Method :

  1. Semua method manusia
  2. Mengajar
  3. Memberi Tugas
  4. Memberi Nilai

MAHASISWA

Atribut :

  1. Semua atribut manusia
  2. NIM
  3. Kelas/Jurusan
  4. IPK

Method :

  1. Semua method manusia
  2. Belajar
  3. Mengerjakan Tugas
  4. Melihat IPK

22 of 41

Di dalam PBO,

Konsep “mewariskan” atribut dan method antar super class dan sub class ini disebut dengan konsep “INHERITANCE”

23 of 41

Membuat Super Class dan Sub Class �(Langkah 1)

24 of 41

Membuat Super Class dan Sub Class �(Langkah 2)

25 of 41

Membuat Super Class dan Sub Class �(Langkah 3)

26 of 41

Membuat Super Class dan Sub Class �(Output)

27 of 41

METHOD OVERRIDING

28 of 41

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”

29 of 41

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 ?

30 of 41

Syarat Overiding Method

31 of 41

Sintaks Overiding Method

32 of 41

Sintaks Overiding Method

33 of 41

POLYMORPHISME

34 of 41

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:

  1. Reusability: kode lebih fleksibel
  2. Scalability: mudah ditambah
  3. Interoperability: metode bisa dipanggil tanpa tahu kelas aslinya

35 of 41

Ada dua metode dalam Polymorphisme :

METHOD OVERLOADING�METHOD OVERRIDING

36 of 41

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:

  • Jumlah parameter
  • Tipe parameter
  • Urutan parameter

🟥 Nama method harus sama�🟩 Parameter berbeda (jumlah, tipe, atau urutan)

37 of 41

Method Overloading

Kapan digunakan ?

Saat kamu ingin punya �satu method tapi dengan banyak tipe input.

38 of 41

Overloading

39 of 41

Method Overriding

Sudah dijelaskan di bagian Inheritance

40 of 41

ada pertanyaan

?

41 of 41