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

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Abstract & Interface

IKG2I4 / Software Project I

Inheritance (Pewarisan) Pengertian dasar inheritance

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Modul Bahasa Pemrograman 1

REKAYASA PERANGKAT LUNAK II

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

LAPORAN RESMI INHERITANCE

Pemrograman Berorientasi. Polimorfisme dan Binding

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

8 - Overriding dan Overloading

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

Bahasa Pemrograman 2.

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Pemrograman Berorientasi. Inheritance

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

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

ABSTRACT CLASS. Imam Fahrur Rozi

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

KONSEP OOP: PEWARISAN / INHERITANCE

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Konsep Pemrograman Berbasis Obyek

Polymorphism (Polimorfisme)

Pemrograman Berorientasi. Class dan Obyek 2

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

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

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Inheritance dan Kata Kunci static

KONSEP OOP: PEWARISAN / INHERITANCE

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

Bahasa Pemrograman :: Polimorfism and Abstraction

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Gambar 1: Hirarki class

Pemrograman Berorientasi Objek

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

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

Bahasa Pemrograman :: Inheritance

:: abstract class + interface. :: abstract class

PEMROGRAMAN BERORIENTASI OBJEK

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

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

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

Pewarisan, Polimorfisme, dan Interface

UNIVERSITAS GUNADARMA

LAPORAN V PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

public class B extends A {... }

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

Polymorphism. Oleh : Agus Priyanto, M.Kom

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

KONSEP OOP: POLYMORPHISM

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Tujuan. Pengertian Interface Mendeklarasikan Interface Pewarisan Interface Menggunakan Interface

Paket dan Interface. Nur Hasanah, M.Cs

Abstract Class dan Interface. Viska Mutiawani, M.Sc

(INHERITANCE) Nurochman

IKG2I4 / Software Project I

KONSEP OOP: POLYMORPHISM

PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

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

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

subclass class manapun private default protected public package yang sama

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

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Pertemuan 4 Halaman 1/1. Class Inheritance

INTERAKSI ANTAR OBJECT

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Pemrograman Berorientasi Objek Danu Wira Pangestu

Jobsheet 09. Overloading and Overriding Method

Object Oriented Programming 1

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

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK (PBO) MODUL 5 INTERFACE

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

BAB VIII CLASS ABSTRACT & CLASS INTERFACE. //abstract class bisa, kelas biasa bisa System.out.println("Ini nama");

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

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM 6 EXCEPTION

Pemrograman Berorientasi Objek Danu Wira Pangestu

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

MODUL 7 METHOD, KELAS DAN OBJEK

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Dasar-Dasar OOP di Java

Konstruktor dan Polimorfisme

KONSEP OBJEK ORIENTASI PROGRAM

Konsep Dasar Pemrograman Berorientasi Objek

Chapter 10 Polimorphism

Bab 8. Dasar-Dasar OOP

Transkripsi:

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

Polimorphisme dan Serious Polimorphisme 1. Definisi Polimorphisme 2. Overloading Method 3. Overriding Method 4. Kata Kunci Final 5. Abstract Class 6. Interface

Definisi Polimorphisme Suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.

Gambaran Polimorphisme

Proses Polimorphisme Overloading Method Overriding method

Objek Polimorphisme (1)

Objek Polimorphisme (2)

Objek Polimorphisme (3)

Objek Polimorphisme (4)

Definisi Overloading Method (1) Overloading adalah keadaan di mana beberapa method yang terdapat pada suatu class memiliki nama yang sama dengan fungsionalitas yang sama.

Definisi Overloading Method (2)

Definisi Overloading Method (3) Sebagai contoh: titik(x,y) titik dipandang dua dimensi titik(x,y,z) titik dipandang tiga dimensi

Class Diagram Overloading Binatang +Makan() +Minum() +Bersuara() OVERLOADING Panda +Bersuara(String Bunyi)

Aturan Overloading Method

Penggalan Overloading Method

