inheritance - gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/inheritance.pdf · konsep...

25
MAKALAH PEMROGRAMAN BERBASIS OBJEK NAMA NPM ARI SANTOSO 51412069 DICKY ROHMAN 52412072 PRATIWI 55412699 PUTRI JUNINGTYAS 55412768 RADEN MUHAMMAD NUR WICAKSONO 55412846 KELAS: 2IA17 UNIVERSITAS GUNADARMA 2013-2014 INHERITANCE

Upload: others

Post on 14-Jul-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

MAKALAH PEMROGRAMAN BERBASIS OBJEK

NAMA NPM ARI SANTOSO 51412069

DICKY ROHMAN 52412072

PRATIWI 55412699

PUTRI JUNINGTYAS 55412768

RADEN MUHAMMAD NUR WICAKSONO 55412846

KELAS: 2IA17

UNIVERSITAS GUNADARMA

2013-2014

INHERITANCE

Page 2: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

I. PENGENALAN INHERITANCE

Pada dasarnya,inheritance merupakan fitur penting dari OOP,yaitu

merupakan suatu bentuk software reuse dimana class memanfaatkan

anggota (atribut&method) class yang telah ada. Inheritance merupakan

proses pewarisan data dan method dari suatu class yang telah ada

kepada class baru. Dengan menggunakan inheritance atau pewarisan

user akan menghemat banyak waktu pada saat membuat software.

Pada saat membuat suatu class baru, user atau programmer dapat

mendesain class tersebut sedemikian rupa agar menuruni sifat anggota

class yang telah ada.

Untuk menggunakan inheritance, maka dibutuhkan keyword extends.

Cara penulisannya adalah sebagai berikut:

class namaSubClass extends namaSuperClass

{

//definisi kelas

}

I.I Manfaat Pengunaan Inheritance

Berikut ini adalah beberapa manfaat apabila anda menggunakan

konsep inheritance:

1. Bersifat Reuseable

Apabila memerlukan beberapa kelas yang berasal dari basis yang

sama (data dan method yang sama), namun pada masing-masing

kelas akan ditambahkan data atau method tambahan. Dengan

menggunakan inheritance, cukup mengambil data atau method pada

class induknya dan memberikan beberapa tambahan data atau

method pada class anaknya apabila diperlukan.

2. Kemudahan dalam memanage kelas yang dimiliki data dan method

yang sama

Bila anda ingin memodifikasi suatu data atau method pada semua

subclass, tidak perlu melakukan perubahan pada masing-masing

kelas pada subclass. Cukup melakukan perubahan data atau method

pada kelas super(superclass) yang mewarisi subclass tersebut.

Page 3: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

II. SUBCLASS DAN SUPERCLASS

Suatu objek seringkali merupakan jenis khusus dari objek yang lain.

Class yang telah ada ini disebut superclass atau dengan kata lain

superclass adalah class yang mewariskan dan class yang baru disebut

subclass,subclass adalah kelas yang mendapat warisan atau kelas yang

diwariskan. Suatu subclass biasanya menambahkan atribut dan metod

baru tersendiri. Oleh karena itu, subclass pasti lebih spesifik daripada

superclassnya dan merepresentasikan sekumpulan objek yang lebih

special. Subclass juga memiliki method yang ada di superclassnya dan

ditambah dengan method baru yang spesifik dimiliki subclass itu sendiri.

Contoh Program : SUPER CLASS

class SuperClass {

public void Hewan() {

System.out.println("Contoh Macam-macam hewan :");

System.out.println("- hewan berkaki dua");

System.out.println("- hewan berkaki enam");

System.out.println("- hewan berkaki empat");

System.out.println("- hewan berkaki delapan");

}

public static void main(String[] args) {

SuperClass sc = new SuperClass();

sc.Hewan();

}

}

Page 4: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

OUTPUT

Contoh Macam-macam hewan :

- hewan berkaki dua

- hewan berkaki enam

- hewan berkaki empat

- hewan berkaki delapan

SUBCLASS :

