Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

dokumen-dokumen yang mirip
Pemrograman Berbasis Objek (Polimorfisme)

:: abstract class + interface. :: abstract class

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

Polymorphism (Polimorfisme)

Inheritance (Pewarisan) Pengertian dasar inheritance

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

PEMROGRAMAN BERORIENTASI OBJEK

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Jobsheet 09. Overloading and Overriding Method

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Abstract & Interface

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Gambar 1: Hirarki class

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Pemrograman Berorientasi. Inheritance

Pewarisan, Polimorfisme, dan Interface

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Pemrograman Berorientasi. Polimorfisme dan Binding

SILABUS MATA KULIAH PEMROGRAMAN JAVA

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

MINGGU V : PBO (PEWARISAN)

Object Oriented Programming 1

Bahasa Pemrograman 2.

Modul Bahasa Pemrograman 1

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Review PBO. Ramos Somya

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Konsep Pemrograman Berbasis Obyek

PRAKTIKUM 6 EXCEPTION

8 - Overriding dan Overloading

Pertemuan 11 Object Oriented Program

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

KONSEP OBJEK ORIENTASI PROGRAM

JOBSHEET POLIMORFISME

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Pemrograman Berorientasi Objek

Overriding Overloading Polymorphism

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

PEMROGRAMAN BERORIENTASI OBJEK

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OOP: POLYMORPHISM

Bahasa Pemrograman 2.

Object Oriented Programming (OOP) --Polimorphisme-- Saniati STMIK Teknokrat, Bandar Lampung

(INHERITANCE) Nurochman

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Bahasa Pemrograman II Modul 2 : Inheritance dan Interface

Percobaan 6 Exception

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

PERCOBAAN 6 EXCEPTION

Pemrograman Berorientasi. Class dan Obyek 2

PRAKTIKUM I Class dan Obyek

Inheritance dan Kata Kunci static

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

IKG2I4 / Software Project I

Pemrograman Berorientasi Objek Polimorphisme dan Serious Polimorphisme. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

KONSEP OOP: PEWARISAN / INHERITANCE

Composition dan Inheritance

Pemrograman Berorientasi Obyek. Ramos Somya

Agi Putra Kharisma., S.T., M.T. Pengembangan Berorientasi Penggunaan Ulang

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

UNIVERSITAS GUNADARMA

Keyword this untuk memanggil private String pengarang; private String judul;

Pemrograman Berbasis Objek Inheritance

Bahasa Pemrograman :: Polimorfism and Abstraction

Inheritance dan Polimorfisme

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

KONSEP OOP: POLYMORPHISM

STRUKTUR DENGAN ARRAY DAN FUNCTION

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Pemrograman Lanjut Review Class dan Object PTIIK

JOBSHEET 8 INHERITANCE (PEWARISAN)

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

Konsep Dasar Pemrograman Berorientasi Objek

Dasar Pemrograman Java. H. Risdiandri Iskandar, SKom,MM 1

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Paradigma Pemrograman Berorientasi Objek

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

Daftar Isi. Daftar Isi... ii MODUL 1 PENGENALAN OOP Pengantar Class Atribut Method This Access Modifier...

Mengenal Object Oriented Programming (OOP)

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Inheritance. Topik 5/17/2013

Transkripsi:

Polymorphism Materi ke-8 Pemrograman Berbasis Objek

Pengertian Polymorphism = polimorfisme Poly (banyak) + morphos (bentuk) : banyak bentuk Kemampuan untuk menghandle banyak bentuk Kemampuan untuk memproses objek-objek yang berbeda jenis dan class melalui satu interface yang seragam. Sehingga, listing code implementasinya berbeda

Contoh Ada kelas A yang diturunkan menjadi kelas B,C, dan D. Dengan konsep Polimorfisme, anda dapat menjalankan method method yang terdapat pada kelas B,C, dan D hanya dari objek yang diinstansiasi dengan kelas A. Polimorfisme memungkinkan anda mengenali kesamaam diantara kelas yang berbeda.

Keuntungan Kelas yang dibuat (super class) dan kelas baru berdasar super class dapat digunakan dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki super class Dapat dibuat super class yang hanya mendefinisikan behaviour namun tidak memberikan implementasi dari metode-metode yang ada Menghindari duplikasi object

Tipe Polymorphism Static Polymorphism Dynamic Polymorphism

Static Polymorphism Contoh pada method overloading Method overloading : penggunaan satu nama untuk beberapa method yang berbeda parameter Pada overload method, tidak diharuskan menggunakan inheritance, karena dapat digunakan secara public asalkan parameter dan argumennya sesuai

Aturan Overload 1. Method yang mengoverload HARUS merubah argument list. 2. Method yang mengoverload BOLEH merubah return type. 3. Method yang mengoverload BOLEH merubah access modifier. 4. Method yang mengoverload BOLEH melempar checked exception yang lebih luas atau baru sama sekali dari method yang dioverload. 5. Suatu method dapat dioverload di class tersebut atau di subclassnya.

