Dian Wahyuningsih, S.Kom., MMSI

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

- PERTEMUAN 3- INHERITANCE
By : Rizky Yuniar Hakun. Konsep Pemrograman Berorientasi Object.
Abstract Class & Interface
Abstract & Interface As’ad Djamalilleil
Pemograman beorientasi objek
Pertemuan 6 Structural modelling
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB I – KONSEP PBO.
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Modul 1- Review Java.
Inheritance (Pewarisan)
1.Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod.
BAB 1 KONSEP OOP.
Pemrograman Berorientasi Objek
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
- PERTEMUAN 6- INTERFACE
Abstract Class.
Pemrograman Berorientasi Obyek dengan JAVA Interface
Object Oriented Programming with JAVA 2011/2012
Inheritance Konsep Inheritance Protected Member
OOP Java - Tj Konsep Dasar OOP.
Pemrograman Berorientasi Obyek (PBO)
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Pemrograman Berorientasi Obyek (PBO)
Kontrak Kuliah Pengenalan OOP
Universitas Respati Yogyakarta
Rekayasa Perangkat Lunak Konsep Orientasi Objek
BAB contoh penerapan inheritance dan encapsulation
Inheritance dan Kata Kunci static
Pemograman Berorientasi Objek
Encapsulation, Inheritance, Polymorphism
Object Oriented Programming
ALGORITMA DAN PEMROGRAMAN 2
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
BAB 1 KONSEP OOP.
BAB ENCAPSULATION ( Enkapsulasi )
PEMROGRAMAN BERORIENTASI OBJEK
Abstract Class.
Outline: Abstract Class Interface Boxing dan Unboxing
MODIFIER JAVA.
POLYMORPHISM.
Pemrograman Berorientasi Objek
Pemprograman berorientasi objek
Interface.
As’ad Djamalilleil Abstract & Interface As’ad Djamalilleil
Pemrograman Berorientasi Objek
Object Oriented Programming
Matakuliah : M0864/Programming I
Inheritance.
BPJ – Pertemuan 13 OOP.
Interface Pertemuan 2.
Inheritance (Turunan)
Inheritance (Pewarisan)
INHERITANCE SUSSI.
Pilar Object Oriented Programming
Pemrograman Berorientasi Object
Pewarisan (Inheritance)
13. Pewarisan S. Indriani L, M.T 12. Pewarisan.
DIKTAT PBO Oleh: Adam Mukharil B. S.Kom. BAB VII - INHERITANCE.
Pemrograman Berorientasi Objek
Interface pada Java Untuk memahami lebih mudah, interface sekumpulan dari method-method yang dibuat tapi belum ada operasi di dalam tubuh method tersebut,
Pemrograman Berorientasi Objek
Algoritma dan Struktur Data
Pilar Object Oriented Programming
ISTILAH-ISTILAH PENTING PEMROGRAMAN BERBASIS OBYEK
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) PALANGKARAYA
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Transcript presentasi:

Dian Wahyuningsih, S.Kom., MMSI PBO Dian Wahyuningsih, S.Kom., MMSI

Abstrak Setelah memahami konsep enkapsulasi, inhetance dan polimorphisme selanjutnya adalah penggunaan kelas abstrak. Sebuah program dikatakan baik dalam konsep PBO jika programmer memungkinkan konsep “reuseable code”. Untuk dapat melakukan hal ini maka program yang dibuat harus memiliki tingkat abstrak yang cukup agar pengguna yang akan menggunakan kembali kode program tersebut dapat dengan mudah menggunakannya.

Bagaimana konsep abstrak diterapkan di Java Bagaimana konsep abstrak diterapkan di Java? Di dalam Java dikenal istilah yaitu template kode yang secara implementasi diwakili oleh kelas abstrak atau diwakili oleh interface. Kedua konsep ini memungkinkan programmer dalam menaikkan level abstrak dari sebuah kelas. Contoh:

Pada contoh class diagram tersebut kita dapat melihat ada dua kelas yang memiliki konsep yang mirip yaitu kelas “persegi” dan “lingkaran”. Kenapa dikatakan mirip? Karena pada kedua kelas tersebut terdapat method yang sama, yaitu “hitungKeliling()” dan “hitungLuas()”. Perbedaannya hanya terdapat pada rumus yang digunakan untuk menghitung luas dan keliling nya, maka konsep abstrak dapat diterapkan pada kasus ini.

Seperti yang kita ketahui, persegi dan lingkaran merupakan anggota dari bangun datar dan setiap bangun datar dapat dihitung keliling dan luasnya bagaimanapun bentuknya. Bangun datar sendiri adalah konsep abstrak yang ada dipikiran kita, sehingga dapat kita gunakan untuk menyatukan konsep sejenis yang ada. Selama sebuah benda dapat dihitung keliling dan luasnya, maka benda tersebut adalah bangun datar. Mengapa disebut abstrak?

Tidak ada rumus yang dapat digunakan untuk menghitung keliling dan luas dari bangun datar. Kita baru bisa menghitungnya apabila bangun datar tersebut sudah didefinisikan menjadi bentuk konkrit, contohnya adalah lingkaran dan persegi. Setelah menemukan konsep abstraknya, selanjutnya adalah membuat desain kelas untuk menggambarkan konsep abstrak tersebut.

Penerapan kelas abstrak Kelas abstrak biasanya terdiri dari method abstrak dan beberapa method yang non-abstrak. Sub class dari kelas abstrak diperbolehkan hanya mengimplementasikan method-method yang abstrak saja. Kelas abstrak diimplementasikan oleh sub class dengan menggunakan konsep pewarisan. Untuk kasus kelas “Persegi” dan “Lingkaran” maka desain kelas setelah menerapkan konsep kelas abstrak akan tampak seperti berikut.

Contoh program Penggunaan kelas abstrak Buat project Buat kelas abstrak Buat sub kelas yang mewarisi kelas abstrak dan menginisiasi method abstrak Membuat objek dari sub kelas

Interface Selain menggunakan kelas abstrak untuk menerapkan konsep PBO, ada konsep lain yang dapat digunakan yaitu “interface”. Interface mempunyai perbedaan desain dengan kelas abstrak, interface hanya berisi method abstraksaja dan mewajibkan penggunanya untuk mengimplementasi method abstrak yang ada. Selain itu interface diimplementasi bukan dengan konsep pewarisan, namun dengan menggunakan konsep “realization”. Berikut contoh penggunaan interface.

Secara umum desain kelas tidak banyak perbedaan, hanya terletak dari simbol <<Interface>> dan garis “realization” yang digunakan untuk menghubungkan antara interface dengan kelas Persegi dan Lingkaran.

Contoh program Penggunaan Interface Buat project Buat Java Interface Buat kelas persegi dan lingkaran Membuat objek dari kelas persegi dan lingkaran

Perbedaan Kelas Abstrak Interface Kelas abstrak dapat mempunyai method abstrak dan non-abstrak Interface hanya dapat mempunyai method abstrak Tidak mendukung multiple inheritance Mendukung multiple inheritance Kelas abstrak dapat menggunakan variabel final, non-final dan static, non-static Interface hanya mempunyai variabel final dan static Kelas abstrak dapat mengimplementasi Interface Interface tidak dapat mengimplementasi kelas abstrak Kelas abstrak dapat mempunyai method static, main dan construktor Interface hanya mempunyai method public dan abstrak