Anda di halaman 1dari 17

I.

Tujuan
1. Memahami konsep Inheritance serta implementasinya pada program.
2. Memahami konsep Polimorfisme serta implementasinya pada program.
3. Memahami keyword abstract serta implementasinya pada program.
4. Memahami keywords package dan import serta implementasinya pada program.

II. Landasan Teori


INHERITANCE

 Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi.
 Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari
class yang telah terdefinisi tersebut.
 Setiap subclass akan mewarisi state ( variabel- variabel ) dan behaviour ( method-
method ) dari superclass-nya.
 Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik.
 Subclass dapat pula memodifikasi ( override) state dan behaviour yang diturunkan oleh
superclass-nya.
 Keuntungan implementasi inheritance :
o Subclass menyediakan state/behaviour yang spesifik yang membedakannya
dengan superclass, dengan tujuan untuk penggunaan ulang source code dari
superclass yang telah ada.
o Programmer Java dapat mendefinisikan superclass khusus yang bersifat
generik, yang disebut abstract class, untuk mendefinisikan class dengan
behaviour dan state secara umum.
 Istilah dalam inheritance :
o Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
o Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari
subclass/class anak.
o Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
 Istilah dalam inheritance :
o Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass atau
menjadi variabel yang mengacu pada superclass.
o Methode Overriding
Pendefinisian ulang method yang sama pada subclass dengan superclass untuk
tujuan implementasi method yang berbeda.
POLIMORFISME
 Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda.
 Polimorfisme berarti kemampuan dari suatu variabel referensi objek untuk memiliki
aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari
tipe objeknya.
 Kondisi yang harus dipenuhi dalam prinsip
Polimorfisme :
o Method yang dipanggil harus melalui variabel dari basis class atau
superclass.
o Method yang dipanggil harus juga menjadi method dari basis class.
o Signature method harus sama baik pada superclass maupun subclass.
o Method access attribute pada subclass tidak boleh lebih terbatas dari basis
class (superclass).

ABSTRACT
 Merupakan mekanisme dalam pemrograman java yang memungkinkan suatu metode
ditentukan dari dalam SuperClass namun tidak disertai dengan pendefinisiannya.
 Metode demikian dinamakan sebagai metode abstract sedangkan kelas-nya
(SuperClass) dinamakan sebagai kelas abstract.
 Definisi metode abstract harus didefinisikan disetiap kelas turunannya (SubClass).

PACKAGE DAN IMPORT


 Paket dalam JAVA adalah pengelompokkan suatu kelas dalam satu unit tertentu.
 Penggunaan paket dalam JAVA memungkinkan kelas-kelas bawaan yang berada dalam
unit tersebut dapat mengaksesnya meskipun tanpa penyebutan penentu aksesnya (public,
private, protected).
 Pernyataan import merupakan mekanisme untuk mengakses kelas yang terdapat
dalam suatu kelas

Import nama_paket.nama_kelas;

 Penggunaan import dalam pemrograman java, dapat dikombinasikan dengan penggunaan


fasilitas inheritance (pewarisan induk kelas ke anak kelas).
Cara Membuat Paket :

1. Membuat paket dengan cara menyediakan folder terlebih dahulu sebagai tempat
untuk menyimpannya file-file class dari program- program java yang dibuat
sebelum proses eksekusi.
2. Melakukan proses compile dengan menggunakan instruksi berikut :
javac [spasi] –d [spasi] [spasi]namaFile.java

3. Jika class-class java yang dibuat tidak saling berkaitan atau tidak mengimplementasikan
inheritance di dalam paket, maka sisipkan instruksi tersebut di posisi awal (teratas) program
anda, sebelum pendefinisian access modifier serta nama class program anda, yaitu:

4. Jika class-class java yang dibuat saling berkaitan atau mengimplementasikan


inheritance di dalam paket atau antar paket, maka gunakan keyword package dan
import di dalam class tersebut. Seperti berikut:
package [spasi] namaPaketA.namaPaketB;
Import [spasi] namaPaketA.namaPaketB.namaKelasInduk;
Contoh Program dengan nama KelasDua.java seperti pada Gambar 1:
package PaketA.PaketB; //lokasi KelasDua.java
import PaketA.PaketB.KelasSatu; //lokasi KelasSatu.java
//implementasi inheritance
public class KelasDua extends KelasSatu {
...
}

III. Alat dan Bahan


1. Personal Computer(PC) atau Laptop.
2. Java Development Kit (JDK) yang sudah ter-instal.
3. Microsoft Visio.
IV. Hasil Praktikum
1) Inheritance
 Inheritance

void void
int x, y TampilkanN int z TampilkanJ
ilaixy() umlah()

“Nilai x : “Jumlah :
“+x+”, y : “+y “+(x+y+z)

