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
|
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.
|
methods
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
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)
|
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.
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
CON
ONTOH
O SEDERHANA
N :
Kelas
TestGreeting
Kelas Greeting