• Tidak ada hasil yang ditemukan

Think Different APS : Pengenalan OOAD

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different APS : Pengenalan OOAD"

Copied!
41
0
0

Teks penuh

(1)

1

Introduction to OOAD

(2)

Faktor Utama Kegagalan P/L

Kebutuhan kustomer tidak bisa dipahami dan

ditangkap dengan tepat

Kebutuhan kustomer sering mengalami

perubahan

Kustomer tidak bisa bekerja sama dengan

pengembang

Pengembang kurang memiliki kecakapan dalam

menjalankan tugas

Sistem yang dikembangkan tidak terlalu banyak

(3)

3

(4)
(5)

5

What is a

model

and why?

 A model is a simplification of reality.

 Pemodelan adalah suatu cara berpikir tentang

persoalan menggunakan model-model yang diorganisasikan seputar dunia nyata.

To understand why a software system is needed, what it should do, and how it should do it.To communicate our understanding of why, what and how.

To detect commonalities and differences in your perception, my perception, his perception

and her perception of reality.

To detect misunderstandings and miscommunications.







(6)

apabila kita gagal membuat perencanaan dengan

baik, maka kita sebetulnya merencanakan untuk

(7)

METODE ANALISIS

Ada beberapa pendekatan yang biasa

digunakan dalam menganalisa suatu

sistem,

yaitu:

Functional Decomposition

Data Flow Approach

Object Oriented

(8)
(9)

Object-oriented development

 OOA Mempelajari domain permasalahan bisnis untuk

merekomendasikan perbaikan dan menentukan

kebutuhan sistem untuk menyelesaikan permasalahan.

 OOD Menentukan solusi teknis atau

rancangan/computer-based dimana solusi ini

berdasarkan kebutuhan sistem yang telah diidentifikasi pada proses analisis.

 OOP is concerned with realising an OOD using an OO

(10)

Kenapa OOAD

 Karena :

 Memudahkan pemanfaatan ulang code dan arsitektur

 Lebih mencerminkan dunia nyata (lebih tepat dalam

menggambarkan entitas perusahaan, dekomposisi berdasarkan pembagian yang natural, lebih mudah untuk dipahami dan

dirawat)

 Kestabilan (perubahan kecil dalam requirement tidak berarti

perubahan yang signifikan dalam system yang sedang dikembangkan)

(11)

Kenapa OOAD

 Melihat segala hal sebagai sebuah objek

 Komunikasi/Interaksi antar objek dilakukan melalui

pengiriman pesan (message)

 Objek bersifat independen : dipandang sebagai

sebuah entitas mandiri yang memiliki peran atau tanggung jawab tertentu

 Objek Di Sekitar Kita?

(12)

Truck

Chemical Process

What is an Object?

 Informally, an object represents an entity, either physical,

conceptual, or software (sebuah object adalah representasi dari sebuah entitas, baik fisik, konseptual maupun software.)

 Physical entity

 Conceptual entity

(13)

Object adalah:

Definisi Formal : sebuah object adalah

sebuah entitas dengan boundary yang

terdefinisi dengan baik dan identitas yang

menengkapsulasi state dan behaviour.

• State : direpresentasikan oleh atribut dan

relationship

• Behaviour : direpresentasikan oleh operasi,

method dan state machine

13

(14)
(15)

Objects Class

Professor Smith

Professor Jones

Professor Mellon

Professor

The Relationship Between Classes and

Objects

 Sebuah Class merupakan definisi abstract dari sebuah object.

• Class mendefinisikan struktur dan behaviour dari

masing-masing object di dalam sebuah class.

• Class bertugas sebagai template untuk pembuatan class.

Jadi obyek merupakan hasil instansiasi dari class Obyek disebut

(16)

Classes of Objects

(17)

Atribut adalah data yang dapat membedakan

antara satu obyek dengan obyek yang lain

Sebuah class bisa memiliki beberapa atribut

atau tidak sama sekali

17

Atribut

Instance variable vs

(18)

 Method merupakan hal-hal yang bisa dilakukan oleh

obyek dari suatu class

 Yang bisa dilakukan oleh method :

–Merubah nilai atribut suatu obyek –Menerima informasi dari obyek lain

–Mengirim informasi ke obyek lain untuk melakukan sesuatu.

(19)

19

Employee object & class

Employee name: string address: string dateOfBirth: Date employeeNo: integer socialSecurityNo: string department: Dept

ma nager: Employee salary: integer

status: {current, left, retired} taxCode: integer . . . join () leave () retire () changeDetails () Employee16 name: John

address: M Street No.23 dateOfBirth: 02/10/65 employeeNo: 324 socialecurityNo:E342545 department: Sale manager: Employee1 salary: 2340 stauts:current taxCode: 3432 …. Eployee16.join(02/05/1997) Eployee16.retire(03/08/2005)

Eployee16.changeDetail(“X Street No. 12”) Object

(20)

Abstraksi (Abstraction)

Pewarisan (Inheritance)

Banyak Bentuk (Polymorphism)

Pembungkusan (Encapsulation)

Pengiriman Pesan (Message Sending)

(21)

21

Abstraction

Focus on the essential

Omits tremendous amount of details

