KONSEP OOP: POLYMORPHISM

dokumen-dokumen yang mirip
KONSEP OOP: POLYMORPHISM

POLIMORPHISM PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Sistem Informasi FILKOM UB Semester Genap 2016/2017

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Inheritance (Pewarisan) Pengertian dasar inheritance

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Bahasa Pemrograman :: Polimorfism and Abstraction

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

Chapter 10 Polimorphism

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

Gambar 1: Hirarki class

Pewarisan, Polimorfisme, dan Interface

Polymorphism (Polimorfisme)

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Overriding Overloading Polymorphism

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

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

Bahasa Pemrograman :: Inheritance

Bahasa Pemrograman 2.

KONSEP OOP: PEWARISAN / INHERITANCE

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Pemrograman Berorientasi. Polimorfisme dan Binding

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Modul Bahasa Pemrograman 1

Konsep Dasar Pemrograman Berorientasi Objek

KONSEP OOP: PEWARISAN / INHERITANCE

Jobsheet 09. Overloading and Overriding Method

Pemrograman Berorientasi. Inheritance

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

Overriding Method Overloading Method Class(iii) [Superclass and subclass] [constructor overloading] Keyword Super

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

Polymorphism. Oleh : Agus Priyanto, M.Kom

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM I Class dan Obyek

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

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Employee employee=new Manager();

8 - Overriding dan Overloading

Inheritance dan Kata Kunci static

IKG2I4 / Software Project I

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

BAB 7 OVERLOADING DAN OVERRIDING

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OBJEK ORIENTASI PROGRAM

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

LAPORAN RESMI INHERITANCE

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XIII POLYMORPHISM

(INHERITANCE) Nurochman

Method / Fungsi / Sub Program

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

Pertemuan 4 Halaman 1/1. Class Inheritance

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

INHERITANCE. Pelatihan Java 2 Mei 2015 Fakultas Teknologi Informasi Program Studi Teknik Informatika

Polymorohism in Java. Adharul Muttaqin Teknik Elektro Universitas Brawijaya Malang

PRAKTIKUM 6 EXCEPTION

INHERITANCE. Gambar 1. Kelas Hierarki Java

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Overriding Overloading Polymorphism

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

PEWARISAN SIFAT OBYEK

Pemrograman Berorientasi Objek 2

Pemrograman Berbasis Objek (Polimorfisme)

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Bahasa Pemrograman 2.

PEWARISAN D E W I S A R T I K A, M. K O M

Konstruktor dan Polimorfisme

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Class dan Object. PBO/Java/Ayuliana/Revisi

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Membuat dan Menggunakan Class

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

TUGAS DASAR PEMROGRAMAN KELAS C DOSEN PENGAMPU : IKA ATSARI DEWI, STP, MP

Adam Hendra Brata Teknik Informatika FILKOM UB Semester Genap 2015/2016

Pemrograman Berbasis Objek Inheritance

CSG2H3 Object Oriented Programming. Inheritance -RSM-

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

Like mother, like daughter... [common saying]

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

Pemrograman Berorientasi Objek

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

JOBSHEET POLIMORFISME

PERCOBAAN 6 EXCEPTION

Praktikum 3 Konsep Class, Attribute dan Method

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Bahasa Pemrograman 2.

Praktikum Pemrograman. Pengantar OOP STMIK AMIKOM YOGYAKARTA. Bayu Setiaji, S.Kom

Perulangan / Looping

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Inheritance. Topik 5/17/2013

Pemrograman Berorientasi Objek Danu Wira Pangestu

Transkripsi:

PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 KONSEP OOP: POLYMORPHISM Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya

Polymorphism Polymorphism Polimorfisme Morph berubah bentuk Kemampuan dari sebuah objek untuk berubah bentuk menyesuaikan dengan referensi objek yang ditentukan oleh program yang kita buat Static Polymorphism dan Dinamic Polymorphism

Static Polymorphism In Java, static polymorphism is achieved through method overloading. Method overloading means there are several methods present in a class having the same name but different types/order/number of parameters. At compile time, Java knows which method to invoke by checking the method signatures. This is called compile time polymorphism or static binding. 3

Demo Overload class DemoOverload{ public int add(int x, int y) { //method 1 return x+y; public int add(int x, int y, int z){ //method 2 return x+y+z; public int add(double x, int y){ //method 3 return (int)x+y; public int add(int x, double y){ //method 4 return x+(int)y;

class Test { public static void main(string[] args){ DemoOverload demo=new DemoOverload(); System.out.println(demo.add(2,3)); //method 1 called System.out.println(demo.add(2,3,4)); //method 2 called System.out.println(demo.add(2,3.4)); //method 4 called System.out.println(demo.add(2.5,3)); //method 3 called

Dynamic Polymorphism: Suppose a sub class overrides a particular method of the super class. Let s say, in the program we create an object of the subclass and assign it to the super class reference. Now, if we call the overridden method on the super class reference then the sub class version of the method will be called.

class Vehicle{ public void move(){ System.out.println( Vehicles can move!! ); class MotorBike extends Vehicle{ public void move(){ System.out.println( MotorBike can move and accelerate too!! );

class Test{ public static void main(string[] args){ Vehicle vh=new MotorBike(); vh.move(); // prints MotorBike can move and accelerate too!! vh=new Vehicle(); vh.move(); // prints Vehicles can move!!

An object in Java that passes more than one IS-A tests is polymorphic in nature Static polymorphism in Java is achieved by method overloading Dynamic polymorphism in Java is achieved by method overriding

Contoh Class induk Person dan subclass Student, kita tambahkan subclass lain dari Person yaitu Employee. Dalam Java, kita dapat membuat referensi yang merupakan tipe dari superclass ke sebuah object dari subclass tersebut. Sebagai contohnya, public static void main(string[] args) { Person ref; Student studentobject = new Student(); Employee employeeobject = new Employee(); ref = studentobject; //Person menunjuk kepada object Student //beberapa kode di sini

Sekarang dimisalkan kita punya method getname dalam superclass Person kita, dan kita override method ini dalam kedua subclasses Student dan Employee, public class Person { public String getname(){ System.out.println( Person Name: + name); return name; public class Student extends Person { public String getname(){ System.out.println( Student Name: + name); return name; public class Employee extends Person { public String getname(){ System.out.println( Employee Name: + name); return name;

public static void main(string[] args) { Person ref; Student studentobject = new Student(); Employee employeeobject = new Employee(); ref = studentobject; //Person menunjuk kepada object Student String temp = ref.getname(); //getname dari Student class dipanggil System.out.println( temp ); ref = employeeobject; //Person menunjuk kepada object Employee String temp = ref.getname(); //getname dari Employee class dipanggil System.out.println( temp );

Ketika kita mencoba memanggil method getname dari reference Person ref, method getname dari object Student akan dipanggil. Sekarang, jika kita berikan ref ke object Employee, method getname dari Employee akan dipanggil. Kemampuan dari reference untuk mengubah sifat menurut object apa yang dijadikan acuan dinamakan polimorfisme. Polimorfisme menyediakan multiobject dari subclasses yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya

Contoh lain yang menunjukkan properti polimorfisme adalah ketika kita mencoba melalui reference ke method. Misalkan kita punya method static printinformation yang mengakibatkan object Person sebagai reference, kita dapat me-reference dari tipe Employee dan tipe Student ke method ini selama itu masih subclass dari class Person. public static main( String[] args ) { Student studentobject = new Student(); Employee employeeobject = new Employee(); printinformation( studentobject ); printinformation( employeeobject ); public static printinformation( Person p ) {....