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