ret ret

start Q W E R

A
“Subclass
VarsuperOb=new “Subclass” “Subclass” “Superclass”
Jumlah”
A()

B
VarsubOb=new VarsubOb.x=5 VarsubOb.z=30 VarsubOb.x=15 VarsuperOb.x=10
B()

VarsubOb.Tampi
“Superclass” VarsubOb.y=4 VarsubOb.y=14 VarsuperOb.y=20
lkanJumlah

E
VarsubOb.Tampi VarsubOb.Tampi VarsubOb.Tampi
VarsuperOb.x=10
lkanNilaixy() lkanNilaixy() lkanNilaixy()

R end
VarsuperOb.y=20 W

VarsuperOb.Ta
mpilkanNilaixy()

Q
Analisis:
 DemoKelasTurunan2

public void public void


Private int a public int Private int b public int
setA(int setB(int
Protected int i getA() Protected int j getB()
nilai) nilai)

ret a ret b
a=nilai b=nilai

ret ret

public void
public int
Private int c setC(int
getC()
nilai)

ret c
c=nilai

ret

start X Y Z

“Nilai a :
“Nilai i :
C obj=new C() obj.setA(100) “+obj.getA
“+obj.i
()

“Nilai b :
“Nilai j :
obj.i=10 obj.setB(200) “+obj.getB
“+obj.j
()

“Nilai c : end
obj.j=20 obj.setC(300) “+obj.getC
()

X Y Z
Analisis:
2) Polimorfism
 Polimorfisme

protected int public


public string
panjang, abstract int public
getBentuk()
lebar hitungluas() SegiTiga(int public int
panjang2, hitungluas()
lebar2)

ret “Bentuk
Dasar” ret
this.panjang*this.l
this.panjang=panja ebar/2
ng2

public public
public int
BujurSangkar(int String
hitungluas()
panjang1, int lebar1) getBentuk() this.lebar=lebar2

ret “Bentuk ret


this.panjang=pa Bujur Sangkar” panjang*lebar
njang1

this.lebar=lebar1

public static void Start X Y Z


cetakLuasBentuk
(Bentuk btk)

BujurSangkar bs=new SegiTiga st=new cetakLuasBentu cetakLuasBentu


BujurSangkar(10,20) SegiTiga(5,10) k(bs) k(st)
btk.getBentuk()+”
dengan luas
“+btk.hitungluas()

SegiTiga
BujurSangkar bs1=new cetakLuasBentu cetakLuasBentu
st1=new
BujurSangkar(10,20) k(bs1) k(st1)
ret SegiTiga(50,100)

X Y Z End
Analisis:
 DemoPolimorfisme1

public void
bernyanyi()
public void
bernyanyi()
public void public void
bernyanyi() bernyanyi()

“Karakteristik
nadanya
“+”belum “Bernyanyi
didefinisikan” dengan irama
“Bernyanyi “Bernyanyi
Pop”
dengan irama dengan irama
Jazz” Dangdut”
ret
ret
ret ret

Start X Y

Penyanyi p p=musmujiono p.bernyanyi()

PenyanyiJazz
musmujiono=new p.bernyanyi() p=inul
PenyanyiJazz()

PenyanyiPop
audi=new p=audi p.bernyanyi()
PenyanyiPop()

PenyanyiDangdut Y End
inul=new
PenyanyiDangdut()

X
Analisis:
3) Abstract (DemoKelasAbstrak1)

abstract Start X
public void public void
public void
cobajuga() coba()
coba()

A ref ref.cob
“Method non-
“Method
abstrak “+”di
di dalam
dalam kelas
kelas B”
abstrak”

B obj=new B() ref.cobaju

ret

End
ref=obj

Start X

A ref ref.coba()

B obj=new B() ref.cobajuga()

End
ref=obj

X
Analisis:
4) Package dan Import (DemoPanggilPaket)
PACKAGE

private final double public public public


PI=3.1416 Lingkaran(d double double
private double r ouble r) luas() keliling()

ret (PI*r*r) ret (2*PI*r)


this.r=r

public public
private double
Segitiga(double double
tinggi, alas
tinggi, double alas) luas()

ret
((tinggi*alas)/2)
this.tinggi=tinggi

this.alas=alas
Analisis:
IMPORT

import import
ContohPkg.Lingkaran ContohPkg.Segitiga

Start
“Luas lingkaran :
“+obLingkaran.luas()

Lingkaran
obLingkaran=new
Lingkaran()
“Keliling lingkaran :
“+obLingkaran.keliling()

Segitiga
obSegitiga=new
Segitiga()
“Luas Segitiga :
“+obSegitiga.luas()

End
Analisis:

V. Kesimpulan

Anda mungkin juga menyukai