JOBSHEET 8 INHERITANCE (PEWARISAN)

dokumen-dokumen yang mirip
Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

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

7 Inheritance. + berjalan() + berhenti PENDAHULUAN

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

PEMROGRAMAN BERORIENTASI OBJEK

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

BAB 6 INHERITANCE Tujuan:

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Inheritance dan Kata Kunci static

Pewarisan atau Inheritance

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

subclass class manapun private default protected public package yang sama

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

Modul Bahasa Pemrograman 1

(INHERITANCE) Nurochman

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

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

public class B extends A {... }

Pemrograman Berorientasi Objek Danu Wira Pangestu

Praktikum Inheritace PERCOBAAN 1 Tujuan: Prosedur Percobaan:

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

8 - Overriding dan Overloading

ABSTRACT CLASS DAN INTERFACE

Pemrograman Berorientasi. Inheritance

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Bahasa Pemrograman 2.

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

Pertemuan 11 Object Oriented Program

Bahasa Pemrograman 2.

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

Konsep Pemrograman Berbasis Obyek

Object Oriented Programming 1

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berorientasi. Abstract & Interface

Inheritance dan Polimorfisme

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

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

Composition dan Inheritance

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

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

IKG2I4 / Software Project I

JOBSHEET POLIMORFISME

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

:: abstract class + interface. :: abstract class

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

MINGGU V : PBO (PEWARISAN)

Pemrograman Berorientasi Obyek. Ramos Somya

PRAKTIKUM I Class dan Obyek

Dasar-Dasar OOP di Java

Modul II Object Oriented Programming

Bahasa Pemrograman :: Polimorfism and Abstraction

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

KONSEP OOP: PEWARISAN / INHERITANCE

LAPORAN RESMI INHERITANCE

STRUKTUR DENGAN ARRAY DAN FUNCTION

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

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

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

Dasar-Dasar OOP di Java

Konsep Dasar Pemrograman Berorientasi Objek

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

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

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

Pemrograman Berorientasi Obyek. Konsep OOP

BAB 7 OVERLOADING DAN OVERRIDING

MODUL 1 PENGENALAN OOP

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

SILABUS MATA KULIAH PEMROGRAMAN JAVA

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 Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Berorientasi Objek

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

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

KONSEP Pemrograman Berorientasi Objek KARMILASARI

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

Konsep Pemrograman Berorientasi Obyek

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Polymorphism (Polimorfisme)

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

JOBSHEET 3 CLASS DAN OBJEK

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

Transkripsi:

JOBSHEET 8 INHERITANCE (PEWARISAN) 1. KOMPETENSI 1. Memahami konsep dasar inheritance atau pewarisan. 2. Mampu membuat suatu subclass dari suatu superclass tertentu. 3. Mampu mengimplementasikan konsep single dan multilevel inheritance. 4. Mampu membuat objek dari suatu subclass dan melakukan pengaksesan terhadap atribut dan method baik yang dimiliki sendiri atau turunan dari superclass nya. 2. PENDAHULUAN 2.1 Pewarisan / inheritance Inheritance atau pewarisan merupakan suatu cara untuk menurunkan suatu class yang lebih umum menjadi suatu class yang lebih spesifik. Inheritance adalah salah satu ciri utama suatu bahasa program yang berorientasi pada objek. Inti dari pewarisan adalah sifat reusable dari konsep object oriented. Setiap subclass akan mewarisi sifat dari superclass selama bersifat protected ataupun public. Dalam inheritance terdapat dua istilah yang sering digunakan. Kelas yang menurunkan disebut kelas dasar (base class/super class), sedangkan kelas yang diturunkan disebut kelas turunan (derived class/sub class). Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara 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. Berikut adalah contoh deklarasi inheritance. public class B extends A {... } Contoh diatas memberitahukan kompiler Java bahwa kita ingin meng-extend class A ke class B. Dengan kata lain, class B adalah subclass (class turunan) dari class A, sedangkan class A adalah parent class dari class B. Karakteristik pada super class akan dimiliki juga oleh subclassnya. Terdapat 3 bentuk pewarisan: single inheritance, multilevel inheritance, dan multiple inheritance. Namun yang akan dibahas pada jobsheet ini adalah single inheritance dan multilevel inheritance. 1. Single Inheritance Single inheritance adalah Suatu class yang hanya mempunyai satu parent class. Contoh:

