pemodelan berorientasi obyek · visual basic .net ... adalah pemanggilan sebuah fungsi program ......
TRANSCRIPT
Pemodelan Berorientasi
Obyek
Pengantar Pemodelan dan OOP
OOP- Putu P.Astawa
OOP- Putu P.Astawa
OOP- Putu P.Astawa
OOP- Putu P.Astawa
1. Teknologi Obyek
2. Konsep Berorientasi Obyek
- Inheritance
- Polymorphism
- encapsulation
- Agregasi
OOP- Putu P.Astawa
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
OOP- Putu P.Astawa
Objek
Obyek – sesuatu yang dapat dilihat, disentuh atau
dirasakan dan digunakan pengguna serta dapat
menyimpan 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
OOP- Putu P.Astawa
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).
OOP- Putu P.Astawa
Pemrograman Berorientasi
Obyek (PBO)
C++
Java
Visual Basic .net
Delphi
dll..
OOP- Putu P.Astawa
Ide dasar PBO
Mengkombinasikan data dan fungsi/atribut
untuk mengakses data menjadi sebuah
kesatuan unit.
OOP- Putu P.Astawa
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
OOP- Putu P.Astawa
OOP- Putu P.Astawa
Konsep Aplikasi
Berbasis Objek, UML dan
Rational Rose
OOP- Putu P.Astawa
Pemrograman Berorientasi
ObjekObject-oriented analysis (OOA) – adalah
sebuah pendekatan yang digunakan untuk :
1. Menggunakan obyek yang sudah ada untuk
digunakan kembali (reuse) atau diadaptasi untuk
penggunaan baru
2. Mendefinisikan obyek baru atau obyek yang
dimodifikasi dan digabungkan dengan obyek yang
sudah ada untuk membangun suatu aplikasi bisnis.
Object modeling (Pemodelan Obyek) – Teknik
untuk mengidentifikasi obyek yang ada dalam
sistem dan relasi diantara obyek-obyek tersebut. OOP- Putu P.Astawa
Mengapa harus OO
(object oriented) ?
BEBERAPA ALASAN:
1. Pengembangan perangkat lunak itu sulit karena
“perangkat lunak mudah diimpikan”
2. Kompleksitas pengembangan perangkat lunak
yang terus bertumbuh
• membutuhkan dukungan konsep yang lebih
handal, guna ulang (reusable) dan natural
3. OO menawarkan tipe data abstrak, modularitas,
pemodelan informasi, proses software untuk
mengatasinya
4. Walaupun demikian, OO bukan jaminan sukses
pengembangan perangkat lunakOOP- Putu P.Astawa
Kapan dan dimana OO ?BEBERAPA SITUASI UMUM:
1. Jika perangkat lunak (PL) yang dibangun
cukup kompleks
2. Jika PL yang dibangun diperkirakan akan
tumbuh makin kompleks di masa mendatang
3. Jika kita ingin membangun PL yang:
• Berdasar pada komponen yang telah
pernah ada sebelumnya (daur ulang)
• Dapat dipergunakan kembali di masa
mendatang (reusable)
4. Dan mungkin, kapanpun dan di manapunOOP- Putu P.Astawa
Pembungkusan
(Encapsulation)
Dalam sistem berorientasi objek kita
menggabungkan potongan-potongan
informasi dan perilaku-perilaku spesifik yang
bekerja pada informasi tersebut, kemudian
mengemasnya menjadi apa yang disebut
dengan objek. Inilah yang disebut dengan
pembungkusan (encapsulation).
OOP- Putu P.Astawa
Pewarisan (Inheritance) – konsep yang
menyatakan bahwa metode atau atribut dalam
kelas dapat diturunkan atau digunakan
kembali oleh kelas lain.
OOP- Putu P.Astawa
OOP- Putu P.Astawa
Polimorfisme – obyek yang berbeda dapat merespon pesan yang sama dengan cara yang berbeda.
Polimorfisme
OOP- Putu P.Astawa
Analisis dan Perancangan Sistem dengan
Metodologi Berorientasi Objek
Langkah-langkah dari siklus pengembangan
sistem berorientasi objek
Perancangan Sistem
- Arsitektur sistem
- Sub sistem
- Struktur data
- Algoritma
- Kendali
Analisis
OOP- Putu P.Astawa
Keuntungan penggunaan pemodelan
berorientasi objek
Kemampuan untuk menangani tipe-tipe data dan masalah-masalah yang lebih kompleks dan lebih sulit.
Memperbaiki komunikasi antara pengguna, analisis, perancangan dan pemrogram.
Meningkatkan derajad konsistensi antara tahap analisis, perancangan, serta kegiatan pemrograman karena sama untuk setiap tahap itu.
Ketangguhan dan ketegaran sistem (robustness).
Kemampuan untuk menggunakan ulang hasil-hasil analisis, perancangan serta pemrograman (reusable component) pada suatu proyek ke proyek lainnya.
Meningkatkan konsistensi antara model-model yang dikembangkan selama analisis, perancangan, serta pemrograman berorientasi objek.
OOP- Putu P.Astawa
UML (Unified Modeling
Language)
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak.
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.
OOP- Putu P.Astawa
UML
Seperti juga tercantum pada gambar UML mendefinisikan diagram-diagram sebagai berikut:
use case diagram
conceptual Diagram
class diagram
object diagram
statechart diagram
activity diagram
sequence diagram
collaboration diagram
component diagram
deployment diagram
OOP- Putu P.Astawa
Rational Rose
Rational Rose adalah kakas (tools) pemodelan
visual untuk pengembangan sistem berbasis
objek yang sangat handal untuk digunakan
sebagai bantuan bagi para pengembang dalam
melakukan analisis dan perancangan sistem.
Rational rose digunakan untuk melakukan
pemodelan pemodelan sistem sebelum
pengembang menulis kode-kode dalam bahasa
pemrograman tertentu.
OOP- Putu P.Astawa
Use Case dan Aktor
OOP- Putu P.Astawa
Aktor
Aktor adalah seseorang atau sesuatu yang
berinteraksi dengan sistem yang sedang kita
kembangkan.
Secara prinsip ada 3 jenis aktor :
1. Para pengguna sistem/perangkat lunak
2. Sistem/perangkat lunak lain yang berinteraksi dengan
sistem/perangkat lunak yang kita kembangkan
3. Waktu Adanya actor bernama “Time” yang
mengindikasikan scheduled events (suatu kejadian
yang terjadi secara periodik/bulanan)
OOP- Putu P.Astawa
Penggunaan Aktor
Actor menggambarkan sebuah tugas/peran dan bukannya posisi sebuah jabatan
Actor memberi input atau menerima informasi dari system
Actor biasanya menggunakan Kata benda
Tidak boleh ada komunikasi langsung antar actor
Letakkan actor utama anda pada pojok kiri
atas dari diagram
OOP- Putu P.Astawa
Use Case
Use case adalah peringkat tertinggi dari
fungsionalitas yang dimiliki sistem.
Use case menggambarkan bagaimana
seseorang akan
menggunakan/memanfaatkan sistem
Pembelian Karcis
OOP- Putu P.Astawa
Untuk setiap pengguna (aktor) pikirkan hal-hal berikut :
- Apa yang akan pengguna kerjakan dengan sistem yang
akan dikembangkan ?
- Apa yang para pengguna butuhkan untuk memelihara
informasi-informasi ?
- Apakah yang perlu sistem lakukan saat terjadi event
tertentu yang datang dari luar sistem ?
OOP- Putu P.Astawa
Aliran Event
Use case mendeskripsikan apa yang akan sistemkerjakan.
Untuk secara nyata mengembangkan sistem/perangkatlunak lunak, kita seharusnya memiliki rincian-rincianyang lebih spesifik. Rincian-rincian ini dituliskan sebagaialiran event.
Kegunaan dari aliran event ini adalah untukmendokumentasikan aliran-aliran logika dalam setiapuse case.
OOP- Putu P.Astawa
Aliran event mendeskripsikan aliran event langkah-
langkah per langkah dan ditulis dari sudut pandang
pengguna. Aliran-aliran event primer dan aliran-aliran
alternatif mencakup :
- Bagaimana use case berawal ?
- Berbagai lintasan normal (primer) dalam use case.
- Setiap penyimpangan (deviasi) dari aliran normal
dalam use case (aliran-aliran altternatif).
- Setiap aliran kesalahan (exception atau eror)
- Bagaimana use case terakhir.
OOP- Putu P.Astawa
Relasi
Use case dan aktor masing-masing tidak
berdiri sendiri. Mereka saling terhubung
dengan apa yang dinamakan relasi.
Ada berbagai relasi yang dikenal dalam
model UML :
1. Relasi Asosiasi (relasi yang terjadi antara
aktor dengan use case biasanya berupa
asosiasi.
OOP- Putu P.Astawa
2. Include Relationship (memungkinkan suatu
use case untuk menggunakan fungsionalitas
yang disediakan oleh use case yang lainnya)
<<include>>
Pembelian Tiket Memeriksa Kredit
OOP- Putu P.Astawa
3. Extends relationship
<<extend>>
Memeriksa Kredit Mengubah Pemesanan
OOP- Putu P.Astawa
4. GeneralisasiPenumpang
Penumpang Pribadi
Perusahaan Pribadi
Penumpang
Perusahaan
Pemerintah
OOP- Putu P.Astawa
Diagram Use Case
Diagram use case memperlihatkan pada
hubungan-hubungan yang terjadi antara
aktor-aktor dengan use case dalam sistem.
OOP- Putu P.Astawa
Association
Associations bukan menggambarkan aliran data/informasi
Associations digunakan untuk menggambarkan bagaimana actor terlibat dalam use case
Ada 4 jenis relasi yang bisa timbul pada use case diagram
1. Association antara actor dan use case
2. Association antara use case
3. Generalization/Inheritance antara use case
4. Generalization/Inheritance antara actors
OOP- Putu P.Astawa
Association antara actor dan use case
Ujung panah pada association antara actor dan use case mengindikasikan siapa/apa yang meminta interaksi dan bukannya mengindikasikan aliran data
Sebaiknya gunakan Garis tanpa panah untuk association antara actor dan use case
association antara actor dan use case yang menggunakan panah terbuka untuk mengindikasikan bila actor berinteraksi secara pasif dengan system anda
OOP- Putu P.Astawa
Association antara use case
<<include>> termasuk didalam use case lain
(required) / (diharuskan)
Pemanggilan use case oleh use case lain, contohnya
adalah pemanggilan sebuah fungsi program
Tanda panah terbuka harus terarah ke sub use case
Gambarkan association include secara horizontal
Buka
Rekening
<<include>> catat
data pribadi
Nasabah
Register for courses
<<include>>
Logon validation<<include>>
Maintain curriculumOOP- Putu P.Astawa
Association antara use case (Lanjut)
<<extend>> perluasan dari use case lain jika kondisi
atau syarat terpenuhi
Kurangi penggunaan association Extend ini, terlalu banyak
pemakaian association ini membuat diagram sulit dipahami.
Tanda panah terbuka harus terarah ke parent/base use
case
Gambarkan association extend secara vertical
Buka
Rekening
<<extend>>
Buka
Deposito
Nasabah
OOP- Putu P.Astawa
Generalization/inheritance antara
use case
Generalization/inheritance digambarkan dengan sebuah garis
berpanah tertutup pada salah satu ujungnya yang menunjukkan
lebih umum
Gambarkan generalization/inheritance antara use case secara
vertical dengan inheriting use case dibawah base/parent use case
Generalization/inheritance dipakai ketika ada sebuah keadaan yang
lain sendiri/perlakuan khusus (single condition)
Buka
Rekening
Nasabah Buka
DepositoOOP- Putu P.Astawa
Generalization/inheritance antara
actor
Gambarkan generalization/inheritance antara
actors secara vertical dengan inheriting actor
dibawah base/parent use case
Petugas medis
DokterBidanOOP- Putu P.Astawa
Use case System boundary boxes Digambarkan dengan kotak disekitar use case, untuk
menggambarkan jangkauan system anda (scope of of your system).
Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan
System boundary boxes dalam penggunaannyaoptional
OOP- Putu P.Astawa
Use case dan aktor dalam pemodelan bisnis
berbeda dengan use case dan aktor pada
pemodelan sistem , perbedaan itu akan kita
bahas pada tabel berikut:
Nama Objek Model Bisnis Model Sistem
Use Case Mendeskripsikan apa
yang dikerjakan
perushaan
Mendeskripsikan
sistem yang
akan/sedang
dikembangkan dalam
perusahaan
Aktor Bersifat Eksternal
terhadap perusahaan
Bersifat eksternal
terhadap sistem yang
akan/sedang
dikembangkan
Pekerja Bisnis Bersifat Internal
dalam perusahaan
Tidak digunakan
OOP- Putu P.Astawa
Untuk mendeskripsikan use case apa saja dan
aktor yang akan terlibat dalam use case tersebut
biasanya digunakan tabel dibawah ini untuk
melihat kembali spesifikasi sistem diatas
No Requirement Aktor Use Case
1. Operator Data Entry melakukan
verifikassi user untuk menggunakan
sistem
Operator
Data Entry
Proses Login
(Verifikasi
User)
2. Operator Data entry melakukan input
proses transaksi pengiriman yang berisi
dtaa pengirim dan tujuan penerima
Operator
Data Entry
Transaksi
pengiriman,
Input Data
Pengirim,
Input Data
Penerima
3. Sesudah data dan informasi dengan
benar maka operator data entry
membuat nota pembayaran dari suatu
transaksi tersebut
Operator
Data Entry
Pembayaran
Tagihan
OOP- Putu P.Astawa
Untuk mendeskripsikan use case apa saja dan
aktor yang akan terlibat dalam use case tersebut
biasanya digunakan tabel dibawah ini untuk
melihat kembali spesifikasi sistem diatas
No Requirement Aktor Use Case
4. Dengan masuknya semua data ke
database computer, proses selanjutnya
adalah membuat laporan berkala yang
diperlukan untuk keperluan-keperluan
lain yang berhubungan dengan proses
yang berlangsung di perusahaan
tersebut.
Operator
Data Entry
Buat Laporan,
Laporan Data
Pengirim,
Laporan Data
Penerima,
Laporan Data
Transaksi,
Laporan Data
Tagihan
5. Untuk melakukan tugas lainnya maka
diperlukan pegawai lainnya oleh karena itu
diperlukan pendataan dengan benar.
Dataa Pegawai
OOP- Putu P.Astawa
Selanjutnya atas dasar tabel diatas dibuat Use Case
Diagram
Login
Transaksi Pengiriman
Input data Pengirim
Input Data Penerima
Input Data Karyawan
Konfirmasi Pengiriman
Proses tagihan
Laporan Transaksi
Laporan Tagihan
Laporan Data Pengirim
Operator Data Entry
Laporan Data Penerima
OOP- Putu P.Astawa
Berikut contoh-contoh dari diagram use
case
Penarikan
Query/Lihat account
Transfer
Customer ATM
OOP- Putu P.Astawa
Use Case Diagram
Sistem Informasi Puskesmas
Petugas LoketPendaftaran pasien
Pemeriksaan kesehatan
Tindakan medis
Petugas medis
Pasien
Pemberian resep
Laboran
Tea Laboratorium
<<extend>>
Apoteker
Pengambilan obat
<<include>>
OOP- Putu P.Astawa
STUDY KASUS SISTEM PENJUALAN
TOKO FASHION MIMI
Toko fashion Mimi adalah toko yang begerak dibidang fashion
masakini. barang –barang yang dijual di toko ini berupa baju, celana
dan yang berhubungan dengan style zaman sekarang.
Kegiatan yang dilakukan dalam system penjualan si toko Mimi ini
antara lain ;
1. pelanggan datang langsung ketoko untuk membeli barang secara
cash dan dapat membawa pulang langsung barangnya
2. kemudian pelanggan mendapat nota dari penjual. Barang yang
sudah dicatat pada nota mempunyai asumsi barang ada di stock
Dari kasus diatas gambarkan Use Case Diagram, buat terlebih
dahulu tabel requirement
OOP- Putu P.Astawa
Mendokumentasikan rincian
Untuk tiap use case bisnis, dokumentasikan
aliran-aliran kerja dalam tiap use case.
OOP- Putu P.Astawa
Sub Pokok Bahasan
UML
Activity Diagram
OOP- Putu P.Astawa
Kompetensi
Mampu mendefinisikan pemodelan obyek.
Mengetahui bagaimana membangun pemodelan
obyek.
Mendefinisikan UML dan berbagai macam tipe
diagram yang digunakan. .
Mampu membangun activity diagram.
OOP- Putu P.Astawa
Pengantar UML
Unified Modeling Language (UML)
Aturan-aturan pemodelan yang digunakan untuk
mendeskripsikan sistem perangkat lunak dalam
bentuk kumpulan obyek.
Note :
UML bukan sebuah metode untuk
mengembangkan sisten tetapi notasi-notasi
yang digunakan secara umum sebagai standar
untuk pemodelan obyek.
OOP- Putu P.Astawa
ACTIVITY DIAGRAM
• Activity diagrams menggambarkan berbagai alir aktivitas dalam
sistem yang sedang dirancang.
• Bagaimana masing-masing alir berawal, decision yang
mungkin terjadi, dan bagaimana mereka berakhir.
• Activity diagram juga dapat menggambarkan proses paralel
yang mungkin terjadi pada beberapa eksekusi.
OOP- Putu P.Astawa
ACTIVITY DIAGRAM
• Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
• Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
• Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu.
OOP- Putu P.Astawa
What is an Activity Diagram ?
Activity diagram adalah cara lain menggambarkan flow
of events.
Menunjukkan kontrol aliran dari activity ke activity.
Flow of Events
This use case starts when the Registrarrequests that the system close registration.
1. The system checks to see if registration is inprogress. If it is, then a message is displayed to the Registrar and the use case terminates. TheClose Registration processing cannot be performed if registration is in progress.
2. For each course offering, the system checks if a professor has signed up to teach the courseoffering and at least three students have registered. If so, the system commits the courseoffering of each schedule that contains it.
OOP- Putu P.Astawa
Activity
Activity menggambarkan sebuah pekerjaan/tugas dalam
workflow.
Pada UML, activity digambarkan dengan simbola belah
ketupat=‘lozenge’ (horizontal top and bottom with
convex sides).
Activity State
OOP- Putu P.Astawa
Start State
Start state dengan tegas menunjukkan dimulainya suatu workflow
pada sebuah activity diagram.
Hanya ada satu start state dalam sebuah workflow.
Pada UML, start state digambarkan dengan simbol lingkaran yang
solid.
Start State
OOP- Putu P.Astawa
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.
End State
OOP- Putu P.Astawa
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
OOP- Putu P.Astawa
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
OOP- Putu P.Astawa
Swimlanes
A swimlane is used to partition an activity
diagram to help us better understand who or
what is initiating the activity.
OOP- Putu P.Astawa
Petunjuk Membuat Diagram Aktivitas
Mulailah dengan node awal untuk titik awal.
Tambahkan partisi jika relevan untuk analisis yang dibuat.
Tambahkan aksi untuk setiap langkah utama dari use case.
Tambahkan alur dari setiap aksi ke aksi lain, keputusan atau
node akhir. Setiap aksi hanya mendapat satu alur masuk
dan satu alur keluar menuju ke forks, joins, decisions, dan
merges.
Tambahkan decisions jika alur dipecah menjadi beberapa
pilihan. Jangan lupa untuk menggabungkan kembali
dengan merge.
Tambahkan forks dan joins jika aktivitas akan dilakukan
secara paralel.
Akhiri proses dengan notasi untuk akhir aktivitas.
OOP- Putu P.Astawa
CASE Tools
Argo UML (http://argouml.tigris.org/)
Catalyze
Rational Rose
starUML
Paradigm Plus
Proxy Designer
OOP- Putu P.Astawa
OOP- Putu P.Astawa
CONTOH DIAGRAM AKTIVITAS
OOP- Putu P.Astawa
ACTIVITY DIAGRAM
Pengembalian buku
OOP- Putu P.Astawa
OOP- Putu P.Astawa
OOP- Putu P.Astawa
OOP- Putu P.Astawa
latihan
Buat activity diagram dalam kegiatan
menelpon !
OOP- Putu P.Astawa