Teknik Informatika
Fakultas Teknik
Universitas Muhammadiyah Jakarta
Jadwal Perkuliahan
Pertemuan 1 (Pukul: 08:00-10:30, Tanggal: 20 Februari 2016)
Pokok bahasan: Ilustrasi Object Oriented
Pengenalan analisis dan perancangan pemograman berbasis objek
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Jadwal Perkuliahan- Lanjutan
Pertemuan 8 (Pukul: 14:30-16:45, Tanggal: 16 April 2016)
Pokok bahasan: Diagram state
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Pengembangan Sistem dalam
Object Oriented Software Engineering
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
What Is the UML?
The Unified Modeling Language
(UML) is a language for
Specifying
Visualizing
Constructing
Documenting
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Articfacts
Is a piece of information that is produced,
modified, or used by a process
Artifacts take various shapes or forms:
A model, such as the use-case model or the
design model
A model element—an element within a model—
such as a class, a use case, or a subsystem
A document, such as a business case or
software architecture document
Source code
Executables
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
UML History*
* from http://vinci.org/uml/history.html
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
The Unified Modeling Language,
Version 2.0
Defines a set of fourteen (14) diagram to
model the system
Classified into two groups in general
Structure Diagrams
Behavior Diagrams
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
UML 2.0 Diagram Summary
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Diagram Example
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Activity Diagram Example
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
UML Diagrams Are Key System Artifacts in
Rational Unified Process
Use-Case
Class Diagram State Diagram
Diagram add f ile
Openning
Use Case 1
close f ile
Actor A Actor B
close f ile
Closing
Reading
Use Case 2
<<entity>>
Customer
name
Domain Use Case 3
addr
receive()
withdraw()
fetch() Deployment
Expert UI
send()
MFC
Class Diagram
DocumentApp
RogueW av e
Persistence
Repository DocumentList Window95
Windows95
9: sortBy Name ( ) Windows95
global
¹®¼-°ü¸®
FileManager
Ŭ¶óÀ̾ðÆ®.EXE
¹®¼-°ü¸® ¾ÖÇø´
2: f etchDoc( )
¹®¼-°ü¸® ¿£Áø. EXE
Windows
NT
user : »ç¿ëÀÚ
GraphicFile
6: f illDocument ( )
Diagram File FileList
IBM
Mainf rame
µ¥ÀÌŸº£À̽º¼-¹ö
5: readDoc ( )
document : Document
2: fetchDoc( )
3: create ( )
4: create ( )
5: readDoc ( )
7: readFile ( )
8: fillFile ( )
Sequence Diagram
Executable System
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
RMUC
Manajemen requirement menggunakan use case (RMUC)
Membuat produk berkualitas tepat waktu dengan cost
optimal dan sesuai dengan kebutuhan user
Sumber :
Requirement Management With
Use Cases (RMUC)
Use Case Modelling
Eko K. Budiardjo & Petrus Mursanto
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Pemodelan Use Case
Gambaran sistem yang menekankan pada tingkah laku
sistem dilihat dari sisi user
Model use case membagi fungsionalitas sistem menjadi
beberapa fungsi (use case) yang memiliki arti bagi user
(actor)
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Elemen dalam Pemodelan Use
Case
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Elemen dalam Pemodelan Use
Case
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case
Rangkaian interaksi antara user dan
sistem ketika user menyelesaikan suatu
problem
Behaviour use case
Use case mendeskrisikan proses
Proses dideskripsikan dari awal hingga selesai
Rangkaian kejadian (event), aksi, dan transaksi yang
harus dilalui dalam rangka menghasilkan sesuatu yang
berguna bagi actor atau organisasi
Contoh :
Mengambil uang dari ATM
Mendaftar kuliah
Memasukkan data mahasiswa
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Actor
Entitas eksternal sistem yang ikut andil
dalam ekseskusi use case
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Actor
Terdapat 1 initial actor, yang membangkitkan stimulus
awal, dan beberapa actor tambahan yang turut serta
dalam menjalankan sebuah use case
Jenis-jenis actor :
Peran yang dimiliki user
Sistem komputer
Device electrik atau mekanik (contoh : sensor)
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Identifikasi Use Case
Actor-based
Identifikasi actor yang berkaitan dengan sistem /
organisasi
Untuk setiap actor, identifikasi proses yang mereka inisiasi
atau ikut berpartisipasi
Event-based
Identifikasi event eksternal yang harus ditanggapi (respon)
sistem
Relasikan use case dengan actor yang berpartisipasi di
dalamnya
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Contoh Kasus
Misalkan kita diminta untuk membuat Sistem Penilaian
Mahasiswa
Actor : Dosen, Admin
Admin Dosen
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Sistem Penilaian Mahasiswa
Beberapa hal yang bisa dilakukan oleh Dosen
Mengisi absen mahasiswa
Memasukkan daftar mahasiswa
Menentukan komponen penilaian
Memberi nilai mahasiswa
Beberapa hal yang bisa dilakukan oleh Admin
Mendaftarkan dosen
Mendaftarkan admin
Melihat log
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Diagram
Use case diagram
menggambarkan kumpulan
use case dalam sistem, actor
yang terlibat, dan relasi
antara actor dan use case
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
SPM Boundary
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Menentukan Actor
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Spec ATM
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Spec ATM
Sistem meminta tipe akun dimana uang akan ditarik.
Client memilih tipe akun (checking, saving, credit)
Sistem berkomunikasi dengan jaringan ATM untuk
memvalidasi ID, PIN, dan kesediaan uang yang diminta
Sistem bertanya apakah bukti transaksi diperlukan?
Langkah ini dilakukan jika dan hanya jika kertas print
tersedia.
Sistem meminta client untuk mengambil kartu yang
dikeluarkan mesin ATM. Client mengambil kartu ATM
Sistem mengeluarkan uang sejumlah yang diminta
Sistem mencetak bukti transaksi jika client meminta, dan
use case berakhir
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Alternate Flow
Ketika sistem memvalidasi kartu dan kartu tidak dikenali,
maka sistem akan :
Mengeluarkan kartu
Menelan kartu
Ketika sistem memvalidasi pin dan pin yang dimasukkan
salah, maka sistem akan :
Meminta client memasukkan lagi
Jika kesalahan dilakukan >= 3x, sistem akan menelan kartu
Ketika sistem menanyakan jumlah uang yang ingin ditarik
dan user memasukkan nominal yang tidak standar (bukan
kelipatan tertentu), sistem akan :
Meminta client memasukkan nominal lagi sesuai standar yang
ditetapkan pengelola ATM
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Alternate Flow
Ketika sistem bertanya apakah bukti transaksi diperlukan
dan client menjawab tidak, maka use case berakhir ketika
client mengambil uang yang diminta
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Specification
Contoh
Use Case : Memasukkan Daftar Mahasiswa
Actor : Dosen (inisiator)
Description : Dosen melist mahasiswa yang ikut kuliah, cek
mahasiswa yang belum ada datanya, dan memasukkannya
ke sistem. Setelah selesai dosen menutup halaman daftar
mahasiswa
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Flow of events
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Specification
Main flow (happy path)
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Specification
Alternate flow 1 : jika mahasiswa yang ingin diinput sudah terdaftar dalam
sistem
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Common Mistake
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Relationship
Hubungan antar use case bisa dibagi menjadi 3
Include / uses
Extends
Generalization
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case “include”
Semua use case harus dieksekusi
Mendeskripsikan kondisi “dan” (wajib dilakukan)
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case “extend”
Use case tidak harus dieksekusi
Mendeskripsikan kondisi opsional
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Relationship : generalization
Sebuah use case bisa dieksekusi dengan
berbagai cara
Mendeskripsikan kondisi “atau”
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Use Case Relationship
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Actor Relationship
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Relationships
Perhatikan bahwa “actor”
generalization berbeda dengan “use
case” generalization
Actor generalization merepresentasikan
bahwa actor yang lebih spesifik bisa
melakukan semua action yang actor
general bisa lakukan
Use case generalization
merepresentasikan bahwa use case
general bisa dilakukan dengan berbagai
cara (kondisi “atau”)
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Memodelkan Use Case
Modelkan requirement user dengan use
case
Modelkan skenario pengujian dengan use
case
Jika menggunakan use-case driven
method
Mulailah dengan use case dan dapatkan model
struktural dan behavioral dari use case tersebut
Jika tidak menggunakan use-case driven
method
Pastikan use case konsisten dengan model
struktural dan behavioral Anda
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Tips pemodelan use case
Pastikan setiap use case mendeskripsikan potongan
signifikan dari sistem yang bisa dipahami oleh domain
expert dan programmer
Ketika mendefinisikan use case, gunakan kata benda dan
kata kerja secara akurat dan konsisten, agar mempermudah
pembuatan objek dan pengiriman pesan antar objek dalam
interaction diagram
Carilah fungsi-fungsi yang dibutuhkan oleh > 1 use case
Jika fungsi tersebut harus dieksekusi, gunakan <<include>>
Jika fungsi tersebut opsional, gunakan <<extend>>
Use case diagram sebaiknya :
Hanya memuat use case yang berada pada level abstraksi yang
sama
Hanya berisi actor-actor yang langsung berinteraksi dengan sistem
Jika use case sangat banyak, ada baiknya dikelompokkan ke
dalam package-package
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Contoh : Sistem SDM Online
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Sistem SDM Online : Use Case
Relationship
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Sistem SDM Online : Update
Manfaat
Actor(s) : karyawan, db akun karyawan, sistem perencanaan
kesehatan, sistem perencanaan asuransi
Precondition : karyawan sudah login ke sistem dan memilih
update manfaat
Basic course :
Sistem mendapatkan akun karyawan dari db akun karyawan
Sistem meminta karyawan memilih tipe rencana medis; include update
rencana medis
Sistem meminta karyawan memilih tipe rencana kesehatan gigi (dental);
include update rencana kesehatan gigi
…
Alternative course
Jika rencana kesehatan yang diminta tidak tersedia pada lingkup karyawan
biasa, karyawan tersebut akan diinformasikan dan diminta untuk memilih
rencana lain
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Referensi Kuliah:
Slide kuliah analisis dan perancangan pemrograman
berorientasi objek.Universitas Muhammadiyah Jakarta.
Priadhana Edi Kresnha
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Terima Kasih
Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta