Anda di halaman 1dari 50

Analisis dan Perancangan

Pemrograman Berbasis Objek


INF063 | Minggu ke-4 & 5
Dosen:
Bambang Warsuta, S.Kom, M.T.I
bambangwarsuta@gmail.com
about.me/bambangwarsuta

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

Pertemuan 2 (Pukul: 14:30-16:45, Tanggal: 27 Februari 2016)


Pokok bahasan: Metode Berorientasi Objek
Sistem Kompleks dan Object Oriented Software Engineering

Pertemuan 3 (Pukul: 10:30-13:00, Tanggal: 5 Maret 2016)


Pokok bahasan : Konsep OOT
Requirement Model and Type of Requirement

Pertemuan 4 (Pukul: 10:30-13:00, Tanggal: 12 Maret 2016)


Pokok bahasan: UML
Pengenalan Unified Modelling Language (UML)

Pertemuan 5 (Pukul: 14:30-16:45, Tanggal: 19 Maret 2016)


Pokok bahasan: Use Case

Pertemuan 6 (Pukul: 14:30-16:45, Tanggal:2 April 2016)


Pokok bahasan: Diagram Interaksi dan Diagram aktivitas

Pertemuan 7 (Pukul: 14:30-16:45, Tanggal: 9 April 2016)


Ujian tengah semester

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

Pertemuan 9 (Pukul: 10:30-13:00, Tanggal: 30 April 2016)


Pokok bahasan: Class diagram

Pertemuan 10 (Pukul: 14:30-16:45, Tanggal: 14 Mei 2016)


Pokok bahasan: Relasi

Pertemuan 11 (Pukul: 14:30-16:45, Tanggal: 21 Mei 2016)


Pokok bahasan: Mapping UML to code

Pertemuan 12 (Pukul: 14:30-16:45, Tanggal: 28 Mei 2016)


Pokok bahasan: Design Pattern

Pertemuan 13 (Pukul: 14:30-16:45, Tanggal: 11 Juni -2 Juli 2016)


Ujian akhir semester

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

the artifacts of a software-intensive


system

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

add f ile [ numberOf f ile==MAX ] / Writing


f lag OFF

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

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨


- À©µµ¿ ì 95 : Ŭ¶óÀ̾ðÆ®
- À©µµ¿ ì NT: ÀÀ¿ë¼-¹ö
- À¯´Ð½º ¸Ó½Å: ÀÀ¿ ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö
- IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö

RogueW av e

Persistence
Repository DocumentList Window95
Windows95
9: sortBy Name ( ) Windows95

global

¹®¼-°ü¸®

FileManager
Ŭ¶óÀ̾ðÆ®.EXE
¹®¼-°ü¸® ¾ÖÇø´

mainWnd : MainWnd Windows


NT

1: Doc v iew request ( ) L

Package Document Solaris

2: f etchDoc( )
¹®¼-°ü¸® ¿£Áø. EXE

4: create ( ) gFile : GrpFile


Alpha
8: f illFile ( ) UNIX
ÀÀ¿ ë¼-¹ö.EXE

Windows
NT

user : »ç¿ëÀÚ
GraphicFile

User Interface fileMgr : FileMgr


3: create ( )

6: f illDocument ( )
Diagram File FileList
IBM
Mainf rame

µ¥ÀÌŸº£À̽º¼-¹ö

Definition repository : Repository


7: readFile ( )

5: readDoc ( )
document : Document

Forward Engineering(Code Generation)


Collaboration Diagram Component and
Diagram Reverse Engineering
mainWnd fileMgr : document : gFile repository
user FileMgr Document

Source Code edit, compile, debug, link


ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ 1: Doc view request ( )
»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

È-ÀÏ°ü¸®ÀÚ´Â Àоî¿Â 6: fillDocument ( )


¹®¼-ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼-
°´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

7: readFile ( )

8: fillFile ( )

È-¸é °´Ã¼´Â ÀоîµéÀÎ 9: sortByName ( )


°´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î
Á¤·ÄÀ» ½ÃÄÑ È-¸é¿¡
º¸¿©ÁØ´Ù.

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

Priadhana Edi Kresnha 3/5/2013

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

Priadhana Edi Kresnha 3/5/2013 19


Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Menentukan Actor
 Dalam menentukan actor, tanyakan hal-
hal berikut,
 Kelompok user mana yang membutuhkan
sistem untuk mengerjakan tugas-tugasnya?
 Kelompok user mana yang dibutuhkan dalam
mengeksekusi fungsi utama sistem?
 Kelompok user mana yang harus melakukan
fungsi-fungsi pelengkap, seperti pemeliharaan
& administrasi sistem?
 Apakah sistem akan berinteraksi dengan
hardware / software eksternal?

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

 Mengambil uang di ATM


 Use case mulai ketika client memasukkan kartu ke dalam
mesin ATM. Sistem akan membaca dan memvalidasi
informasi pada kartu
 Sistem kemudian meminta PIN. Client memasukkan PIN,
dan sistem memvalidasi PIN
 Sistem bertanya kepada client, apa yang ingin client
lakukan dengan ATM. Client memilih “Mengambil uang”
 Sistem meminta jumlah uang yang ingin ditarik, client
memasukkan nominal uang yang akan ditarik

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

Apa yang terjadi jika Client tidak mengambil


uang yang sudah dikeluarkan ATM??

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

Alternate flow 2 : dosen membatalkan input data mahasiswa

Alternate flow 3 : data input belum lengkap

Teknik Informatika
Fakultas Teknik - Universitas Muhammadiyah Jakarta
Common Mistake

 Kesalahan paling umum yang sering terjadi ketika


membuat use case adalah
 Use case tidak mewakili aksi yang dilakukan oleh actor 
biasanya karena pembuatan use case didasarkan atas menu
dari sistem yang sudah ada
 Contoh :

 Use case ditulis sebagai salah satu langkah dalam proses 


use case adalah deskripsi proses end-to-end yang terdiri
dari beberapa langkah atau transaksi, bukan langkah
individu atau aktivitas dalam proses
 Contoh : “printing the receipt”

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

Anda mungkin juga menyukai