Contoh Static Polymorphism Tanpa inheritance

Contoh Static Polymorphism Dengan inheritance

Dynamic Polymorphism Contoh pada method overriding Method overriding : method dalam class turunan yang memiliki nama, return type argumen method yang sama dengan fungsi dalam class induk Pada override method, diharuskan menggunakan inheritance, agar dapat digunakan pada tiap-tiap class. Dengan overriding, kita dapat memiliki pengenal method yang sama persis dengan dengan pengenal method yang ada di super class, tapi berbeda behavior.

Memanggil method yang dioverride di super class Kita dapat memanggil method yang dioverride di superclass dengan keyword super. Penggunaan keyword super hanya dapat memanggil method di superclassnya langsung. Tidak dapat memanggil method di superclass dari superclass.

Contoh Dynamic Polymorphism Contoh 1

Contoh Dynamic Polymorphism

Contoh Dynamic Polymorphism

Contoh Dynamic Polymorphism Contoh 2

Contoh Dynamic Polymorphism Hasil Tampilan

Abstract Class dan Interface Materi ke-9 Pemrograman Berbasis Objek

Abstract Class

Abstract Class Abstract class adalah class yang mempunyai setidaknya satu abstract method. Abstract method adalah method yang tidak memiliki body (hanya deklarasi method). Abstract class tidak bisa dibuat obyeknya. Obyek hanya bisa dibuat dari non-abstract class (concrete class). Konsekuensinya suatu abstract class haruslah diturunkan dimana pada subclass tersebut berisi implementasi dari abstract method yang ad di ladi super class-nya.

Contoh Class Abstract

Abstract Bila sub class yang diturunkan dari abstract class tidak mengimplementasikan isi semua method abstrak parent class, maka subclass tersebut harus tetap dideklarasikan abstract. Dan deklarasi method abstract pada subclass tersebut boleh tidak dituliskan kembali.

Aturan pada Abstract Class 1. Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak. 2. Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya. 3. Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.

Contoh Untuk membuat superclass yang umum, dapat dibuat suatu superclass yang memiliki beberapa metode dengan implementasi dan beberapa tidak. Class ini disebut abstract class.

Secara umum, abstract class adalah class yang tak dapat diinstansiasi. Biasanya abstract class berada dalam hierarki tertinggi dalam PBO (pemrograman berorientasi objek). Metode di dalam abstract class yang tidak berisi kode program adalah abstract method (metode abstract). Nantinya, method ini harus di-override oleh subclass-nya. Jadi, hanya ditulis deklarasi method tanpa tubuh metode dan memakai keyword abstract. Deklarasi Method ini disebut sebagai prototype method.

Suatu metode yang sudah dideklarasikan abstract harus diakhiri tanpa memakai tubuh program. Jika ditulis seperti ini:

Maka akan terjadi error seperti berikut: Ketika sebuah class dibuat sebagai subclass dari class LivingThing, class itu harus meng-override metode abstract walk(). Jika tidak, class tersebut tidak akan dapat dikompilasi dan akan terjadi error.

Contoh pembuatan subclass yang benar:

Jika class Human tidak meng-override metode walk(), maka akan muncul pesan error. Tapi, walau class Human tidak meng-override metode yang lain seperti breath() dan eat() (yang tidak abstract) tidak akan terjadi error. Jadi, fungsi abstract class tak lain adalah untuk membuat prototype bagi class di tingkatan paling atas dalam hierarki class dan subclass-nya yang menyediakan detail implementasi dari abstract class tersebut.

Kegunaan Class Abstract Class Abstract berisi beberapa method dan beberapa method abstract. Class Abstract berisi sebagian implementasi dan subclass yang melengkapi implementasinya. Dengan kata lain Class Abstract memiliki beberapa kesamaan (Bagian yang diimplementasikan oleh subclass) dan memiliki perbedaan (method yang dimiliki sendiri oleh class abstract). Deklarasikan method abstract, jika ada satu atau lebih subclass yang diharapkan mempunyai fungsionalitas yang sama tapi implementasi berbeda. Gunakan class abstract untuk mendefinisikan behavior secara umum sebagai superclass, sedangkan subclass menyediakan implementasi detail. Jika class abstract semua method merupakan method abstract, sebaiknya class abstract tersebut diganti menjadi Interface.

Interface

Interface Hanya memuat deklarasi dan struktur method tanpa memuat detail implementasinya. Keyword yang digunakan adalah interface.

Interface Outputnya:

I/O Java BufferedReader JOptionPane

I/O Java BufferedReader

I/O Java BufferedReader

I/O Java JOptionPane

I/O Java JOptionPane