Anda di halaman 1dari 24

OBJECT ORIENTED

PROGRAMMING

Day 1 :
D
Konsep Pemrograman Berorientasi Object

TUJUAN
Memberikan
b k latar
l
b l k
belakang
serta pemahaman
h
tentang konsep pemrograman berorientasi obyek
dan perbandingannya dengan pemrograman
prosedural.
| Mengenalkan lingkungan Java
|

TOPIK
Pemrograman prosedural
d l vs pemrograman
berorientasi obyek
| Mengorganisasi
M
i i program menjadi
j di e6lement
6l
t yang
disebut sebagai class, dan bagaimana class ini
digunakan untuk membuat obyek.
obyek
| Struktur class: tingkah laku (behavior) dan atribut
(attributes).
| Konsep OOP
| Pengenalan Java
| Cara kompile dan menjalankan aplikasi Java
|

BAHASA PROSEDURAL
Serangkaian
S
k i ttugas di
diselesaikan
l ik d
dalam
l
b
bentuk
t k
fungsi atau prosedur.
| Cara pandang program adalah suatu urutan
instruksi.
| Programer
g
harus me-break down suatu p
problem
menjadi sub problem yang lebih simple.
| Fungsi dan prosedur menjadi fokus utama.
| Fungsi dan
d prosedur
d d
digunakan
k untuk
k
memanipulasi data.
| Data bersifat pasif.
pasif
|

PEMROGRAMAN BERORIENTASI OBYEK


Fungsi dan
d data
d
b k menjadi
bukan
d dua
d hal
h l yang
terpisah.
| Fungsi
F
i dan
d data
d t menjadi
j di satu
t kesatuan
k t
yang
disebut sebagai obyek aktif.
| Cara pandang program adalah serangkaian
obyek yang bekerjasama untuk menyelesaikan
suatu problem.
|

PROCEDURAL VS OOP
|

Focusing on the
h way a
computer handles tasks

Focusing on the
h task
k you
are using the computer for

APAKAH OBYEK?
Semua benda
b d yang ada
d d
di d
dunia nyata d
dapat
dianggap sebagai obyek.
| Contoh
C t h : rumah,
h mobil,
bil sepeda
d motor,
t gelas,
l
komputer, meja dll.
|

KARAKTERISTIK OBYEK
Setiap obyek
b k memiliki
l k atribut
b sebagai
b
status (state).
(
)
| Setiap obyek memiliki tingkah laku (behavior)
| Contoh: obyek sepeda
y Memiliki atribut (state) : pedal, roda, jeruji,
warna, jumlah
j l h roda.
d
y Memiliki tingkah laku (behavior) :
kecepatan a menaik
kecepatanya
menaik, kecepatann
kecepatannya
a menurun
menurun,
perpindahan gigi sepeda.
|

KARAKTERISTIK OBYEK
Penggambaran
b
pemrograman b
berorientasi obyek
b k=
penggambaran pada dunia nyata.
| Pada
P d pemrograman b
berorientasi
i t i obyek:
b k
y State disimpan pada variabel
y Tingkah
Ti k h laku
l k disimpan
di i
pada
d method
h d
|

APAKAH CLASS?
Definisi
D
fi i i class:
l
merupakan
k ttemplate
l t untuk
t k membuat
b t
obyek.
| Definisi class: merupakan prototipe / blue prints
yang mendefinisikan variabel variabel dan
method method secara umum.
| Obyek merupakan hasil instansiasi dari suatu kelas.
| Proses pembentukan obyek dari suatu class disebut
de ga instantiation.
dengan
instantiation
| Obyek disebut juga instances.
|

ATTRIBUTES
Definisi
f
atribut
b : adalah
d l h data
d
yang membedakan
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, mempunyai atribut sebagai berikut:
y Status exploring,
exploring moving
moving, returning home
y Speed in miles per hour
y Temperature,
Temperature in Fahrenheit degrees
| Dalam class atribut disebut sebagai variabel
|

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 sama.
| Tiap obyek mempunyai dan menyimpan nilai
atributnya sendiri.
| Jadi tiap
p obyek
y dari class yyang
g sama boleh
mempunyai nilai yang sama atau beda.
|

Class
l
variable:
bl adalah
d l h atribut
b untuk
k semua obyek
b k
yang dibuat dari class yang sama.
| Semua obyek mempunyai nilai atribut yang sama.
sama
| Jadi semua obyek dari class yang sama mempunyai
y satu nilai yyang
g value nya
y sama.
hanya
|

