Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

dokumen-dokumen yang mirip
5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Inheritance (Pewarisan) Pengertian dasar inheritance

JOBSHEET 8 INHERITANCE (PEWARISAN)

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

(INHERITANCE) Nurochman

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

BAB 6 INHERITANCE Tujuan:

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Inheritance dan Kata Kunci static

Modul Bahasa Pemrograman 1

Pengenalan Polimorfisme Implementasi Polimorfisme

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

public class B extends A {... }

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

Dasar-Dasar OOP di Java

subclass class manapun private default protected public package yang sama

Praktikum Inheritace PERCOBAAN 1 Tujuan: Prosedur Percobaan:

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

Class & Object 2. Imam Fahrur Rozi

Dasar-Dasar OOP di Java

PEMROGRAMAN BERORIENTASI OBJEK

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

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

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

adalah cara pandang yang memandang SEGALA SESUATU sebagai OBJEK. Semua aspek dalam Java programming dapat dianggap sebagai objek, -kecuali

Pewarisan atau Inheritance

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

BAB 7 OVERLOADING DAN OVERRIDING

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Inheritance

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

8 - Overriding dan Overloading

Pertemuan 11 Object Oriented Program

Bahasa Pemrograman 2.

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Bab 8. Dasar-Dasar OOP

Konsep Pemrograman Berbasis Obyek

Composition dan Inheritance

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

PRAKTIKUM I Class dan Obyek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Object Oriented Programming 1

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

Pemrograman Berorientasi Obyek. Ramos Somya

Bahasa Pemrograman :: Polimorfism and Abstraction

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

IKG2I4 / Software Project I

Konsep Dasar Pemrograman Berorientasi Objek

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berorientasi. Class dan Obyek 2

MODUL 3 Inheritance. Tujuan: Mahasiswa dapat mengenal dan memahami konsep inheritance dan cara menerapkan inheritance dengan constructor

LAPORAN RESMI INHERITANCE

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

Pemrograman Berorientasi Objek Danu Wira Pangestu

Covered Topics. Course Map OOP Concept

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

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

Pemrograman Berorientasi. Abstract & Interface

Bahasa Pemrograman 2.

JOBSHEET POLIMORFISME

A. TUJUAN PEMBELAJARAN 1. Memahami konsep package dan import 2. Menggunakan kata kunci this

MINGGU V : PBO (PEWARISAN)

UML : Class Diagram 23/11/ Area Pokok Class. Kaidah Penulisan Nama Class. Class Diagram (1) Contoh Class. Class Diagram (2) SHINTA P.

ABSTRACT CLASS. Imam Fahrur Rozi

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

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

Inheritance dan Polimorfisme

INTERAKSI ANTAR OBJECT

:: abstract class + interface. :: abstract class

KONSEP OOP: PEWARISAN / INHERITANCE

3 Class dan Object (2)

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

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

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Pemrograman Berorientasi Obyek. Konsep OOP

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

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

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

Pemrograman Berorientasi Objek

Bahasa Pemrograman 2.

Gambar 1: Hirarki class

Konsep Pemrograman Berorientasi Obyek

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

Konsep Pemrograman Berorientasi Obyek

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

ABSTRACT CLASS DAN INTERFACE

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

Employee employee=new Manager();

Transkripsi:

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword Topik

Pengertian Dasar Inheritance Inheritance (Pewarisan) merupakan salah satu dari konsep dasar OOP (Konsep dasar OOP yang lain : Class, Object, Enkapsulasi dan Polimorfisme). Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.

Pengertian Dasar Inheritance Suatu class yang mempunyai class turunan dinamakan parent class atau base class atau super class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class

Pengertian Dasar Inheritance Karena suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya. Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.

CONTOH INHERITANCE Pegawai +nama +nopegawai +gaji Super Class: Pegawai Sub Class: Programmer dan Manager Programmer +bonus Manager +tunjangan

Istilah Lain Inheritance Generalisasi : maksudnya Super Class memiliki bentuk atau sifat yang lebih umum dari pada Sub Class (Contoh dari diagram klas di slide sebelumnya: Pegawai merupakan bentuk umum dari Programmer dan Manager, dimana Programmer dan Manager bersifat lebih khusus daripada Pegawai) Relasi IS A ( adalah ) : maksudnya Sub Class is a Super Class. Contohnya, Programmer is a Pegawai (Programmer adalah Pegawai), Manager is a Pegawai (Manager adalah Pegawai).

