TUGAS PERTEMUAN KE IV
Materi
Konsep-konsep
dasar yang mendasari pemrograman
beriorentasi objek:
A.
INHERITANCE
Inheritance adllah
penurunan atribut dan method dari suatu kelas super/kelas induk ke sub kelas
anak. Pewarisan ini bersifat menyeluruh sehingga semua attribut dan method yang
dimiliki kelas super dapat diturunkan ke sub kelas.
Contohnya jika
kelas c merupakan keturunan kelas b dan kelas b merupakan turunan kelas a, maka
otomatis atribut dan method akan diwariskan pula ke kelas c. Dengan demikian
jika seorang progamer ingin memodifikasi
suatu atribut atau method yang digunakan sub kelas , maka hanya dilakukan
modifikasi pada kelas super yang dimilikinya.
Deklarasi:
[modifier class
NamaSubclass extends NamaKelasSuper
{
Class body;
Kata kunci extends
digunakan untuk menyatakan pewarisan.
B.
ENCAPSULATION
Encapsulation atau
pengkapsulan adalah suatu kemampuan dalam pemograman beriorentasi objek untuk
menyembunyikan atribut dan method suatu objek dari objek lain.
Pengkapsulan
membuat orang lain tidak mengetahui bagaimana detil implementasi (listing
program) dari modul tersebut. Dalam pemograman menyembunyikan detail ini
dikenal dengan istilah information
hiding. Pengkapsulan dilakukan dengan cara memberikan modifier private pada
suatu method dan pada variabel.
Method memberikan
nilai pada suatu atribut privat biasanya diawali dengan kata “set” sedangkan
methot untuk pengambilan nilai dari suatu atribut privat biasanya diawali
dengan kata “get”.
C.
POLYMORPHISM
Secara leksikal
polymorhism (polimorfisme) bermakna suatu kata yang dimiliki banyak arti.
Polimorfisme dapat diilustrasikan
sebagai berikut:
1.
“sayuran
itu masih mentah”
2.
Pukulan
petinju itu berhasil dimentahkan lawanya”
3.
Gagasan
itu masih mentah sehingga perlu dibahas kembali.
Dalam pemograman,
istilah polimorfisme dapat diartikan sebagai modul yang memiliki nama yang sama
, namun memiliki tingkah laku yang
berbeda sehingga implementasinya berbeda.
CONTOH PROGRAM
public class SuperClass {
public SuperClass() {
System.out.println("ini
kontruktor milik SuperClass");
}
public
void methodSuperClass() {
System.out.println("ini
method milik SuperClass");
}
}
Keterangan program :
1.
public class SuperClass { ini disebut modifier public dan program ini
tidak memiliki fungsi utama.
2.
Yang disebut sebagai method ada 2
a.
public SuperClass() {
b.
methodSuperClass() {
3.
public void methodSuperClass() { ini
disebut sebagai kontruktor
4.
System.out.println("ini method milik SuperClass"); ini sebagai output dari superclass
Public class
SubClass extends SuperClass {
Public SubClass() {
Super();
}
Public void
methodSubClass() {
Super.methodSubClass() ;
}
}
Keterangan Program:
1.
Public
class SubClass extends SuperClass { perintah
ini merupakan pewarisan akan tetapi
karena sudah memiliki keturunan jaddi ga perlu adanya pembuatan objek.
2.
Ada 2
method dalam program ini yaitu
a.
Public SubClass() {
b.
methodSubClass()
;
3.
Super(); perintah ini untuk memanggil konstruktor
kelas induk.
4.
Super.methodSubClass()
; adalah perintah ini memenggil method superClass dan
subClass
5.
Perintah
ini tidak memiliki fungsi utama.
public class DemoInheritance{
public static void main(String[] args) {
SubClass
sc = new SubClass();
sc.methodSubClass();
}
}
Keterangan Program:
1.
public class DemoInheritance{ adalah
sebagai fungsi utama
2.
SubClass sc = new SubClass(); adalah berfungsi sebagi memanggil objeck
3.
sc adalah ini sebagai objek
4.
sc.methodSubClass(); adalah untuk
membuat objek baru dari sc dengan tujuan bisa mengakses kekelas lain.
5.
Maka
akan menghasilkan output sebagai berikut:
public class Persegi {
private double panjang;
private double lebar;
private
double tinggi;
public
Persegi() {
panjang
= 0;
lebar
= 0;
}
private
double luas(double p,double l) {
return
p*l;
}
public
void setPanjang(double panjang1) {
this.panjang
= panjang1;
}
Public void setLebar (double
lebar1) {
this.lebar
= lebar1;
}
public
double getPanjang() {
return panjang;
}
public
double getLebar() {
return lebar;
}
Public double getLuas() {
Return luas(panjang, lebar);
}
}
Keterangan Program:
1. private double panjang;
a.
private double lebar;
ini disebut sebagai atribut
b. private double tinggi;
2. Double
disembunyikan
3.
panjang1 nilai atribut (satu
parameter)
4.
lebar1; nilai atribut menjadi 20
5. Return luas(panjang, lebar);
memanggil method luas panjang 10 dan lebar 20
public class MainPersegi {
public static void main(String[] args) {
Persegi pg = new Persegi();
pg.setPanjang(10);
pg.setLebar(20);
System.out.println("Panjang
: "+pg.getPanjang());
System.out.println("Lebar
: "+pg.getLebar());
System.out.println("Luas
: "+pg.getLuas());
}
}
Keteranga
program:
1.
public class MainPersegi {
memanggil method persegi
2.
pg.setPanjang(10); memanggil
nilai panjang
3.
+pg objek baru dari class persegi
4.
getPanjang()); memanggil nilai method
panjang dari nilai persegi panjang.
5.
getLebar()); memanggil method lebar
nilai 20
6.
getLuas()); memanggil nilai luas
7.
Memiliki
fungsi utama
8.
Maka
outputnya akan muncul sbb:
abstract class Karyawan {
int gaji;
Karyawan() {
gaji = 100000;
}
Int getGaji() {
return
gaji;
}
abstract
void naikGaji();
}
Keterangan Program:
a.
Karyawan() {
b.
getGaji() { ini disebut sebagai method
c.
naikGaji();
class Manajer extends Karyawan {
Manajer() {
gaji += 2000000;
}
Void naikGaji() { gaji+=300000; }
}
Keterangan Program:
1.
class Manajer extends Karyawan { pendeklarasian karyawan
class Receptionist extends Karyawan {
Receptionist() {
gaji
+=1000000;
}
void
naikGaji() { gaji+=100000; }
}
Keterangan Program:
a.
class Receptionist extends Karyawan {
turunan dari manager
class Polymorphisme {
public
static void main(String[] args) {
Karyawan K[]
= new Karyawan[3];
K[0]
= new Manajer();
K[1]
= new Receptionist();
K[2] = new Manajer();
for
(int i=0;i<3;i++)
System.out.println("Gaji karyawan "+i+" adalah "+K[i].getGaji());
for
(int i=0;i<3;i++)
K[i].naikGaji();
for
(int i=0;i<3;i++)
System.out.println("Gaji sekarang "+i+" adalah "+K[i].getGaji());
}
}
Keterangan Program :
1.
class Polymorphisme {
kelas utama
2.
(String[] args) { untuk membuat objek baru
3.
K[] objek bersifat array
4.
new Karyawan[3]; objeknya sebanyak 3
outputnya 1 juta
5.
Maka
outputnya sebagai berikut
Disusun oleh:
Nama : Erviana Saragih
Nama : Erviana Saragih
Mik : 10 – 03
“Dibutuhkan
kritik dan saran dari pembaca”
Tidak ada komentar:
Posting Komentar