//PROGRAM 7-9. class A { A() { //PROGRAM System.out.println("Constructor dari kelas A"); // Mendefinisikan kelas abstract. abstract class A {

dokumen-dokumen yang mirip
PEWARISAN SIFAT OBYEK

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Bab. Contoh-01. class Kotak { int pjg; // panjang int lbr; // lebar int tgi; // tinggi } Kotak pjg lbr tgi

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

//PROGRAM class contohbiner { System.out.println("Bentuk biner dari 1 : " + Integer.toBinaryString(1));

Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

//constraktor awal class Kotak6 { double panjang;

//PROGRAM 5-8. class Kotak { double panjang; double lebar; double tinggi; // Mendefinisikan constructor untuk kelas Kotak. Kotak() { panjang = 4;

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

INHERITANCE. Gambar 1. Kelas Hierarki Java

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berbasis Objek (Polimorfisme)

IKG2I4 / Software Project I

Bahasa Pemrograman :: Polimorfism and Abstraction

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

Pemrograman Berorientasi Objek

BAB 6 INHERITANCE Tujuan:

subclass class manapun private default protected public package yang sama

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

BAB VII. CLASS DAN OBJECT

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XIII POLYMORPHISM

Bahasa Pemrograman :: Inheritance

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

KONSEP OOP: PEWARISAN / INHERITANCE

Bahasa Pemrograman 2.

Pemrograman Lanjut Review Class dan Object PTIIK

LAPORAN RESMI INHERITANCE

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

INTERAKSI ANTAR OBJECT

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

PAKET DAN INTERFACE MUH. IZZUDDIN MAHALI, M.CS. PT. Elektronika FT UNY

Paket dan Interface. Nur Hasanah, M.Cs

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

KONSEP OOP: PEWARISAN / INHERITANCE

Inheritance (Pewarisan) Pengertian dasar inheritance

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

Membuat dan Menggunakan Class

Pemrograman Berorientasi. Abstract & Interface

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Inheritance dan Polimorfisme

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

Gambar 1: Hirarki class

[Lanjutan] Nurochman

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

Jelaskan tentang konsep Cohesion & Coupling!

MODUL 4 ENCAPSULATION, INHERITANCE DAN POLYMORPHISM

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Pemrograman C++ BAGIAN II PEMROGRAMAN BERORIENTASI OBJEK

BAB VIII CLASS ABSTRACT & CLASS INTERFACE. //abstract class bisa, kelas biasa bisa System.out.println("Ini nama");

Pemrograman Berorientasi Objek

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Objek INHERITANCE

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

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

LAPORAN V PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

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

Pewarisan, Polimorfisme, dan Interface

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Inheritance dan Kata Kunci static

Modul Bahasa Pemrograman 1

MODUL 1. Class, Object, Constructor dan Method

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Inheritance

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

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

(INHERITANCE) Nurochman

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

Polymorphism (Polimorfisme)

BAB IV PERBEDAAN FINAL, STATIC, PUBLIC, PRIVATE,PROTECTED DALAM VARIABLE DAN METHODE A. FINAL

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

BAB II VARIABEL DAN TIPE DATA

Chapter 10 Polimorphism

Pemrograman Berorientasi Objek Danu Wira Pangestu

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Abstract Class dan Interface. Viska Mutiawani, M.Sc

CLASS, METHOD DAN MODIFIER

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

INFORMATION HIDING, ENCAPSULATION, POLYMORHISM

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MENGENAL JAVA SEBAGAI PEMROGRAMAN BERORIENTASI OBJEK DAN IMPLEMENTASI THREAD DI LINGKUNGAN UNIX/ LINUX. Hary Cahyono

Pemrograman Lanjut. Constructor. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Pemrograman Berorientasi. Class dan Obyek 2

KONSEP OOP: POLYMORPHISM

Pemrograman Berorientasi Objek Lukman Andi W ( )

PROJECT KELOMPOK 6 R5L. public String getbentuk() { return "Bentuk Dasar"; public abstract int hitungluas();

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

Project Kelompok 6. InputStreamReader masukan = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(masukan);

Bahasa Pemrograman 2.

Kelompok 6. class SegiTiga extends Bentuk { public SegiTiga(int panjang2, int lebar2) { this.panjang = panjang2; this.

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK (PBO) MODUL 5 INTERFACE

Transkripsi:

//PROGRAM 7-9 A() { System.out.println("Constructor dari kelas A"); B() { System.out.println("Constructor dari kelas B"); class C extends B { C() { System.out.println("Constructor dari kelas C"); class DemoConstructorPenurunan { System.out.println( "Pada saat membentuk objek dari kelas A:"); A obj1 = new A(); System.out.println( "\npada saat membentuk objek dari kelas B:"); B obj2 = new B(); System.out.println( "\npada saat membentuk objek dari kelas C:"); C obj3 = new C(); //PROGRAM 7-15 // Mendefinisikan kelas abstract abstract // method abstrak, tidak memiliki kode implementasi abstract public void coba(); // kelas abstrak masing diizinkan untuk mendefinisikan // method non-abstrak public void cobajuga() { System.out.println("Method non-abstrak " + "di dalam kelas abstrak"); // override method coba() public void coba() { System.out.println("Method di dalam kelas B"); class DemoKelasAbstrak1 { A ref; // mendeklarasikan referensi ke kelas A B obj = new B(); ref = obj; // ref menunjuk ke objek dari kelas B ref.coba(); // memanggil method coba() di dalam B ref.cobajuga(); // memanggil method cobajuga() di dalam A

return (sisi * sisi); //PROGRAM 7-16 // Mendefinisikan kelas abstract abstract class Bentuk { // method abstrak, tidak memiliki kode implementasi abstract public double luas(); class PersegiPanjang extends Bentuk { private double panjang; private double lebar; PersegiPanjang(int p, int l) { panjang = p; lebar = l; System.out.println("Dalam objek persegi panjang:"); return (panjang * lebar); class BujurSangkar extends Bentuk { private double sisi; BujurSangkar(int s) { sisi = s; System.out.println("Dalam objek bujursangkar:"); class Segitiga extends Bentuk { private double alas; private double tinggi; Segitiga(int a, int t) { alas = a; tinggi = t; System.out.println("Dalam objek segitiga:"); return ((alas * tinggi)/2); class Lingkaran extends Bentuk { private double jarijari; private final double PI = 3.1416; Lingkaran(int r) { jarijari = r; System.out.println("Dalam objek lingkaran:"); return (PI * jarijari * jarijari); class DemoKelasAbstrak2 {

Bentuk obj; // Baris kode di bawah ini SALAH, // karena kelas abstrak tidak dapat diinstansiasi //obj = new Bentuk(); // SALAH PersegiPanjang pp = new PersegiPanjang(5, 3); BujurSangkar bs = new BujurSangkar(4); Segitiga st = new Segitiga(4, 3); Lingkaran lk = new Lingkaran(2); // obj mengacu pada objek PersegiPanjang obj = pp; PersegiPanjang // obj mengacu pada objek BujurSangkar obj = bs; BujurSangkar // obj mengacu pada objek Segitiga obj = st; Segitiga // obj mengacu pada objek Lingkaran obj = lk; Lingkaran //PROGRAM 7-1 public void seta(int nilai) { a = nilai; public int geta() { return a; // membuat kelas turunan (subclass) dari kelas A private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; class DemoKelasTurunan1 {

// melakukan instansiasi terhadap kelas B return b; B obj = new B(); // mengeset nilai objek dari kelas B obj.seta(100); obj.setb(200); // mendapatkan nilai yang terdapat dalam objek dari kelas B System.out.println("Nilai a : " + obj.geta()); System.out.println("Nilai b : " + obj.getb()); //PROGRAM 7-2 public void seta(int nilai) { a = nilai; public int geta() { return a; // membuat kelas turunan (subclass) dari kelas A private int b; public void setb(int nilai) { b = nilai; public int getb() { // membuat kelas turunan (subclass) dari kelas B class C extends B { private int c; public void setc(int nilai) { c = nilai; public int getc() { return c; class DemoKelasTurunan2 { // melakukan instansiasi terhadap kelas C C obj = new C(); // mengeset nilai dari kelas C obj.seta(100); obj.setb(200); obj.setc(300); // mendapatkan nilai yang terdapat dalam kelas C System.out.println("Nilai a : " + obj.geta()); System.out.println("Nilai b : " + obj.getb()); System.out.println("Nilai c : " + obj.getc()); //PROGRAM 7-12

class Induk { // mendefinisikan method test() tanpa parameter public void test() { System.out.println("Method di dalam kelas Induk"); class Turunan extends Induk { // melakukan overload terhadap method test(), bukan override. public void test(string s) { System.out.println("Method di dalam kelas Turunan"); System.out.println("s : \"" + s + "\""); class DemoOverloadTurunan { Turunan obj = new Turunan(); // memanggil method test() yang terdapat pada kelas Induk obj.test(); // memanggil method test() yang terdapat pada kelas Turunan obj.test("contoh overload pada proses pewarisan"); //PROGRAM 7-10 public void seta(int nilai) { a = nilai; public int geta() { return a; public void tampilkannilai() { System.out.println("Nilai a: " + geta()); private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; // melakukan override terhadap method tampilkannilai() // yang terdapat pada kelas A public void tampilkannilai() { System.out.println("Nilai b: " + getb()); class DemoOverride1 {

B obj = new B(); obj.seta(100); obj.setb(200); kelas B obj.tampilkannilai(); //PROGRAM 7-11 public void seta(int nilai) { a = nilai; public int geta() { return a; public void tampilkannilai() { System.out.println("Nilai a: " + geta()); // melakukan override terhadap method tampilkannilai() // yang terdapat pada kelas A public void tampilkannilai() { super.tampilkannilai(); // memanggil method dalam kelas A System.out.println("Nilai b: " + getb()); class DemoOverride2 { B obj = new B(); obj.seta(100); obj.setb(200); kelas B obj.tampilkannilai(); private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; //PROGRAM 7-13 // Mendefinisikan kelas induk class Penyanyi { public void bernyanyi() { System.out.println("Karakteristik nadanya " + "belum didefinisikan"); // Mendefinisikan kelas-kelas turunan dari kelas Penyanyi

class PenyanyiJazz extends Penyanyi { // melakukan override terhadap method bernyanyi() public void bernyanyi() { System.out.println("Bernyanyi dengan irama Jazz"); class PenyanyiPop extends Penyanyi { // melakukan override terhadap method bernyanyi() public void bernyanyi() { System.out.println("Bernyanyi dengan irama Pop"); class PenyanyiDangdut extends Penyanyi { // melakukan override terhadap method bernyanyi() public void bernyanyi() { System.out.println("Bernyanyi dengan irama Dangdut"); class DemoPolimorfisme1 { Penyanyi p; PenyanyiJazz musmujiono = new PenyanyiJazz(); PenyanyiPop audi = new PenyanyiPop(); PenyanyiDangdut inul = new PenyanyiDangdut(); p = musmujiono; // p mengacu pada objek PenyanyiJazz // akan memanggil method pada kelas PenyanyiJazz p.bernyanyi(); p = audi; // p mengacu pada objek PenyanyiPop // akan memanggil method pada kelas PenyanyiPop p.bernyanyi(); p = inul; // p mengacu pada objek PenyanyiDangdut // akan memanggil method pada kelas PenyanyiDangdut p.bernyanyi(); //PROGRAM 7-14 // Mendefinisikan kelas induk class Bentuk { System.out.println("Tidak didefinisikan"); return 0; class PersegiPanjang extends Bentuk { private double panjang; private double lebar; PersegiPanjang(int p, int l) { panjang = p; lebar = l;

System.out.println("Dalam objek persegi panjang:"); return (panjang * lebar); class BujurSangkar extends Bentuk { private double sisi; BujurSangkar(int s) { sisi = s; System.out.println("Dalam objek bujursangkar:"); return (sisi * sisi); class Segitiga extends Bentuk { private double alas; private double tinggi; Segitiga(int a, int t) { alas = a; tinggi = t; System.out.println("Dalam objek segitiga:"); return ((alas * tinggi)/2); class Lingkaran extends Bentuk { private double jarijari; private final double PI = 3.1416; Lingkaran(int r) { jarijari = r; System.out.println("Dalam objek lingkaran:"); return (PI * jarijari * jarijari); class DemoPolimorfisme2 { Bentuk obj; PersegiPanjang pp = new PersegiPanjang(5, 3); BujurSangkar bs = new BujurSangkar(4); Segitiga st = new Segitiga(4, 3); Lingkaran lk = new Lingkaran(2); // obj mengacu pada objek PersegiPanjang obj = pp; PersegiPanjang // obj mengacu pada objek PersegiPanjang obj = bs; BujurSangkar

// obj mengacu pada objek PersegiPanjang obj = st; Segitiga // obj mengacu pada objek PersegiPanjang obj = lk; Lingkaran //PROGRAM 7-3 // hanya dikenali oleh kelas A // hanya dapat dikenali oleh kelas A dan turunan-turunannya protected void seta(int nilai) { a = nilai; // hanya dapat dikenali oleh kelas A dan turunan-turunannya protected int geta() { return a; private int b; // constructor kelas B B(int nilaia, int nilaib) { //a = nilaia; // SALAH, karena a tidak dikenali di sini seta(nilaia); // menggunakan method seta() b = nilaib; public void showdata() { // menggunakan method geta() System.out.println("Nilai a : " + geta()); System.out.println("Nilai b : " + b); class C { private int c; public void setc(int nilai) { //seta(10); // SALAH, seta() tidak dikenal di sini c = nilai; public int getc() { return c; public void showc() { //System.out.println("Nilai a : " + geta()); // SALAH System.out.println("Nilai c : " + c);

class DemoProtected1 { KotakPejal(int p, int l, int t, int b) { // melakukan instansiasi terhadap kelas B B obj = new B(40, 50); obj.showdata(); obj.seta(100); System.out.println("Nilai a : " + obj.geta()); panjang = p; panjang lebar = l; lebar tinggi = t; tinggi berat = b; // menggunakan data // menggunakan data // menggunakan data //PROGRAM 7-4 class Kotak { public double getberat() { return berat; protected double panjang; protected double lebar; protected double tinggi; //default constructor Kotak() { panjang = lebar = tinggi = 0; Kotak(int p, int l, int t) { panjang = p; lebar = l; tinggi = t; class DemoProtected2 { // melakukan instansiasi terhadap kelas turunan KotakPejal k = new KotakPejal(4, 3, 2, 1); System.out.println("Volume k\t : " + k.hitungvolume()); System.out.println("Berat k\t : " + k.getberat()); public double hitungvolume() { return (panjang * lebar * tinggi); //PROGRAM 7-5 class Kotak { protected double panjang; class KotakPejal extends Kotak { private double berat; protected double lebar; protected double tinggi; //default constructor

Kotak() { System.out.println("Berat k : " + k.getberat()); panjang = lebar = tinggi = 0; Kotak(int p, int l, int t) { panjang = p; lebar = l; tinggi = t; //PROGRAM 7-6 class Kotak { protected double panjang; public double hitungvolume() { return (panjang * lebar * tinggi); protected double lebar; protected double tinggi; Kotak() { panjang = lebar = tinggi = 0; class KotakPejal extends Kotak { private double berat; KotakPejal(int p, int l, int t, int b) { super(p, l, t); // memanggil constructor kelas Kotak berat = b; public double getberat() { return berat; class DemoSuper1 { // melakukan instansiasi terhadap kelas turunan KotakPejal k = new KotakPejal(6, 5, 4, 2); System.out.println("Volume k : " + k.hitungvolume()); Kotak(Kotak k) { this.panjang = k.panjang; this.lebar = k.lebar; this.tinggi = k.tinggi; Kotak(int p, int l, int t) { panjang = p; lebar = l; tinggi = t; public double hitungvolume() { return (panjang * lebar * tinggi); class KotakPejal extends Kotak { private double berat; KotakPejal(KotakPejal kp) {

super(kp); // melewatkan objek ke dalam super() this.berat = kp.berat; KotakPejal(int p, int l, int t, int b) { super(p, l, t); berat = b; public double getberat() { return berat; class DemoSuper2 { KotakPejal k1, k2, k3; //PROGRAM 7-7 protected int a; yang ada dalam kelas A // constructor B(int nilai1, int nilai2) { super.a = nilai1; kelas A a = nilai2; kelas B // akan menimpa a // a di dalam // a di dalam k1 = new KotakPejal(4, 3, 2, 1); k2 = new KotakPejal(6, 5, 4, 2); k3 = new KotakPejal(k1); // melewatkan objek k1 System.out.println("Volume k1\t : " + k1.hitungvolume()); System.out.println("Berat k1\t : " + k1.getberat()); System.out.println("\nVolume k2\t : " + k2.hitungvolume()); System.out.println("Berat k2\t : " + k2.getberat()); System.out.println("\nVolume k3\t : " + k3.hitungvolume()); System.out.println("Berat k3\t : " + k3.getberat()); public void tampilkannilai() { System.out.println("Nilai a di dalam kelas A : " + super.a); System.out.println("Nilai a di dalam kelas B : " + a); class DemoSuper3 { B obj = new B(121, 212); obj.tampilkannilai();

//PROGRAM 7-8 public void seta(int nilai) { a = nilai; public int geta() { private int d; public void setd(int nilai) { d = nilai; public int getd() { return d; return a; class DemoTurunanBertingkat { private int b; public void setb(int nilai) { b = nilai; public int getb() { return b; class C extends B { private int c; public void setc(int nilai) { c = nilai; // membentuk objek dari kelas D D obj = new D(); // mengisi nilai obj.seta(10); obj.setb(20); obj.setc(30); obj.setd(40); // menampilkan nilai System.out.println("Nilai a : " + obj.geta()); System.out.println("Nilai b : " + obj.getb()); System.out.println("Nilai c : " + obj.getc()); System.out.println("Nilai d : " + obj.getd()); public int getc() { return c; class D extends C {