POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE

dokumen-dokumen yang mirip
PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

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

:: abstract class + interface. :: abstract class

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pemograman Berorientasi Objek

Konsep Pemrograman Berbasis Obyek

Pemrograman Berorientasi. Abstract & Interface

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

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Polymorphism (Polimorfisme)

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

8 - Overriding dan Overloading

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

Bahasa Pemrograman 2.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

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

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

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

Pemrograman Berorientasi. Polimorfisme dan Binding

IKG2I4 / Software Project I

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

JOBSHEET POLIMORFISME

Gambar 1: Hirarki class

Abstract Class dan Interface. Viska Mutiawani, M.Sc

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

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

Modul Bahasa Pemrograman 1

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

KONSEP OOP: PEWARISAN / INHERITANCE

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Mengenal Object Oriented Programming (OOP)

PEMROGRAMAN BERORIENTASI OBJEK

Pewarisan, Polimorfisme, dan Interface

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

Pemrograman Berbasis Objek (Polimorfisme)

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Object Oriented Programming 1

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

SILABUS MATA KULIAH PEMROGRAMAN JAVA

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berorientasi Objek

Bahasa Pemrograman :: Polimorfism and Abstraction

ABSTRACT CLASS. Imam Fahrur Rozi

Pertemuan 11 Object Oriented Program

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

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

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Pemrograman Berorientasi. Inheritance

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

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

Pewarisan atau Inheritance

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

Polymorphism. Oleh : Agus Priyanto, M.Kom

LAPORAN RESMI INHERITANCE

Inheritance dan Kata Kunci static

Modul II Object Oriented Programming

Chapter 10 Polimorphism

Jobsheet 09. Overloading and Overriding Method

Konstruktor dan Polimorfisme

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

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

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

BAB II VARIABEL DAN TIPE DATA

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1 PENGENALAN OOP

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

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

2 TIPE DATA DAN VARIABEL

PRAKTIKUM I Class dan Obyek

MINGGU V : PBO (PEWARISAN)

KONSEP Pemrograman Berorientasi Objek KARMILASARI

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

PEMROGRAMAN BERORIENTASI OBJEK

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

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

KONSTRUKTOR PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi FILKOM UB Semester Genap 2016/2017

Oleh: Edo Yonatan Koentjoro, S. Kom. Ada orang lagi ngakses, yang tersesat di dalam goa Ini kunci menuju sukses, dengan belajar dan berdoa -EdTan-

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

ABSTRACT CLASS DAN INTERFACE

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

UNIVERSITAS GUNADARMA

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Class dan Object. PBO/Java/Ayuliana/Revisi

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

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Bahasa Pemrograman 2.

INTERAKSI ANTAR OBJECT

Konsep Objek Oriented

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Transkripsi:

POLYMORPHISM, ABSTRACT CLASS DAN INTERFACE

Polymophism Polimorfisme (Polimorphism) berasal dari bahasa yunani yang berarti banyak bentuk. yaitu merupakan suatu konsep bahwa objek dapat memiliki berbagai bentuk, sebagai objek dari kelasnya maupun objek dari superkelasnya ( Deitel, 2004 ).

Overriding dan Overloading Overriding : terjadi ketika deklarasi method subclass sama ( termasuk parameter ) dengan method pada superclass. Overloading : yaitu penggunaan satu nama untuk beberapa method yang berbeda ( berbeda parameter )

MakhlukHidup -Nama : char -Rumpun : char +MakhlukHidup(in Nama : char) +Bernafas() Binatang +Binatang(in Nama : char) +Bertumbuh() +Berjalan() +Kecepatan(in Nilai : int) Tumbuhan +Tumbuhan(in Nama : char) +Bertumbuh() Karnivora +Karnivora(in Nama : char) +Memakan(in Binatang : Binatang) +Kecepatan(in nilai : int) +Kecepatan(in nilai : double) Overriding Herbivora +Herbivora(in Nama : char) +Memakan(in Tumbuhan : Tumbuhan) +Kecepatan(in nilai : int) +Kecepatan(in nilai : double) Overloading

Kelas Abstrak Sebuah kelas dapat dideklarasikan sebagai kelas abstrak. Tujuanya : 1.Agar suatu kelas tidak dapat di instansiasikan sebagai sebuah objek dan hanya dapat diturunkan. 2.Agar satu kelas lain dapat memperluasnya dengan jalan menjadi subclass darinya

Untuk membuat sebuah kelas atau method menjadi abstrak maka menggunakan keyword abstract setelah modifier pada deklarasi kelas atau method. Contoh kelas abstrak public abstract class Unggas

Method Abstrak Method abstrak Method abstrak adalah method yang memiliki definisi namun tidak memiliki implementasi Method di dalam abstract class boleh berupa method abstrak ataupun bukan. Untuk membuat abstract method, hanya menuliskan deklarasi method tanpa body dan gunakan keyword abstract

Nama kelas dengan cetak miring merupakan simbol kelas abstrak Animal -jmlkaki : int +walk() +sound() Kucing +walk() +sound() Ayam +walk() +sound()