Deklarasi Inheritance Dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class

Deklarasi Inheritance

Tambahan: Class Object Semua class di dalam Java adalah merupakan subclass dari class super induk yang bernama Object. Misalnya saja terdapat sebuah class sederhana :

Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.

INHERITANCE DI UML Programmer +bonus Pegawai +nama +nopegawai +gaji Manager +tunjangan Inheritance ditunjukan dengan anak panah, dengan mata anak panah berbentuk segitiga dan kosong (tidak ada warna/isi dalam segitiga tsb) Anak panah mengarah dari sub class ke super class

Kapan Inheritance Digunakan Kita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain. Atau ketika terdapat bebrapa klas yang memiliki sifat (atribut dan method) yang sama. Atribut dan method yang sama tsb dienkapsulasi ke dalam superklas

Misal Terdapat Class Pegawai

Misal Terdapat Class Manager

Misal Terdapat Class Programmer public class Programmer { public String nama; public double bonus, gaji; }

Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data atribut departemen. Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data atribut departemen. Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut

public class Programmer extends Pegawai { } public double bonus;

SINGLE INHERITANCE Konsep inheritance yang ada di Java adalah Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class.

MULTILEVEL INHERITANCE Konsep inheritance yang ada di Java memperkenankan adanya multilevel inheritance. Konsep multilevel inheritance memperbolehkan suatu subclass mempunyai subclass lagi.

Employee +name +salary +birthdate +getdetails() Engineer Manager +department Secretary Director +carallowance +increaseallowance()

Pengaksesan member yang dideklarasikan di parent class dari subclass Pengaksesan member yang ada di parent class dari subclass-nya tidak berbeda dengan pengaksesan member subclass itu sendiri. Misalnya di class Manajer kita ingin mengakses data member nama melalui sebuah function member IsiData(), sekaligus kita juga ingin mengakses data member departemen di class Manajer.

NEXT MODIFIER ACCESS / ACCESS CONTROL KATA KUNCI SUPER

KONTROL PENGAKSESAN Dalam dunia riil, suatu entitas induk bisa saja tidak mewariskan sebagian dari apa-apa yang ia punyai kepada entitas turunan karena sesuatu hal. Demikian juga dengan konsep inheritance dalam OOP. Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya.

MODIFIER ACCESS

Konstruktor Superklas tidak diwariskan Konstruktor dari parent class tidak dapat diwariskan ke subclass-nya. Konsekuensinya, setiap kali kita membuat suatu subclass, maka kita harus memanggil konstruktor parent class di konstruktor subclass. Pemanggilan konstruktor parent harus dilakukan pada baris pertama dari konstruktor subclass.

Konstruktor Superklas tidak diwariskan Jika kita tidak mendeklarasikannya secara eksplisit, maka kompiler Java akan menambahkan deklarasi pemanggilan konstruktor parent class di konstruktor subclass.

Konstruktor Superklas tidak diwariskan Sebelum subclass menjalankan konstruktornya sendiri, subclass akan menjalankan constructor superclass terlebih dahulu. Hal ini terjadi karena secara implisit pada constructor subclass ditambahkan pemanggilan super() yang bertujuan memanggil constructor superclass oleh kompiler.

Konsep Instansiasi di Subklas Pada saat membuat objek dari subklas, saat itu juga objek superklas akan terbentuk. Dengan kata lain, ketika konstruktor subklas dijalankan utk membuat objek, saat itu juga konstruktor superklas akan berjalan. Jadi di setiap konstruktor subklas, pada baris pertama konstruktor subklas tsb akan dipanggil konstruktor superklas Sebelum subclass menjalankan konstruktornya sendiri, subclass akan menjalankan constructor superclass terlebih dahulu Pemanggilan konstruktor superklas dilakukan dengan kata kunci : super() à memangggil konstruktor default dari superklas super(aparameter1, parameter2,dst) à memanggil konstruktor berparamter dari superklas

KATA KUNCI SUPER Kata kunci super dipakai untuk merujuk pada member dari parent class. Sebagaimana kata kunci this yang dipakai untuk merujuk pada member dari class itu sendiri. Format penulisannya adalah sebagai berikut : super.namaatribut Merujuk/mengakses atribut dari parent class super.namamethod() merujuk/memanggil method dari parent class super() Merujuk atau memanggil konstruktor parent class Hanya bisa digunakan di baris pertama dalam konstuktor subklas