class SubClass extends SuperClass {

public void Panggil() {

super.Hewan();

System.out.println("Contoh Hewan :");

}

public void Hewanberkakidua() {

System.out.println("- hewan berkaki dua: kangguru, ayam, bebek, dll");

}

public void Hewanberkakienam() {

System.out.println("- hewan berkaki enam : capung, nyamuk, kupu-kupu, dll");

}

public void Hewanberkakiempat() {

System.out.println("- hewan berkaki empat : kucing, anjing, kuda, dll");

}

Page 5: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

public void Hewanberkakidelapan() {

System.out.println("- hewan berkaki delapan : kepiting, belalang, laba-laba, dll");

}

public static void main(String[]args) {

SubClass scs = new SubClass();

scs.Panggil();

scs.Hewanberkakidua();

scs. Hewanberkakienam();

scs. Hewanberkakiempat();

scs. Hewanberkakidelapan();

}

}

OUTPUT

Contoh Macam-macam hewan :

- hewan berkaki dua

- hewan berkaki enam

- hewan berkaki empat

- hewan berkaki delapan

Contoh Hewan :

- hewan berkaki dua : kangguru, ayam, bebek, dll

- hewan berkaki enam : capung, nyamuk, kupu-kupu, dll

Page 6: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

- hewan berkaki empat : kucing, anjing, kuda, dll

- hewan berkaki delapan : kepiting, belalang, laba-laba, dll

III. MODIFIER FINAL

Modifier final berarti konstan / tetap dan tidak dapat dimodifikasi

(diubah). Variabel final harus diinisialisasi saat dideklarasikan. Apabila diterapkan pada metode berarti metode tidak dapat ditimpa. Metode yang diberi modifier finaltidak dapat lagi diperluas dan ditimpa (override) di subkelas-subkelasnya. Modifier final berarti anggota kelas itu versi akhir (final version). Variabel final serupa dengan variabel const di C++. Variabel ini harus selalu telah diinisialisasi saat deklarasi dan selanjutnya nilainya tidak dapat diubah. Contoh Program : package disket; public class Disket { int panjang = 10; final int LEBAR = 10; String warna = "kuning"; String bentuk = "SegiEmpat"; String data = " "; Disket() { panjang = 100; } Disket(int panjang){ this.panjang=panjang; } void simpanData (String data1) { this.data+=data1; } void hapusData(){ data = " "; } String bacaData(){

Page 7: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

return data; } }

package disket;

public class MainDisket {

public static void main(String[]args){

Disket disk1 = new Disket(50);

System.out.println("Panjang Disket = "+disk1.panjang);

System.out.println("Lebar Disket = "+disk1.LEBAR);

System.out.println("Warna Disket = "+disk1.warna);

System.out.println("Bentuk Disket = "+disk1.bentuk);

System.out.println("Data Mula-mula = "+disk1.bacaData());

disk1.simpanData("Belajar Java");

System.out.println("Setelah simpan data = "+disk1.bacaData());

disk1.hapusData();

System.out.println("Setelah hapus Data = "+disk1.bacaData());

System.out.println(" ");

}

}

Output Program :

Panjang Disket = 50

Lebar Disket = 10

Warna Disket = kuning

Bentuk Disket = SegiEmpat

Data Mula-mula =

Setelah simpan data = Belajar Java

Setelah hapus Data =

IV. JENIS-JENIS KEYWORD DAN MODIFIER

abstrak

Abstract class adalah kelas yang terletak pada posisi tertinggi pada

hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas

Page 8: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung

menjadi object. Suatu abstract class bisa mengandung method kongkrit

dan/atau method abstract. Abstract method meruapakan suatu method

yang tidak mempunyai badan method. Hanya berupa nama method dan

parameter inputan method. Ketika suatu abstract class diturunkan/ di-

extends, maka subclass harus mengimplementasikan semua method

abstract pada parent/ base class. Jika tidak mengimplementasikan

semua method abstract maka subclass harus dideklarasikan sebagai

abstract class.

assert

Digunakan untuk membuat pernyataan-pernyataan yang selalu benar.

Jika pernyataan akan diaktifkan ketika program dijalankan dan ternyata

bahwa pernyataan adalah salah, maka AssertionError ditampilkan dan

program akan berakhir. Keyword ini dimaksudkan untuk membantu

dalam debugging.

boolean

boolean digunakan untuk menyatakan variable yang dapat menyimpan

nilai boolean yaitu benar atau salah.

break

Digunakan untuk melanjutkan eksekusi program ke statement

selanjutnya segera setelah selesai mengeksekusi suatu statement.

byte

Kata kunci byte digunakan untuk menyatakan variable dapat

menyimpan data integer sebanyak 8-bit.

case

Digunakan untuk membuat case-case individu dalam pernyataan switch.

Page 9: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

catch

sebuah blok satement yang dieksekusi jika pengecualian dijalankan pada

blok pendefinisian oleh kata kunci try sebelumnya.

char

Kata kunci char digunakan untuk menyatakan variable yang dapat

menyimpan data karakter sebanyak 16-bit.

class

digunakan untuk mendefinisikan dan mengimplementasikan berbagai

macam objek didalamnya.

const

const tidak digunakan dan tidak memiliki fungsi.

continue

Digunakan untuk melanjutkan eksekusi program pada akhir

pengulangan.

default

Default dapat digunakan dalam pernyataan switch untuk label blok

pernyataan yang akan dieksekusi jika case tidak sesuai dengan nilai

tertentu.

do

Digunakan bersama dengan while untuk membuat do-while

pengulangan, yang mengeksekusi suatu blok statemen berkaitan dengan

pengulangan dan kemudian tes ekspresi boolean, jika pernyataan

bernilai true, pemgulangan dijalankan lagi, ini terus sampai ekspresi

bernilai false.

double

Page 10: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

Digunakan untuk menyatakan variable dapat menampung 64-bit tipe

data float.

else

Kata kunci lain yang digunakan bersama dengan if untuk membuat

pernyataan jika-lain, yang menguji suatu ekspresi boolean, jika ekspresi

bernilai true, blok pernyataan terkait dengan jika dievaluasi, jika

mengevaluasi ke false blok, dari laporan terkait dengan lain dievaluasi .

enum (J2SE 5.0)

Sebuah Java kata kunci yang digunakan untuk mendeklarasikan tipe

enumerasi. Enumerations memperpanjang kelas dasar Enum.

extends

Keyword yang digunakan bila terjadi pewarisan, kelas yang mewariskan

method dan attributenya disebut kelas super, sedangkan yang

diwariskan disebut subkelas.

final

Dengan keyword ini kelas tidak dapat menurunkan kelas lain, method

tidak dapat dioverride oleh method lain, membentuk suatu attribute

menjadi konstanta.

finally

Digunakan untuk mendefinisikan suatu blok statemen untuk blok yang

ditetapkan sebelumnya dengan kata kunci try.

float

Digunakan untuk menyatakan variable dapat menampung 32-bit tipe

data decimal.

for

Page 11: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

Kata kunci untuk digunakan untuk membuat untuk pengulangan, yang

menetapkan inisialisasi variabel, ekspresi boolean, dan suatu

incrementation. Inisialisasi variabel dilakukan terlebih dahulu, kemudian

ekspresi boolean dievaluasi. Jika ekspresi bernilai true, blok pernyataan

yang berhubungan dengan pengulangan dijalankan, dan kemudian

incrementation yang dilakukan. Ekspresi boolean kemudian dievaluasi

lagi, ini terus sampai ekspresi bernilai false .

goto

Meskipun tercantum sebagai kata kunci di Java, goto tidak digunakan

dan tidak memiliki fungsi.

if

if digunakan untuk menguji suatu ekspresi boolean, jika ekspresi bernilai

true, blok statement yang berhubungan akan dieksekusi. Kata kunci ini

juga dapat digunakan untuk membuat pernyataan if-else.

implements

Termasuk dalam sebuah deklarasi kelas untuk menentukan satu atau

lebih interface yang diimplementasikan oleh kelas saat ini. Kelas A

mewarisi jenis dan metode abstrak dinyatakan oleh interface.

import

Digunakan pada awal sebuah file sumber untuk menentukan kelas atau

seluruh paket JAVA untuk disebut kemudian tanpa termasuk paket-

paket mereka nama-nama dalam referensi. Sejak J2SE 5.0, pernyataan

impor dapat mengimpor anggota statis dari sebuah kelas.

instanceof

Sebuah operator biner yang menggunakan sebuah referensi obyek

sebagai operan pertama dan kelas atau antarmuka sebagai operan

Page 12: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

kedua dan menghasilkan hasil boolean. Operator instanceof bernilai

true jika dan hanya jika jenis objek runtime adalah tugas kompatibel

dengan kelas atau interface.

int

Digunakan untuk menyatakan variable dapat menampung 32-bit tipe

data bilangan asli.

interface

Merupakan kumpulan method yang hanya memuat deklarasi dan

