Index of /Prakt_PJK

O BJECT O RIEN TED
P ROGRAMMIN G

D ay 1 :
Ko n s e p Pe m ro gram an Be ro rie n tas i Obje ct

TUJ UAN
Mem berikan
b k latar
l
b l k
belakang
serta pem aham
h an
tentang konsep pem rogram an berorientasi obyek
dan perbandingannya dengan pem rogram an
prosedural.
| Mengenalkan lingkungan J ava
|

TOPIK

Pem rogram an prosedural
d
l vs pem rogram an
berorientasi obyek
| Mengorganisasi
M
i i program m enjadi
j di e6lem
6l entt yang
disebut sebagai class, dan bagaim ana class ini
digunakan untuk m em buat obyek.
obyek
| Struktur class: tingkah laku (behavior) dan atribut
(attributes).
| Konsep OOP
| Pengenalan J ava
| Cara kom pile dan m enjalankan aplikasi J ava
|

BAHASA P ROSEDURAL

Serangkaian
S
k i ttugas di
diselesaikan
l ik ddalam
l
bbentuk
t k
fungsi atau prosedur.
| Cara pandang Æ program adalah suatu urutan
instruksi.
| Program
g
er harus m e-break down suatu pproblem
m enjadi sub problem yang lebih sim ple.
| Fungsi dan prosedur m enjadi fokus utam a.
| Fungsi dan
d prosedur
d ddigunakan
k untuk

k
m em anipulasi data.
| Data bersifat pasif.
pasif
|

P EMROGRAMAN BERORIENTASI OBYEK
Fungsi dan
d data
d
b k m enjadi
bukan
d dua
d hal
h l yang
terpisah.
| Fungsi
F
i dan
d data

d t m enjadi
j di satu
t kesatuan
k t
yang
disebut sebagai obyek aktif.
| Cara pandang Æ program adalah serangkaian
obyek yang bekerjasam a untuk m enyelesaikan
suatu problem .
|

P ROCEDURAL VS OOP
|

Focusing on the
h way a
com puter handles tasks

|


Focusing on the
h taskk you
are using the com puter for

APAKAH OBYEK?
Sem ua benda
b d yang ada
d ddi ddunia nyata ddapat
dianggap sebagai obyek.
| Contoh
C t h : rum ah,
h m obil,
bil sepeda
d m otor,
t
gelas,
l
kom puter, m eja dll.
|


KARAKTERISTIK OBYEK
Setiap obyek
b k m em iliki
l k atribut
b sebagai
b
status (state).
(
)
| Setiap obyek m em iliki tingkah laku (behavior)
| Contoh: obyek sepeda
y Mem iliki atribut (state) Æ: pedal, roda, jeruji,
warna, jjum llah
h roda.
d
y Mem iliki tingkah laku (behavior) Æ :
kecepatan a m enaik
kecepatanya
enaik, kecepatann
kecepatannyaa m enurun

enurun,
perpindahan gigi sepeda.
|

KARAKTERISTIK OBYEK
Penggam baran
b
pem rogram an bberorientasi obyek
b k=
penggam baran pada dunia nyata.
| Pada
P d pem rogram an bberorientasi
i t i obyek:
b k
y State disim pan pada Æ variabel
y Tingkah
Ti k h laku
l k disim
di i pan pada
d Æ m ethod

h d
|

APAKAH CLASS?
Definisi
D
fi i i class:
l
m erupakan
k ttem plate
l t untuk
t k m em bbuatt
obyek.
| Definisi class: m erupakan prototipe / blue prints
yang m endefinisikan variabel – variabel dan
m ethod – m ethod secara um um .
| Obyek m erupakan hasil instansiasi dari suatu kelas.
| Proses pem bentukan obyek dari suatu class disebut
de ga in s t a n t ia t io n .
dengan

| Obyek disebut juga in s t a n ce s .
|

ATTRIBUTES
Definisi
f
atribut
b : adalah
d l h d ata yang m em bedakan
b d k
antara obyek satu dengan yang lain.
| Contoh:
C t h V
VolcanoRobot
l
R b t Æ A volcanic
l
i exploration
l ti
vehicle, m em punyai atribut sebagai berikut:

y Status Æ exploring,
exploring m oving
oving, returning hom e
y Speed Æ in m iles per hour
y Tem perature,
perature in Fahrenheit degrees
| Dalam class atribut disebut sebagai variabe l
|

ATTRIBUTES
IInstance
t
variable:
i bl adalah
d l h atribut
t ib t untuk
t k tiap
ti obyek
b k
dari class yang sam a.

| Tiap obyek m em punyai dan m enyim pan nilai
atributnya sendiri.
| J adi tiap
p obyek
y dari class yyang
g sam a boleh
m em punyai nilai yang sam a atau beda.
|

