Anda di halaman 1dari 33

PEMROGRAMA

N OOP
Oleh: Sholihah Ayu Wulandari, S.ST., M.Tr.T.
Pertemuan ke - Materi Dosen Pengampu

1 Pengenalan OOP B.Bitari


2 Konsep Dasar OOP B.Bitari
3 Class dan Methods B.Bitari
4 Object B.Bitari
5 Enkapsulasi B. Ayu
6 Inheritance B. Ayu
7 Polimorfisme B. Ayu
8 UTS
9 Interface dan abstract class B. Ayu
10 Paket dan Import P. Fahri
11 Static dan final variable, dan method P. Fahri
12 Exception handling P. Fahri
13 Pendahuluan J2ME P. Rifki
14 Management event P. Rifki
15 J2ME User Interface 1 P. Rifki
16 UAS
PENGANTAR OBJECT-ORIENTED
PROGRAMMING
 Apa itu OOP?
 OOP atau (Object-Oriented Programming) adalah suatu paradigma dalam
pemrograman yang berbasis pada obyek.
 OOP terinsiprasi dari model yang telah ada di kehidupan sehari-hari.
 Contoh: mobil, mobil merupakan suatu objek. Mobil terbentuk dari beberapa
objek yang lebih kecil seperti roda, body, mesin dll. Objek yang terdapat pada
mobil saling berhubungan, berinteraksi dan berkomunikasi. 
PENGANTAR OBJECT-ORIENTED
PROGRAMMING
 Berikut ini adalah beberapa istilah yang sering digunakan dalam konsep OOP.
 Class dan Object
Kelas (terjemahan dari class) dan obyek (terjemahan dari object) adalah hal paling dasar yang
harus kita pelajari. Kita akan belajar bagaimana membuat suatu kelas dan menggunakaanya di
dalam suatu program.
 Method
Suatu metode mendefinisikan perilaku obyek yang dibuat dari kelas. Metode dapat berupa
prosedur atau fungsi.
 Member
Di materi ini kita akan belajar lebih dalam lagi tentang member (semua yang dideklarasikan)
di dalam suatu kelas.
PENGANTAR OBJECT-ORIENTED
PROGRAMMING
 Access Modifier
Di sini kita akan belajar tentang hak akses dari suatu kelas, metode, dan data member. Ada
beberapa macam modifier yaitu private, default, protected, dan public.
 Encapsulation
Encapsulation adalah metode untuk membundling suatu data dan metode di dalam kelas. Di
dalamnya juga akan ada materi tentang bagaimana mengaksesnya dengan memanfaatkan
metode di dalam kelas.
 Inheritance
Inheritance adalah pewarisan, suatu kelas dapat diturunkan dari kelas lain sehingga mewarisi
data dan metode dari kelas lain tersebut. Materi inheritance sangat penting di dalam OOP.
 Interface
Selain inheritance, kita juga akan belajar tentang interface. Interface mirip seperti kelas, tetapi
hanya berisi method signature (nama, parameter dan return).
INHERITANCE
(PEWARISAN)
Oleh: Sholihah Ayu Wulandari, S.ST., M.Tr.T.
Tujuan

 Pengertian Pewarisan
 Cara mewariskan kelas
 Penentu akses protected
 Memanggil metode Superkelas
 Memanggil konstruktor superkelas
 Penentu akses final
 Penentu abstract
 Polymorphisme
PENGERTIAN
 Pewarisan merupakan konsep dalam pemrograman
berorientasi objek yang memungkinkan untuk membuat
suatu kelas dengan didasarkan pada kelas yang sudah ada
sehingga mewarisi semua metode dan variabelnya.
BEBERAPA TERMINOLOGI YANG
PENTING:
 Super Class atau Parent Class, kelas yang semua fiturnya di
wariskan kepada kelas turunannya. 
 Sub Class atau Child Class, kelas turunan yang mewarisi semua
fitur dari kelas lain. Sub class dapat menambah field dan metodenya
sendiri sebagai tambahan dari kelas yang memberi warisan.
 Reusability, yaitu ketika kita ingin membuat kelas baru dan sudah
ada kelas yang berisi kode yang kita inginkan, kita bisa menurunkan
kelas baru tersebut dari kelas yang sudah ada. Dengan begitu, kita
menggunakan kembali field dan metode dari kelas yang telah ada.
PEWARISAN

superkelas Kelas A

VariabelZ
metodeX( ) Dengan sendirinya
Kelas B mewarisi Kelas B mewarisi
Kelas A metodeY( ) Semua metode
dan variabel milik
kelas A yg tdk
subkelas Kelas B bersifat privat

metodeZ( ) Metode tambahan


CARA MEWARISKAN KELAS
1. Pembuatan superkelas alpha.java

class alpha
{
private int a=5;

public void info( )


{
System.out.println(“a=“+a);
}

}
2. PEMBUATAN SUBKELAS
BRAVO.JAVA
bentuk:
class subkelas extends superkelas
{
tubuh kelas;
}

Bravo.java

class bravo extends alpha


{
private int b;
public void infolagi()
{
System.out.println(“b=“+b);
}
}
3. KOMPILASI PROGRAM
DIBAWAH INI

public class coba


{
public static void main(String
args[])
{
bravo
alpha obj=new
ob=new alpha();
bravo(); obj.info();
ob.infolagi(); Error!
}
}
PENENTU AKSES PROTECTED
Penentu akses ini berguna untuk mengatur agar suatu variabel ataupun metode
yang terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan subkelas