struktur method, tanpa detail implementasinya. Sedangkan detail dari

method berada pada class yang mengimplementasikan interface

tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu

method yang spesifik, yang tidak diperoleh dari proses inheritance. Tipe

data yang boleh pada interface hanya tipe data konstan. Setelah

mengetahui apa itu interface.long

native

Digunakan dalam deklarasi metode untuk menentukan bahwa metode

ini tidak diimplementasikan dalam file sumber Java yang sama,

melainkan dalam bahasa lain .

new

Digunakan untuk membuat sebuah instance dari kelas atau array /

obyek.

package

Sekelompok jenis. Paket dinyatakan dengan kata kunci paket.

private

Dengan keyword ini kelas/method/attribute tidak bisa diakses oleh kelas

lain bahkan juga tidak dapat diturunkan.

Page 13: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

protected

Dengan keyword ini kelas/method/attribute dapat diakses oleh kelas

lain yang satu package atau kelas lain tersebut merupakan

turunannya.public

Merupakan keyword dimana dengan keyword ini

kelas/method/attribute dapat diakses oleh kelas lain dimanapun.

return

Keyword ini digunakan untuk keluar dari suatu method. Baris – baris

program setelah keyword ini yang berada dalam blok method tersebut

akan diabaikan. Kemudian eksekusi dilanjutkan ke pernyataan setelah

blok method tersebut.

short

Digunakan untuk menyatakan variable dapat menampung 16-bit tipe

data integer.

static

Dengan keyword ini method dan attribute milik kelas menjadi sifat

bersama dari semua objek dalam kelas tersebut (tidak memerlukan

instansiasi dan tidak bisa dioverride).

strictfp (J2SE 1.2)

Digunakan untuk membatasi presisi dan pembulatan perhitungan

floating point untuk memastikan portabilitas.

super

Digunakan untuk mengakses anggota kelas diwariskan oleh kelas di

mana ia muncul. Memungkinkan subclass untuk mengakses ditimpa

metode dan anggota tersembunyi dari superclassnya. Kata kunci super

Page 14: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

juga digunakan untuk meneruskan panggilan dari konstruktor ke

konstruktor di superclass.

switch

Kata kunci switch digunakan dengan case dan default, yang akan

memeriksa sebuah variabel, dan mengeksekusi blok pernyataan yang

sama dengan case tersebut.

synchronized

Digunakan dalam deklarasi metode atau blok kode untuk memperoleh

kunci mutex untuk objek while thread saat mengeksekusi kode . Untuk

metode statis, objek terkunci adalah Kelas kelas. Jaminan bahwa paling

banyak satu thread pada waktu operasi pada obyek yang sama

mengeksekusi kode tersebut. Kunci mutex secara otomatis dilepaskan

ketika keluar eksekusi kode disinkronisasi. Fields, kelas dan interface

tidak dapat dinyatakan sebagai disinkronisasi.

this

Keyword yang digunakan untuk menyatakan objek sekarang dan tanpa

instansiasi.

throw

Menyebabkan deklarasi pengecualian. Hal ini menyebabkan eksekusi

untuk melanjutkan dengan pengecualian penangan melampirkan

pertama dinyatakan oleh kata kunci catch untuk menangani tipe

pengecualian tugas kompatibel. Jika tidak ada handler pengecualian

tersebut ditemukan dalam metode saat ini, maka kembali metode dan

proses ini diulang dalam metode panggilan. Jika tidak ada handler

pengecualian ditemukan dalam setiap pemanggilan metode di stack,

Page 15: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

maka pengecualian dilewatkan ke handler pengecualian tidak

tertangkap thread ini.

throws

Digunakan dalam deklarasi metode untuk menentukan pengecualian

tidak ditangani dalam metode melainkan diteruskan ke tingkat yang

lebih tinggi berikutnya program. Semua pengecualian tidak tertangkap

dalam sebuah metode yang tidak case RuntimeException harus

dideklarasikan menggunakan throws kata kunci.

transient

Menyatakan bahwa medan contoh bukan bagian dari default serial

bentuk objek. Ketika suatu objek serial, hanya nilai-nilai non-fana bidang

misalnya dimasukkan dalam representasi serial default. Ketika suatu

objek deserialized, while bidang diinisialisasi hanya untuk nilai default

mereka. Jika bentuk standar tidak digunakan, misalnya ketika sebuah