Class
l
variable:
bl adalah
d l h atribut
b untuk
k sem ua obyek
b k
yang dibuat dari class yang sam a.
| Sem ua obyek m em punyai nilai atribut yang sam a.
a
| J adi sem ua obyek dari class yang sam a m em punyai
hanya
y satu nilai yyang
g value nya
y sam a.
|

BEHAVIOR
Behavior
B
h i / tingkah
ti k h laku
l k adalah
d l h hhall – hal
h l yang bi
bisa
dilakukan oleh obyek dari suatu class.
| Behavior dapat
p digunakan
g
untuk m engubah
g
nilai
atribut suatu obyek, m enerim a inform asi dari obyek
lain, dan m engirim inform asi ke obyek lain untuk
m elakukan suatu task.
| Contoh: VolcanoRobot
y Check current tem perature
y Begin
i a survey
y Report its current location
| Dalam class
class, behavior disebut juga sebagai
m e th o d s .
|

BEHAVIOR
Methods:
h d adalah
d l h serangkaian
k
statem ents dalam
d l
suatu class yang m enghandle suatu task tertentu.
| Cara
C
obyek
b k berkom
b k unikasi
ik i dengan
d
obyek
b k llain
i
adalah dengan m enggunakan m ethod.
|

CONTOH : CLASS, OBJ ECT, ATTRIBUTTES, DAN
BEHAVIOR
n am a clas s
in s tan ce variable

m e th o d s

KONSEP DASAR OOP
Enkapsulasi
k
l (Encapsulation)
(
l
)
| Abstraksi Data (Data Abstraction)
| Penurunan (Inheritance)
| Polim orfism e (Polym orphism )
|

E NKAPSULASI (P EMBUNGKUSAN )
Variabel
b l ddan m ethod
h d yang ddipunyai suatu obyek,
b k
bisa ditentukan hak aksesnya.
| Definisi
D fi i i enkapsulasi:
k
l i P
Pem bbungkusan
k
variabel
i b l ddan
m ethod dalam sebuah obyek yang terlindungi.
| Definisi enkapsulasi: m enyem bunyikan cara kerja
dan sistem .
|

E NKAPSULASI
Contoh:
h jam tangan
y Penting sekali untuk m engetahui waktu.
y Cara jam m encatat waktu dengan baik antara
jam bertenaga baterai atau bertenaga gerak
tidaklah penting kita ketahui.
ketahui
| Dalam OOP, konsep enkapsulasi sebenarnya
m erupakan perluasan dari struktur dalam bahasa
C.
|

ABSTRAKSI DATA
Abstraksi
b
k data
d
adalah
d l h m engabstrakkan
b
kk atau
m enyam arkan data-data yang ada.
| Contoh
C t h : jjam ttangan
y Orang tidak perlu tahu bagaim ana cara jam
m engatur dan m erubah detik kem enit,
enit atau
m enit ke jam .
y Orang tidak perlu tahu siapa yang bertanggung
jawab m enggerakkan jarum jam .
|

P EWARISAN (I NHERITANCE )
Definisi
f
((class):
l ) m erupakan
k pewarisan atribut
b dan
d
m ethod pada sebuah class.
| Definisi
D fi i i ((obyek):
b k) kkem am puan obyek
b k untuk
t k
m ewarisi ciri-ciri obyek lainnya.
| Class yang m ewarisi Æ superclass
| Class yang diwarisi Æ subclass
| Subclass
S b l
bisa
bi berlaku
b l k sebagai
b
i superclass
l
bbagii class
l
lainya.
|

P EWARISAN (I NHERITANCE )
Contoh
C
t h : tterdapat
d
t class
l
sepeda
d ddan sepeda
d gunung.
y Sepeda Æ superclass
y Sepeda gunung Æ subclass
y Sepeda gunung m em iliki variabel dan m ethod
yang dim iliki oleh sepeda.
| Prinsip : Persam aan-persam aan yang dim iliki oleh
beberapa kelas dapat digabungkan dalam sebuah
class
l
iinduk
d k sehingga
hi
setiap
i kelas
k l yang
diturunkannya m em uat hal-hal yang spesifik untuk
kelas yang bersangkutan.

P EWARISAN (I NHERITANCE )
Se p e d a

Se p e d a
Gu n u n g

Se p e d a
Balap

Se p e d a
Mo to r

P EWARISAN (I NHERITANCE ) - KEUNTUNGAN
Subclass
b l
m enyediakan
d k state// bbehaviour
h
yang
spesifik yang m em bedakan dengan superclass Æ
m em ungkinkan program m er untuk m enggunakan
ulang source code dari superclass yang telah ada.
| Program m er dapat m endefinisikan superclass
khusus yang bersifat generik, yang disebut abstract
class, untuk m endefinisikan class dengan tingkah
laku dan state secara um um .
|

