IKG2I4 / Software Project I

dokumen-dokumen yang mirip
IKG2I4 / Software Project I

IKG2I4 / Software Project I

IKG2I4 / Software Project I

IKG2I4 / Software Project I

8 - Overriding dan Overloading

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

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OOP: PEWARISAN / INHERITANCE

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

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

Inheritance dan Kata Kunci static

Inheritance (Pewarisan) Pengertian dasar inheritance

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Pemrograman Berorientasi. Abstract & Interface

Bahasa Pemrograman :: Polimorfism and Abstraction

IKG3A3 / Software Project II

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

PEMROGRAMAN BERORIENTASI OBJEK

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

Pemrograman Berorientasi. Inheritance

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

LAPORAN RESMI INHERITANCE

INTERAKSI ANTAR OBJECT

Bahasa Pemrograman :: Inheritance

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

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Jobsheet 09. Overloading and Overriding Method

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Bahasa Pemrograman 2.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek Danu Wira Pangestu

Konsep Dasar Pemrograman Berorientasi Objek

Pemrograman Berorientasi. Class dan Obyek 2

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

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

Pemrograman Berorientasi. Polimorfisme dan Binding

KONSEP OOP: PEWARISAN / INHERITANCE

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

Bahasa Pemrograman 2.

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Object Oriented Programming 1

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

Bahasa Pemrograman 2.

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

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

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

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

Gambar 1: Hirarki class

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

ABSTRACT CLASS. Imam Fahrur Rozi

Composition dan Inheritance

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

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

MINGGU V : PBO (PEWARISAN)

Class & Object 2. Imam Fahrur Rozi

PRAKTIKUM I Class dan Obyek

(INHERITANCE) Nurochman

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

Membuat dan Menggunakan Class

Pewarisan, Polimorfisme, dan Interface

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Modul Bahasa Pemrograman 1

Praktikum 3 Konsep Class, Attribute dan Method

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

Pertemuan 4 Halaman 1/1. Class Inheritance

UNIVERSITAS GUNADARMA

OOP Java. 05 Encapsulation & Inheritance

Polymorphism (Polimorfisme)

subclass class manapun private default protected public package yang sama

Pewarisan (Inheritance)

Bahasa Pemrograman 2.

Pemrograman Lanjut Review Class dan Object PTIIK

Pertemuan 11 Object Oriented Program

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

MODUL 4 ENCAPSULATION, INHERITANCE DAN POLYMORPHISM

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

Pemrograman Berbasis Objek (Polimorfisme)

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

BAB 6 INHERITANCE Tujuan:

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Dasar-Dasar OOP di Java

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

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

KONSEP OOP: POLYMORPHISM

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Pemrograman Berorientasi Obyek. Ramos Somya

INHERITANCE. Gambar 1. Kelas Hierarki Java

MODUL 1. Class, Object, Constructor dan Method

KONSEP Pemrograman Berorientasi Objek KARMILASARI

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Review PBO. Ramos Somya

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

Transkripsi:

IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 3 1 02/02/2016 8:59:08

WEEK 3 Inheritance Pewarisan class (atribut dan method) Kata kunci extends Superclass dan subclass Access protected Overriding Kata kunci super Final class dan final method Overloading 2 02/02/2016 8:59:08

INHERITANCE Dengan menggunakan konsep inheritance, kita dapat membuat class turunan dari class lainnya. Class turunan mewarisi semua atribut dan method dari class induk. Misalkan kita membuat class Balok sebagai turunan dari class Segiempat. Di dalam class Segiempat ada atribut panjang & lebar serta method hitungluas() dan hitungkeliling(). Maka di dalam class Balok akan otomatis ada atribut dan method tersebut, tanpa perlu secara eksplisit kita menuliskan atribut/method itu. Artinya, Balok menerima seluruh warisan dari Segiempat meliputi attribute dan method. 3 02/02/2016 8:59:08

INHERITANCE Segiempat Balok Prisma 4 02/02/2016 8:59:08

INHERITANCE Class induk disebut superclass. Class turunan disebut subclass. Contoh lain: MahasiswaD3, MahasiswaS1, MahasiswaS2, MahasiswaS3 semuanya adalah turunan dari class Mahasiswa. Inheritance dapat dibuat bertingkat-tingkat, misalkan class Kucing adalah turunan dari class Mammalia yang diturunkan dari class Vertebrata yang diturunkan dari class Animal, yang merupakan turunan dari class MakhlukHidup. 5 02/02/2016 8:59:08

CLASS INDUK (SUPER CLASS) class Segiempat{ int panjang; int lebar;. int hitungluas(){ } int hitungkeliling() { } } 6 02/02/2016 8:59:08

CLASS ANAK (SUBCLASS) class Balok extends Segiempat{ int tinggi; int hitungvolume(){ return (hitungluas() * tinggi); } } 7 02/02/2016 8:59:08

CLASS ANAK (SUBCLASS) class Prisma extends Segiempat{ int tinggi; int hitungvolume(){ return (1/3 * hitungluas() * tinggi); } } 8 02/02/2016 8:59:08

WHY WE NEED INHERITANCE? Untuk reusability: Misalkan kita sudah punya kelas Titik2D (x,y), untuk membuat kelas Titik3D cukup extends dari Titik2D, lalu menambahkan atribut z. Mengurangi redundancy coding. Memudahkan maintenance sourcecode Misal ada perubahan format NIM di class Mahasiswa (dari integer diubah menjadi string), maka kita hanya perlu repot melakukan perubahan di class Mahasiswa saja. Adapun di class MahasiswaD3, MahasiswaS1, MahasiswaS2 tidak perlu dilakukan perubahan apa-apa. 9 02/02/2016 8:59:08

