270 likes | 399 Views
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
E N D
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 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