Pengantar ADBO

Download Report

Transcript Pengantar ADBO

Analisis dan Desain
Berorientasi
Obyek
PERTEMUAN 1







Mata Kuliah : Analisa dan Desain
Berorientasi Obyek
Kode Mata Kuliah : TKD167
SKS : 3
Semester : 5
Sifat Mata Kuliah : wajib
Prasyarat : ADSI
Tujuan Umum :

Mahasiswa mampu menganalisa dan
mendesain sistem yang berbasiskan pada
prinsip-prinsip obyek.
Tujuan Khusus










Mahasiswa dapat menjelaskan latar belakang perlunya
metode berorientasi objek (OOA)
Mahasiswa dapat menjelaskan konsep objek
Mahasiswa dapat menjelaskan model dan penggunaan
metode berorientasi objek dalam pengembangan sistem
Mahasiswa dapat menjelaskan model Objek.
Mahasiswa dapat menjelaskan objek dan class
Mahasiswa dapat menjelaskan siklus sistem (OODLC)
Object Development life Cycle
Mahasiswa dapat menjelaskan requirement Model
Mahasiswa mengeti class, hierarchies dan agregasi
Mahasiswa dapat membuat diagram-diagram UML
Mahasiswa dapat mengimplementasiksan konsep untuk
mendesain sistem yang berorientasi objek
Catatan







Kontrak Kuliah :
UTS : 25 %
UAS : 35%
TUGAS 1: CARI JURNAL, PRESENTASI (30
%)
TUGAS 2 : MANDIRI
QUIS : 10%
Koordinator Kelas : dora (085646805727)
Sub Pokok Bahasan
Pertemuan 1
Pengertian ADBO
 Teknologi Obyek
 Konsep Berorientasi Obyek
- Abstraksi
- Inheritance
- Polymorphism
- encapsulation
- Asosiasi
- Agregasi

Pengertian ADBO
Analisa:
Mempelajari domain permasalahan bisnis untuk
merekomendasikan perbaikan dan menentukan kebutuhan
system untuk menyelesaikan permasalahan.
Desain :
Menentukan solusi teknis/computer-based dimana solusi ini
berdasarkan kebutuhan system yang telah diidentifikasi pada proses
analisis.
Analisa dan Desain Berorientasi Object :
 Memahami domain permasalahan dan merumuskan solusinya dengan
menggunakan pendekatan object(benda, konsep, atau entitas)
 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)
Lebih mudah disesuaikan dengan perubahan
Metode Analisis


Biasanya analisa sistem dimulai dengan
adanya dokumen permintaan (requirement)
yang diperoleh dari semua pihak yang
berkepentingan. (Mis: klien, developer, pakar,
dll)
Dokumen permintaan memiliki 2 fungsi:
1. memformulasikan kebutuhan klien
2. membuat suatu daftar tugas

Ada beberapa pendekatan yang biasa
digunakan dalam menganalisa suatu sistem,
yaitu:
1. Functional Decomposition
2. Data Flow Approach
3. Object Oriented
Function Decomposition



Functional Decomposition = function
+ sub-functions + functions
interfaces
Functional decomposition hanya
menghasilkan suatu spesifikasi
fungsional yang memetakan subyek
secara tidak langsung.
Functional decomposition sulit
dilakukan karena sifat sistem yang
mudah berubah. Oleh sebab itu
sistem analist harus dapat
menentukan fungsi-fungsi yang
memiliki potensi untuk berubah.
Data Flow Approach

Data Flow Approach = data
(& control) flows + data (&
control) transformation + data
(& control) stores +
terminators + process specs
(mini-specs) + data dictionary
Data Flow Approach


Strategi: Mengikuti alir data yang terjadi
dalam sistem.
Yang menjadi masalah adalah, manusia tidak
terbiasa berpikir dengan cara tersebut dalam
memecahkan permasalahan (Metode
pengorganisasian).
OO- Object Oriented



Object Oriented = classes
and objects
+ inheritance
+ communication with
messages
Structured vs Object-Oriented


Structured
Pendekatan masalah berorientasi pada aksi
atau data
Object-Oriented
Pendekatan masalah berorientasi pada aksi
dan data
Faktor Pendorong OO





Konsep pendekatan OO yang sudah cukup matang.
Fokus : pengkodean 􀃆 desain 􀃆 analysis
Dekomposisi: pemrograman terstruktur 􀃆 desain
terstrukur 􀃆
analysis terstruktur : Kemajuan teknologi yang
memungkinkan pembuatan sistem berorientasi
obyek Assembler, Pascal, ALGOL, c++, java
Sifat dari sistem/program yang dibuat banyak
berubah
Sistem sekarang yang domain-oriented.
abstraksi prosedural vs. abstraksi data
1. Teknologi Obyek
2. Konsep Berorientasi Obyek
- Abstraksi
- Inheritance
- Polymorphism
- encapsulation
- Asosiasi
- Agregasi
Kompetensi
Mahasiswa mampu menjelaskan teknologi obyek
Mahasiswa mampu mendefinisikan konsep
berorientasi obyek.
Mahasiswa mampu menjelaskan abstraksi
Mahasiswa mampu menjelaskan inheritance
Mahasiswa mampu menjelaskan polymorphism
Mahasiswa mampu menjelaskan encapsulation
Mahasiswa mampu menjelaskan asosiasi
Mahasiswa mampu menjelaskan agregasi
Teknologi Objek


