Bahasa Pemrograman 2.

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Polimorfisme dan Binding

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

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

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

Pemrograman Berorientasi. Abstract & Interface

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

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

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Bahasa Pemrograman 2.

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Modul Bahasa Pemrograman 1

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

KONSEP OOP: POLYMORPHISM

Bahasa Pemrograman :: Polimorfism and Abstraction

Overriding Overloading Polymorphism

IKG2I4 / Software Project I

PEMROGRAMAN BERORIENTASI OBJEK

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

BAB 7 OVERLOADING DAN OVERRIDING

KONSEP OOP: POLYMORPHISM

Inheritance dan Kata Kunci static

Bahasa Pemrograman 2.

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemrograman Berorientasi. Inheritance

Polymorphism. Oleh : Agus Priyanto, M.Kom

Polymorphism (Polimorfisme)

Pemrograman Berorientasi. Class dan Obyek 2

Konsep Pemrograman Berbasis Obyek

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Bahasa Pemrograman 2.

Jobsheet 09. Overloading and Overriding Method

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

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XII KELAS DAN OBYEK

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Chapter 10 Polimorphism

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

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OBJEK ORIENTASI PROGRAM

Gambar 1: Hirarki class

Pemrograman Berbasis Objek Inheritance

MINGGU V : PBO (PEWARISAN)

INTERAKSI ANTAR OBJECT

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berbasis Objek (Polimorfisme)

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pemrograman Berorientasi Objek Danu Wira Pangestu

KONSEP OOP: PEWARISAN / INHERITANCE

LAPORAN RESMI INHERITANCE

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

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

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

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

Inheritance. Topik 5/17/2013

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

8 - Overriding dan Overloading

Pewarisan, Polimorfisme, dan Interface

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Method yang ada pada parent class(superclass) didefinisikan kembali oleh kelas anaknya (subclass).

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Konsep Dasar Pemrograman Berorientasi Objek

Class dan Object. PBO/Java/Ayuliana/Revisi

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Dasar-Dasar OOP di Java

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

(INHERITANCE) Nurochman

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

PRAKTIKUM I Class dan Obyek

Pemrograman Berorientasi Objek INHERITANCE

BAB 6 INHERITANCE Tujuan:

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

Pertemuan 11 Object Oriented Program

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Pewarisan atau Inheritance

Employee employee=new Manager();

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

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

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

Pertemuan 4 Halaman 1/1. Class Inheritance

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

Bahasa Pemrograman :: Inheritance

PAKET DAN INTERFACE MUH. IZZUDDIN MAHALI, M.CS. PT. Elektronika FT UNY

Paket dan Interface. Nur Hasanah, M.Cs

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

JOBSHEET POLIMORFISME

Object Oriented Programming 1

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

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

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN V PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Transkripsi:

Bahasa Pemrograman 2 Polimorfisme dan Binding anton@ukdw.ac.id

Polymorphism Polymorphism = Poly + Morphos Poly = banyak, Morphos = bentuk Kemampuan obyek obyek yang berbedauntuk memberi respons terhadap permintaan yang sama, sesuai dengan cara masing masing i obyek Polymorfisme dapat diterapkan secara: Overriding Method Overloading Method

Polymorphism

Review: Overriding Subclass yang berusahamemodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih spesifik. Dilakukan dengan cara mendeklarasikan Dilakukan dengan cara mendeklarasikan kembali method milik parent class di subclass.

Review: Overriding Dkl Deklarasi method padasubclass bl harus sama dengan yang terdapat di super class. Kesamaan pada: Nama Rt Return type Daftar parameter (jumlah, tipe, dan urutan) Method padaparent class disebut overriden method Method pada subclass bl disebut overriding method.

Review: Overriding Class Anjing melakukan overriding terhadap method bersuara() yang diturunkan dari class Binatang Dengan overriding, suatu method yang didapatkan oleh subclass bisa melakukan hal yang berbeda dengan method asli pada superclassnya

Review: Overriding Mode akses overriding method harus sama atau lebih luas dari pada overriden method. Subclass hanya boleh meng override method superclass satu kli kali saja, tidak dkboleh ada lbh lebih dari satu method pada kelas yang sama yang sama persis. Jika lebih dari satu berarti ada 2 method yang samapersis dalamsatu kelas