SINGLE VS MULTIPLE INHERITANCE Di Java hanya ada single-inheritance. Jadi suatu class hanya boleh punya 1 induk saja. Bila Anda ingin menerapkan multiple-inheritance, gunakanlah Interface-Implement (akan dijelaskan di Minggu ke-6). Pada bahasa lain seperti C++ ada multiple inheritance. Mengapa Java tidak menyediakan fitur multiple-inheritance? Jawab: karena bikin pusing programmer. Java dibuat dengan tujuan agar mudah dipelajari dan simple bagi programmer. 10 02/02/2016 8:59:08

ACCESS PROTECTED Pada slide sebelumnya telah dibahas access public vs access private. Access protected sifatnya pertengahan (di antara public dan private), bila diterapkan pada atribut/ method maka akses protected ini berarti: Dapat diakses oleh semua class turunannya Tidak dapat diakses oleh yang bukan class turunannya 11 02/02/2016 8:59:08

OVERRIDING Overriding adalah pendefinisian ulang sebuah method di class induk, misalnya karena kita membutuhkan rumus/algoritma berbeda yang spesifik untuk class anak. Misalkan pada class Balok turunan Segiempat. Secara otomatis (by default), Balok mewarisi method hitungluas() dari Segiempat, dengan rumus panjang kali lebar. Kita ingin meng-override method tsb dengan rumus baru misalnya rumus luas permukaan. class Balok extends Segiempat{ Public int hitungluas(){ }} 12 02/02/2016 8:59:08 return ((2*pjg*lb)+(2*pjg*tgg)+(2*lbr*tgg));

OVERRIDING Perhatikan bedanya ketika kita memanggil method hitungluas untuk sebuah object Balok: public static void main(string args[]){ Balok ba = new Balok(7,3,5); ba.hitungluas(); // menghitung luas permukaan } 13 02/02/2016 8:59:08

ATURAN OVERRIDING Ketika kita membuat method override di class anak, aturannya adalah sbb: Nama method harus sama dengan method di class induk: contoh hitungluas() Daftar parameter harus sama: hitungluas(/*kosong*/) Return type harus sama: void hitungluas() 14 02/02/2016 8:59:08

SUPER Syntax super dapat digunakan untuk mengacu ke kelas induk. Misalnya method printatribut pada Balok ingin memanggil method printatribut di Segiempat. Class Balok extends Segiempat { } public void printatribut(){ } super.printatribut(); //menampilkan panjang & lebar System.out.println(tinggi); 15 02/02/2016 8:59:08

THIS Syntax this digunakan untuk mengacu pada kelas dirinya sendiri, misalnya untuk membedakan atribut dengan variabel lokal. Contohnya: class Segiempat{ } private int panjang; public void setpanjang(int panjang){ } this.panjang = panjang; 16 02/02/2016 8:59:08

FINAL CLASS Final class artinya suatu class tidak dapat diturunkan lagi (tidak boleh punya anak). Pada contoh sebelumnya, class Kucing adalah turunan class Mamalia. Bila class Mamalia dijadikan final, maka class Kucing tidak boleh mengextends ke class Mamalia. Contoh untuk class Segiempat: final class Segiempat{ } Maka class Segiempat tidak bisa diextends oleh class Balok dan Prisma. 17 02/02/2016 8:59:08

FINAL ATTRIBUTE Final atribut digunakan untuk mendefinisikan konstanta. Contoh: class Lingkaran { } double radius; final double pi=3.14; 18 02/02/2016 8:59:08

FINAL METHOD Method yang dibuat final artinya tidak dapat diturunkan/dioverride. Contoh: bila method hitungluas() pada Segiempat dibuat final maka class turunannya yaitu class Balok dan class Prisma tidak bisa meng-override method hitungluas(). 19 02/02/2016 8:59:08

OVERLOADING Overloading yaitu mendefinisikan beberapa method yang namanya sama, tapi memiliki parameter yang berbeda. Misalnya pada class Titik kita bisa membuat tiga method yang sama: Public void translasi(int dx) Public void translasi(int dx,int dy) Public void translasi(int dx,int dy,int dz) Overloading tidak berhubungan dengan inheritance. 20 02/02/2016 8:59:08

OVERLOADING 21 02/02/2016 8:59:08

OVERLOADING Aturan overloading: Nama method harus sama: void translasi(/*bebas*/) Daftar parameter/argumen method harus berbeda: Berbeda jumlah parameter Atau kalau jumlahnya sama, harus beda tipe datanya Return type boleh sama, juga boleh berbeda Contoh lain, yaitu overloading constructor: public Segiempat() public Segiempat(int p, int l) 22 02/02/2016 8:59:08

REVIEW Pelajari kembali keyword berikut ini: Inheritance extends overriding super, this final class, final atribut, final method overloading 23 02/02/2016 8:59:08

TUGAS PEKAN INI (TUGAS INDIVIDU) 24 02/02/2016 8:59:08

TUGAS PEKAN INI (TUGAS INDIVIDU) 25 02/02/2016 8:59:08

TUGAS PEKAN INI (TUGAS INDIVIDU) 26 02/02/2016 8:59:08

TUGAS PEKAN INI (TUGAS INDIVIDU) 27 02/02/2016 8:59:08

THANK YOU