public abstract class animal private int jmlkaki; public abstract void walk(); public abstract void sound();

class kucing extends animal public void walk() System.out.println("Berjalan dengan 4 kaki"); public void sound() System.out.println("Meeooo...ong");

class ayam extends animal public void walk() System.out.println("Berjalan dengan 2 kaki"); public void sound() System.out.println("Kuku Ruyuuuukk");

Menggunakan abstract class untuk mendefinisi jenis-jenis yang luas dari behavior yang ada di puncak hirarki class object-oriented programming, dan menggunakan subclassnya untuk menyediakan detail implementasi dari abstract class.

Interface

Interface Interface mendefinisikan aturan perilaku yang dapat di implementasikan oleh kelas manapun. Interface mendefinisikan satu set method tanpa menyediakan implementasinya. Setiap kelas yang mengimplementasikan interface akan terikat oleh interface tersebut untuk mengimplementasikan semua method yang ada di dalam interface.

Interface (Lanjutan) Secara subtansi Interface merupakan kumpulan dari method abstrak dan konstanta. Interface memiliki kemiripan dengan kelas abstrak karena keduanya memuat method abstrak. Untuk menjadikan sebuah kelas mengimplementasikan interface maka ditambahkan keyword implements kemudian dilanjutkan nama interface.

Perbedaan Interface dan Kelas Abstrak Interface Tidak dapat membuat implementasi method Sebuah kelas dapat mengimplementasikan beberapa interface Kelas Abstrak Dapat membuat implementasi method Sebuah kelas hanya dapat meng-extends satu superclass.

Mengapa menggunakan interface? Mendeklarasikan method yang akan diimplementasikan oleh satu atau beberapa kelas Menangkap kesamaan di antara beberapa kelas tanpa perlu memasukkannya dalam hirarki kelas. Mensimulasikan konsep pewarisan banyak kelas dengan mendeklarasikan kelas yang mengimplementasikan beberapa interface sekaligus

+On() +Off() «interface» interfaceelektronik Radio -mesin : bool = false -channel : char -volume : int = 0 +on() +off() +gantichannel(in channel : int) +perbesarvolume() +perkecilvolume() Kipas -mesin : bool = false -kecepatankipas : int = 0 +on() +off() +percepatkipas() +perlambatkipas() Kelas yang meng-implements suatu interface maka kelas tersebut harus mengoverride method yang ada pada interface. Dari contoh disamping, method on dan off merupakan method overriding dari interface interfaceelektronik

public interface interfaceelektronik public void on(); public void off();

public class Radio implements interfaceelektronik boolean mesin=false; String[] channel="gajah Mada FM","Smart FM","Buana FM","DINUS FM"; int volume=0; public void on() mesin=true; public void off() mesin=false; Continue

public class Kipas implements interfaceelektronik boolean mesin=false; int kecepatankipas=0; public void on() mesin=true; public void off() mesin=false; Continue

Latihan «interface» interfacechanneltv +gantichannel(in c : int) «interface» interfacechannelradio +gantichannel(in c : int) Ubahlah struktur Kelas Diagram disamping ke dalam bahasa pemrograman -mesin : Boolean -volume : int Radio +on() +off() +gantichannel(in c : int) +perbesarvolume() +perkecilvolume() +on() +off() «interface» InterfaceElektronik -mesin : Boolean -merk : String -listrik : Boolean Televisi +Televisi(in merk : String) +on() +off() +gantichannel(in c : int)

«interface» interfacemobil +NyalakanMesin() +MatikanMesin() +TambahkanGerigi() +TurunkanGerigi() +TekanGas() +TekanRem() «interface» interfacesirine +NyalakanSirine() +MatikanSirine() +GantiSuaraSirine(in Jenis : int) Latihan Mobil -mesin : bool = false MobilTransportasi -jmlkursi : int +TambahPenumpang() Bus +NyalakanTape() +NyalakanTV() +NyalakanAC() +NyalakanMesin() +MatikanMesin() +TambahGerigi() +TurunkanGerigi() +TekanGas() +TekanRem() +TambahPenumpang() MobilPribadi +NyalakanTape() +NyalakanTV() +NyalakanAC() +NyalakanMesin() +MatikanMesin() +TambahGerigi() +TurunkanGerigi() +TekanGas() +TekanRem() Ambulance +NyalakanTape() +NyalakanTV() +NyalakanAC() +NyalakanMesin() +MatikanMesin() +TambahGerigi() +TurunkanGerigi() +TekanGas() +TekanRem() +NyalakanSirine() +MatikanSirine() +GantiSirine(in Jenis : int) MobilNegara +NyalakanTape() +NyalakanTV() +NyalakanAC() MobilPolisi +NyalakanTape() +NyalakanTV() +NyalakanAC() +NyalakanMesin() +MatikanMesin() +TambahGerigi() +TurunkanGerigi() +TekanGas() +TekanRem() +NyalakanSirine() +MatikanSirine() +GantiSirine(in Jenis : int) +NyalakanRadioHT() +MatikanRadioHT() Untuk latihan, ubahlah struktur kelas diagram disampi ng ke dalam bahasa pemrogr aman