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)

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

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Pemrograman Berorientasi. Inheritance

Overriding Overloading Polymorphism

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

Bahasa Pemrograman :: Inheritance

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Bahasa Pemrograman 2.

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

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berorientasi. Polimorfisme dan Binding

KONSEP OOP: PEWARISAN / INHERITANCE

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Jobsheet 09. Overloading and Overriding Method

Modul Bahasa Pemrograman 1

Konsep Dasar Pemrograman Berorientasi Objek

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

Polymorphism. Oleh : Agus Priyanto, M.Kom

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

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

INHERITANCE. Gambar 1. Kelas Hierarki Java

Employee employee=new Manager();

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

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

PRAKTIKUM I Class dan Obyek

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

8 - Overriding dan Overloading

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

LAPORAN RESMI INHERITANCE

IKG2I4 / Software Project I

Inheritance dan Kata Kunci static

KONSEP OOP: PEWARISAN / INHERITANCE

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

(INHERITANCE) Nurochman

BAB 7 OVERLOADING DAN OVERRIDING

Method / Fungsi / Sub Program

Konstruktor dan Polimorfisme

KONSEP OBJEK ORIENTASI PROGRAM

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

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

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

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

Bahasa Pemrograman 2.

CSG2H3 Object Oriented Programming. Inheritance -RSM-

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

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

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

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

Pertemuan 4 Halaman 1/1. Class Inheritance

PRAKTIKUM 6 EXCEPTION

Polymorohism in Java. Adharul Muttaqin Teknik Elektro Universitas Brawijaya Malang

Overriding Overloading Polymorphism

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berbasis Objek (Polimorfisme)

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

PEWARISAN SIFAT OBYEK

Pemrograman Berorientasi Objek 2

Pemrograman Berorientasi. Class dan Obyek 2

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

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

Pemrograman Berbasis Objek Inheritance

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

Praktikum 3 Konsep Class, Attribute dan Method

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Class dan Object. PBO/Java/Ayuliana/Revisi

Pemrograman Berorientasi Objek

PEMROGRAMAN BERORIENTASI OBJEK

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

Membuat dan Menggunakan Class

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Inheritance. Topik 5/17/2013

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

BAB VII. CLASS DAN OBJECT

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

JOBSHEET POLIMORFISME

PERCOBAAN 6 EXCEPTION

Transkripsi:

PEMROGRAMAN LANJUT Informatika PTIIK UB Semester Genap 2015/2016 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 Dynamic 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 Results?

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!!

Contoh public class Bicycle { public class RoadBike extends Bicycle { public class MountainBike extends Bicycle { public class TestBikes { public static void main(string[] args){ Bicycle bike01, bike02, bike03; bike01 = new Bicycle(20, 10, 1); bike02 = new MountainBike(20, 10, 5, "Dual"); bike03 = new RoadBike(40, 20, 8, 23); bike01.printdescription(); bike02.printdescription(); bike03.printdescription();

An object in Java that passes more than one IS- A tests is polymorphic in nature Sebuah objek yang dapat diisi oleh lebih dari satu bentuk IS-A Polimorfism 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 mereference 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 ) {....

Summary Static Polymorphism Method overloading Dynamic Polymorphism Method overriding Sebuah objek (dengan tipe data) dari class induk, dapat diisi dengan objek dari class turunannya Polymorphism Polimorfism adalah kemampuan dari Bahasa pemrograman untuk memproses objek secara berbeda tergantung pada tipe data atau class nya More specifically, it is the ability to redefine methods for derived classes. Kemampuan untuk mendefiniskan ulang metode berdasarkan kelas turunannya