Materi#6 RPL Kelas C
Materi#6 RPL Kelas C
ANALISIS DAN
DESAIN
BERORIENTASI
OBYEK (OOAD )
Pendahuluan
Konsep objek telah dikenal sejak lebih dari tiga puluh tahun
yang lalu. Diawali dengan penggunaan pemrograman
berorientasi objek (OOP), lalu berkembang menjadi konsep
perancangan berorientasi objek (OOD) dan selanjutnya
metode analisis dan perancangan berorientasi objek
(OOAD) di tahun 1990
Tujuan OOAD:
Analisa Desain
ALASAN MENGGUNAKAN OO
• Pengembangan perangkat lunak itu sulit karena
“perangkat lunak mudah diimpikan”
• Kompleksitas pengembangan perangkat lunak yang
terus bertumbuh membutuhkan dukungan konsep yang
lebih handal, guna ulang (reusable) dan natural
• OO menawarkan tipe data abstrak, modularitas,
pemodelan informasi, proses software untuk
mengatasinya
• Walaupun demikian, OO bukan jaminan sukses
pengembangan perangkat lunak
Konsep OOAD
• Object Oriented Analysis Design (OOAD) adalah rekayasa
perangkat lunak yang model pendekatan sistem sebagai
kelompok interaksi objek.
• Beberapa entitas mewakili setiap obyek, yang menarik
dalam sistem menjadi model dan kelas, elemen data, dan
perilaku. Analisis berorientasi objek (OOA) berlaku objek
modeling teknik untuk menganalisis fungsional
persyaratan untuk sistem.
Konsep OOAD
• Secara singkat OOAD adalah metode analisis yang
memeriksa requirements dari sudut pandang kelas-kelas
dan objek yang ditemui dalam ruang lingkup
permasalahan yang mengarahkan arsitektur software
yang didasarkan pada manipulasi objek-objek sistem atau
subsistem.
• Sekarang ini terdapat berbagai metodologi yang
digunakan dalam object oriented analisys and design
(OOAD).
Konsep class
• Mewakili sebuah benda atau barang ( kata benda) misalnya : mahasiswa,
pelanggan, kendaraan
• Class Diagram Format and sample class:
Package::Class Person
Kelas
• Sekumpulan objek yang memiliki kemiripan dalam hal
properti, atribut, prilaku, dan semantik.
• Proses klasifikasi dilakukan untuk membentuk kelompok
dari beberapa objek yang memiliki kemiripan.
Kelas
Konsep Object
What is Object is that Object:
• Encapsulation (Pengkapsulan)
• Encapsulation merupakan dasar untuk pembatasan ruang
lingkup program terhadap data yang diproses.
• Data dan prosedur atau fungsi dikemas bersama-sama dalam
suatu objek, sehingga prosedur atau fungsi lain dari luar tidak
dapat mengaksesnya.
• Data terlindung dari prosedur atau objek lain, kecuali prosedur
yang berada dalam objek itu sendiri.
• Polymorphism (Polimorfisme)
• Polimorfisme yaitu konsep yang menyatakan bahwa seuatu
yang sama dapat mempunyai bentuk dan perilaku berbeda.
• Polimorfisme mempunyai arti bahwa operasi yang sama
mungkin mempunyai perbedaan dalam kelas yang berbeda.
• Kemampuan objek-objek yang berbeda untuk melakukan
metode yang pantas dalam merespon message yang sama.
• Seleksi dari metode yang sesuai bergantung pada kelas yang
seharusnya menciptakan Objek.
21
• Dengan menggunakan UML kita dapat membuat model untuk semua jenis
aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti
keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa
pemrograman apapun. Tetapi karena UML juga menggunakan class dan
operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan
piranti lunak dalam bahasa bahasa berorientasi objek seperti C++, Java, C#
atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk
modeling aplikasi prosedural dalam VB atau C.
SEJARAH UML
Booch
Rumbaugh Jacobson
Fusion
Meyer
Operation descriptions,
Before and after
Message numbering
conditions
Harel
State charts
Gamma, et.al
Wirfs-Brock
Frameworks, patterns,
Responsibilities
notes Shlaer - Mellor Odell
ARTIFACT UML
Use-Case
Class Diagram State Diagram
Diagram FileMgr
DocumentList
Document
add file
name : char * = 0
read( )
GrpFile
Customer
name
Domain
readDoc( ) read( )
open( )
readFile( )
create( )
addr
Deployment
fillFile( )
receive()
Use Case 3 withdraw()
Expert fetch()
send()
UI
RogueWave
9: sortByName ( ) Persistence
Windows95
global
¹®¼°ü¸®
FileManager Ŭ¶óÀ̾ðÆ®.EXE
¹®¼°ü¸® ¾ÖÇø´
Package
L
Document Solaris
2: fetchDoc( )
¹®¼°ü¸® ¿£Áø.EXE
4: create ( ) gFile : GrpFile
Alpha
8: fillFile ( ) UNIX
ÀÀ¿ë¼¹ö.EXE
Windows
Diagram
NT
User Interface
user : »ç¿ëÀÚ GraphicFile IBM
Mainframe
fileMgr : FileMgr File
3: create ( )
FileList
6: fillDocument ( )
Definition
µ¥ÀÌŸº£À̽º¼¹ö
7: readFile ( )
5: readDoc ( )
document : Document
repository : Repository
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
7: readFile ( )
8: fillFile ( )
Sequence Diagram
Executable System
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak
DIAGRAM-DIAGRAM DI UML
State
State
Diagrams
Class
Diagrams
Use Case Diagrams
Use Case
Diagrams State
Use Case Use Case
Diagrams State
Diagrams
Use Case Diagrams Object
Diagrams
Diagrams
Activity Diagrams
Diagrams
Diagrams
Scenario State
Scenario
Diagrams State
Diagrams
Sequence
Diagrams State
Diagrams
Diagrams Model Diagrams
Scenario Component
Scenario
Diagrams
Component
Diagrams
Component
Collaboration
Diagrams Deployment Diagrams
Diagrams Diagram Diagrams
9 DIAGRAM UML
Class Diagram
Object Diagram
Structural Diagrams
Component Diagram
Deployment Diagram
Pegawai BAAK
Simbol-simbol Dasar
Use-Case
Use case – sebuah skenario perilaku untuk
menyelesaikan pekerjaan tertentu
Digambarkan dalam bentuk elips horisontal
Aktor
Actor bukan bagian dari sistem, actor merepresentasikan
siapa saja atau apa saja yang harus berinteraksi dengan
sistem. Model use case merupakan suatu dialog antara
suatu actor dengan sistem.
Actor disebut juga external entity
Actor – segala sesuatu yang perlu Bisa person atau menunjuk ke peran misal:
pembeli,
berinteraksi dengan sistem untuk pelanggan,
bertukar informasi manajer,
pegawai dll
Bisa hardware
Contoh: seseorang, organisasi, contoh: printer, timer
sistem informasi yang lain, alat Bisa sub sistem/sistem lain
eksternal contoh: Bank, Inventory dll
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak
Use Case
• Deskripsi dari sebuah sebuah skenario perilaku untuk
perilaku sistem sebagai menyelesaikan pekerjaan
respon dari suatu aksi / tertentu
permintaan dari luar sistem
• Dengan kata lain, use case
mendeskripsikan Mengelola Data Mahasiswa
Association
• Merupakan hubungan atau relasi dari aktor ke
usecase
• Digambarkan dalam garis lurus.
Batas Sistem
• Disimbolkan dengan kotak
• Untuk menggambarkan usecase-usecase apa saja
yang ada di sistem kita
1. <<extend>>
2. <<include>>
<<extend>>
• Mengindikasikan bahwa use case tersebut diperluas
dengan penambahan behavior untuk mendapatkan
usecase lain.
Buka
Rekening
<<extend>>
Nasabah
Buka
Deposito
<<include>>
• Adalah relasi yang menggambarkan bahwa fungsi
sebuah usecase dimasukkan dalam fungsi usecase
yang lain.
Nasabah
Generalization
• Antar aktor bisa ada relasi generalisasi
Studi Kasus
Contoh kasus
Peminjaman Buku
Entry anggota
<<include>>
Anggota perpustakaan
cetak kartu anggota
Entry buku
Petugas perpustakaan
entry denda
<<include>>
anggota perpustakaan
entry pengembalian
<<include>>
entry Denda
<<extend>>
anggota perpustakaan
petugas perpustakaan
cetak laporan denda
Activity Diagram
ACTIVITY DIAGRAM
Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
Dipakai pada business modeling untuk memperlihatkan
urutan aktifitas proses bisnis
Struktur diagram ini mirip flowchart atau Data Flow
Diagram pada perancangan terstruktur
Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses
untuk membantu memahami proses secara keseluruhan
Activity diagram dibuat berdasarkan sebuah atau
beberapa use case pada use case diagram
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak
ACTIVITY DIAGRAM
• Teknik untuk mendiskrpsikan logika procedural, proses
bisnis dan aliran kerja dalam banyak kasus
• kerja personal (workflow) dan alur data (flowchart)
ACTIVITY DIAGRAM
• Menggambarkan proses bisnis dan urutan aktivitas
dalam sebuah proses
• Dipakai pada business modeling untuk memperlihatkan
urutan aktifitas proses bisnis
• Struktur diagram ini mirip flowchart atau Data Flow
Diagram pada perancangan terstruktur
• Sangat bermanfaat apabila kita membuat diagram ini
terlebih dahulu dalam memodelkan sebuah proses
untuk membantu memahami proses secara
keseluruhan
• Activity diagram dibuat berdasarkan sebuah atau
beberapa use case pada use case diagram
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak
End Point
Activities
Fork (Percabangan)
Join (Penggabungan)
Decision
ACTIVITY
• Activity menggambarkan sebuah pekerjaan/tugas dalam
workflow.
• Pada UML, activity digambarkan dengan simbol belah
ketupat=‘lozenge’ (horizontal top and bottom with
convex sides).
Activity State
Start State
Start State
Vilia Eka Meyana, M.Kom
Rekayasa Perangkat Lunak
End State
• End state menggambarkan akhir atau terminal
dari pada sebuah activity diagram.
• Bisa terdapat lebih dari satu end state pada
sebuah activity diagram.
• Pada UML, end state digambarkan dengan
simbol sebuah bull’s eye.
State Transitions
• State transition menunjukkan kegiatan apa berikutnya setelah suatu
kegiatan sebelumnya.
• Pada UML, state transition digambarkan oleh sebuah solid line dengan
panah.
State Transition
Decisions
• Decision adalah suatu titik/point pada activity
diagram yang mengindikasikan suatu kondisi
dimana ada kemungkinan perbedaan transisi.
• Pada UML, decision digambarkan dengan
sebuah simbol diamond.
Decision
Swimlanes
• Object swimlane untuk menggambarkan objek mana yang bertanggung
jawab untuk aktivitas tertentu.
CONTOH
ACTIVITY
DIAGRAM
Penarikan
Uang dari
Account
Bank
Melalui
ATM