Gambar 1. Contoh Single Inheritance Berdasarkan Gambar 1 dapat diketahui bahwa class B merupakan subclass yang mempunyai satu parent yaitu class A sehingga disebut single inheritance. 2. Multilevel Inheritance Multilevel inheritance adalah Suatu subclass bisa menjadi superclass bagi class yang lain. Contoh: Gambar 2. Contoh Multilevel Inheritance Berdasarkan Gambar 2 diatas dapat dilihat bahwa class B merupakan subclass dari class A, sehingga dalam hal ini class A adalah superclass dan class B adalah subclass. Kemudian class B yang awalmya merupakan subclass mempunyai subclass lagi yaitu class C sehingga class B menjadi superclass dari class C, begitu juga seterunya jika class C memilki subclass lagi. Pada class diagram, pewarisan digambarkan dengan sebuah garis tegas, dengan segitiga di ujungnya. Class yang dekat pada segitiga merupakan superclass, sedangkan class yang jauh dari segitiga merupakan subclass. Untuk membentuk sebuah subclass, keyword extends digunakan (lihat contoh pada sesi Implementasi Pewarisan ). Berikut ini adalah contoh class diagram dari pewarisan:

Gambar 3 Contoh class diagram dalam inheritance Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan). Di dalam java, kontrol pengaksesan dapat digambarkan dalam tabel berikut ini: 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 /superclass super.namamethod() Merujuk/memanggil method dari parent class /superclass super() Merujuk / memanggil konstruktor parent class /superclass Hanya bisa digunakan dibaris pertama dalam kontruktor. super(parameter1, parameter2,dst) Merujuk / memanggil konstruktor berparamter dari superklas Ketika mmebuat objek dari subclass, pada saat itu juga objek pada superclass juga akan terbentuk. Dengan katalain, ketika kontruktor subclass dijalankan untuk membuat objek, saat itu juga kontruktor superclass akan berjalan. Jadi di setiap konstruktor subclass, pada baris pertama konstruktor subclass tersebut akan dipanggil konstruktor superclass. Sebelum subclass menjalankan kontruktornya sendiri, subclass akan menjalankan kontruktor superclass terlebih dahulu.

3. PERCOBAAN 1 (extends) A. TAHAPAN PERCOBAAN 1. Buatlah sebuah class parent/superclass dengan nama ClassA.java 2. Buatlah sebuah class anak/subclass dengan nama ClassB.java 3. Buatlah class Percobaan1.java untuk menjalankan program diatas! 4. Jalankan program diatas, kemudian amati apa yang terjadi!

B. PERTANYAAN 1. Pada percobaan 1 diatas program yang dijalankan terjadi error, kemudian perbaiki sehingga program tersebut bisa dijalankan dan tidak error! 2. Jelaskan apa penyebab program pada percobaan 1 ketika dijalankan terdapat error! 4. PERCOBAAN 2 (Hak Akses) A. TAHAPAN PERCOBAAN 1. Buatlah sebuah class parent/superclass dengan nama ClassA.java 2. Buatlah sebuah class anak/subclass dengan nama ClassB.java 3. Buatlah class Percobaan2.java untuk menjalankan program diatas!

4. Jalankan program diatas, kemudian amati apa yang terjadi! B. PERTANYAAN 1. Pada percobaan 2 diatas program yang dijalankan terjadi error, kemudian perbaiki sehingga program tersebut bisa dijalankan dan tidak error! 2. Jelaskan apa penyebab program pada percobaan 1 ketika dijalankan terdapat error! 5. PERCOBAAN 3 (Super) A. TAHAPAN PERCOBAAN 1. Buatlah sebuah class parent/superclass dengan nama Bangun.java 2. Buatlah sebuah class anak/subclass dengan nama Tabung.java

3. Buatlah class Percobaan3.java untuk menjalankan program diatas! 4. Jalankan program diatas! B. PERTANYAAN 1. Jelaskan fungsi super pada potongan program berikut di class Tabung!

