Pewarisan atau Inheritance

dokumen-dokumen yang mirip
Bahasa Pemrograman 2.

Pemrograman Berorientasi. Inheritance

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

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

JOBSHEET 8 INHERITANCE (PEWARISAN)

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

Konsep Pemrograman Berbasis Obyek

Bahasa Pemrograman :: Polimorfism and Abstraction

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Modul Bahasa Pemrograman 1

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Bahasa Pemrograman 2.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Inheritance dan Kata Kunci static

subclass class manapun private default protected public package yang sama

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

INTERAKSI ANTAR OBJECT

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

KONSEP OOP: PEWARISAN / INHERITANCE

Pertemuan 11 Object Oriented Program

Pemrograman Berorientasi. Abstract & Interface

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

8 - Overriding dan Overloading

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

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

MINGGU V : PBO (PEWARISAN)

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

Pewarisan Jamak Oleh : Agus Priyanto Priy, anto M.Kom M.K

PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM I Class dan Obyek

Modul II Object Oriented Programming

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berbasis Objek Inheritance

LAPORAN RESMI INHERITANCE

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

Bahasa Pemrograman II Modul 2 : Inheritance dan Interface

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

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

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

KONSEP OOP: PEWARISAN / INHERITANCE

(INHERITANCE) Nurochman

public class B extends A {... }

[Lanjutan] Nurochman

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

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

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

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

Object Oriented Programming 1

Paradigma Pemrograman Berorientasi Objek

Inheritance. Topik 5/17/2013

Pemrograman Lanjut Review Class dan Object PTIIK

Inheritance dan Polimorfisme

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

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

Pemrograman Berorientasi Objek Danu Wira Pangestu

IKG2I4 / Software Project I

MODUL VI OBJECT ORIENTED PROGRAMMING (OOP)

Pemrograman Berorientasi Objek INHERITANCE

Pewarisan (Inheritance)

Pewarisan(Inheritance) Oleh: Mike Yuliana PENS-ITS

MODUL 1 PENGENALAN OOP

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Dasar-Dasar OOP di Java

INHERITANCE. Oleh: Rasim ILKOM-FPMIPA-UPI

PEMROGRAMAN BERORIENTASI OBJEK

:: abstract class + interface. :: abstract class

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

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

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

PERANCANGAN BERORIENTASI OBJEK

Bahasa Pemrograman 2.

Gambar 1: Hirarki class

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

Bahasa Pemrograman 2.

BAB 6 INHERITANCE Tujuan:

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Parent dan Child di Java

Pemrograman Berorientasi Objek

STRUKTUR DENGAN ARRAY DAN FUNCTION

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

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

KONSEP OBJEK ORIENTASI PROGRAM

Pemrograman Berorientasi. Polimorfisme dan Binding

Class & Object 2. Imam Fahrur Rozi

MINGGU VII : RELASI ANTAR KELAS

KONSEP OOP: PEWARISAN / INHERITANCE

PEMROGRAMAN I. By : Sri Rezeki Candra Nursari

Pewarisan, Polimorfisme, dan Interface

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

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

Bahasa Pemrograman :: Inheritance

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Transkripsi:

Pewarisan atau Inheritance Oleh : Agus Priyanto, M.Kom

Tujuan Kuliah Mengerti tentang pewarisan Mengerti gagasan tentang kelas dasar dan kelas turunan Mampu membuat kelas baru dari kelas yang sudah ada dengan pewarisan

Outline Kuliah Relasi is-a Pewarisan atau Inheritance Object Relationship Diagrams Hirarki Pewarisan Implementasi dalam Bahasa Pemrograman

Overview Dalam PBO, kita mengambil realita kehidupan sehari-hari. Kita melakukan pengamatan bahwa manusia secara alami sering melakukan pengelompokan atas objek atau benda. Sejauh ini kita mengetahui cara untuk melakukan pengelompokan pengelompokan atas objek-objek yang serupa (menjadi kelas objek).

Relasi is-a Selain melakukan katagorisasi terhadap objek yang memiliki sekumpulan atribut dan perilaku yang sama, manusia sering melakukan pengelompokan terhadap objek yang memiliki kesamaan atas beberapa (tidak semua) atribut /perilaku Contoh Pengelompokan atas kendaraan bermotor, kemudian meng-grupkannya berdasarkan suatu tipe atau jenis (mobil, truk, sepeda motor, dll.)

Relasi antar kelas-kelas ini disebut dengan relasi is-a Dalam setiap kasus, objek yang dikelompokkan bersama dalam satu sub-katagori merupakan anggota dari katagori yang lebih umum. Mobil adalah ( is-a ) kendaraan bermotor Truk adalah ( is-a ) kendaraan bermotor Sepeda Motor adalah ( is-a ) kendaraan bermotor

Objek yang dikelompokkan dalam satu kelas menshare sekumpulan atribut dan perilaku. Jadi, seluruh objek kendaraan bermotor memiliki sekumpulan atribut dan perlikau yang juga dimiliki oleh objek dari mobil. Keterkaitan antar kelas dalam relasi is-a berasal dari kenyataan bahwa sub kelas memiliki atribut dan perilaku yang dimiliki kelas induk, ditambah atribut dan perilaku yang dimiliki oleh sub kelas tersebut.

Pewarisan/Inheritance Superclass ( kelas dasar atau kelas induk ) Merupakan kelas yang lebih general dalam relasi is-a Subclass ( kelas turunan atau kelas anak ) Merupakan kelas yang lebih spesifik dalam relasi is-a Objek yang dikelompokkan dalam sub kelas memiliki atribut dan perilaku kelas induk, dan juga atribut dan perilaku tambahan. (Jadi, kumpulan atribut dan perilaku sub kelas lebih besar dari super kelas-nya)