tabel serialPersistentFields ini dideklarasikan pada hirarki kelas, semua

kata kunci while diabaikan .

try

Mendefinisikan suatu blok statemen yang memiliki penanganan eksepsi.

Jika eksepsi dilemparkan di dalam blok try, sebuah blok catch opsional

dapat menangani jenis pengecualian dideklarasikan. Juga, sebuah blok

akhirnya opsional dapat dideklarasikan yang akan dijalankan ketika

eksekusi keluar dari blok mencoba dan menangkap klausa, terlepas dari

apakah eksepsi dilemparkan atau tidak. Sebuah try blok harus memiliki

minimal satu klausa catch atau finally blok.

void

Page 16: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

Keyword yang merupakan tipe jenis return value dimana method yang

menggunakan keyword ini tidak mengembalikan nilai apapaun setelah

dipanggil atau dieksekusi.

volatile

Digunakan dalam deklarasi lapangan untuk menentukan bahwa variabel

yang diubah asynchronously oleh bersamaan menjalankan thread.

Metode, kelas dan interface sehingga tidak dapat dideklarasikan volatile.

while

Kata kunci while digunakan untuk membuat pengulangan while, yang

menguji suatu ekspresi boolean dan mengeksekusi blok pernyataan

yang berhubungan dengan pengulangan jika ekspresi bernilai true;

sampai ekspresi bernilai salah. Kata kunci ini juga dapat digunakan untuk

membuat pengulangan do-while.

Modifier pada Java :

Dalam bahasa pemograman terdapat 4 modifier. Modifier ini berguna untuk melakukan enkapsulisasi(membungkus data) pada objek. Dengan menggunakan modifier, kita dapat menentukkan siapa saja yang dapat menggunakan atau mengakses objek tersebut. Modifier ini digunakan untuk hak akses user pada class, method, atau variabel. Modifier tersebut antara lain : 1. Default Modifier default menspesifikasikan kelas-kelas sepaket yang mengakses. Tidak ada keyword khusus untuk mendeklarasikan default modifier, bila tidak ada modifier pada deklarasi class, method atau variabel berarti modifier yang digunakan adalah default modifier. Contoh: class Mahasiswa { String nama; String kata() {

Page 17: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

return “JAVA”; } }

2. Public Pada modifier public ini bersifat umum, yaitu class, method, atau variable dapat dipanggil oleh semua kelas. Baik dari satu paket yang sama atau berlainan paket. Public juga akan memperbolehkan akses terhadap semua kelas yang diinstan dari kelas tersebut. Contoh: class Mahasiswa { public String nama; public String kata() { return “JAVA”; } }

3. Private. Modifier private ini menunjukkan bahwa suatu class, method atau variabel hanya dapat diakses dari dalam kelas tersebut. modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna untuk kelas yang lain). Contoh: class Mahasiswa { private String nama; private String kata() { return “JAVA”; } }

4. Protected. Modifier protected ini digunakan kalau suatu class, method atau variabel ingin digunakan hanya oleh kelas-kelas yang satu paket dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang satu paket atau lain paket. Contoh:

Page 18: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

class Mahasiswa { protected String nama; protected String kata() { return “JAVA”; } } Contoh program : public class Manusia{ private String nama; private String jenkel; public void setNama(String nama){ this.nama=nama; } public void setJenkel(String jenkel){ this.jenkel=jenkel; } public void cetak(){ System.out.println("Nama : "+nama); System.out.println("Jenis Kelamin : "+jenkel); } } public class DemoManusia{ public static void main(String args[]){ Manusia m = new Manusia(); m.setNama("Hendro"); m.setJenkel("Laki-laki"); m.cetak(); } }

V. PENGGUNAAN KEYWORD “SUPER”

Page 19: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

Keyword super digunakan oleh subclass untuk memanggil konstruktur

atau method yang ada pada superclassnya. Berikut adalah cara

penulisan “super” pada subclass untuk memanggil konstruktur pada

superclass.

super() atau super(parameter)

Sedangkan cara penulisan “super” pada subclass untuk memanggil

method pada superclass adalah sebagai berikut

super.namaMethod() atau super.namaMethod(parameter)

LISTING PROGRAM

package tanggal3;

/**

*

* @author Dicky

*/

