KONSEP OOP: PEWARISAN / INHERITANCE

dokumen-dokumen yang mirip
KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OOP: PEWARISAN / INHERITANCE

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pemrograman Berbasis Objek Inheritance

Inheritance. Topik 5/17/2013

subclass class manapun private default protected public package yang sama

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance dan Kata Kunci static

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

IKG2I4 / Software Project I

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemrograman Berorientasi. Inheritance

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Modul Bahasa Pemrograman 1

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

BAB 6 INHERITANCE Tujuan:

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

(INHERITANCE) Nurochman

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

Bahasa Pemrograman :: Polimorfism and Abstraction

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

Parent dan Child di Java

Abstract Class dan Interface. Viska Mutiawani, M.Sc

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

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

public class B extends A {... }

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

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

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Bahasa Pemrograman 2.

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Jobsheet 09. Overloading and Overriding Method

KONSEP OOP: POLYMORPHISM

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Praktikum 3 Konsep Class, Attribute dan Method

Membuat dan Menggunakan Class

Pemrograman Berorientasi. Abstract & Interface

Pewarisan, Polimorfisme, dan Interface

8 - Overriding dan Overloading

Gambar 1: Hirarki class

Pewarisan atau Inheritance

Konsep Dasar Pemrograman Berorientasi Objek

LAPORAN RESMI INHERITANCE

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

PEMROGRAMAN BERORIENTASI OBJEK

KONSEP OOP: POLYMORPHISM

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

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

Pemrograman Berorientasi Obyek. Ramos Somya

Pemrograman Berorientasi Objek Danu Wira Pangestu

Konsep Pemrograman Berbasis Obyek

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

BAB II VARIABEL DAN TIPE DATA

Composition dan Inheritance

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

2 TIPE DATA DAN VARIABEL

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

UNIVERSITAS GUNADARMA

Bahasa Pemrograman 2.

MODUL 1 PENGENALAN OOP

Pertemuan 4 Halaman 1/1. Class Inheritance

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

Modul II Object Oriented Programming

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

JOBSHEET 8 INHERITANCE (PEWARISAN)

Polymorphism (Polimorfisme)

Pewarisan (Inheritance)

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

Pemrograman Berorientasi Objek

IKG2I4 / Software Project I

Pertemuan 11 Object Oriented Program

Bahasa Pemrograman :: Inheritance

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

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Pemrograman Lanjut. Class : Deeper Look 2

ABSTRACT CLASS DAN INTERFACE

MINGGU V : PBO (PEWARISAN)

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

MINGGU VII : RELASI ANTAR KELAS

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Polimorfisme dan Binding

Polymorphism. Oleh : Agus Priyanto, M.Kom

Bahasa Pemrograman 2.

Bahasa Pemrograman 2.

OOP Java. 05 Encapsulation & Inheritance

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

IKG2I4 / Software Project I

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

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

ENKAPSULASI Data Hiding

Transkripsi:

PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 KONSEP OOP: PEWARISAN / INHERITANCE Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya

Outline Keyword Inheritance Superclass Subclass Extends Reusability Override This & super Final Class, Final Method

Inheritance (Pewarisan) Pewarisan suatu class pada class lainnya Seorang ayah dapat mewariskan beberapa sifat yang sama pada anak-anaknya, konsep tersebut dikenal dengan istilah inheritance Namun setiap anak dapat memiliki sifat yang berbeda dan tidak dimiliki oleh ayah maupun saudarasaudaranya Suatu class dapat mewariskan class member (atribut dan method) kepada class lain

Inheritance (Pewarisan) Inheritance Inheritans Pewarisan Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Penting untuk Reusability Java Keyword: extends

