SlideShare a Scribd company logo
TI009 – Pemrograman Berorientasi Objek
LECTURE NOTE
Inheritance
Debby Ummul Hidayah, S.Kom., M.MSI
debbyummul@gmail.com
TI009 – Pemrograman Berorientasi Objek
LEARNING OUTCOMES
Mahasiswa mampu memahami dan menerapkan penggunaan inheritance.
OUTLINE MATERI
Inheritance:
- Single inheritance
- Multilevel inheritance
- Access control
- Konstruktor tidak diwariskan
- Super keyword
TI009 – Pemrograman Berorientasi Objek
ISI
1. Mengenal Inheritance
Dalam konsep pemrograman berorientasi objek, inheritance yang memungkinkan
hubungan di mana ada class yang mewarisi semua attribute dan method dari class lain.
Class baru yang lebih spesifik disebut subclass atau class turunan, sedangkan class yang
diturunkan disebut superclass.
Untuk menguji inheritance, cara lain yang dapat digunakan adalah menggunakan
rumus “IS A”. Kekurangan metode tersebut adalah hanya berlaku searah (dari subclass
superclass).
Contoh:
- Mamalia (mempunyai daun telinga, beranak, menyusui). Contoh: anjing, kucing,
marmut. Cara mengujinya adalah: anjing IS A mamalia.
- Kendaraan (mempunyai kemudi). Contoh: mobil, motor, pesawat. Cara mengujinya
adalah: mobil IS A kendaraan
2. Latihan 1
Kita akan menggunakan kata kunci extends. Kata kunci ini digunakan untuk
membuat class turunan. Strukturnya yaitu:
public class [nama subclass] extends [nama super class)] {}
Contoh: public class Kamus extends Buku {}
Sekarang kita coba membuat program yang menerapkan prinsip inheritance
tersebut.
a. Buatlah program yang akan menjadi super class
TI009 – Pemrograman Berorientasi Objek
b. Buatlah program yang akan menjadi sub class dengan menggunakan kata kunci
extends
c. Buatlah class testernya
Source code-nya:
package latihaninheritance1;
//class ini bertindak sebagai super class
class A {
int x;
int y;
void getNilai() {
System.out.println("nilai x: " + x + " nilai y:" + y);
}
}
//class ini bertindak sebagai subclass
class B extends A {
int z;
void getJumlah() {
System.out.println("Jumlah: " + (x + y + z));
}
}
TI009 – Pemrograman Berorientasi Objek
//class ini akan digunakan sebagai class tester
public class LatihanInheritance1 {
public static void main(String[] args) {
// TODO code application logic here
A ortu = new A();
B anak = new B();
System.out.println("-----Super Class-----");
ortu.x = 43;
ortu.y = 33;
ortu.getNilai();
System.out.println("---------------------");
System.out.println(" ");
System.out.println("------Subclass-------");
anak.x = 5;
anak.y = 23;
anak.getNilai();
anak.z = 25;
anak.getJumlah();
}
}
Keterangan:
Dari kode program diatas, kita dapat melihat bahwa bahwa method getNilai() muncul
pada class B. Padahal kita tidak melihat adanya method getNilai() di class B. Hal ini
membuktikan bahwa terdapat proses inheritance dari class A ke class B. Hubungan ini
TI009 – Pemrograman Berorientasi Objek
bersifat generalization dimana ClassChild mempunyai semua sifat dari ClassParent.
Oleh karena itu, pada ClassChild cukup ditambahkan bagian yang memang merupakan
spesifik milik ClassChild.
3. Latihan 2
Pada program diatas, setiap atribut yang digunakan bertipe default. Dengan kata lain,
atribut pada program diatas tidak terenkapsulasi sehingga dengan mudah kita dapat
mengisi nilai x dan y tanpa mengakses method apapun dari luar class A maupun B. Pada
kelas teori, kita belajar untuk melakukan enkapsulasi dengan menggunakan hak akses
yang bertipe private. Untuk tahap latihan, silahkan ubah program diatas menjadi seperti
dibawah ini:
TI009 – Pemrograman Berorientasi Objek
4. Latihan 3
a. Buatlah sebuah class lagi yang mewarisi class B, misalkan class C:
TI009 – Pemrograman Berorientasi Objek
b. Kemudian ubahlah class InheritanceTest menjadi seperti dibawah ini:
Apakah program yang dibuat diatas menghasilkan error? Jika Error, class apa
yang error dan apa bunyinya?
c. Jika keyword this digunakan untuk membedakan variabel local dengan atribut suatu
objek, maka untuk membedakan atribut superclass dengan atribut subclass digunakan
keyword super. Buatlah program dibawah ini:
TI009 – Pemrograman Berorientasi Objek
d. Untuk pengaksesan constructor method dari super class, digunakan bentuk sebagai
berikut :
super (argumen1, argumen2, …) ;
Buatlah program dibawah ini:
TI009 – Pemrograman Berorientasi Objek
5. Latihan 4
Overriding method
TI009 – Pemrograman Berorientasi Objek
6. Soal
Studi kasus:
- Sebuah institusi membagi karyawannya kedalam tiga kelompok yaitu: karyawan
tetap, karyawan kontrak, dan karyawan harian.
- Setiap karyawan memiliki NIK, nama, alamat, TTL, jenis kelamin, status, jumlah
anak, total penghasilan.
- Karyawan harian mempunyai upah harian sebesar Rp 15.000 yang akan diberikan
pada akhir bulan dengan nilai sesuai dengan jumlah hari masuk kerjanya.
- Karyawan kontrak mempunyai gaji pokok
- Karyawan tetap mempunyai gaji pokok, tunjangan kesehatan 10% dari gaji, tunjangan
istri 20% dari gaji pokok bagi yang sudah menikah, tunjangan anak 10% per anak
bagi yang sudah menikah dan maksimal 3 anak yang mendapat tunjangan.
- Gaji pokok ditentukan berdasarkan golongan dengan ketentuan sbb :
Gol A = Rp 1.000.000, gol B = Rp 2.000.000, gol C = Rp 3.000.000, gol D = Rp
4.000.000
- Gaji pokok karyawan kontrak adalah 80% dari gaji pokok.
Contoh tampilan:
---------------KARYAWAN------------------
NIK :
Nama Karyawan :
Alamat :
Golongan :
Status :
Jenis Kelamin :
Jumlah Anak :
TI009 – Pemrograman Berorientasi Objek
Penghasilan :
------------KARYAWAN HARIAN-------
Nama Karyawan :
Masuk Kerja :
Upah Per Hari :
Gaji Pokok :
----------KARYAWAN KONTRAK-------
Nama Karyawan :
Gaji Pokok :
-----------KARYAWAN TETAP------------
Nama Karyawan :
Gaji Pokok :
Tunjangan Kesehatan :
Tunjangan Istri :
Tunjangan Anak :
Total Penghasilan :
TI009 – Pemrograman Berorientasi Objek
DAFTAR PUSTAKA
1. Kadir, Abdul. (2004). “Dasar Pemrograman Java 2”. Penerbit ANDI: Yogyakarta.
2. Kurniawan, Agus. (2014). “Pemrograman Java Tingkat Lanjut”. Penerbit ANDI:
Yogyakarta.
3. Hariyanto, Bambang. (2010). “Esensi-Esensi Bahasa Pemrograman Java Revisi Ketiga”.
Penerbit Informatika: Bandung.