Teknologi perangkat lunak yang
mendefinisikan sistem dalam hal obyek yang
mengkonsolidasikan data dan tingkah laku
(ke dalam obyek).
Obyek menjadi dapat digunakan kembali dan
komponen yang dapat diperluas untuk
developer perangkat Lunak
Objek

Obyek – sesuatu yang dapat dilihat, disentuh atau
dirasakan dan digunakan pengguna serta akan
disimpan data dan perilakunya. Bisa berupa:





Orang, tempat, benda atau kejadian
Pegawai, pelanggan, guru, dosen, mahasiswa, murid.
Gudang, kantor, bangunan, ruangan.
Kendaraan, produk, konputer, video.
Atribut – data yang menyatakan sifat dari obyek
Tingkah laku


Tingkah laku (behavior) – hal-hal yang
dapat dikerjakan obyek dan merupakan
fungsi yang dikenakan pada data (atribut)
dari obyek tersebut.
Dalam paradigma OO, perilaku obyek
disebut metode, operasi, atau layanan
(method,operation, or service).
Pemrograman Berorientasi
Obyek (PBO)





C++
Java
Visual Basic .net
Delphi
dll..
Ide dasar PBO

Mengkombinasikan data dan fungsi/atribut
untuk mengakses data menjadi sebuah
kesatuan unit.
Memahami istilah dalam OOP /
PBO




Obyek : komponen di dalam sebuah
program
Property : karakteristik yang dimiliki
obyek
Method : aksi yang dapat dilakukan oleh
obyek
Event : kejadian yang dapat di alami oleh
obyek
abstraksi


Prinsip untuk merepresentasikan dunia nvata
yang kompleks menjadi satu bentuk model
yang sederhana dengan mengabaikan
aspek-aspek lain yang tidak sesuai dengan
permasalahan.
Secara sederhana dikatakan membuang
atribut obyek dan operasi yang hanya sampai
pada yang benarbenar diperlukan.
Contoh Abstraksi



Program mesin cuci → tidak butuh serial
number
Program transaksi laundry → butuh serial
number
Obyek sama-sama mesin cuci
Inheritance (Pewarisan)

Adalah konsep yang menyatakan bahwa
metode atau atribut dalam kelas dapat
diturunkan atau digunakan kembali oleh
kelas lain.
Pewarisan (cont’d)
Generalisasi,Supertype, dan
Subtype



Generalisasi/spesialisasi – atribut dan perilaku
yang sama untuk beberapa kelas dikelompokkan ke
dalam kelas tersendiri yang disebut supertype.
Supertype – entitas yang berisi atribut dan perilaku
yang sama untuk satu atau lebih subtipe kelas. Juga
disebut parent class.
Subtype – kelas yang mewarisi (inherit) atribut dan
perilaku dari kelas supertype serta mungkin juga
berisi atribut dan perilaku lain yang khusus. Juga
disebut kelas anak (child). Jika berada pada tingkat
yang paling rendah dalam hirarki pewarisan, akan
disebut kelas konkret (concrete)
Polimorphism

Arti : mempunyai banyak bentuk Merupakan
suatu konsep yang menyatakan sesuatu
yang sama dapat memiliki berbagai bentuk
dan perilaku yang berbeda.
Contoh
 Polimorphism pada C++ dapat dikenakan
pada fungsi atau operator dan di kenal
dengan overloading.
 Berikut fungsi dengan nama gambar :



gambar(x,y); Menggambar titik
gambar(x1,y1,x2,y2); Menggambar garis
gambar(x,y,5); Menggambar lingkaran
encapsulation


Adalah pembungkusan/pengemasan data
dan fungsi dalam wadah bernama obyek.
atau...Menyembunyikan operasi-operasi dari
dunia luar dan dari obyek-obyek lain
Contoh Encapsulation


Televisi :
- Tampak luar hanya layar dan beberapa
tombol operasi
- Di dalam terkandung kompleksitas
rangkaian elektronika
Asosiasion


Merupakan relasi atau hubungan obyek satu
dengan lainnya.
Sebuah obyek dapat berelasi dengan obyek
yang lain
Agregasi


Agregasi – sebuah relasi yang
menyatakan bahwa satu kelas
“utuh (whole)” yang lebih besar
memuat satu atau lebih kelas
“bagian (part)” yang lebih kecil.
Sebaliknya, kelas “bagian”
adalah bagian dari kelas “utuh”
Dalam UML 2.0 notasi agregasi
sudah tidak dipakai lagi
Contoh Agregasi
Contoh Agregasi
tugas







Buat ringkasan materi berikut dan
presentasikan minggu depan :
Model dan permodelan
Definisi model
Pre Modelling
Model pada Pengembangan Sistem
Beberapa contoh metode pemodelan awal
Permodelan bisnis