Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Intro to OOP Yesi Novia, S.Kom.

Presentasi serupa


Presentasi berjudul: "Intro to OOP Yesi Novia, S.Kom."— Transcript presentasi:

1 Intro to OOP Yesi Novia, S.Kom

2 Perkembangan Orientasi Software
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

3 “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]

4 Car LightBulb BankAccount state/attributes state/attributes behavior
on (true or false) behavior switch on switch off check if on state/attributes # 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 Car LightBulb 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

5 Representasi sebuah individu, benda, unit, entitas, real ataupun abstrak dengan peran yang jelas dalam domain permasalahan So, What objects are ?

6 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 = +

7 Mengapa? Modularity Reusability Extensebility
Dapat dipecah menjadi bagian-bagian kecil Reusability Komponen yang digunakan pada proyek sebelumnya dapat digunakan kembali Extensebility Komponen yang baru dapat dikembangkan dari komponen yang sudah ada

8 Prosedural VS OOP Prosedural OOP
Mempunyai kemampuan untuk membangun proyek yang tangguh dan handal dalam skala besar Tidak bersifat reusable dan extensible Membutuhkan waktu dan biaya yang lebih besar untk memperluas atau menggunakan kembali komponen yang sudah ada OOP Bersifat reusable dan extensible

9 Prinsip-prinsip OOP Class Inheritance Enkapsulasi Polimorfisme

10 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

11 Kelas dan objek

12 Kelas dan objek (2)

13 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( ); Constructor call Method call

14 Enkapsulasi “Information hiding” Data dan cara untuk mendapatkan data (code) dibungkus dalam sebuah paket dan dilindungi dari intervensi luar

15 Inheritance A car is a vehicle A dog is an animal
A teacher is a person Sebuah kelas menurunkan karakteristiknya ke kelas lain

16 OOP : Pewarisan 16

17 Polimorfisme Mempunyai beberapa bentuk / forms
Memungkinkan objek yang berbeda untuk merespon sebuah pesan yang sama dengan cara masing-masing

18 Abstract vs Concrete Class ?
Abstract class  class yang menyimpan aspek generic dari sub class  tanpa implementasi  tidak memiliki body, body digantikan dengan (;) Concrete class  subclass dari abstract class  mengimplementasikan abstract class

19 OOP : Polimorfisme abstract class concrete class bujur lingkaran
getGeometri() luas() keliling() bujur lingkaran geometri persegi abstract class concrete class

20 Konsep ADBO ? Use case driven  saat analisa memperhatikan use case
Architecture centric  saat desain memperhatikan arsitektur fungsional, static, dynamic dari sistem Iterative & Incremental (berulang dan bertambah )  mudah untuk dipakai ulang ataupun diupgrade

21 Great Software ? Customer : work, keep working, upgraded
Programmer : well designed, easy to maintain, reuse “Give them what they want” Bagaimana caranya? Tergantung pada bagaimana mendecomposisikan, menguraikan, mengiris-iris problem


Download ppt "Intro to OOP Yesi Novia, S.Kom."

Presentasi serupa


Iklan oleh Google