BEHAVIOR
Behavior
B
h i / tingkah
ti k h laku
l k adalah
d l hh
hall hal
h l yang bi
bisa
dilakukan oleh obyek dari suatu class.
| Behavior dapat
p digunakan
g
untuk mengubah
g
nilai
atribut suatu obyek, menerima informasi dari obyek
lain, dan mengirim informasi ke obyek lain untuk
melakukan suatu task.
| Contoh: VolcanoRobot
y Check current temperature
y Begin
i a survey
y Report its current location
| Dalam class
class, behavior disebut juga sebagai
methods.
|

BEHAVIOR
Methods:
h d adalah
d l h serangkaian
k
statements dalam
d l
suatu class yang menghandle suatu task tertentu.
| Cara
C
obyek
b k berkomunikasi
b k
ik i dengan
d
obyek
b k llain
i
adalah dengan menggunakan method.
|

CONTOH: CLASS, OBJECT, ATTRIBUTTES, DAN


BEHAVIOR
nama class
instance variable

methods

KONSEP DASAR OOP


Enkapsulasi
k
l (Encapsulation)
(
l
)
| Abstraksi Data (Data Abstraction)
| Penurunan (Inheritance)
| Polimorfisme (Polymorphism)
|

ENKAPSULASI (PEMBUNGKUSAN)
Variabel
b ld
dan method
h d yang d
dipunyai suatu obyek,
b k
bisa ditentukan hak aksesnya.
| Definisi
D fi i i enkapsulasi:
k
l i P
Pembungkusan
b
k
variabel
i b ld
dan
method dalam sebuah obyek yang terlindungi.
| Definisi enkapsulasi: menyembunyikan cara kerja
dan sistem.
|

ENKAPSULASI
Contoh:
h jam tangan
y Penting sekali untuk mengetahui waktu.
y Cara jam mencatat waktu dengan baik antara
jam bertenaga baterai atau bertenaga gerak
tidaklah penting kita ketahui.
ketahui
| Dalam OOP, konsep enkapsulasi sebenarnya
merupakan perluasan dari struktur dalam bahasa
C.
|

ABSTRAKSI DATA
Abstraksi
b
k data
d
adalah
d l h mengabstrakkan
b
kk atau
menyamarkan data-data yang ada.
| Contoh
C t h : jjam ttangan
y Orang tidak perlu tahu bagaimana cara jam
mengatur dan merubah detik kemenit,
kemenit atau
menit ke jam.
y Orang tidak perlu tahu siapa yang bertanggung
jawab menggerakkan jarum jam.
|

PEWARISAN (INHERITANCE)
Definisi
f
((class):
l ) merupakan
k pewarisan atribut
b dan
d
method pada sebuah class.
| Definisi
D fi i i ((obyek):
b k) k
kemampuan obyek
b k untuk
t k
mewarisi ciri-ciri obyek lainnya.
| Class yang mewarisi superclass
| Class yang diwarisi subclass
| Subclass
S b l
bisa
bi berlaku
b l k sebagai
b
i superclass
l
b
bagii class
l
lainya.
|

PEWARISAN (INHERITANCE)
Contoh
C
t h : tterdapat
d
t class
l
sepeda
d d
dan sepeda
d gunung.
y Sepeda superclass
y Sepeda gunung subclass
y Sepeda gunung memiliki variabel dan method
yang dimiliki oleh sepeda.
| Prinsip : Persamaan-persamaan yang dimiliki oleh
beberapa kelas dapat digabungkan dalam sebuah
class
l
iinduk
d k sehingga
hi
setiap
i kelas
k l yang
diturunkannya memuat hal-hal yang spesifik untuk
kelas yang bersangkutan.

PEWARISAN (INHERITANCE)
Sepeda

Sepeda
Gunung

Sepeda
Balap

Sepeda
Motor

PEWARISAN (INHERITANCE) - KEUNTUNGAN


Subclass
b l
menyediakan
d k state/behaviour
/b h
yang
spesifik yang membedakan dengan superclass
memungkinkan programmer untuk menggunakan
ulang source code dari superclass yang telah ada.
| Programmer dapat mendefinisikan superclass
khusus yang bersifat generik, yang disebut abstract
class, untuk mendefinisikan class dengan tingkah
laku dan state secara umum.
|

SINGLE DAN MULTIPLE INHERITANCE