Relasi is-a antar superclass dan subclassesnya disebut dengan pewarisan atau inheritance Kita mengatakan subclass mewarisi suatu superclass (atau juga bisa dikatakan sebuah subclass turunan dari suatu superclass)

Object Relationship Diagrams Bagaimana menyajikan relasi pewarisan ini? Menggunakan diagram relasi objek (diagram kelas). Mengidentifikasi perbedaan antara kelas-kelas yang terlibat dalam relasi Bagaimana sub kelas berbeda dengan super kelas Bagaimana sub kelas berbeda satu dengan yang lainnya.

Relasi pewarisan digambarkan sebagai berikut : Super kelas Kendaraan Bermotor Mobil Sub Kelas

Super kelas memilki beberapa sub kelas Kendaraan Bermotor Mobil Truk Sepeda Motor

Setiap objek memiliki atribut dan perilaku perilaku Kendaraan Bermotor #Model #Thn Pembuatan +Bergerak() Atribut

Mobil, truk dan sepeda motor memiliki atribut model dan Thn Pembuatan serta perilaku bergerak Namun, setiap sub kelas harus berbeda satu dengan yang lainnya. Jika tidak, tidak ada alasan untuk membuat sub kelas tersebut Misalkan semua mobil memiliki atribut tambahan penumpang (yang menunjukkan jumlah maks yang bisa diangkut) Kendaraan Bermotor #Model #Thn Pembuatan +Bergerak() Mobil Truk Sepeda Motor

Misalkan truk memiliki atribut tambahan daya angkut dan perilaku memuat barang dan membongkar muatan, Maka diagram lengkap akan menunjukkan Semua truk akan memiliki atribut model, tahun pembuatan dan daya angkut, dan perilaku bergerak, memuat barang, dan membongkar muatan

Maka gambar menjadi seperti dibawah ini Kendaraan Bermotor #Model #Thn Pembuatan +Bergerak() Mobil Truk Sepeda Motor -penumpang

Hirarki Pewarisan Relasi pewarisan selalu ditunjukkan dengan sub kelas diletakkan di bawah super kelas, untuk menekankan sifat hirarkis relasi Kita dapat memiliki multi layer pewarisan Misal kelas truk bisa saja menjadi super kelas dari truk pickup, truk dump, dan truk tangki

Hirarki Pewarisan

Dalam hirarki pewarisan, perlu diketahui bahwa pada setiap level pewarisan, sub kelas melanjutkan pewarisan dari super kelas-nya. Truk Pickup adalah sebuah truk dan juga kendaraan bermotor Berarti setiap sub kelas akan mendapatkan atribut dan perilaku dari setiap super kelas yang berada di level atasnya Truk pickup akan memiliki seluruh atribut dan perilaku seuatu kendaraan bermotor, ditambah dengan atribut dan/atau perilaku suatu truk, ditambah dengan atribut dan perilaku dari truk pickup itu sendiri

Implementasi dalam Bahasa Pemrograman (C++) Sintaks : class Anak : public Induk { // deklarasi badan kelas }

Implementasi dalam Bahasa Pemrograman (C++) class KendaraanBermotor { protected: public: }; char model[20]; int thnpembuatan; KendaraanBermotor(char m[], int thn) { } strcpy(model, m); thnpembuatan = thn; void bergerak() { cout << Kendaraan Motor : bergerak << endl; } class Mobil: public KendaraanBermotor { private: public: }; int penumpang; Mobil(char m[], int thn, int pnmp) : KendaraanBermotor(m, thn) { } penumpang = pnmp; void memuatpenumpang() { cout << Memuat Penumpang << endl; }

Implementasi dalam Bahasa Pemrograman (Java) Sintaks : class Anak extends Induk { // deklarasi badan kelas }

Implementasi dalam Bahasa Pemrograman (Java) class KendaraanBermotor { } protected String model; protected int thnpembuatan; public KendaraanBermotor(String m, int thn) { } model = m; thnpembuatan = thn; public void bergerak() { System.out.println ( Kendaraan Motor : bergerak \n ); } class Mobil extends KendaraanBermotor { } private int penumpang; public Mobil(String m, int thn, int pnmp) } { super (m) penumpang =pnpm; public void memuatpenumpang() { System.out.println ( Memuat Penumpang \n ); }

Aksesabilitas Anggota private Tidak dapat diakses oleh kelas lain Akses/manipulasi melalui fungsi anggota protected Dapat diakses oleh kelas turunan public Dapat diakses oleh sebarang kelas

Catatan Kelas turunan dapat mengakses atribut kelas induk dengan yang protected atau public. Atribut yang private tidak diturunkan dari kelas induk ke kelas anak.

Kelas turunan DAPAT mengakses setiap public member kelas dasar, kelas lain juga DAPAT mengakses member kelas dasar secara langsung. Kelas turunan TIDAK DAPAT mengakses private member kelas dasar, kelas lain juga TIDAK DAPAT mengakses member kelas dasar secara langsung. Kelas turunan DAPAT mengakses setiap protected member kelas dasar, TETAPI kelas lain TIDAK DAPAT mengakses member kelas dasar secara langsung.

KonstRuktor Tidak diwariskan membuat kontruktor pada kelas anak atau menggunakan default konstruktor. Konstuktor kelas induk dipanggil dari kelas anak Konstuktor kelas induk dipanggil dari kelas anak dengan keyword C++ Konstruktor_kelas_anak(param1, param2, param3,.., param n) : konstruktor_kelas_induk (param1, param2) Java super() atau super(param 1, param2,, param n)