OBJECT ORIENTED PROGRAMMING

27
OBJECT ORIENTED PROGRAMMING Arief Setyanto

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 Presentation

Transcript of OBJECT ORIENTED PROGRAMMING

Page 1: OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING

Arief Setyanto

Page 2: OBJECT ORIENTED PROGRAMMING

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

Page 3: OBJECT ORIENTED PROGRAMMING

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

Page 4: OBJECT ORIENTED PROGRAMMING

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

Page 5: OBJECT ORIENTED PROGRAMMING

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

Page 6: OBJECT ORIENTED PROGRAMMING

Procedural Programming EXAMPLE

Pascal

C

Page 7: OBJECT ORIENTED PROGRAMMING

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

Page 8: OBJECT ORIENTED PROGRAMMING

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

Page 9: OBJECT ORIENTED PROGRAMMING

object

variabel/state:

nama : arief

salary : $1

Method/behaviour:

berjalan();

bernafas(); obyek manusia

Page 10: OBJECT ORIENTED PROGRAMMING

Message

Software objects interact and communicate with each other using messages.

Page 11: OBJECT ORIENTED PROGRAMMING

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

Page 12: OBJECT ORIENTED PROGRAMMING

Class dan Instance

Page 13: OBJECT ORIENTED PROGRAMMING

Class Constructor

Fungsi yang akan dieksekusi pada saat sebuah instance di ciptakan

Tiap kelas di Java harus memiliki konstruktor

Page 14: OBJECT ORIENTED PROGRAMMING

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

Page 15: OBJECT ORIENTED PROGRAMMING

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;

}}

Page 16: OBJECT ORIENTED PROGRAMMING

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.

Page 17: OBJECT ORIENTED PROGRAMMING

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

Page 18: OBJECT ORIENTED PROGRAMMING

METHOD

Remember function method output and parameter

Page 19: OBJECT ORIENTED PROGRAMMING

PROPERTIES

remember variabel just define in a class

Page 20: OBJECT ORIENTED PROGRAMMING

ACCESS LABEL

public protected private packages

Page 21: OBJECT ORIENTED PROGRAMMING

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)

Page 22: OBJECT ORIENTED PROGRAMMING

INSTANCE

instance example C++JAVA

Page 23: OBJECT ORIENTED PROGRAMMING

Object Oriented Programming Language

C++ Java etc

Page 24: OBJECT ORIENTED PROGRAMMING

JAVA

Why Java Once Code Run AnyWhere

JVM Optimization

Page 25: OBJECT ORIENTED PROGRAMMING

JAVA PACKAGED

J2SE J2EE J2ME

Page 26: OBJECT ORIENTED PROGRAMMING

TOOLS

Java IDE Netbeans BlueJ untuk belajar OOP

Page 27: OBJECT ORIENTED PROGRAMMING

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