C multiple
l l inheritance
h
| Suatu class diperbolehkan untuk mempunyai lebih
d i satu
dari
t superclass.
l
| Variabel dan method yang diwariskan merupakan
kombinasi dari superclass-nya.
superclass nya
|

Java single
J
i l iinheritance
h it
| Suatu class hanya boleh mempunyai satu
superclass.
superclass
|

MULTILEVEL INHERITANCE
|

Suatu subclass
b l
b
bisa menjadi
d superclass
l
b
bagi class
l
yang lain.

POLIMORFISME
Definisi:
f
satu nama d
dapat d
digunakan
k untuk
k banyak
b
k
tujuan yang berbeda namun berhubungan satu
sama lain.
lain
| Tujuan: memungkinkan kita memberikan nama
yang sama bagi segolongan aksi atau tugas yang
mirip.
| Contoh: luas bidang
| Polimorfisme method overloading
|

TEKNOLOGI JAVA2PLATFORM
Enterprise Edition(J2EE)
d
(
)
| Standard Edition (J2SE)
| Micro Edition (J2ME)
|

PERBANDINGAN JAVA DAN BAHASA LAIN

WHAT IS THE JAVA TECHNOLOGY?


A programming language
l
| A development environment
| An application environment
| A deployment environment
|

A PROGRAMMING LANGUAGE
|

Sintak
k bahasa
b h
pemrograman java mirip dengan
d
bahasa C++

A DEVELOPMENT ENVIRONMENT
|

Teknologi
k l
java menyediakan:
d k
kompiler,
k
l interpreter,
documentation generator, class file packaging.

AN APPLICATION ENVIRONMENT
|

Merupakan
k standalone
d l
program yang tidak
d k
memerlukan web browser untuk mengeksekusi
program (applet).
(applet)

A DEPLOYMENT ENVIRONMENT
|

Terdapat
d
2d
deployment
l
environment utama:
y JRE (Java Runtime Environment) yang
menyediakan
di k class-class
l
l
yang ttersimpan
i
d
dalam
l
package-package, komponen GUI class, dan
Collection API.
API
y Web browser banyak web browser komersial
yyang
g menyediakan
y
lingkungan
g
g J
Java Technology
gy
interpreter dan runtime.

TUJUAN UTAMA JAVA TECHNOLOGY (1)


Menyediakan
M
di k
b
bahasa
h
yang mudah
d h di
digunakan
k
- Menghindari pitfall yang sering terjadi di bahasa
pemrograman
p
g
lain
- Berorientasi object
- Memudahkan pengkodean efisien dan jelas
| Menyediakan
M
di k li
lingkungan
k
iinterpreter untuk
k:
- Meningkatkan kecepatan pengembangan program
- Protabilitas kode
| Multithreading
|

TUJUAN UTAMA JAVA TECHNOLOGY (2)


Pemanggilan
l class
l
secara d
dinamis
| Mendukung adanya perubahan program secara
di
dinamis
i selama
l
runtime
ti
d
dengan melakukan
l k k
pemanggilan class-class dari sumber yang berbeda.
| Menigkatkan sekuritas (keamanan)
|

FITUR JAVA TECHNOLOGY


Java Virtuall Machine
h
((JVM))
| Garbage Collection
| Sekuritas kode
|

JAVA VIRTUAL MACHINE (JVM)


Menyediakan
d k spesifikasi
f k hardware
h d
platform
l f
| Membaca byte code yang sudah terkompilasi yang
mendukung
d k
multiplatform
lti l tf
| Diimplementasikan sebagai software atau hardware
| Diimplementasikan
Dii l
ik di J
Java technology
h l
tooll atau
web browser.
|

GARBAGE COLLECTION
Mengecek
k dan
d membersihkan
b
hk memory yang tidak
d k
lagi terpakai
| Dilakukan
Dil k k otomatis
t
ti
| Berjalan sesuai dengan implementasi JVM
|

SEKURITAS KODE

JAVA RUNTIME ENVIRONMENT


|

Menangani 3 tugas utama, yaitu :


- Melakukan pemanggilan kode
- Memverifikasi kode
- Mengeksekusi kode

OPERASI DARI JRE

CON
ONTOH
O SEDERHANA
N :
Kelas
TestGreeting

Kelas Greeting

CONTOH COMPILE ERROR

CONTOH RUNTIME ERROR

Anda mungkin juga menyukai