object oriented programming
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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 Programmingsetiap 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 ProgramSemua 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 ownprivate int x;
public char nama; private int umur;
public manusia(char nm, int um){
// initialise instance variablesx = 0;nama = nm;umur = um;
}
public int sampleMethod(int y){
// put your code herereturn 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