Syntax Inheritance class subclass extends superclass { // definisi class subclass nama class turunan yang kita buat, merupakan sub-class dari sebuah class lain superclass class yang kita ingin wariskan sifat-sifatnya ke class baru yang kita buat

Ilustrasi Inheritance superclass << extends >> subclass Hasil dari inheritance adalah class member pada superclass akan diwariskan kepada subclass Sehingga subclass juga memiliki class member yang sama dengan superclass Merupakan hubungan Generaliasasi (is-a) (tanda panah dengan segitiga full)

Contoh inheritance class Kendaraan{ boolean mesin; int kapasitas; void jalan(){ void berhenti(){ class Mobil extends Kendaraan { int Tahun; String JenisMobil; String Produsen; class MobilBeraksi{ public static void main(string args[]){ Mobil sedan = new Mobil(); sedan.mesin = true; sedan.kapasitas = 5; sedan.tahun = 2014; sedan.jalan();

class Kendaraan mesin kapasitas jalan( ) berhenti( ) << extends >> class Mobil mesin kapasitas jalan( ) berhenti( ) Class Mobil merupakan turunan dari class Kendaraan, sehingga class member dari Kendaraan otomatis diwariskan kepada Mobil Class Mobil tidak perlu mendefinisikan ulang seluruh class member tersebut, cukup menambahkan class member baru yg hanya ada pada Class Mobil saja.

Manfaat Inheritance Pewarisan Sifat: Superclass ke Subclass Menyusun Hirarki Reusability: (Penggunaan kembali code) kode method bisa ditulis sekali saja dan dapat digunakan oleh semua subclass. Object Complexity: Subclass hanya perlu mengimplementasikan perbedaannya sendiri dan induknya. Objek yang kompleks dapat dibangun dari kumpulan objek lain yang lebih sederhana

Semua Class adalah turunan Kelas Object Dalam Java, semua class, termasuk class yang membangun Java API, adalah subclassesdari superclass Object.

Tipe Inheritans Catatan: java hanya mengenal single superclass tidak ada multiple superclass

Access level pada class member Modifier Class Package Sub-class Class lain public Ya Ya Ya Ya protected Ya Ya Ya Tidak tanpa modifier Ya Ya Tidak Tidak private Ya Tidak Tidak Tidak

Access level pada class member Class member yang memiliki modifier public dapat diakses oleh semua class dimanapun class itu berada Class member yang memiliki modifier protected: dapat diakses hanya oleh class-class yang berada dalam package yang sama dan sub-class pada package yang lain Class member tanpa modifier hanya dapat diakses oleh class-class dalam package yang sama Class member yang memiliki modifier private hanya dapat diakses dari dalam class tersebut saja

//program 9.3a. Nama file:coba.java package prog; public class Coba{ public int vara; protected int varb; int varc; private int vard; public static void main(string args[]){ Coba buat = new Coba(); buat.vara = 1; //sukses buat.varb = 3; //sukses buat.varc = 5; //sukses buat.vard = 7; //sukses

//program 9.3b. Nama file:saja.java package prog; class Saja{ public static void main(string args[]){ Coba akses = new Coba(); akses.vara = 1; //sukses akses.varb = 3; //sukses akses.varc = 5; //sukses akses.vard = 7; //error

//program 9.3c. Nama file:turunan.java import prog.coba; class Turunan extends Coba{ public static void main(string args[]){ Turunan sifat = new Turunan(); sifat.vara = 1; //sukses sifat.varb = 3; //sukses sifat.varc = 5; //error sifat.vard = 7; //error

//program 9.3d. Nama file:lagi.java import prog.coba; class Lagi{ public static void main(string args[]){ Coba baca = new Coba(); baca.vara = 1; //sukses baca.varb = 3; //error baca.varc = 5; //error baca.vard = 7; //error

Ilustrasi kode program package prog class Coba vara varb varc << extends >> << import >> class Lagi objek baca vara vard class Saja objek akses class Turunan objek sifat vara varb vara varb varc

Class Saja, Turunan, dan Lagi tidak dapat mengakses vard karena vard bersifat private sehingga hanya bisa diakses dari dalam class Coba Class Turunan dan Lagi tidak dapat mengakses varc karena varc bersifat package-private sehingga hanya bisa diakses dari dalam package prog Class Lagi tidak dapat mengakses varb karena varb bersifat protected sehingga hanya bisa diakses dari dalam package prog atau dari class yang merupakan sub-class Coba

Overriding Method dalam Inheritans Anak kadang sedikit berbeda dari bapaknya Overriding adalah membuat method yang menggantikan method induknya. Jadi method yang sudah diturunkan dari kelas induk kita (superclass), kita buat lagi dengan nama yang sama tapi dengan isi yang berbeda pada kelas turunan (subclass). Dalam java dikenal dengan penambahan kata kunci @override. Teknik ini digunakan untuk mengubah definisi dari function agar lebih spesifik dan sesuai dengan sub-class yang dirancang

// program 9.4. contoh overriding class Kendaraan{ boolean mesin; int kapasitas; void jalan(){ System.out.println("kendaraan dijalankan"); void berhenti(){ class Mobil extends Kendaraan{ @Override void jalan(){ System.out.println("masukkan kunci"); System.out.println("putar kunci"); System.out.println("injak gas");

public Class MobilBeraksi { public static void main(string args[]){ Mobil sedan = new Mobil(); sedan.jalan(); Kelas Mobil dan Kelas Kendaraan sama-sama memiliki fungsi jalan() Fungsi jalan() pada kelas Mobile meng-override fungsi jalan() dari kelas induknya Pemanggilan fungsi jalan() dari objek Mobil akan mengeksekusi fungsi jalan() dari kelas Mobil (subclass) bukan fungsi jalan yang ada pada kelas Kendaraan (superclass)

this vs super Keyword this mengacu pada atribut dan method yang terdapat pada class itu sendiri Contoh: this.cetak() Keyword super mengacu pada atribut dan method yang terdapat pada class parentnya. Contoh: super.cetak()

class Parent{ public int x = 5; Contoh this & super class Child extends Parent { public int x = 10; public void Info(int x) { System.out.println("Nilai x sebagai parameter = " + x); System.out.println("Data member x di class Child = " + this.x); System.out.println("Data member x di class Parent = " + super.x); public class NilaiX{ public static void main(string[] args) { Child tes = new Child(); tes.info(20); // Tuliskan output dari perintah ini!

Final Class Class yang tidak boleh di extends lagi dapat dibuat dengan menambahkan keyword final Contoh: public final class KelasFinal {... Contoh final class dalam java package: java.lang.system java.lang.string

Final Method Method yang tidak dapat di override oleh sub class Contoh deklarasi: public final void contohfinalmethod() {...

Final Variabel Variabel Final adalah variabel yang hanya dapat diinisialisasi satu kali saja. Contoh deklarasi: public final double nilaieuler;

Latihan Buat 2 buah kelas berikut Kelas Induk: Persegi Atribut: panjang, lebar Method: HitungLuas, set-get Kelas Turunan: Kotak Atribut: tinggi Method: HitungLuas (override), HitungVolume