Intro to OOP Yesi Novia, S.Kom
Perkembangan Orientasi Software 1960-1970 Process-Orientation – Process models – Data Flow Diagrams, Flow Charts 1980 Data-Orientation – Data models – Entity-Relationship (ER) Diagrams 1990 Object-Orientation – Object models – Class Diagrams, Event Diagrams 2000 –UML- standarisasi OOD
Objek adalah “An object is an encapsulation of state (data values) and behavior (operations). Thus an object is in many ways similar to a module, or an abstract data type." [Budd] ”An object has state, behavior, and identity; [Booch 91]
Objek adalah (2) LightBulb Car BankAccount state/attributes behavior # of liters of gas in tank total # of km run so far efficiency (km/liter) behavior drive load gas change efficiency check gas check odometer reading state/attributes on (true or false) behavior switch on switch off check if on LightBulb Car state/attributes balance behavior deposit withdraw check balance Note each object is an “instance” of that “class” of object each instance has its own values for its attributes e.g., different accounts can have different balances BankAccount
Objek bisa berupa Benda mobil, monitor, PC, … Peran boss, mahasiswa, dosen,… Kejadian terbang, bergerak, .. Interaksi jual, kontrak, … Spesifikasi warna, bentuk, tinggi,…
So, What objects are ? Representasi sebuah individu, benda, unit, entitas, real ataupun abstrak dengan peran yang jelas dalam domain permasalahan
Sebuah objek terdiri dari Atribut know something Data yang dimiliki objek Cara untuk mendeskripsikan objek Operasi do something Tindakan atau aksi yang dilakukan objek yang akan mempengaruhi atribut = +
Mengapa? Modularity Reusability Extensebility
Perbedaan dengan cara konvensional Dekomposisi fungsi Mendefenisikan struktur data
Prinsip-prinsip OOP Class Inheritance Enkapsulasi Polimorfisme
Class Cetak biru dari sebuah objek, atribut dn operasi yang dimilikinya Contoh : buku bisa saja berupa kelas Objek : buku bahasa pemrograman java dengan no ISBN :…. Objek adalah perwujudan kelas INSTANCE
Kelas dan objek
Kelas dan objek (2)
Kelas dan objek (3) public class BankAccount { private double balance; public BankAccount() balance = 0; } public double getBalance() return balance; public void deposit( double amount ) balance = balance + amount; … BankAccount.java Constructor: special method that handles initialization Java Example: BankAccount A constructor is invoked during object construction: BankAccount b; b = new BankAccount(); b.deposit( 100.00 ); Constructor call Method call
Enkapsulasi “Information hiding” Data dan cara untuk mendapatkan data (code) dibungkus dalam sebuah paket dan dilindungi dari intervensi luar
Inheritance A car is a vehicle A dog is an animal Sebuah kelas menurunkan karakteristiknya ke kelas lain A car is a vehicle A dog is an animal A teacher is a person
Polimorfisme Mempunyai beberapa bentuk / forms Memungkinkan objek yang berbeda untuk merespon sebuah pesan yang sama dengan cara masing-masing