Materi Uml
Materi Uml
PEMODELAN SISTEM
Unified Modeling Language (UML)
Dosen Pengampu
Objective (Tujuan) :
1. Data-oriented DFD
2. Process-oriented Flowchart
3. Object-oriented (data + process) UML
anas©2015
Konsep Dasar Pemrograman
Berorientasi Objek
Berorientasi Objek?
Attribute: Contoh Implentasi
Topi, Baju, Jaket, Pemrogramaan dengan PHP
Tas Punggung,
Tangan, Kaki, Mata
Behavior:
Cara Jalan ke Depan
Cara Jalan Mundur
Cara Belok ke Kiri
Cara Memanjat
en
anas©2015
Berorientasi Objek?
Attribute (State):
Ban, Stir, Pedal Rem, Pedal Gas,
Warna, Tahun Produksi
Behavior:
Cara Menghidupkan Mesin
Cara Manjalankan Mobil
Cara Memundurkan Mobil
Attribute Variable(Member)
Behavior Method(Fungsi)
anas©2015 Segitiga Sukses Dalam
Pengembangan Software
Notation:
Standard
Process:
Tools: Support
Customer-
Standard and
Oriented
Process
Methodology
anas©2015
UML Tools
• Rational Rose
• Visual Paradigm
• Enterprise Architect
• Microsoft Visio
• Star UML
• Netbeans UML Plugin
anas©2015
UML 2.0 Diagrams
1. Class Diagram
2. Object Diagram
3. Package Diagram
4. Deployment Diagram
5. Component Diagram
6. Composite Structure Diagram
anas©2015
Structure Diagrams
1. Class Diagrams
Common vocabulary (Kosa kata
umum) yang digunakan oleh analis dan
pengguna
Mewakili hal-hal (misal: karyawan,
gaji, ...)
Menunjukkan hubungan antara kelas
2. Object Diagrams
Mempunyai kemiripan dengan class
diagrams
Instansiasi dari class diagram
5. Component Diagrams
Hubungan fisik antar komponen
perangkat lunak
contoh – Client / Server (mesin
yang menjalankan software )
Component
anas©2015
Structure Diagrams
6. Composite Structure
Menggambarkan struktur internal dari kelas
yang kompleks
class
part port
interfaces
anas©2015
UML Behavior Diagrams
1. Activity Diagrams
Proses model dalam sistem informasi
Contoh: alur kerja bisnis, logika bisnis
2. Interaction Diagrams
Menunjukkan interaksi antara objek-objek
3. Sequence Diagrams
Pemesanan berbasis waktu interaksi
4. Communication Diagrams
Komunikasi di antara satu set berkolaborasi objek dari suatu
kegiatan
anas©2015
Behavior Diagrams
5. Interaction Diagrams
Sekilas aliran kontrol dari sebuah proses
6. Timing Diagrams
Menunjukkan bagaimana sebuah objek berubah dari waktu
ke waktu
7. State Machines
Memeriksa perilaku satu kelas
Model tempat yang berbeda dan dapat mengalami tempat
transisi objek
8. Use-Case Diagrams
Menunjukkan interaksi antara sistem dan lingkungan
Menangkap kebutuhan bisnis
anas©2015 SYSTEM ANALYSIS AND
DESIGN DENGAN UML
1. System Analysis
1. Business Process Identification
(Barclay, 2004)
anas©2015
USER CASE DIAGRAM
Pertemuan-2
Sebuah use case juga dapat meng-extend use case lain dengan
behaviour-nya sendiri. Sementara hubungan generalisasi antar use
case menunjukkan bahwa use case yang satu merupakan spesialisasi
dari yang lain.
Tujuan Praktikum:
1. Praktikan mampu membuat sebuah skenario suatu sistem yang nantinya
dapat diimplementasikan menjadi sebuah perangkat lunak.
2. Praktikan bisa memahami alur dari setiap tahap yang digunakan dalam
perancangan perangkat lunak menggunakan UML.
3. Praktikan dapat memahami hubungan atara actor dengan use case diagram.
4. Praktikan mampu membuat use case diagram dari skenario yang telah ada.
anas©2015
Gb. Actor
anas©2015
Relasi dalam Use Case
Ada beberapa relasi yang terdapat pada use case
diagram:
1. Association, menghubungkan link antar element.
2. Generalization, disebut juga inheritance
(pewarisan), sebuah elemen dapat merupakan
spesialisasi dari elemen lainnya.
3. Dependency, sebuah element bergantung dalam
beberapa cara ke element lainnya
4. Aggregation, bentuk assosiation dimana sebuah
elemen berisi elemen lainnya
anas©2015
Relasi Include
Relasi Generalisasi
Contoh 1
Contoh 2
anas©2015
Sistem ATM
Sistem ATM
Pengguna
Mentransfer Uang
Melihat Saldo
Mengirim Uang
«extend»
Mengambil Uang
Mengganti Kotak
Melakukan Logout Deposit
anas©2015
Tugas 1
Planning
(System Sebelum melakukan Tahapan
Proposal) Analysis terlebih dahulu
lakukan tahapan System
Proposal dengan element sebagi
Implement SDLC and Analysis
(System berikut :
ation (New Deliverables
Specification
System) )
1. Project Name
2. Project sponsor
Pembahasan Tugas-1
anas©2015
uc UseCaseModel_ATM
ATM System
Masukan Kartu
ATM Masukan PIN
«include»
Melihat Saldo
«include»
«include»
Melakukan
LOGOUT
Mengambil Uang
Menganti Kotak
Deposit
anas©2015
ACTIVITY DIAGRAM
Gb. Activity
anas©2015
Diagram Aktivitas
• Menjelaskan tentang urutan aktivitas dalam sistem (Pemodelan perilaku
sistem)
• Diagram aktivitas selalu terasosiasi ke sebuah Class, sebuah Operator dan
sebuah Use Case.
• Diagram ini bisa aktivitas sekuensial (berurut) dan paralel
Paralel dilakukan dengan fork/wait
Urutan aktivitas dalam eksekusi paralel tidak dipentingkan (bisa dilakukan di
waktu yang sama atau tidak)
anas©2015
Toolbox Activity Diagram
en
Control Nodes
1. Initial – Only one, at top left
2. Final Activity – Stop the process
3. Final Flow – Stop this flow only
4. Decision – Guarded test conditions
5. Merge – Following decisions
6. Fork – Split parallel execution
7. Join – Join parallel execution
anas©2015
en
anas©2015
Initial element
digunakan oleh Activity dan State Machine diagram. Dalam diagram Activity
mendefinisikan awal aliran ketika sebuah Kegiatan dipanggil. Dengan State
Machines, elemen awal adalah pseudo-state yang digunakan untuk
menunjukkan keadaan default dari suatu Composite State.
Decision
Decision (keputusan) merupakan elemen dari suatu diagram Activity atau
Interaksi Overview diagram yang menunjukkan jalur perkembangan bersyarat:
jika kondisi benar, maka proses berlanjut salah satu cara; jika tidak, maka lain.
en
anas©2015
Final
Control Flow
Object Flow
en
Activity Diagram
anas©2015
Activity Diagram
en
anas©2015 Activity Diagram Studi Kasus
ATM system
Contoh Studi Kasus ATM System
en
anas©2015
tidak
Menyiapkan Kartu memasukan PIN
tidak sampai 3 x?
Memvalidasi Account
Masukan Kartu Memvalidasi Kartu
pin valid?
Kartu Valid tidak
? Mengeluarkan Kartu
ya ya
ya
Menampilkan Menu_Utama Membelokir Kartu
Menampilkan Menu_Pin
Selesai
selesai
act Mengecek_Saldo
act mentranfser_uang
Pengguna ATM System
Menampilkan Saldo di
Menu Saldo Memasukkan Account tidak
Tujuan
tidak
account tujuan valid?
ya
Menghitung Kecukupan
Gb. Menegecek Saldo Saldo Pengiriman
saldo cukup?
ya
Mentranfer Uang
Selesai
act mengambil_uang
mulai
act Melakukan_Logout
en
Pengguna ATM System
tidak Mulai
Memilih Menu mengambil
uang di Menu Utama
Memasukan Jumlah Uang Mengecek ketercukupan Memilih Keluar dari Memproses Logout
saldo Menu_Utama
ya
Selesai
Selesai
Tugas 2
1. Perbaiki Judul
2. Perbaiki Use Case
3. Buat Activity Diagram sesuai dengan Use Case yang dibuat
4. Kirim Ke Email paling lambat Rabu /18-03-15/Jam 12:00
5. Diprint kumpulkan saat pertemuan kamis /19-03-15
anas©2015
SEQUENCE DIAGRAM
Pertemuan-4 & 5
Jenis-Jenis Kelas
1. Boundary Class:
o Class yang berinteraksi dengan aktor langsung (user interface)
o Form, input, UI ini masuk di sini
2. Control Class:
o Class yang berhubungan dengan pemrosesan, penghitungan, kalkulasi,
komputasi, query, dst
3. Entity Class:
o Class yang berhubungan dengan data, penyimpanan data/file
anas©2015
An Actor :
Aktor adalah pengguna sistem; pengguna dapat berarti pengguna
manusia, mesin, atau bahkan sistem lain atau subsistem dalam model.
Apa pun yang berinteraksi dengan sistem dari luar atau sistem batas
disebut sebagai Aktor. Aktor yang biasanya terkait dengan penggunaan
Kasus.
Lifeline :
Lifeline adalah peserta individu dalam interaksi (yaitu, Lifelines tidak
dapat memiliki keragaman). Sebuah Lifeline merupakan elemen
dihubungkan berbeda.
Jalur hidup yang tersedia di Sequence diagram. Ada elemen Lifeline
berbeda untuk Timing diagram ,Namun, meskipun representasi
berbeda antara dua jenis diagram.
anas©2015
Boundary :
Obyek stereotip bahwa model beberapa sistem batas, biasanya layar
user interface. juga dapat membuat Boundary sebagai Kelas stereotip.
Elemen batas yang digunakan dalam analisis untuk menangkap
pengguna interaksi, arus layar dan interaksi elemen (atau 'kolaborasi').
Ini adalah View dalam pola Model-View-Controller.
Control :
Control adalah Obyek stereotip bahwa model entitas pengendali atau
manajer. Sebuah Kontrol mengatur dan jadwal kegiatan lain dan
elemen, urutan dan diagram Komunikasi. Ini adalah pengendali pola
Model-View-Controller.
anas©2015
Entity :
Entity adalah Obyek stereotip bahwa model penyimpanan atau yang
menangkap informasi atau pengetahuan dalam suatu sistem. Ini
adalah Model dalam pola Model-View-Controller.
Fragment
Contoh Kasus
Diagram urutan pemodelan proses
pembelian disederhanakan. Sebuah
loop fragmen dibuat untuk beralih
melalui jumlah yang tidak diketahui
item untuk pembelian, setelah itu
kasir meminta pembayaran. Pada
titik ini, dua opsi pembayaran
dianggap dan fragmen alternatif
dibuat, dibagi untuk menunjukkan
dua operan: uang tunai dan kartu
kredit. Setelah fragmen selesai, kasir
memberikan tanda terima kepada
pelanggan, di bawah kondisi
terpenuhi bahwa persyaratan
pembayaran dipenuhi.
anas©2015
Message (pesan) :
Pesan menunjukkan arus informasi atau transisi kendali antar elemen. Pesan
dapat digunakan oleh Timing Diagram, Diagram urutan dan Komunikasi
Diagram (tapi tidak Interaksi Overview diagram) untuk mencerminkan
perilaku sistem. Jika antara Kelas atau contoh classifier, daftar terkait operasi
tersedia untuk menentukan acara.
Self-Message
cerminkan proses baru atau metode dipanggil dalam operasi panggilan jalur,
Panggilan diri Pesan menunjukkan nested invocation; tingkat aktivasi baru
ditambahkan dengan masing-masing panggilan.
anas©2015
Interaction
Abstraction
Abstraction adalah hubungan antara dua elemen yang mewakili konsep yang
sama, baik pada tingkat yang berbeda dari abstraksi atau dari sudut pandang
yang berbeda. Diagram ini di atas menunjukkan bahwa dua Kelas pelanggan
yang berbeda dari model yang berbeda (model Domain dan model Code)
merupakan konsep yang sama. Hubungan Abstraksi adalah subtipe dari
hubungan ketergantungan.
Endpoint
digunakan dalam diagram Interaksi (Sequence,
Timing, Komunikasi atau Ikhtisar Interaksi) untuk
mencerminkan pesan hilang atau ditemukan secara
berurutan.
anas©2015
anas©2015
anas©2015
en
anas©2015
sd Memasukan Kartu
Pengguna
KotakKartu ProsesValidasiKartu MenuPIN
MasukanKartu()
ValidasiKartu()
[tidak] MengeluarkanKartu()
anas©2015
sd Memasukan_Pin
:Pengguna
MenuPIN ProsesValidasiAccount Account Login MenuUtama
MasukKanPIN()
validasi(id, pin)
getIDLogin()
getPIN()
[tidak]
alt lebih dari 3x ?
[tidak] tampilkan()
[ya]
blokirAccount()
errorKartuDiblokir()
anas©2015
sd mengecek_saldo
:Pengguna
MenuUtama ProsesMengecekSaldo Account Balance Transaksi MenuMenecekSaldo
MengecekSaldo()
LihatSaldo(id)
getIDBalance()
getSaldo()
setTransaksi(tgl,jenis)
tampilkanHasil(saldo)
anas©2015
sd Mentransfer_Uang
:Pengguna
MenuUtama MenuMentransferUang ProsesMentransferUang Account pengiriman: Penerimaan: Transaksi
Balance Balance
MemilihMentransferUang()
Tampilkan()
MemasukkanJumlahUang()
MemasukanAccountTujuan()
TranfserUang(id, jumlah)
getIDBalance()
getSaldo()
[ya] setSaldo(saldo)
tampilkanUangBerhasilDikirim()
setTransaksi(tgl, jenis)
[Tidak]
tampilkanErrorSaldoTidakCUkup()
anas©2015
Bersambung……………..
Tugas 3
1. Buat Design Form
2. Buat Sequence Diagram sesuai tugas Use Case dan Activity yang dibuat
3. Kirim Ke Email paling lambat Rabu /8-04-15/Jam 12:00
4. Diprint kumpulkan saat pertemuan kamis /9-04-15
anas©2015
CLASS DIAGRAM
Pertemuan-6 & 7
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi
objek. Class menggambarkan keadaan (atribut/properti) suatu sistem,
sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut
(metoda/fungsi).
Tujuan :
Mahasiswa membuat class diagram dalam suatu system
Mahasiswa mampu mendefinisikan paket dalam UML
Mahasiswa dapat mengambarkan relasi antar class dan typenya
Class diagram menggambarkan struktur dan deskripsi class, package dan objek
beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan
lain-lain.
en
anas©2015
Class diagram elements dan connectors
Package
Uraian :
Namespace serta elemen yang dapat terkandung dalam
namespace lain dalam Paket . Sebuah Paket dapat memiliki atau
bergabung dengan Paket lain, dan unsur-unsurnya dapat diimpor
ke namespace. Selain menggunakan Paket di Browser Project
untuk mengatur isi proyek dan dapat menarik Paket ke ruang
kerja diagram (most diagram types, both standard and extended)
penggambaran untuk struktural atau relasional, termasuk impor
Paket atau gabungan.
Class
Representasi dari jenis objek yang mencerminkan struktur dan
perilaku objek seperti dalam sistem. Meskipun Class dapat
didefinisikan baik untuk mengontrol pelaksanaannya sendiri atau
sebagai template atau class parameter yang menentukan
parameter yang harus ditentukan oleh any binding class
anas©2015
Class dapat memiliki atribut (data) dan metode (operasi atau perilaku).
class dapat mewarisi karakteristik dari parent class dan mendelegasikan
perilaku class lain. Model class biasanya menggambarkan struktur logis
dari sistem dan merupakan blok bangunan dari mana komponen
dibangun.
Interface
Interface adalah spesifikasi perilaku (atau kontrak) yang
pelaksana setuju untuk bertemu. Dengan menerapkan
Interface, Kelas dijamin untuk mendukung perilaku yang
diperlukan, yang memungkinkan sistem untuk treat
unsur-unsur non-terkait dengan cara yang sama; yaitu,
melalui interface umum.
anas©2015
Data Type
Tipe data adalah jenis tertentu classifier, mirip dengan Kelas kecuali
bahwa tipe data dapat sub Tipe Data tidak sendiri, dan contoh dari tipe
data diidentifikasi hanya dengan nilai. Sebagai contoh, sebuah instance
dari kelas Orang adalah object, tetapi sebuah instance dari Integer Data 12
Type.
anas©2015
Table
Composition
Aggregation
Sebuah bentuk yang lebih kuat agregasi, yang dikenal sebagai Komposit
Agregasi, digunakan untuk menunjukkan kepemilikan atas seluruh bagian-
bagiannya. Bagian dapat dikelompokkan pada satu Composite Agregasi pada
suatu waktu. Jika komposit dihapus, semua bagian-bagiannya akan dihapus
dengan itu.
anas©2015
Contoh Latihan
anas©2015
anas©2015
Contoh Studi Kasus ATM System
class Class Diagram
ProsesValidasiAccount Login
KotakUang KotakKuitansi mengakses
MenuLogin melakukan
+ KotakUang()
+ finalize() :void
mengakses
memiliki memiliki
memiliki
MenuMelihatSaldo ProsesMelihatSaldo Account
+ SistemATM() MenuMengambilUang
+ finalize() :void mengakses
melakukan ProsesMengambilUang
+ main() :void
mewarisi
memiliki mewarisi
memiliki
MenuLogout
KotakDeposit
KotakKartu
ProsesMengirimUang
Tugas 4
1. Buat Class Diagram sesuai tugas Judul Proejct Masing2
anas©2015
DEPLOYMENT DIAGRAM
Pertemuan-9 & 10
Diagram deployment menggambarkan pandangan statis konfigurasi run-
time dari node pengolahan dan komponen yang berjalan pada simpul tersebut.
Menunjukkan hardware untuk sistem, perangkat lunak yang diinstal pada
perangkat keras , dan middleware (software yang bertindak sebagai jembatan
antara sistem operasi atau database dan aplikasi, terutama pada jaringan),
digunakan untuk menghubungkan mesin yang berbeda satu sama lain.
en
Node adalah bagian fisik dari peralatan pada sistem
digunakan, seperti server workgroup atau workstation.
Node biasanya host komponen dan potongan executable
lain dari kode, yang dapat dihubungkan dengan proses
tertentu atau ruang eksekusi. Nodes workstation klien,
server aplikasi, mainframe, router dan server terminal.
en
en
anas©2015
«device»
ATM SYSTEM(client)
«device»
KOTAK Layar
KARTU «interface»
::Database Serv er
«TCP/IP»
Tugas 5
1. Buat Deployment Diagram sesuai tugas Judul Project Masing2
anas©2015
Data Modeling
Ketika merancang atau mendokumentasikan database :
• Membuat diagram Data Model untuk memvisualisasikan skema database
• Membuat tabel dan tampilan
• Membuat kolom, primary keys, foreign keys
• Membuat prosedur yang tersimpan
• Membuat indeks, urutan, fungsi dan pemicu
• Menghasilkan DDL untuk tabel atau seluruh paket
• Mengkonversi tipe data untuk meja, paket atau seluruh DBMS
• Mengimpor skema database dari sumber data ODBC.
Jenis-jenis Database
DB2
InterBase
Informix
Ingres
Microsoft Access 2007
MySQL
Oracle 9i, 10g and 11g
PostgreSQL
Microsoft SQL Server 7, 2000,
2005 and 2008
Sybase Adaptive Server
Anywhere, Enterprise
Firebird.
anas©2015
1. Buka Operational
2. Buat Primary Key
3. Buat Foreign Key
anas©2015
Contoh studi case Order Buku
Database -> Oracle
dm Gudang Buku
Gudang
«column»
*PK idGudang :VARCHAR2(10)
Lokasi :VARCHAR2(30)
Kapasitas :NUMBER(8,2)
ATM::Buku
«PK»
+ PK_Gudang(VARCHAR2) «column»
*PK ISBN :VARCHAR2(15)
FK idStok :VARCHAR2(10)
(idGudang=idGudang) idPengarang :VARCHAR2(30)
idPenerbit :VARCHAR2(20)
harga :NUMBER(8,2)
stok :NUMBER(8)
Stock
idStok=idStok «PK»
+ PK_Buku(VARCHAR2)
«column»
*PK idStock :VARCHAR2(10) «FK»
FK idGudang :VARCHAR2(10) + FK_Buku_Stok(VARCHAR2)
stockSekarang :NUMBER(8)
Order :NUMBER(8)
«PK»
+ PK_Stock(VARCHAR2)
«FK»
+ FK_Gudang_Stok(VARCHAR2)
anas©2015
Contoh studi case Sales
anas©2015
Package
Jika sistem hanya memiliki sedikit class, kita dapat mengaturnya dengan
mudah. Sebagian besar sistem dibuat dari banyak class sehingga kita
memerlukan suatu mekanisme untuk mengelompokkannya bersama untuk
memudahkan dalam hal penggunaan, perawatan, dan penggunaan
kembali . Package adalah kumpulan dari dari package atau class yang
berelasi. Dengan mengelompokkan class dalam package, kita bisa melihat
level yang lebih tinggi dari model kita atau kita bisa menggali model
dengan lebih dalam dengan melihat apa yang ada di dalam package.
Package Relationship
Relasi yang digunakan dalam package relationship adalah dependency
relationship . Jika sebuah package A tergantung pada package B, hal ini berakibat
satu atau lebih class-class di package A memulai berkomunikasi dengan satu atau
lebih public class di package B. Package A disebut client package dan package B
disebut supplier package.
anas©2015
anas©2015
User Interface / Form
Contoh Interface
anas©2015
anas©2015
Melihat Saldo
Mengirim Uang Saldo anda adalah ...
PIN Mengambil Uang
Logout
«navigate» «navigate»
Pilihan
Ambil Uang
Kirim Uang
anas©2015
TUGAS MANDIRI:
1. Buatlah Sesuai Judul Tugas Masing-masing
2. Use Case Diagram (Business Process Identification)
3. Activity Diagram (Business Process Modeling)
4. Sequence Diagram (Business Process Realization
5. Class Diagram (Gabungkan Boundary-Control-Entity Class dan susun story
6. Package Diagram (Gabungan class yang sesuai, boleh menggunakan pola B-C-E)
7. Deployment Diagram (arsitektur software dari sistem yang dibangun)
8. Entity-Relationship Model/Data Modeling (Buat ER diagram dari Entity Class)
9. User Interface Design (Buat UI design dari Boundary Class)
anas©2015
Is it Possible?
anas©2015
Daftar Pustaka
TERIMA KASIH