SINGLE DAN MULTIPLE INHERITANCE
C Æ m ultiple
l l inheritance
h
| Suatu class diperbolehkan untuk m em punyai lebih
d i satu
dari
t superclass.
l
| Variabel dan m ethod yang diwariskan m erupakan
kom binasi dari superclass-nya.
superclass nya
|

J ava Æ single
i l iinheritance
h it
| Suatu class hanya boleh m em punyai satu
superclass.
superclass
|

M ULTILEVEL INHERITANCE
|

Suatu subclass
b l
bbisa m enjadi
d superclass
l
bbagi class
l
yang lain.

P OLIMORFISME
Definisi:
f
satu nam a ddapat ddigunakan
k untuk
k banyak
b
k
tujuan yang berbeda nam un berhubungan satu
sam a lain.
lain
| Tujuan: m em ungkinkan kita m em berikan nam a
yang sam a bagi segolongan aksi atau tugas yang
m irip.
| Contoh: luas bidang
| Polim orfism e Æ m ethod overloading
|

TEKNOLOGI J AVA2P LATFORM
Enterprise Edition(J
d
( 2EE))
| Standard Edition (J 2SE)
| Micro Edition (J 2ME)
|

P ERBANDINGAN J AVA DAN BAHASA LAIN

W HAT IS THE J AVA TECHNOLOGY?
A program m ing language
l
| A developm ent environm ent
| An application environm ent
| A deploym ent environm ent
|

A PROGRAMMING LANGUAGE
|

Sintakk bahasa
b h
pem rogram an java m irip dengan
d
bahasa C++

A DEVELOPMENT ENVIRONMENT
|

Teknologi
k l
java m enyediakan:
d k
kom
k piler,
l interpreter,
docum entation generator, class file packaging.

AN APPLICATION ENVIRONMENT
|

Merupakan
k standalone
d l
program yang tidak
d k
m em erlukan web browser untuk m engeksekusi
program (applet).
(applet)

A DEPLOYMENT ENVIRONMENT
|

Terdapat
d
2 ddeploym
l
ent environm ent utam a:
y J RE (J ava Runtim e Environm ent) yang
m enyediakan
di k class-class
l
l
yang ttersim
i pan ddalam
l
package-package, kom ponen GUI class, dan
Collection API.
API
y Web browser Æ banyak web browser kom ersial
yang
y
g m enyediakan
y
lingkungan
g
g J ava Technology
gy
interpreter dan runtim e.

TUJ UAN UTAMA J AVA TECHNOLOGY (1)
Menyediakan
M
di k
bbahasa
h
yang m udah
d h di
digunakan
k
- Menghindari pitfall yang sering terjadi di bahasa
ppem rogram
g
an lain
- Berorientasi object
- Mem udahkan pengkodean efisien dan jelas
| Menyediakan
M
di k li
lingkungan
k
iinterpreter untuk
k:
- Meningkatkan kecepatan pengem bangan program
- Protabilitas kode
| Multithreading
|

TUJ UAN UTAMA J AVA TECHNOLOGY (2)
Pem anggilan
l class
l
secara ddinam is
| Mendukung adanya perubahan program secara
di
dinam
iis selam
l a runtim
ti e ddengan m elakukan
l k k
pem anggilan class-class dari sum ber yang berbeda.
| Menigkatkan sekuritas (keam anan)
|

F ITUR J AVA TECHNOLOGY
J ava Virtuall Machine
h
((J VM))
| Garbage Collection
| Sekuritas kode
|

J AVA VIRTUAL M ACHINE (J VM)
Menyediakan
d k spesifikasi
fk
hardware
h d
platform
l f
| Mem baca byte code yang sudah terkom pilasi yang
m endukung
d k
m ultiplatform
lti l tf
| Diim plem entasikan sebagai software atau hardware
| Diim
Dii plem
l entasikan
ik di J ava technology
h l
tooll atau
web browser.
|

GARBAGE COLLECTION
Mengecekk dan
d m em bersihkan
b
hk m em ory yang tidak
d k
lagi terpakai
| Dilakukan
Dil k k otom
t atis
ti
| Berjalan sesuai dengan im plem entasi J VM
|

SEKURITAS KODE

J AVA R UNTIME E NVIRONMENT
|

Menangani 3 tugas utam a, yaitu :
- Melakukan pem anggilan kode
- Mem verifikasi kode
- Mengeksekusi kode

OPERASI DARI J RE

CON
ONTOH
O SEDERHANA
N :
Kelas
TestGreeting

Kelas Greeting

CONTOH COMPILE E RROR

CONTOH R UNTIME E RROR