More Related Content

What's hot

Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
EnvaPya
 
Contoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolahContoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolah
DinilOctav
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
Frestiany Regina Putri
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
ahmad haidaroh
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
rizki adam kurniawan
 
Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)
Meycelino A. T
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
Sherly Uda
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Rakhmat Dedi Gunawan
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Shofura Kamal
 
Mi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-dataMi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-data
Ayu Karisma Alfiana
 
sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++
Sandy Suherman
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasi
HIMATIF UIN SGD
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
Sherly Uda
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
Banta Cut
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
Huzairi Zairi
 
Print dppl (2)
Print dppl (2)Print dppl (2)
Print dppl (2)
Anas Rachmadi
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
Fahrul Usman
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)
Fariszal Nova
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
Braga Rezpect
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
Okta Riveranda
 

What's hot (20)

Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 
Contoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolahContoh skpl-software-manajemen-sekolah
Contoh skpl-software-manajemen-sekolah
 
Pushdown Automata
Pushdown Automata Pushdown Automata
Pushdown Automata
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)Logika matematika pertemuan 2 (inferensi)
Logika matematika pertemuan 2 (inferensi)
 
Representasi Pengetahuan
Representasi PengetahuanRepresentasi Pengetahuan
Representasi Pengetahuan
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Mi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-dataMi 07.-praktikum-pemrograman-basis-data
Mi 07.-praktikum-pemrograman-basis-data
 
sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++sekuensial sercing (data string) dalam C++
sekuensial sercing (data string) dalam C++
 
Proposal pembuatan aplikasi
Proposal pembuatan aplikasiProposal pembuatan aplikasi
Proposal pembuatan aplikasi
 
Data Flow Diagram
Data Flow DiagramData Flow Diagram
Data Flow Diagram
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
proposisi majemuk & Tautologi
 proposisi majemuk & Tautologi proposisi majemuk & Tautologi
proposisi majemuk & Tautologi
 
Print dppl (2)
Print dppl (2)Print dppl (2)
Print dppl (2)
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 
Laporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHPLaporan Praktikum Web dengan PHP
Laporan Praktikum Web dengan PHP
 

Similar to Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)

Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Rakhmat Dedi Gunawan
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
rahmantoyuri
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Debby Ummul
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Melina Krisnawati
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep Inheritance
Riski_kiki
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
Wahyu Widodo
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
Teknik Komputer & Informatika
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdf
Jurnal IT
 
Mi1274 alpro lanjut 6 - perulangan - 2 - for, do-while
Mi1274 alpro lanjut   6 - perulangan - 2 - for, do-whileMi1274 alpro lanjut   6 - perulangan - 2 - for, do-while
Mi1274 alpro lanjut 6 - perulangan - 2 - for, do-whileDefina Iskandar
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
rizki adam kurniawan
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
ssuserc54f06
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
plgbk
 
Pertemuan 13 Object Oriented Program (OOP)
Pertemuan 13 Object Oriented Program (OOP)Pertemuan 13 Object Oriented Program (OOP)
Pertemuan 13 Object Oriented Program (OOP)
Endang Retnoningsih
 
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdfAminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf
 
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdfAminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf
 
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Asnita Meydelia C K
 

Similar to Modul Praktikum Pemrograman Berorientasi Objek (Chap.7) (20)

Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)
 
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
Java (Netbeans) Polymorphism - Object Oriented Programming (OOP)
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep Inheritance
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
5_Pewarisan.pdf
5_Pewarisan.pdf5_Pewarisan.pdf
5_Pewarisan.pdf
 
P5 depandi enda
P5 depandi endaP5 depandi enda
P5 depandi enda
 
Mi1274 alpro lanjut 6 - perulangan - 2 - for, do-while
Mi1274 alpro lanjut   6 - perulangan - 2 - for, do-whileMi1274 alpro lanjut   6 - perulangan - 2 - for, do-while
Mi1274 alpro lanjut 6 - perulangan - 2 - for, do-while
 
Materi kuliah-pemod
Materi kuliah-pemodMateri kuliah-pemod
Materi kuliah-pemod
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptxpertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
pertemuan_06_-_Konsep_PBO(InheratanceMultiple_Inheratance_Polimorpisme.pptx
 
PBO_03_Inheritance.pptx
PBO_03_Inheritance.pptxPBO_03_Inheritance.pptx
PBO_03_Inheritance.pptx
 
Pertemuan 13 Object Oriented Program (OOP)
Pertemuan 13 Object Oriented Program (OOP)Pertemuan 13 Object Oriented Program (OOP)
Pertemuan 13 Object Oriented Program (OOP)
 
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdfAminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P9-12_Metode Penelitian_10 Juli 2021.pdf
 
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdfAminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
Aminullah Assagaf_P13-15_Metode Penelitian_10 Juli 2021.pdf
 
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
 

More from Debby Ummul

Modul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman VisualModul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman VisualModul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman VisualModul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman VisualModul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman VisualModul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman VisualModul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman VisualModul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman VisualModul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman Visual
Debby Ummul
 
Modul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman VisualModul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman VisualModul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman Visual
Debby Ummul
 
Modul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman VisualModul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman Visual
Debby Ummul
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Debby Ummul
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Debby Ummul
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Debby Ummul
 
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
Debby Ummul
 

More from Debby Ummul (15)

Modul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman VisualModul Praktikum 5 - Pemrograman Visual
Modul Praktikum 5 - Pemrograman Visual
 
Modul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman VisualModul Praktikum 4 - Pemrograman Visual
Modul Praktikum 4 - Pemrograman Visual
 
Modul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman VisualModul Praktikum 3 - Pemrograman Visual
Modul Praktikum 3 - Pemrograman Visual
 
Modul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman VisualModul Praktikum 2 - Pemrograman Visual
Modul Praktikum 2 - Pemrograman Visual
 
Modul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman VisualModul Praktikum 1 - Pemrograman Visual
Modul Praktikum 1 - Pemrograman Visual
 
Modul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman VisualModul Praktikum 13 - Pemrograman Visual
Modul Praktikum 13 - Pemrograman Visual
 
Modul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman VisualModul Praktikum 12 - Pemrograman Visual
Modul Praktikum 12 - Pemrograman Visual
 
Modul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman VisualModul Praktikum 11 - Pemorgraman Visual
Modul Praktikum 11 - Pemorgraman Visual
 
Modul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman VisualModul Praktikum 10 - Pemrograman Visual
Modul Praktikum 10 - Pemrograman Visual
 
Modul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman VisualModul Praktikum 9 - Permograman Visual
Modul Praktikum 9 - Permograman Visual
 
Modul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman VisualModul Praktikum 6 - Pemrograman Visual
Modul Praktikum 6 - Pemrograman Visual
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.12)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.11)
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.10)
 
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...SISTEM PENDUKUNG KEPUTUSAN  MENGGUNAKAN METODE ANALYTICAL   HIERARCHY PROCESS...
SISTEM PENDUKUNG KEPUTUSAN MENGGUNAKAN METODE ANALYTICAL HIERARCHY PROCESS...
 

