• Tidak ada hasil yang ditemukan

Slide INF205 RPL Pertemuan 4

N/A
N/A
Protected

Academic year: 2017

Membagikan "Slide INF205 RPL Pertemuan 4"

Copied!
31
0
0

Teks penuh

(1)

REKAYASA PERANGKAT

LUNAK

(2)
(3)

Teknik Perancangan Berorientasi Obyek

Memahami teknik Object Oriented Design

Konsep dan Prinsip Dasar Berorientasi ObyekAnalisis dan modelling

Metodologi desainClass dan object

Operasi dan Penggunaan Ulang Perangkat LunakKomponen program dan interface

Unified Modelling Language (UML)

Dapat menjelaskan dan menerapkan metode

(4)
(5)

Dua Teknik Perancangan Perangkat Lunak

Sistem dianggap sebagai kumpulan obyek

(konsep, benda) dalam dunia nyata yang melaksanakan sejumlah pelayanan secara terdesentralisasi.

Setiap obyek membungkus (encapsulate)

sejumlah prosedur dan data yang berinteraksi dengan obyek lainnya melalui suatu pesan

(message).

Perancangan Berorientasi pada Fungsi

Perancangan Berorientasi pada Obyek

(6)

Object Oriented Design (OOD)

Mengapa menggunakan OOD

Karena lebih dekat pada tingkat abstraksi di

dunia nyata (mengunakan obyek-obyek untuk

konsep penstrukturan perangkat lunak).

Interaksi menjadi lebih mudah dalam suatu

komputer.

Pengembangan dan Perawatannya dapat

dilakukan secara mudah, iteratif dan terpadu

Encapsulation: menggabungkan data dan

fungsi/program secara bersama-sama

(7)

Reuse of all models, that is of everything

architecture -- most important but just a fraction of what is reusable

use cases, analysis, design, implementation and test

user interface models, business models, etc.

Reuse of technology

process with toolsprojects

guidelines

Reuseable Assets

(8)

Pertanyaan

(9)

Perangkat Lunak Fungsional terfokus pada:

Fungsi dalam struktur terhirarkiProses dan Prosedur

Perangkat Lunak berorientasi-obyek terfokus pada:

Obyek-obyek dalam dunia nyata yang bekerja sama (tidak

terhirarki).

Model dari obyek-obyek di dunia nyata tersebut (skenario).Peranan obyek-obyek ini dalam penggambaran sistem

(10)
(11)
(12)

Lebih Rinci Lagi

(13)
(14)

Penggambaran Fungsional

Menggambarkan dunia sebagai sejumlah fungsi-fungsi yang saling berhubungan

Angka-angka

Penguruta n

Angka-angka terurut dari kecil ke besar

 Umumnya dekomposisi Top-Down (dari

abstraksi sampai tingkat rendah).

 Memanipulasi (mengfungsikan) data utama

(15)

Penggambaran Berorientasi Obyek

Menggambarkan dunia sebagai sejumlah

obyek-obyek

 Sistem perangkat lunak digambarkan

sebagai sekumpulan obyek-obyek yang saling berinteraksi.

 Obyek-obyek dapat digunakan kembali

dengan suatu standar karakteristik.

112 5 48

(16)

Object-oriented System

Development Cycle

1. Object-oriented Analysis (OOA) 2. Object-oriented Design (OOD) 3. Object-oriented Implementation

1. Object-Oriented Analysis

Definisikan kebutuhan-kebutuhan sistem

melalui skenario atau penggunaan kasus-kasus.

Kemudian, buat suatu model obyek dengan

kemampuan memuaskan kebutuhan-kebutuhan.

(17)

Object-Oriented Analysis

Memberikan gambaran rinci dari suatu sistem.

Mengidentifikasi WHAT kebutuhan fungsional (Use

Cases)

Identifikasi: objects, classes, operations

Identifikasi: object relationships, object interations

Bangun model-model di dunia nyata menggunakan tampilan OO

Tujuan dari OOA

Untuk memahami domain masalah

(18)

Object-Oriented Design

Model kebutuhan-kebutuhan yang dibuat pada fase

analisis diperkaya dalan fase perancangan.

Kadang-kadang ditambahkan lebih banyak lagi atribut dan

pelayanan.

Ditambahkan antarmuka obyek-obyek.

Object-Oriented Implementation

 Dikembangkan penggunaan sistem.

 Menggunakan bahasa pemrograman yang

berorientasi obyek.

 Jika dibutuhkan, memberikan kaitan pada

(19)

Object-Oriented Design

Memberikan

blueprint

untuk implementasi

Menspesifikasi

HOW

Menspesifikasi: class definitions, class categoriesMenspesifikasi: subsystems, system architectures

