Download OBJECT ORIENTED PROGRAMMING - E

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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