class charlie
{ charlie
private int
protected int
a=5;
-a:int
b=7;
public void
#b:int
info()
{
+info()
System.out.println(“a=
“+a);
UML Class
System.out.println(“b=
diagram
} “+b);
}
class delta extends charlie
{
private int c=9;

public void info()


{
System.out.println(“a=“+a)
;
System.out.println(“b=“+b)
;
System.out.println(“c=“+c)
;
}
}
Hasil:
class penentuprotect
{
public static void main(String
args[])
{
charlie objx=new
charlie(); objx.info();

delta objy=new
delta(); objy.info();
}

Hasil:
a=5
b=7

b=7

c=9
MEMANGGIL METODE SUPERKELAS
class charlie
{
private int a=5;
protected int b=7;

public void info()


{
System.out.println(“a= “+a);
System.out.println(“b=
“+b);

} } class echo extends charlie


{
private int c=9;

public void info()


{
Metode super.info();
superkelas System.out.println(“c= “+c);

}
}
class superku
{
public static void main(String
args[])
{

echo obj=new
} echo(); Hasil
} obj.info();
a=5

b=7

C=9
MEMANGGIL KONSTRUKTOR
SUPERKELAS
Cara pemanggilan konstruktor oleh subkelas:

super(argumen1,argumen2,…)

Cara pemanggilan konstruktor superkelas:


• pemanggilan konstruktor superkelas harus
berkedudukan sebagai pernyataan pertama dalam
konstruktor
MEMANGGIL KONSTRUKTOR
SUPERKELAS
Cara pemanggilan konstruktor oleh subkelas:

super(argumen1,argumen2,…)

class pegawai extends orang


class orang
{
{ private String nama; private
int usia; protected String nopeg;

public orang(String nama,int public pegawai(String nopeg


usia) String nama,int usia)
{
{ super(nama,usia); konstruktor
this.nopeg=nopeg; superkelas
this.nama=nama;
}
this.usia=usia;
override
} public void info() metode
{
public void info() System.out.println(“nopeg:”+
this.nopeg);
{
super.info();
}
} System.out.println(“nama:”+ this.nama);
}
System.out.println(“usia:”+ this.usia);
public class konstruktorsuperkelas
{
public static void main(String args[])
{
pegawai programmer=new
pegawai(“123456”,”edi”,23); programmer.info();

}
}

Hasil:
nopeg:123456
nama:edi
usia:23
PENENTU AKSES FINAL
penentu akses final dapat diterapkan pada variabel atau
metode.
 Pada variabel, final akan membuat variabel menjadi suatu konstanta
(tidak dapat diubah)
 pada metode, final akan membuat kelas tidak dapat dioverride
pada subkelas
class abc
{
final public double PI=3.14;

final void info()


{
System.out.println(“PI:”+PI);
}
}

class xyz extends abc


{ akan menimbulkan kesalahan
public void karena info() tidak dapat
info() dioverride
{
}
} class penentu
{
public static void main(String
args[])
{
xyz obj=new
xyz();
obj.info();
}
PENENTU ABSTRACT

Java menyediakan suatu mekanisme yang memungkinkan


Metode ditentukan dari dalam kelas tetapi tidak disertai
Dengan definisinya. Metode ini dikenal dengan nama metode
Abstrak, sedangkan kelasnya dinamakan kelas abstrak

public abstract class kendaraan


{
protected String nama;
public abstract void
jalankan();
}
class mobil extends kendaraan
{
public mobil(String nama)
{
this.nama=nama;
}
public void jalankan()
{
System.out.println(“nama:”+this.nama+”car
a menjalankan distater mesinnya”);
}
}

public class tes


tambahkan kelas {
sepeda!! public static void main(String args[]
{
mobil mobilku=new mobil(“sedan”);
Hasil: mobilku.jalankan();
nama:sedan cara }
menjalankan distater }
mesinnya
MENCOBA MEMBUAT CODELAB
INHERITANCE
 Buatlah proyek baru dengan nama Inheritance dan buat package didalamnya.
 Buatlah kelas baru dengan nama Hewan di dalam package tersebut.
 Tambahkan kode berikut di dalam kelas Hewan:
 Buatlah kelas Kucing, inherit dari class Hewan menggunakan extends.
 Selanjutnya buatlah sebuah class baru dengan nama Main, lalu tambahkan kode berikut:
 Selanjutnya jalankanlah kode di atas pada IDE yang kalian gunakan. Bila sukses, seharusnya
Console akan menampilkan output seperti ini.
Output-nya akan seperti di bawah ini.
KESIMPULAN
 Dari output di atas bisa kita simpulkan bahwa seekor
kucing adalah (IS-A) hewan . Tapi seekor hewan belum
tentu kucing dan pastinya hewan adalah instans dari
kelas Hewan dan kucing adalah instans dari kelas Kucing
yang keduanya adalah (IS-A) Object.
 Perhatikan output berikut:

 Ketika membuat instans objek kucing, constructor dari


class Hewan akan tetap dipanggil walaupun sengaja kita komentari
baris super(). Coba jadikan komentar di baris tersebut dan jalankan
ulang class Main maka hasilnya akan sama saja.
TERIMA KASIH

Anda mungkin juga menyukai