…Focus on what an object “is and does”

Secara sederhana dikatakan membuang atribut obyek dan operasi yang hanya sampai pada yang benar-benar

diperlukan.

(22)
(23)

23  Menyembunyikan detail dari sebuah objek

Abstraction dan encapsulation saling berkomplemen:

- Abstraction fokus pada sudut pandang dari luar

- Encapsulation membatasi client dari melihat isi dari dalam sebuah object

(24)
(25)
(26)

What is Object-Orientation

- Another Example of Abstraction and Encapsulation

Class Car

Attributes

Model Location

#Wheels = 4

Operations

Start

Accelerate

<<instanceOf>>

<<instanceOf>>

(27)

 Mekanisme untuk menurunkan/mewariskan atribut (data)

dan operasi (behavior) dari sebuah klas ke klas yang lain

 Klas induk/dasar (super class)

 Klas turunan (derived class/sub-class)

 Atribut dan operasi dari klas induk menjadi

bagian/anggota dari klas turunan

 Klas turunan bisa memiliki atribut dan operasi yang tidak

ada pada klas induk  klas turunan sebagai perluasan

(extension)

(28)
(29)

29

(30)

- Subclass vs. Superclass

• Specialization: The act of defining one class as a refinement of another.

• Subclass: A class defined in terms of a specialization of a superclass using inheritance.

• Superclass: A class serving as a base for inheritance in a class hierarchy

• Inheritance: Automatic duplication of superclass attribute and behavior definitions in subclass.

(31)

31  Sebuah operasi memiliki nama yang sama pada class

yang berbeda

Operasi yang sama jika diterapkan pada object yang

berbeda akan mengakibatkan operasi yang berbeda pula

(32)
(33)

33

Objects of different classes respond to the same message differently.

(34)

-

Interfaces

• Information hiding - all data should be hidden within a class, at least in principle. • make all data attributes private

• provide public methods to get and set the data values (cf. Java design patterns) • e.g. Grade information is usually confidential, hence it should be kept

private to the student. Access to the grade information should be done through interfaces, such as setGrade and getGrade

(35)

35

Sending

Message

Cara object bekerjasama

(36)

How to do OOAD

- notation

UML is a notation.

So are English,

(37)

37

(38)

Unified Modeling Language (UML)

adalah keluarga notasi grafis yang

didukung oleh meta-model tunggal, yang

membantu pendeskripsian dan desain

sistem perangkat lunak, khususnya

sistem yang dibangun menggunakan

pemrograman berorientasi objek (OO).

(39)

Software

UML Tool :

Rational Rose

Bahasa Pemrograman :

Java

.NET

(40)

Diagram Kegunaan

Activity Behavior prosedural dan paralel

Class Class, fitur, dan hubungan-hubungan Communication Interaksi antar objek; penekanan pd jalur Component Struktur dan koneksi komponen

Composite structure Dekomposisi runtime sebuah class Deployment Pemindahan artifak ke node

Interaction overview Campuran sequence dan activity diagram Object Contoh konfigurasi dari contoh-contoh Package Struktur hirarki compile-time

Sequence Interaksi antar objek; penekanan pd sequence State machine Bagaimana even mengubah objek selama aktif Timing Interaksi antar objek; penekanan pd timing

(41)

41

How to Do OOAD

- Historical Perspective

OO Prog. Languages

(Smalltalk, C++) just program!

OO Design

(Booch) design then program

OO Analysis

(Rumbaugh, Jacobson)

Process Perspective OO Technology

Analyze (use case) first,

then design,

Referensi

Dokumen terkait

tinggi. Pengeluaran rata-rata penduduk Kota Bogor yang tinggi untuk kelompok makanan merupakan peluang bagi “LBS” untuk menghasilkan produk-produk yang berkualitas

Hal itu semata-mata dilakukan juga untuk mengurangi respon negatif yang dapat berimbas diskriminatif oleh suku Jawa, yang sebelumnya memandang orang bersuku Batak

Yaitu berdasarkan pembandingan warna yang dihasilkanoleh zat dalam kuantitas yang tidak diketahui dengan warna yang sama yang dihasilkan oleh kuantitas kuantitas yang

Islam. Zakiyah Daradjat berpendapat bahwa landasan pendidikan Islam adalah Alqur’an .Al-Sunnah dan Ijtihad. menurut Zakiyah Daradjat tujuan dasar. pendidikan Islam adalah

KK majemuk dalam BM tidak ditemui, haik endosentrik mau- pun eksosentrik, Namun dalam perkembangan pemakaian BM dewasa ini akibat pengaruh Gahasa Indonesia atau

Di dalam penulisan ilmiah ini membahas perancangan Ujian Memperoleh SIM dengan menggunakan Java dan dihubungkan dengan Microsoft Access untuk mengambil soal dan menyimpan nilai

Hal ini dapat memberikan dampak positif dan negatif bagi bangsa indonesia,jika kita dapat memfilter dengan baik berbagai hal yang timbul dari dampak globalisasi tentunya

Setelah mengetahui secara langsung kegiatan yang dilakukan oleh para karyawan PT Pertamina (Persero) Fungsi Shared Service Center Human Capital (SSC HC), maka Penulis ingin