Contoh Overloading Method (JAVA) public class OrangTua { private int umur; public int getumur() { return umur; public void setumur(int umur) { this.umur = umur; public void tampilumur(){ System.out.println("Umur Orang Tua : "+umur);

Contoh Overloading Method (JAVA) public class Anak extends OrangTua { private int umur2; public int getumur2() { return umur2; public void setumur2(int umur2) { this.umur2 = umur2; //overloading public void tampilumur(int a){ System.out.println("Umur Anak : "+umur2);

Contoh Overloading Method (JAVA) public class TesterPolimorphisme { public static void main(string[] args) { Anak x = new Anak(); x.setumur(40); x.setumur2(11); x.tampilumur(1);//pemanggilan Overloading

Definisi Overriding Method Overriding adalah keadaan di mana suatu method di sub class mengingkari method yang ada pada pada super classnya.

Aturan Overriding Method (1)

Aturan Overriding Method (2)

Class Diagram Overloading Binatang +Makan() +Minum() +Bersuara() OVERRIDING Panda +Bersuara()

Contoh Overriding Method (JAVA) public class OrangTua { private int umur; public int getumur() { return umur; public void setumur(int umur) { this.umur = umur; public void tampilumur(){ System.out.println("Umur Orang Tua : "+umur);

Contoh Overriding Method (JAVA) public class Anak extends OrangTua { private int umur2; public int getumur2() { return umur2; public void setumur2(int umur2) { this.umur2 = umur2; @Override //Penanda Overriding di java public void tampilumur(){ super.tampilumur(); System.out.println("Umur Anak : "+umur2);

Contoh Overriding Method (JAVA) public class Anak extends OrangTua { private int umur2; public int getumur2() { return umur2; public void setumur2(int umur2) { this.umur2 = umur2; @Override //Penanda Overriding di java public void tampilumur(){ super.tampilumur(); System.out.println("Umur Anak : "+umur2);

Contoh Overriding Method (JAVA) public class TesterPolimorphisme { public static void main(string[] args) { Anak x = new Anak(); x.setumur(40); x.setumur2(11); x.tampilumur();//pemanggilan Overriding

Kata Kunci Final Jika suatu class ataupun atribut serta method di dalamnya tidak ingin di-extend lagi oleh suatu subclass maka gunakan kata kunci final. Kata kunci final biasanya digunakan untuk menunjukkan sub class terakhir dari suatu inheritance.

Penempatan Kata Kunci Final class... { int a; int b; Penempatan Final void baca(){

FAQ Kata Kunci Final

Serious Polymorphism (1)

Serious Polymorphism (2)

Serious Polymorphism (3)

Serious Polymorphism (4)

Serious Polymorphism (5)

Abstract Class (1) Format class yang tidak bisa diinstansiasi secara langsung. Kelas ini harus diimplemantasi terlebih dahulu sebelum dapat digunakan.

Abstract Class (2) Format pembuatan: abstract class <nama_class> { Contoh: abstract class animal{

Abstract Class (3) Format penggunaan: class <nama_class> extends <nama_class_abstract>{ Contoh: class Wolf extends Animal {

Abstract Class (4)

Abstract Class VS Concrete Class

Abstract Method (1) Method yang hanya berupa prototipe dan untuk bagian isi method akan diimplementasi pada class yang lain.

Abstract Class (2) Format: <hak_akses> abstract void <nama_method>() ; Contoh: Public abstract void roam();

Abstract Class (3)

Perancangan Abstract Class Binatang Abstract Class Abstract Method +void halo() +void bersuara() +void reproduksi() Serigala +void bersuara() +void reproduksi() Amoeba +void bersuara() +void reproduksi()

Contoh Abstract Class (1) public abstract class Binatang { public void halo(){ System.out.println("Halo saya binatang!"); public abstract void bersuara(); public abstract void reproduksi();

Contoh Abstract Class (2) public class Serigala extends Binatang{ @Override public void bersuara() { System.out.println("Auuuuwwww!!!!"); @Override public void reproduksi() { System.out.println("Reproduksi generatif!");

Contoh Abstract Class (3) public class Amoeba extends Binatang{ @Override public void bersuara() { System.out.println("Tidak bersuara"); @Override public void reproduksi() { System.out.println("Reproduksi vegetatif!");

Contoh Abstract Class (4) public class TesterAbstract { public static void main(string[] args) { Binatang x=new Serigala(); x.halo(); x.bersuara(); x.reproduksi(); System.out.println(""); Apa Bedanya? Amoeba y=new Amoeba(); y.halo(); y.bersuara(); y.reproduksi();

Interface (1) Sebuah blok program yang hanya berisi method-method untuk diimplementasi di kelas yang lain. Class implementasi bisa mengimplementasi lebih dari satu interface. Interface diimplementasikan bukan di-extends

Interface (2) Format pembuatan: <hak_akses> interface <nama_interface> { Contoh: public interface animal{

Interface (3) Format penggunaan: class <nama_class> implements <nama_interface>{ Contoh: Class Wolf implements Animal{

Kenapa Interface?

Perancangan Interface <<interface>> BangunRuang Interface Abstract Method +void hitungluas() +void hitungkeliling() Persegi +void hitungluas() +void hitungkeliling() PersegiPanjang +void hitungluas() +void hitungluas()

Contoh Interface (1) public interface BangunRuang { public void hitungluas(); public void hitungkeliling();

Contoh Interface (2) public class Persegi implements BangunRuang{ private int sisi=4; private int luas; private int kel; @Override public void hitungluas() { luas=sisi*sisi; System.out.println("Luas Persegi : "+luas); @Override public void hitungkeliling() { kel=4*sisi; System.out.println("Keliling Persegi : "+kel);

Contoh Interface (3) public class PersegiPanjang implements BangunRuang{ int panjang=4; int lebar=3; private int luas; private int kel; @Override public void hitungluas() { luas=panjang*lebar; System.out.println("Luas Persegi Panjang : "+luas); @Override public void hitungkeliling() { kel=(2*panjang)+(2*lebar); System.out.println("Keliling Persegi Panjang : "+kel);

Contoh Interface (4) public class TesterInterface { public static void main(string[] args) { Persegi x=new Persegi(); x.hitungkeliling(); x.hitungluas(); Apa Bedanya? System.out.println(); BangunRuang y=new PersegiPanjang(); y.hitungkeliling(); y.hitungluas();

Abstract Class VS Interface ABSTRACT CLASS Extends Abstract method dan Concrete method INTERFACE Implements Pure abstract method Multiple implements Single inheritance (mirip dengan konsep multiple inheritance)