Modul Praktikum Pemrograman Berorientasi Objek (Chap.7)

  • 1. TI009 – Pemrograman Berorientasi Objek LECTURE NOTE Inheritance Debby Ummul Hidayah, S.Kom., M.MSI debbyummul@gmail.com
  • 2. TI009 – Pemrograman Berorientasi Objek LEARNING OUTCOMES Mahasiswa mampu memahami dan menerapkan penggunaan inheritance. OUTLINE MATERI Inheritance: - Single inheritance - Multilevel inheritance - Access control - Konstruktor tidak diwariskan - Super keyword
  • 3. TI009 – Pemrograman Berorientasi Objek ISI 1. Mengenal Inheritance Dalam konsep pemrograman berorientasi objek, inheritance yang memungkinkan hubungan di mana ada class yang mewarisi semua attribute dan method dari class lain. Class baru yang lebih spesifik disebut subclass atau class turunan, sedangkan class yang diturunkan disebut superclass. Untuk menguji inheritance, cara lain yang dapat digunakan adalah menggunakan rumus “IS A”. Kekurangan metode tersebut adalah hanya berlaku searah (dari subclass superclass). Contoh: - Mamalia (mempunyai daun telinga, beranak, menyusui). Contoh: anjing, kucing, marmut. Cara mengujinya adalah: anjing IS A mamalia. - Kendaraan (mempunyai kemudi). Contoh: mobil, motor, pesawat. Cara mengujinya adalah: mobil IS A kendaraan 2. Latihan 1 Kita akan menggunakan kata kunci extends. Kata kunci ini digunakan untuk membuat class turunan. Strukturnya yaitu: public class [nama subclass] extends [nama super class)] {} Contoh: public class Kamus extends Buku {} Sekarang kita coba membuat program yang menerapkan prinsip inheritance tersebut. a. Buatlah program yang akan menjadi super class
  • 4. TI009 – Pemrograman Berorientasi Objek b. Buatlah program yang akan menjadi sub class dengan menggunakan kata kunci extends c. Buatlah class testernya Source code-nya: package latihaninheritance1; //class ini bertindak sebagai super class class A { int x; int y; void getNilai() { System.out.println("nilai x: " + x + " nilai y:" + y); } } //class ini bertindak sebagai subclass class B extends A { int z; void getJumlah() { System.out.println("Jumlah: " + (x + y + z)); } }
  • 5. TI009 – Pemrograman Berorientasi Objek //class ini akan digunakan sebagai class tester public class LatihanInheritance1 { public static void main(String[] args) { // TODO code application logic here A ortu = new A(); B anak = new B(); System.out.println("-----Super Class-----"); ortu.x = 43; ortu.y = 33; ortu.getNilai(); System.out.println("---------------------"); System.out.println(" "); System.out.println("------Subclass-------"); anak.x = 5; anak.y = 23; anak.getNilai(); anak.z = 25; anak.getJumlah(); } } Keterangan: Dari kode program diatas, kita dapat melihat bahwa bahwa method getNilai() muncul pada class B. Padahal kita tidak melihat adanya method getNilai() di class B. Hal ini membuktikan bahwa terdapat proses inheritance dari class A ke class B. Hubungan ini
  • 6. TI009 – Pemrograman Berorientasi Objek bersifat generalization dimana ClassChild mempunyai semua sifat dari ClassParent. Oleh karena itu, pada ClassChild cukup ditambahkan bagian yang memang merupakan spesifik milik ClassChild. 3. Latihan 2 Pada program diatas, setiap atribut yang digunakan bertipe default. Dengan kata lain, atribut pada program diatas tidak terenkapsulasi sehingga dengan mudah kita dapat mengisi nilai x dan y tanpa mengakses method apapun dari luar class A maupun B. Pada kelas teori, kita belajar untuk melakukan enkapsulasi dengan menggunakan hak akses yang bertipe private. Untuk tahap latihan, silahkan ubah program diatas menjadi seperti dibawah ini:
  • 7. TI009 – Pemrograman Berorientasi Objek 4. Latihan 3 a. Buatlah sebuah class lagi yang mewarisi class B, misalkan class C:
  • 8. TI009 – Pemrograman Berorientasi Objek b. Kemudian ubahlah class InheritanceTest menjadi seperti dibawah ini: Apakah program yang dibuat diatas menghasilkan error? Jika Error, class apa yang error dan apa bunyinya? c. Jika keyword this digunakan untuk membedakan variabel local dengan atribut suatu objek, maka untuk membedakan atribut superclass dengan atribut subclass digunakan keyword super. Buatlah program dibawah ini:
  • 9. TI009 – Pemrograman Berorientasi Objek d. Untuk pengaksesan constructor method dari super class, digunakan bentuk sebagai berikut : super (argumen1, argumen2, …) ; Buatlah program dibawah ini:
  • 10. TI009 – Pemrograman Berorientasi Objek 5. Latihan 4 Overriding method
  • 11. TI009 – Pemrograman Berorientasi Objek 6. Soal Studi kasus: - Sebuah institusi membagi karyawannya kedalam tiga kelompok yaitu: karyawan tetap, karyawan kontrak, dan karyawan harian. - Setiap karyawan memiliki NIK, nama, alamat, TTL, jenis kelamin, status, jumlah anak, total penghasilan. - Karyawan harian mempunyai upah harian sebesar Rp 15.000 yang akan diberikan pada akhir bulan dengan nilai sesuai dengan jumlah hari masuk kerjanya. - Karyawan kontrak mempunyai gaji pokok - Karyawan tetap mempunyai gaji pokok, tunjangan kesehatan 10% dari gaji, tunjangan istri 20% dari gaji pokok bagi yang sudah menikah, tunjangan anak 10% per anak bagi yang sudah menikah dan maksimal 3 anak yang mendapat tunjangan. - Gaji pokok ditentukan berdasarkan golongan dengan ketentuan sbb : Gol A = Rp 1.000.000, gol B = Rp 2.000.000, gol C = Rp 3.000.000, gol D = Rp 4.000.000 - Gaji pokok karyawan kontrak adalah 80% dari gaji pokok. Contoh tampilan: ---------------KARYAWAN------------------ NIK : Nama Karyawan : Alamat : Golongan : Status : Jenis Kelamin : Jumlah Anak :
  • 12. TI009 – Pemrograman Berorientasi Objek Penghasilan : ------------KARYAWAN HARIAN------- Nama Karyawan : Masuk Kerja : Upah Per Hari : Gaji Pokok : ----------KARYAWAN KONTRAK------- Nama Karyawan : Gaji Pokok : -----------KARYAWAN TETAP------------ Nama Karyawan : Gaji Pokok : Tunjangan Kesehatan : Tunjangan Istri : Tunjangan Anak : Total Penghasilan :
  • 13. TI009 – Pemrograman Berorientasi Objek DAFTAR PUSTAKA 1. Kadir, Abdul. (2004). “Dasar Pemrograman Java 2”. Penerbit ANDI: Yogyakarta. 2. Kurniawan, Agus. (2014). “Pemrograman Java Tingkat Lanjut”. Penerbit ANDI: Yogyakarta. 3. Hariyanto, Bambang. (2010). “Esensi-Esensi Bahasa Pemrograman Java Revisi Ketiga”. Penerbit Informatika: Bandung.