OOA + Rincian Implementasi

Tujuan dari OO Design

Mengoptimalkan maintainability, reusability,

(20)

20

What is Object-Oriented

Programming ?

Gaya pemrograman yang terberhubungan dengan notasi object, class dan inheritance.

Peter Wegner pada “Dimensions of OOPLs”

Object Class Inheritance

Object-Oriented Programming

(21)
(22)

Orientasi obyek cocok untuk proses evolusioner dengan

pendekatan penggunaan kembali komponen-komponen sistem.

Rekayasa perangkat lunak OO menekankan penggunaan

ulang kelas-kelas dalam pustaka.

Bila suatu kelas tidak ada pada pustaka, maka perekayasa

(23)

CIRI-CIRI DARI PERANCANGAN

BERORIENTASI OBYEK

Karena komunikasi antara obyek dilakukan melalui pegerakan pesan maka

data yang digunakan bersama oleh beberapa obyek akan kecil sehingga mengurangi ketergantungan (minimum coupling).

Obyek adalah terpadu (cohesive) dan tak tembus dari luar, sehingga

seluruh informasi dalam obyek terlindungi terhadap akses dari luar obyek yang tidak dikehendaki.

Obyek dapat dimodifikasi tanpa mempengaruhi operasi dari obyek-obyek

(24)

Pertanyaan

Mengapa walaupun sudah ada Perancangan

(25)

Perancangan Fungsional tetap digunakan karena:

Beberapa domain permasalahan lebih baik digambarkan dalam bentuk

fungsional dari pada obyek.

Sudah banyak metoda dan standard yang dikembangkan untuk mendukung

perancangan berorientasi kepada fungsi ini.

Sudah banyak pengalaman yang dilakukan dengan perancangan

berorientasi fungsi.

Perancangan berorientasi fungsi menjadi komplemen (pelengkap) dari

(26)

Pertanyaan

Bagaimana keunggulan dari perancangan

berorietasi-obyek dalam memecahkan masalah perancangan

(27)
(28)

Kelebihan OOD

Penggunaan kembali Obyek-obyek

Obyek-obyek yang dirancang baik dapat digunakan dan

ditambahkan ke proyek-proyek lain.

Obyek dapat ditambah dengan inheritance.

Keluwesan dan Reliabilitas

Penggunaan obyek-obyek yang sudah teruji.

Encapsulation mencegah kesalahan penggunaan data oleh

modul yang lain dan membantu melokalisasi kesalahan (bugs) yang terjadi.

Pengembangan dan Standarisasi

Obyek-obyek dapat digunakan kembali dengan

(29)

Produktivitas

Meningkatkan kecepatan pengembangan perangkat

lunak.

Pengalaman: OOD meningkatkan kecepatan

(30)

The SW development effort

Size or Functionality Size or Functionality

Effort: Labor-Months Effort: Labor-Months

(31)

31

Object-Oriented Software

Dapat memodelkan masalah

dengan baik

Lebih mudah dimengerti.

Lebih mudah untuk diperbaiki. Lebih mudah untuk digunakan

kembali.

Produktivita s !

Referensi

Dokumen terkait

Turunnya It terjadi karena indeks harga yang diterima nelayan mengalami penurunan pada semua sub kelompok masing-masing sub kelompok perikanan tangkap turun sebesar

Yang menjadi variabel tetap dalam penelitian ini adalah jenis sabun yang digunakan dalam uji cracking meliputi (komposisi jumlah bahan aditif dalam sabun, bentuk batangan sabun,

Hasil penelitian menunjukkan bahwa metode filling dengan citra multitemporal telah berhasil membersihkan awan, namun hasil koreksi awan menggunakan nilai Radiance

Perbedaan persentase penyembuhan luka didasarkan pada luka hewan uji perlakuan diberikan salep ekstrak etanol Suruhan (Peperomia pellucida) yang mengandung zat fitokimia yaitu

Persepsi tenaga kependidikan dan tenaga pendidik terhadap integrasi sosial dalam lingkungan kerja memiliki nilai total skor sebesar 74,14% untuk tenaga kependidikan dan

Ada 5 bentuk layanan yang seharusnya disediakan oleh Fakultas kepada mahasiswa, yaitu mencakup layanan bimbingan dan konseling, minat dan bakat, pembinaan soft skills, beasiswa

melakukan penelitian terkait dengan “ Pengaruh biaya promosi terhadap volume penjualan produk Semen Tonasa pada PT Rezkita Utama Sejahtera (Distributor)di Kabupaten Pangkep

Strain yang terjadi karena ketidak-sesuaian konstanta kisi antara film GaN dan substrat sapphire telah direduksi dengan memberikan lapisan penyangga (buffer layer) GaN