Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
OBJECT
ORIENTED
PROGRAMMING
Arief Setyanto
OLD METHOD
Problem Definition
Pada paradigma lama sebuah
masalah akan dipecahkan menjadi
bagian bagian problem yang masing
masing berisi definisi pekerjaan
masalah diselesaikan langkah demi
langkah
Functional Decomposition
Dekomposisi masalah seperti ini
disebut dekomposisi fungsi
FD example
Problem penghitungan IP di breakdown
menjadi:
masukan nomor mahasiswa
ambil daftar nilai dari database
ubah nilai huruf menjadi angka
Kalikan angka dengan jumlah SKS
st = jumlahkan total SKS
nt = Jumlahkan total nilai angka kali SKS
IPK = nt/st
Ini adalah gambaran hasil dekomposisi
fungsional proses penghitungan IPK
OLD METHOD
Procedural Programming
setiap pekerjaan akan menjadi fungsi
semua fungsi akan dipanggil oleh
program utama (main program)
Main Program
program utama, merupakan bagian
program yang akan dieksekusi
pertama dan menjadi pusat dari
semua program
OLD METHOD WEAKNESS
Everything in main Program
Semua kendali program ada di
program utama
Modification --- !!!!!
setiap modifikasi akan mempengaruhi
semua bagian program, sangat
berhati hati dengan program utama,
perubahan disini sangat berbahaya
bug selalu datang dari adanya
perubahan
Procedural Programming
EXAMPLE
Pascal
C
OBJECT ORIENTED
What’s Object
An object is a software bundle of related
variables and methods.
Software objects are often used to model
real-world objects you find in everyday life.
kucing, mangga adalah obyek
Apa yang dimiliki obyek
state (keadaan)
• implementasinya menjadi properties, atau variabel milik
obyek
behaviour
• implementasinya akan menjadi method atau fungsi milik
sebuah kelas
OBJECT
Object adalah sesuatu yang memiliki 1 set
tanggung jawab dan satu set keadaan
(state)
Tanggung jawab diimplementasikan
menggunakan method/fungsi
State diimplementasikan menggunakan
properties/variabel
variabel dan fungsi selanjutnya disebut
sebagai member dari sebuah obyek
object
variabel/state:
nama : arief
salary : $1
Method/behaviour:
berjalan();
bernafas();
obyek manusia
Message
Software objects interact and
communicate with each other using
messages.
CLASS
CLASS DEFINITION
A class is a blueprint or prototype that
defines the variables and the methods
common to all objects of a certain
kind.
In the real world, you often have many
objects of the same kind
Class dan Instance
Class Constructor
Fungsi yang akan dieksekusi pada
saat sebuah instance di ciptakan
Tiap kelas di Java harus memiliki
konstruktor
Destructor
Sering disebut finalizer
Gunanya untuk menjamin pada saat
obyek hilang dari memori semua
bekas memorinya di bebaskan
Dieksekusi secara otomatis saat
obyek hilang dari memori
object implementation
public class manusia
{
// instance variables - replace the example below with your own
private int x;
public char nama;
private int umur;
public manusia(char nm, int um)
{
// initialise instance variables
x = 0;
nama = nm;
umur = um;
}
public int sampleMethod(int y)
{
// put your code here
return x + y;
}
}
Instance
An object of a particular class. In
programs written in the Java(TM)
programming language, an instance
of a class is created using the new
operator followed by the class name.
Change your mind
Kesalahan umum pemrogram mantan
procedural programming adalah :
sudah menggunakan tool OOP tetapi cara
berpikr dekomposisi masalah masih
dilakukan secara procedural
Cirinya adalah program dalam kelas
kelasnya menjadi sangat panjang dan
mengimplementasi langkah langkah
penyelesaian masalah hasil dekomposisi
fungsional
Maka ubah cara berpikir anda ketika
melakukan dekomposisi permasalahan
METHOD
Remember function
method output and parameter
PROPERTIES
remember variabel
just define in a class
ACCESS LABEL
public
protected
private
packages
ACCESS LABEL - detail
Member dari sebuah obyek memiliki aturan
pengaksesan, terdapat tiga level aturan
akses yaitu:
private – Hanya dapat diakses dari kelas
bersangkutan
protected- Hanya dapat diakses dari kelas
bersangkutan, package dan turunannya
public – Bisa diakses dari kelas
bersangkutan, turunan, packages dan bukan
ketiganya
package - Bisa diakses dari kelas
bersangkutan dan packages (JAVA aja)
INSTANCE
instance example
C++
JAVA
Object Oriented Programming
Language
C++
Java
etc
JAVA
Why Java
Once Code Run AnyWhere
JVM
Optimization
JAVA PACKAGED
J2SE
J2EE
J2ME
TOOLS
Java IDE Netbeans
BlueJ untuk belajar OOP
PUSTAKA
Alan Shaloway, James R. Trott, Design Paterns Explained,
Addison-Wesley, 2005
Steven John Metsker, Design Patterns in Java, Addison-Wesley,
2006
Barbara Liskov, John Guttag, Program Development In Java,
Addison-Wesley, 2006
Sun Microsystem, 2007