Review: Overriding Contoh: class Binatang { public String bersuara() { return "Suara binatang"; class Anjing extends Binatang { public String bersuara() { return "Guk guk";

Review: Overriding Dalam metode overriding, kita dapat memanggil metode overriden. Menggunakan keyword: super.namamethod() super menandakan konstruktor sekaligus super menandakan konstruktor sekaligus superclass Konstruktor disesuaikan dgn parameternya Superclass bisa memanggil methodnya

Review: Overriding Contoh: class Mahasiswa { public void perkenalan() { System.out.print("Objek mahasiswa"); class MhsSI extends Mahasiswa { public void perkenalan() { super.perkenalan(); System.out.println( SI");

Review: Overriding Contoh: class CobaMhs { public static void main(string[] args) { Mahasiswa baru = new MhsSI(); baru.perkenalan();

Review: Overloading Method Menuliskan kembali method dengan nama yang sama pada suatu class. Tj Tujuan : memudahkan dhk penggunaan/pemanggilan method dengan fungsionalitas yang mirip.

Overloading Aturan overloading: Nama method harus sama Daftarparameter harus berbeda Return type boleh sama, juga boleh berbeda

Overloading Method Contoh: public void println (char c); public void println (String s); public void println (int i); public void println (String s, double d);

Contoh

Polimorfisme Berhubungan dengan abstract class Kelas abstract memaksa kelas anak mengoverride method yg abstract dikelas induk sehingga kelas anak dapat bertingkah laku seperti yang diinginkannya! Berbeda dengan induknya Namun masih sejenis j dengan induknya

Polimorfisme Sifat sejenis dengan induknya itulah yang dapat digunakan untuk membuat kelas umum yang dapat menggunakan kelas yang bertipe induk namun bertingkah laku sesuai dengan kelas anaknya Contoh

public abstract bt tclass Bentuk k{ { private String jenis; public abstract void hitungluas(); public void setjenis(string j){ this.jenis = j; public String getjenis(){ return this.jenis;

class Segitiga extends Bentuk{ private int alas; private int tinggi; public void hitungluas(){ System.out.println ("Luas : "+(0.5*alas*tinggi)); public Segitiga(String j,int a,int t){ super.setjenis(j); this.alas = a; this.tinggi tinggi = t;

class Persegi extends Bentuk{ private int sisi; public void hitungluas(){ System.out.println ("Luas : "+(sisi*sisi)); public Persegi(String j,int s){ super.setjenis(j); setjenis(j); this.sisi = s;

class Pemakai{ public void Laporkan(Bentuk b){ System.out.println ("Jenis : "+b.getjenis()); b.hitungluas(); public static void main(string args[]) { Pemakai p = new Pemakai(); Segitiga s = new Segitiga("segitiga",5,4); Persegi pp = new Persegi("bujur g( sangkar",9); p.laporkan(s); p.laporkan(pp);

Proses binding obyek oleh compiler Binding = pengikatan obyek oleh compiler Static binding Dyanamic binding

Static Binding Binding dilakukan saat compile time Overloading berarti ada beberapa method dengan nama yang sama. Mthd Method yang dijalankan tergantung t dari parameter yang diberikan Pemilihan method yang dijalankan ditentukan saat compile time (static binding)

Static Binding Contoh: public void println (char c); public void println (String s); public void println (int i); public void println (String s, double d); println( PBO ); println(2000); println( a ); println( b ); println( Data, 2.0);

Dynamic Binding Binding dilakukansaat k run time (dynamic) Penentuan method mana yang dijalankandilakukansaat run time Contoh: void kill (Mortal m) { m.killed(); Misalnyaorang dan tanaman masuk dalam classmortal maka Misalnya orang dan tanaman masuk dalam class Mortal, maka method killed() yang dipanggil tergantung dari siapa pemanggilnya.

Contoh

Dynamic Binding Dynamic binding dapat dilakukan dengan 2 cara: Overriding Inheritance Method Overriding Interface Method

Overriding Inheritance Method Guk Guk Meong Mbeeekkkk

Polymorphism class Binatang { private String name; public Binatang(String n) { name = n; public String getname() { return name; public void bersuara() { System.out.println( println( Binatang bersuara );

Polymorphism class Anjing extends Binatang { Anjing(String n) { super(n); public void bersuara() { System.out.println( Guk guk guk );

Polymorphism class Kucing extends Binatang { Kucing(String n) { super(n); public void bersuara() { System.out.println( meong meong );

Penentuan Polimorfisme Penentuan siapa obyek sesungguhnya yang diacu oleh kompiler dapat diakses menggunakan casting sesuai dengan tipe data class anak yang sebenarnya!

Contoh Casting Polymorfisme class A extends Object{ public void m(){ System.out.println("m in class A"); class B extends A{ public void m(){ System.out.println("m in class B"); public class CobaPoly{ public static void main(string[] args){ Object var = new B(); ((B) var).m();

Aturan interface Suatu interface dapat mengekstends interface lain Tujuannya: memperluas kemampuan interface Interface hanya bisa extends interface saja Tidak bisa extends class & abstract class

Overriding Interface Method Contoh: interface I1{ public void p(); interface I2 extends I1{ public void q();

Overriding Interface Method class A extends Object{ public String tostring(){ return "tostring in A"; public String x(){ return "x in A";

Overriding Interface Method class B extends A implements I2{ public void p(){ System.out.println ("p() (p() in B"); public void q(){ System.out.println ("q() in B"); class C extends Object implements I2{ public void p(){ System.out.println ("p() in C"); public void q(){ System.out.println ("p() in C");

public class demointerface { public static void main(string[] args) { A a = new A(); System.out.println (a.x()); C c = new C(); c.p(); c.q(); B b = new B(); b.p(); b.q();

NEXT Package & Class class penting