2. Jelaskan fungsi super dan this pada potongan program berikut di class Tabung! 3. Jelaskan mengapa pada class Tabung tidak dideklarasikan atribut phi dan r tetapi class tersebut dapat mengakses atribut tersebut! 6. PERCOBAAN 4 (super contructor) A. TAHAPAN PERCOBAAN 1. Buatlah tiga file dengan nama ClassA.java, ClassB.java, dan ClassC.java, seperti pada kode program dibawah ini! ClassA.java ClassB.java ClassC.java

2. Buatlah class Percobaan4.java untuk menjalankan program diatas! 3. Jalankan program kemudian amati apa yang terjadi! B. PERTANYAAN 1. Pada percobaan 4 sebutkan mana class yang termasuk superclass dan subclass, kemudian jelaskan alasannya! 2. Ubahlah isi konstruktor default ClassC seperti berikut:

Tambahkan kata super() di baris Pertaman dalam konstruktor defaultnya. Coba jalankan kembali class Percobaan4 dan terlihat tidak ada perbedaan dari hasil outputnya! 3. Ublah isi konstruktor default ClassC seperti berikut: Ketika mengubah posisi super() dibaris kedua dalam kontruktor defaultnya dan terlihat ada error. Kemudian kembalikan super() kebaris pertama seperti sebelumnya, maka errornya akan hilang. Perhatikan hasil keluaran ketika class Percobaan4 dijalankan. Kenapa bisa tampil output seperti berikut pada saat instansiasi objek test dari class ClassC Jelaskan bagaimana urutan proses jalannya konstruktor saat objek test dibuat! 4. Apakah fungsi super() pada potongan program dibawah ini di ClassC! 7. PERCOBAAN 5 A. TAHAPAN PERCOBAAN Perhatikan diagram class dibawah ini:

1. Buatlah class Karyawan 2. Buatlah class Manager

3. Buatlah class Staff 4. Buatlah class inheritance1

5. Jalankan program, maka tampilanya adalah sebagai berikut: B. PERTANYAAN 1. Sebutkan class mana yang termasuk super class dan sub class dari percobaan 1 diatas! 2. Kata kunci apakah yang digunakan untuk menurunkan suatu class ke class yang lain?

3. Perhatikan kode program pada class Manager, atribut apa saja yang dimiliki oleh class tersebut? Sebutkan atribut mana saja yang diwarisi dari class Karyawan! 4. Jelaskan kata kunci super pada potongan program dibawah ini yang terdapat pada class Manager! 5. Program pada percobaan 1 diatas termasuk dalam jenis inheritance apa? Jelaskan alasannya! 8. PERCOBAAN 2 A. TAHAPAN PERCOBAAN 1. Perhatikan digra class dibawah ini

2. Berdasarkan program yang sudah anda buat pada percobaan 1 sebelumnya tambahkan dua class yaitu class StaffTetap dan class StaffHarian. Kode Programnya adalah sebagai berikut Class StaffTetap.java Class StaffHarian.java 3. Setelah membuat dua class diatas kemudian edit class inheritance1.java menjadi sebagai berikut:

4. Jalankan program maka tampilanny adalah sebagai berikut: B. PERTANYAAN 1. Berdasarkan class diatas manakah yang termasuk single inheritance dan mana yang termasuk multilevel inheritance? 2. Perhatikan kode program class StaffTetap dan StaffHarian, atribut apa saja yang dimiliki oleh class tersebut? Sebutkan atribut mana saja yang diwarisi dari class Staff! 3. Apakah fungsi potongan program berikut pada class StaffHarian 4. Apakah fungsi potongan program berikut pada class StaffHarian

9. Perhatikan kode program dibawah ini yang terdapat pada class StaffTetap Terlihat dipotongan program diatas atribut gaji, lembur dan potongan dapat diakses langsung. Kenapa hal ini bisa terjadi dan bagaimana class StaffTetap memiliki atribut gaji, lembur, dan potongan padahal dalam class tersebut tidak dideklarasikan atribut gaji, lembur, dan potongan? 10. TUGAS 1. Buatlah sebuah program dengan konsep pewarisan seperti pada class diagram berikut ini. Kemudian buatlah instansiasi objek untuk menampilkan data pada class Mac, Windows dan Pc!.