public class Tanggal3 {

int Tahun, Bulan, Tanggal;

Tanggal3(int T,int B, int G) {

Tahun = T;

Bulan = B;

Tanggal = G;

Page 20: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

}

public void cetakTanggal() {

System.out.println(Tanggal+"/"+Bulan+"/"+Tahun);

}

public void tambahTahun() {

// this.Tahun=this.Tahun+1;

this.Tahun+=1;

}

public void tambahBulan() {

if(this.Bulan==12){ //Bulan Desember -> Januari

this.Bulan=1;

this.tambahTahun();

} else {

this.Bulan+=1;

}

}

public void tambahTanggal() {

int batasTanggal;

if(this.Bulan==2 && this.Bulan%4==0) {

batasTanggal=29;

} else if(this.Bulan==2) {

batasTanggal=28;

} else if((this.Bulan<=1 && this.Bulan%2==1) || (this.Bulan>=8

&& this.Bulan%2==0)) {

batasTanggal=31;

} else {

batasTanggal=30;

}

if(this.Tanggal>=batasTanggal) {

Page 21: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

this.Tanggal=1;

this.tambahBulan();

} else {

this.Tanggal+=1;

}

}

}

class Tanggal_ID extends Tanggal3{

public Tanggal_ID( int G, int B, int T) {

super(G, B, T);

}

public void cetakTanggalFull() {

String namaBulan="Januari";

switch(this.Bulan) {

case 1 : namaBulan="Januari";

break;

case 2 : namaBulan="Februari";

break;

case 3 : namaBulan="Maret";

break;

case 4 : namaBulan="April";

break;

case 5 : namaBulan="Mei";

break;

case 6 : namaBulan="Juni";

break;

case 7 : namaBulan="Juli";

Page 22: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

break;

case 8 : namaBulan="Agustus";

break;

case 9 : namaBulan="September";

break;

case 10 : namaBulan="Oktober";

break;

case 11 : namaBulan="November";

break;

case 12 : namaBulan="Desember";

break;

}

System.out.println(this.Tanggal+" "+namaBulan+"

"+this.Tahun);

}

}

class Tanggal_En extends Tanggal3 {

public Tanggal_En (int G,int B,int T){

super(G,B,T);

}

public void cetakTanggalbaru (){

String namaBulan = "January";

switch(this.Bulan){

case 1 : namaBulan = "January";

break;

case 2 : namaBulan = "February";

break;

case 3 : namaBulan = "March";

break;

Page 23: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

case 4 : namaBulan = "April";

break;

case 5 : namaBulan = "May";

break;

case 6 : namaBulan = "June";

break;

case 7 : namaBulan = "July";

break;

case 8 : namaBulan = "Augst";

break;

case 9 : namaBulan = "September";

break;

case 10 : namaBulan = "October";

break;

case 11 : namaBulan = "November";

break;

case 12 : namaBulan = "December";

break;

}

System.out.println(this.Tanggal+" "+namaBulan+" "+this.Tahun);

}

}

package tanggal3;

/**

*

* @author Dicky

*/

class MainClass {

public static void main (String[] args){

Tanggal3 tgl = new Tanggal3(2012,12,31);

System.out.print("Tanggal skrg: "); tgl.cetakTanggal();

Page 24: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

tgl.tambahTanggal();

System.out.print("Tanggal stlh: "); tgl.cetakTanggal();

Tanggal_ID tgl3 = new Tanggal_ID(2012,2,29);

System.out.print("Tanggal skrg: "); tgl3.cetakTanggalFull();

tgl3.tambahTanggal();

System.out.print("Tanggal stlh: "); tgl3.cetakTanggalFull();

Tanggal_En tgl4 = new Tanggal_En(2013,3,31);

System.out.print("Tanggal skrg: "); tgl4.cetakTanggalbaru();

tgl4.tambahTanggal();

System.out.print("Tanggal slth: "); tgl4.cetakTanggalbaru();

}

}

OUTPUT :

Page 25: INHERITANCE - Gunadarmatissa.staff.gunadarma.ac.id/.../files/66828/INHERITANCE.pdf · konsep inheritance: 1. Bersifat Reuseable Apabila memerlukan beberapa kelas yang berasal dari

DAFTAR PUSTAKA

http://sinau-java.blogspot.com/2008/05/modifier.html

http://isti-hana.blogspot.com/2012/11/method-dan-modifier-pada-java.html

http://amaa-amoo.blogspot.com/2009/10/contoh-program-superclass-dan-

subclass.html