Upload
dedie-yudh
View
3.040
Download
2
Embed Size (px)
Citation preview
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 1/81
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 2/81
Unified Modelling Language
Memvisualisasikan dan mendokumentasikan hasil analisa dan desain.
• Bahasa untuk menangkap dan menggambarkanpengetahuan
• Perangkat untuk menemukan dan membangun sistem.
• Perangkat untuk memodelkan pembangunan sistem secaravisual
• Perangkat yang populer
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 3/81
ARTIFACT UML
Actor A
Use Case 1
Use Case 2
Actor B
user: »ç¿ëÀÚ
mainWnd: MainWnd
fileMgr: FileMgr
repository : Repositorydocument : Document
gFile: GrpFile
9: sortByName()
L1: Docview request ()
2: fetchDoc()
5: readDoc()
7: readFile()
3: create()
6: fillDocument ()
4: create()
8: fillFile()
UI
MFC
RogueWave
global
DocumentApp
PersistenceWindow95
¹®¼°ü̧® Ŭ¶óÀ̾ðÆ®.EXE
WindowsNT
¹®¼°ü̧®¿£Áø .EXE
WindowsNT
Windows95
Solaris
ÀÀ¿ë¼¹ö.EXE
AlphaUNIX
IBMMainframe
µ¥ÀÌÅ̧º£À̽º¼¹ö
Windows95
¹®¼°ü̧®¾ÖÇÃ̧´
ºÐ»êȯ°æÀÇÇϵå¿þ¾î¹× ³×Æ®¿÷À ·̧ÎÀÇÁ¤º¸½Ã½ºÅÛ¿¬°á¸ðµ¨- À©µµ¿ì 95: Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼¹ö- À¯́ нº¸Ó½Å: ÀÀ¿ë¼¹ö¹× µ¥ÀÌŸ¼¹ö, Åë½Å¼¹ö- IBM¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ¼¹ö, Åë½Å¼¹ö
Document
FileManager
GraphicFile
File
Repository DocumentList
FileList
user
mainWnd fileMgr:FileMgr
repositorydocument:Document
gFile
1: Doc view request ()
2: fetchDoc( )
3: create()
4: create()
5: readDoc ( )
6: f illDocument ()
7: readFile( )
8: f illFile( )
9: sortByName( )
ƯÁ¤¹®¼¿¡ ́ëÇѺ¸±â¸¦»ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.
ÈÀÏ°ü¸®ÀÚ´Â Àоî¿Â¹®¼ÀÇÁ¤º¸¸¦ ÇØ´ç ¹®¼°´Ã¼¿¡¼³Á¤À»¿äûÇÑ´Ù.
ȸ鰴ü´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ»½ÃÄÑȸ鿡º¸¿©ÁØ´Ù.
Customer nameaddr
withdraw()fetch()send()
receive()
<<entity>>
Forward Engineering(Code Generation)and
Reverse Engineering
Executable System
User InterfaceDefinition
DomainExpert
Openning
Writing
ReadingClosing
addfile[ numberOffile==MAX] /flagOFF
addfile
closefile
closefile
Use Case 3
Source Code edit, compile, debug, link
Use-CaseDiagram
Class Diagram
Collaboration Diagram
Sequence Diagram
ComponentDiagram
State Diagram
PackageDiagram
DeploymentDiagramClass
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 4/81
DIAGRAM-DIAGRAM DI UML
DeploymentDiagram
Use CaseDiagrams Use Case
Diagrams Use CaseDiagrams
ScenarioDiagrams Scenario
Diagrams SequenceDiagrams
StateDiagrams State
Diagrams StateDiagrams
ComponentDiagrams Component
Diagrams ComponentDiagrams
Model
StateDiagrams State
Diagrams ObjectDiagrams
ScenarioDiagrams Scenario
Diagrams CollaborationDiagrams
Use CaseDiagrams Use Case
Diagrams ActivityDiagrams
StateDiagrams State
Diagrams ClassDiagrams
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 5/81
Klasifikasi Diagram UML
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 6/81
Obyek dalam ‘ software analysis & design ’ adalahsesuatu berupa konsep (concept ), benda (thing ), dansesuatu yang membedakannya dengan lingkungannya.
• Secara sederhana obyek adalah mobil,manusia,alarm dan lain lainnya.Tapi obyek dapat pulamerupakan sesuatu yang abstrak yang hidup didalam
sistem seperti tabel, database, event, system messages.
Objek, Atribut, dan Instans
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 7/81
Atribut adalah data karakteristik yangmenarik dari sebuah objek
Sebuah instans (instans objek) sebuah
objek terdiri dari nilai bagi setiap setiap
atribut yg menjelaskan orang, tempat,
benda atau peristiwa tertentu.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 8/81
Contoh Objek,Atribut dan Instans
011: Customer A01 : Book
Cust_no : 011 Id_Book : A01
Name : Rudi Type : TextBook
Phone : 755655 Title : Sistem Operasi
Address : Jl. Nangka 25 CopyRight : 2005
City : Denpasar
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 9/81
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 10/81
USE CASE DIAGRAM
• Menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yangdiperbuat sistem, dan bukan “bagaimana” systemmengerjakannya
• Use case menggambarkan proses system (kebutuhan
system dari sudut pandang user)• Mengfokuskan pada proses komputerisasi (automated
processes)
• Menggambarkan hubungan antara use case dan actor
• Secara umum use case adalah: – Pola perilaku system
– Urutan transaksi yang berhubungan yang dilakukan olehsatu actor
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 11/81
Deskripsi Use case Diagram
• Use case dibuat berdasar keperluan actor, merupakan“apa” yang dikerjakan system, bukan “bagaimana” systemmengerjakannya
• Use case diberi nama yang menyatakan apa hal yangdicapai dari hasil interaksinya dengan actor.
• Use case dinotasikan dengan gambar (horizontal ellipse)
• Use case biasanya menggunakan kata kerja
• Nama use case boleh terdiri dari beberapa kata dan tidak
boleh ada 2 use case yang memiliki nama yang sama
Simbol use case
Use case
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 12/81
ACTOR
• Actor menggambarkan orang, system atau external entitas
/ stakeholder yang menyediakan atau menerima informasidari system• 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• Indikasi <<system>> untuk sebuah actor yang merupakan
sebuah system
• Adanya actor bernama “Time” yang mengindikasikanscheduled events (suatu kejadian yang terjadi secaraperiodik/bulanan)
• Letakkan actor utama anda pada pojok kiri atas daridiagram
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 13/81
Association
• Associations bukan menggambarkan alirandata/informasi
• Associations digunakan untuk menggambarkanbagaimana actor terlibat dalam use case
• Ada 4 jenis relasi yang bisa timbul pada use casediagram
1. Association antara actor dan use case
2. Association antara use case3. Generalization/Inheritance antara use case
4. Generalization/Inheritance antara actors
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 14/81
1.Association antara actor dan use case
• Ujung panah pada association antara actor dan use casemengindikasikan siapa/apa yang meminta interaksi danbukannya mengindikasikan aliran data
• Sebaiknya gunakan Garis tanpa panah untuk associationantara actor dan use case
• association antara actor dan use case yang menggunakanpanah terbuka untuk mengindikasikan bila actorberinteraksi secara pasif dengan system anda
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 15/81
2. Association antara use case
• <<include>> termasuk didalam use case lain(required) / (diharuskan)
– Pemanggilan use case oleh use case lain, contohnyaadalah pemanggilan sebuah fungsi program
– Tanda panah terbuka harus terarah ke sub use case – Gambarkan association include secara horizontal
BukaRekening
<<include>> catatdata
pribadi
Nasabah
Register for courses
<<include>>
Logon validation<<include>>
Maintain curriculum
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 16/81
• <<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
BukaRekening
<<extend>>
BukaDeposito
Nasabah
Association antara use case (Lanjut)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 17/81
3. Generalization/inheritance antara use case
• Generalization/inheritance digambarkan dengan sebuah garis
berpanah tertutup pada salah satu ujungnya yang menunjukkanlebih umum
• Gambarkan generalization/inheritance antara use case secaravertical dengan inheriting use case dibawah base/parent use case
• Generalization/inheritance dipakai ketika ada sebuah keadaan yanglain sendiri/perlakuan khusus (single condition)
BukaRekening
Nasabah BukaDeposito
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 18/81
4. Generalization/inheritance antara actor
• Gambarkan generalization/inheritance antara actors
secara vertical dengan inheriting actor dibawahbase/parent use case
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 19/81
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 penggunaannya optional
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 20/81
Contoh Deskripsi Use Case dengan skenarionya
Kendaraan
(from sistem p...)
input No.kendaraan
(from sistem perpakiran)
Hitung waktu
<<include>>
Petugas(from sistem p...)
Validasi tiket
(from sistem perpakiran)
<<include>>
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 21/81
Use Case ID: 1
Nama Use Case : Input No. Kendaraan
Created By: Eddy Prasetyo Nugroho
Date Created: 27/03/2009
Aktor: Petugas
Deskripsi: Petugas menginputkan nomor-nomor kendaraan yang masuk di area parkir ke dalam Sistem informasi perangkatlunak perpakiran. Sehingga mulai menjalankan Hitung Waktu mulai dari kendaraan masuk hingga validasidilakukan.
Normal Course/ Skenario Normal
1. Petugas melihat/memeriksa nomor kendaraan yang akan masuk ke area parkir 2. Sistem Perangkat Lunak menampilkan antarmuka untuk mendata kendaraan tersebut. 3. Petugas memasukkan nomor kendaraan pada form antarmuka data kendaraan.4. Sistem akan mulai menghitung waktu parkir setelah petugas menekan tombol OK setelah pendataan untuk
kendaraan tersebut.5. Sistem akan mengeluarkan tiket parkir
Includes: Hitung Waktu
Priority: Utama
Kebutuhan khusus: -
Catatan:
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 22/81
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 23/81
CLASS DIAGRAM
• Class adalah sebuah spesifikasi yang jika diinstansiasi akanmenghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek.• Class menggambarkan keadaan (atribut/properti) suatu
sistem, sekaligus menawarkan layanan untuk memanipulasikeadaan tersebut (metoda/fungsi).
• Class diagram menggambarkan struktur dan deskripsi class,package dan objek beserta hubungan satu sama lain seperticontainment , pewarisan, asosiasi, dan lain-lain.
• Class memiliki tiga area pokok :
1.Nama, merupakan nama dari sebuah kelas
2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkanbatas nilai yang
mungkin ada pada obyek dari class
3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atauyang dapat dilakukan oleh
class lain terhadap sebuah class
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 24/81
CLASS DIAGRAM (LANJUTAN)
• Atribut dan metoda dapat memiliki salah satu sifat berikut :
– Private , tidak dapat dipanggil dari luar class yang bersangkutan
– Protected , hanya dapat dipanggil oleh class yang bersangkutandan anak-anak yang mewarisinya
– Public , dapat dipanggil oleh siapa saja
– Package , hanya dapat dipanggil oleh instance sebuah classpada paket yang sama
Nama Class
Atribut
Metode/operasi
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 25/81
Contoh Class Diagram
• Class Buku terdiri dari :
– Atribut : judul, pengarang
– Method : ambilJenis(), ambilHalaman();
• Penggambaran dalam Class Diagram :
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 26/81
HUBUNGAN ANTAR CLASS
1. Asosiasi, yaitu hubungan statis antar class . Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain.Panah navigability menunjukkan arah query antar class .
2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
3. Pewarisan, yaitu hubungan hirarkis antar class . Class dapatditurunkan dari class lain dan mewarisi semua atribut danmetoda class asalnya dan menambahkan fungsionalitasbaru, sehingga ia disebut anak dari class yang diwarisinya.
Kebalikan dari pewarisan adalah generalisasi.4. Hubungan dinamis, yaitu rangkaian pesan (message ) yang
di-passing dari satu class kepada class lain. Hubungandinamis dapat digambarkan dengan menggunakansequence diagram yang akan dijelaskan kemudian.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 27/81
27
Association (asosiasi).
Kita menggunakan asosiasi pada saat beberapa kelas salingterhubung satu sama lain secara konseptual.
Contoh :Misalkan seorang pegawai bekerja pada sebuah perusahaan.Maka “bekerja” merupakan sebuah asosiasi antara kelas pegawaidan kelas perusahaan.
Contoh yang lain :seorang mahasiswa mendaftar sebuah kursus, maka jelas sekalidisini bahwa asosiasi yang muncul adalah “mendaftar”.
Selanjutnya bisa kita simpulkan bahwa sebuah asosiasi bisamerupakan sebuah bentuk kata kerja yang merelasikankelas yang satu dengan kelas yang lainnya.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 28/81
28
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 29/81
29
Asosiasi juga dapat menjadi lebih komplekspada saat beberapa class terhubung ke satu
class , seperti yang terlihat pada contoh dibawahini :
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 30/81
30
Generalization & Inheritance.
Sebuah class (child class atau subclass ) dapat mewarisiatribut-atribut dan operasi operasi dari class lainnya ( parent class atau super class ) dimana parent class bersifat lebihumum daripada child class .Generalisasi pada konsep Object Oriented digunakan untukmenjelaskan hubungan kesamaan diantara class .
Dengan menggunakan generalisasi bisa dibangun struktur
logis yang bisa menampilkan derajat kesamaan atau perbedaandiantara class-class .
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 31/81
31
Contoh : Generalisasi dengan 3 subclass
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 32/81
32
Inheritance adalah sebuah mekanisme pengimplementasiangeneralisasi dan spesialisasi. Aturan inheritance dapat
secara umum bisa diklasifikasikan sebagai berikut :
• Subclass selalu mewarisi semua sifat dari superclass -nya.• Definisi subclass selalu mencakup paling tidak satu detil
yang tidak diturunkan dari superclass -nya.
Inheritance sangat dekat dengan asosiasinya dengangeneralisasi. Generalisasi menjelaskan hubungan logis antarelemen-elemen yang mempunyai karakteristik yang sama.Sedangkan inheritance menerangkan mekanisme agar bagi
pakai (sharing ) bisa terjadi.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 33/81
33
Pada penggunaan relasi kadangkala satu class menggunakanclass yang lain, hal ini disebut dependency .Umumnya penggunaan dependency digunakan untukmenunjukkan operasi pada suatu class yang menggunakan
class yang lain.
Dependant Class
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 34/81
34
Agregasi
Didalam UML, ada relasi dengan perlakukan khusus yangdisebut dengan “bagian dari ( part of )” yang menangani antarobyek-obyek dimana salah satunya adalah bagian dari yanglain.Dengan kata lain sebuah obyek terdiri atas obyek-obyek
yang lain. Hal seperti ini di dalam UML disebut Agregasi.Sebuah agregasi adalah kasus khusus dari asosiasi.
Agregasi disimbolkan dengan jajaran genjang yang diletakkan
pada class yang mengandung obyek.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 35/81
35
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 36/81
36
Komposit (composite )
Komposit (composite ) adalah sebuah tipe agregasi yang kuat dimana bagian dari obyektergantungpenuh/secara keseluruhan terhadap obyeknya
sehingga bila sebuah obyek komposit dibuang makabagian yang tergantung pada komponen tersebutakan terbuang juga pada saat yang bersamaan. Notasi komposit sama seperti
agregasi hanya saja jajaran genjangnya terisi(solid)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 37/81
37
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 38/81
38
Komposit (composite )
Komposit (composite ) adalah sebuah tipe agregasi yang kuat dimana bagian dari obyektergantungpenuh/secara keseluruhan terhadap obyeknya
sehingga bila sebuah obyek komposit dibuang makabagian yang tergantung pada komponen tersebutakan terbuang juga pada saat yang bersamaan. Notasi komposit sama seperti
agregasi hanya saja jajaran genjangnya terisi(solid)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 39/81
CONTOH CLASS DIAGRAM
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 40/81
Relationship dan Multiplicity
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 41/81
Multiplisitas mendefinisikan berapa banyak instans(instance) sebuah objek/class dapat dihubungkan dengansebuah instans dari objek/class yg lain.
Multiplisitas (multiplicity)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 42/81
Contoh Diagram Kelas SistemPerpustakaan :
Class Diagram diperoleh berdasarkan dari database
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 43/81
Class Diagram diperoleh berdasarkan dari database
Contoh Kasus (Acknowledgments Evi Lutfi Muktar)
Absensi Keluar
nip : textnama : textmasuk : date/time
pulangt : date/timetanggal : date/timehari : int
- Cari
- Absen- Masuk - Keluar- Pulang
Pegawai
nip : textnama : text
jns_klm : texttempat : text
tgl_lahir : textagama : textstatus : text
alamat : text
Gaji
nip : textpks : currencyinsentif : currency
tanspot : currencyfungsional : currencygapok : currency
to_gaji : currencynama_p : textpot_sim_kop : currency
pot_sim_sk : currencyangs_pjm_kop : currencyasuransi : currencygj_terima : currency
- Tambah- Edit- Hapus- Cancel
- Simpan- Keluar
Pendidikan
nip : text
nama : textpendk : textuniv : text
jurusan : text
thn_lulus : text
- Tambah
- Edit- Hapus- Cancel- Simpan
- Cari- Keluar
Keluarga
nip : textnama_peg : textnama_istri_suami : textstatus : text
kelamin : texttempat : text
tgl_lahir : textagama : textnama_anak1 : text
jns_klmn : text
tmpt : texttgl_lhr : textnam_anak2 : text
jns_klm : text
tmpat : texttgl_lhir : text
- Tambah- Edit- Hapus
- Cancel- Simpan- Cari
- Keluar
- Cetak - Cari
- Keluar
1..1 1..1 1..~ 1..1
1..1
1..~1..~
Absensi Masuk
nip : textnama : textmasuk : date/time
pulangt : date/timetanggal : date/timehari : int
- Cari
- Absen- Masuk - Keluar- Pulang
1..~ 1..1
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 44/81
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 45/81
StatechartDiagram.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 46/81
• Statechart diagram , atau yang biasa juga disebut state
diagram digunakan untuk mendokumentasikan beragamkondisi/keadaan yang bisa terjadi terhadap sebuah class dan
kegiatan apa saja yang dapat merubah kondisi/keadaantersebut. Contohnya sebuah televisi yang dapat beradadalam kondisi menyala atau mati, jika tombol “power” ditekan
maka televisi akan menyala, begitu juga sebaliknya akanmati jika tombol “power” ditekan kembali. Maka disini kita
mempunyai sebuah kelas yaitu televisi, 2 state yaitu menyala dan mati dan 2 transition yaitu menyalakan TV danmematikan TV . Tidak seperti diagram-diagram behavioural lainnya yang memodelkan interaksi diantara beberapa class ,state diagram justru biasanya hanya memodelkan transisiyang terjadi hanya pada sebuah class . Berikut adalah notasistate diagram :
N i S b k k di i
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 47/81
State Notasi State menggambarkan kondisisebuahentitas, dan digambarkan dengansegiempat yang pinggirnya tumpuldengan nama state didalamnya State1
TransitionSebuah Transition menggambarkan sebuah
perubahan kondisi objek yang disebabkan olehsebuah event. Transition digambarkan dengansebuah anak panah dengan nama event yangditulis diatasnya, dibawahnya atau sepanjang
anak panah tersebut
.
Transition
Initial Statesebuah kondisi awal sebuah
object sebelum ada perubahan keadaan. Initial
State digambarkan dengan sebuah lingkaran
solid. Hanya satu Initial State yang diizinkan
dalam sebuah diagram
Final Statemenggambarkan ketika objek berhenti
memberi respon terhadap sebuah event. Final
State digambarkan dengan lingkaran solid
didalam sebuah lingkaran kosong.
State1
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 48/81
Simbol (lanjutan)
UML juga memberi pilihan untuk menambahkan detil kedalam simbol tersebut dengan membagi tiga area yaitunama state, variabel dan aktivitas.
State variabel seperti timer dan counter yang kadangkalasangat membantu.
NState Name
Variabel Name
Activity
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 49/81
Activity terdiri atas events dan action, tiga hal yang seringdigunakan dalam activity adalah:
1.Entry
Apa yang terjadi ketika sistem masuk ke state
2.Exit
Apa yang terjadi ketika sistem meninggalkan state
3.Do
Apa yang terjadi ketika sistem ada di state
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 50/81
• Statechart diagram menggambarkan transisi dan perubahankeadaan (dari satu state ke state lainnya)
• suatu objek pada sistem sebagai akibat dari stimuli yangditerima. Pada umumnya statechart
• diagram menggambarkan class tertentu (satu class dapatmemiliki lebih dari satu statechart
• diagram ).
• Dalam UML, state digambarkan berbentuk segiempat dengansudut membulat dan memiliki nama
• sesuai kondisinya saat itu. Transisi antar state umumnyamemiliki kondisi guard yang merupakan
• syarat terjadinya transisi yang bersangkutan, dituliskan dalam
kurung siku. Action yang dilakukan• sebagai akibat dari event tertentu dituliskan dengan diawali garismiring.
• Titik awal dan akhir digambarkan berbentuk lingkaran berwarnapenuh dan berwarna setengah.
• Contoh statechart diagram :
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 51/81
S h di /S M hi Di
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 52/81
Statechart diagram/State Machine Diagram
• Statechart diagram menggambarkan transisi dan
perubahan keadaan (dari satu state ke state lainnya)suatu objek pada sistem sebagai akibat dari stimuli yangditerima.
• Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu
statechart diagram ).• Dalam UML, state digambarkan berbentuk segi empat
dengan sudut membulat dan memiliki nama sesuaikondisinya saat itu. Transisi antar state umumnya memilikikondisi guard yang merupakan syarat terjadinya transisi
yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentudituliskan dengan diawali garis miring.
• Titik awal dan akhir digambarkan berbentuk lingkaranberwarna penuh dan berwarna setengah.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 53/81
State Machine Diagram
State Machine Diagram adalah teknik yang umum
digunakan untuk menggambarkan behaviour sebuahsistem. Hal ini digunakan untuk membantu analis,perancang dan pengembang untuk memahami perilakuobyek pada sistem.
Tidak cukup hanya mengimplementasikan sebuah obyek,pengembang juga harus membuat obyek tersebutmelakukan sesuatu. State diagram memastikan bahwa
obyek-obyek tersebut akan menebak apa yang seharusnyadilakukan. Dengan gambaran yang jelas tentang perilakuobyek, kemungkinan tim pengembang akan memproduksisebuah sistem yang sesuai dengan requirement .
C h S Di
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 54/81
Contoh State Diagram
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 55/81
State, Event dan Transition
Statechart diagram menampilkan state-state yang mungkin darisebuah obyek, event yang bisa dideteksi dan respon atas event-event tersebut. Secara umum, pendeteksian sebuah event dapatmenyebabkan sebuah obyek bergerak dari satu state ke stateyang lain yang disebut dengan transition. Sebagai contoh jika
sebuah CD Player dalam keadaan terbuka, penekanan tombolload akan menyebabkan drawer CD Player berpindah ke stateclose, sebagaimana digambarkan sebagai berikut:
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 56/81
State, Event dan Transition
Closed
Playing Open
Play
Load
Stop
Stop
StopPlay Load
Stop
Load
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 57/81
Initial dan Final State Gambar pada slide sebelumnya menjelaskan bagaimana ketikaCD Player sedang dipakai, tetapi tidak menjelaskan apa yangterjadi ketika mesin di matikan atau dihidupkan.
Untuk menunjukkan perilaku ini kita bisa menambahkan initial
state diagram. Gambar berikut ini menunjukkan bahwa initialstate untuk CD Player selalu diposisi close setelah mesindihidupkan. Tidak ada event yang harus dituliskan pada initialstate.
Event yang menyebabkan final state bisa tercapai adalah saat
CD Player dimatikan (event = off)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 58/81
Initial dan Final State
Closed
Playing Open
Play
Load
Stop
Stop
StopPlay Load
Stop
Load
Off
Off
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 59/81
Guard Condition
Dalam gambar sebelumnya slah satu masalah adalah CD playertidak selalu pada state playing ketika tombol play ditekan.Seharusnya state playing dilakukan jika ada CD di drawer atautetap dalam kondisi close jika tidak ada CD di drawer.
Untuk menampilkan informasi tersebut dengan statechart bisaditambahkan guard condition untuk transition play. Guardcondition adalah bagian spesifikasi dari transition dan ditulisdengan sepasang kurung kotak/[] sesudah nama event yangmemberi label transition
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 60/81
Guard Condition (lanjutan)
Closed
Playing Open
Play[ CD present]
Stop
Stop
Stop
Play[no CD]
Play [no CD]
Load
Load
Play
Load
Play[ CD present]
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 61/81
Guard Condition (lanjutan)
Jika ada lebih dari satu transition yang mempunyai hasil guardcondition true, maka hanya ada satu saja yang akan dijalankan.Sebagai contoh anggaplah CD player pada posisi state opendan tombol play ditekan, yang pertama kali terjadi adalah drawer
akan ditutup. Hal ini penting karena mesin akan bisa mendeteksiapakah ada CD atau tidak di drawer bila drawer dalam posisitertutup. Dalam kondisi masih state open, guard conditiondievaluasi pada transition play untuk melihat transition manayang harus dijalankan. Jika CD ada, transition akan berubah dari
open menjadi playing.
Action
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 62/81
Action
Action ditulis setelah nama event dengan diawali tanda slash (/).Action bisa dideskripsikan dalam pseudo-code atau denganmenggunakan notasi bahasa pemrograman yang akan dipakai.Transition dapat membawa condition dan action sekaligus.
Action dibuat dalam bentuk pendek, mengandung bagian kecildari proses yang tidak butuh waktu lama. Karakteristik actionharus bisa selesai sebelum transition mencapai state yang baru.Hal tersebut mengindikasikan bahwa action tidak dapatdiinterupsi oleh event yang lain yang mungkin dideteksi oleh
obyek, namun tetap harus bisa selesai dilakukan.
Action
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 63/81
Action (lanjutan)
Closed
Playing Open
Play[ CD present]
Stop
Stop
Stop
Play[no CD]
Play [no CD] / close drawer
Load / Open drawer
Load/ opendrawer
Play
Load/ close drawer
Play[ CD present] / close drawer
Entry dan Exit Action
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 64/81
Entry dan Exit Action
Entry action dijalankan setiap saat jika state menjadi aktif,segera setelah action transition selesai. Sebagai contoh jika CDplayer dalam state open dan tombol play ditekan, drawer akanmenutup dan transition play akan dijalankan. Hasilnya stateplaying menjadi aktif dan entry action pada state playing segera
dilakukan. Exit action akan dijalankan kapanpun saat sebuahaction ditinggalkan.
Playing
Entry/find start of trackEntry/lower headEntry/raise head
Open
PlayStop
Play[CD present]/close drawer
Load/open drawer
Activity
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 65/81
Activity
Saat posisi state playing, melakukan sesuatu yang disebutmemainkan current track dari CD, operasi ini yang disebutactivity. Seperti pada action maka activity ditulis dalam stateyang diawali dengan do.
Beda antara action dan activity adalah action lebih merupakaninstance sedangkan activity merupakan perluasan dari waktu.
Ketika state menjadi aktif, entry action dijalankan dan activitynya
dimulai. Activity berjalan secara kontinyu sepanjang periodedimana state tersebut aktif.
Activity (l j t )
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 66/81
Activity (lanjutan)
Entry action harus dijalankan sampai selesai sebelumobyek dapat merespon event apapun. Akan tetapi activitybisa diinterupsi oleh event apapun yang mengakibatkantransition keluar.
PlayingEntry/find start of track
Entry/lower headEntry/raise head
Do/play track
Play
Completion Transition
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 67/81
Completion Transition
Completion transition adalah transition yang tidakmempunyai nama event. Ini bisa ditrigger ketika sebuahstate activity internal berhenti secara normal tanpainterupsi oleh event dari luar. Ketika CD player dimainkanuser bisa menekan tombol play atau stop untuk interupsi.
Jika salah satu dari event ini terdeteksi maka track akanberakhir. Dengan demikian calon transition yang harusdijalankan tinggal completion transition. Yang terjadiberikutnya tergantung pada apakah track yang baru saja
selesai adalah track terakhir atau bukan.
Completion Transition
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 68/81
Completion Transition (lanjutan)
Completion transition mempunyai guard condition untukmembedakan diantara dua kasus. Jika yang baru selesai adalahtrack terakhir, transition pada state closed akan dijalankan danCD berhenti, tetapi jika tidak transition ke dirinya sendiri akandijalankan dan penhitung track akan naik, state playing akan
masuk kembali dan CD player akan menjalankan trackberikutnya.
Playing
Entry/find start of trackEntry/lower headEntry/raise head
Do/play track
Play
[no last track] / increment track count Closed
Last track played
Stop
Internal Transition
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 69/81
Internal Transition
Internal transition ditulis didalam state yang diberi namadengan event yang menyebabkannya. Sebagai contohadalah informasi yang ditampilkan dalam CD player.
PlayingEntry/find start of track
Entry/lower headEntry/raise head
Do/play trackInfo/display time
Play
Composite State
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 70/81
Composite State
Composite state mempunyai properties sebagai berikut:
1.Jika composite state active, salah satu dari sub state harusaktif.
1.Jika sebuah event terdeteksi ketika sebuah obyek ada didalam
composite state, maka akan bisa mentrigger transition keluardari composite state itu sendiri maupun dari sub state aktif saatitu.
Sebagai contoh, asumsikan CD player dalam state closed, jika
event load terdeteksi transition state open akan dijalankan danstate open menjadi aktif. Ini adalah transition internal dari statenot playing dan masih aktif tetapi dengan sub state aktif yanglain.
Composite State (l j t )
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 71/81
Composite State (lanjutan)
Sebaliknya jika event play terdeteksi, tidak ada transitionbernama “play” yang meninggalkan state closed. Namunada beberapa transition yang meninggalkan state no play.Jika state ini aktif, transition akan menjadi enable,tergantung apakah ada CD didrawer atau tidak. Jika CD
ada, state play menjadi aktif, jika tidak state closed menjadiaktif. Hal ini berarti self-transition meninggalkan state notplay.
Deployment Diagram
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 72/81
Deployment Diagram
• Deployment/physical diagram menggambarkan detailbagaimana komponen di-deploy dalam infrastruktursistem, di mana komponen akan terletak (pada mesin,server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-
hal lain yang bersifat fisikal• Sebuah node adalah server, workstation , atau piranti
keras lain yang digunakan untuk men-deploy komponendalam lingkungan sebenarnya. Hubungan antar node
(misalnya TCP/IP) dan requirement dapat jugadidefinisikan dalam diagram ini.
Component Diagram
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 73/81
Component Diagram
• Component diagram menggambarkan struktur dan
hubungan antar komponen piranti lunak, termasukketergantungan (dependency ) di antaranya.
• Komponen piranti lunak adalah modul berisi code , baikberisi source code maupun binary code , baik library maupun executable , baik yang muncul pada compile time,
link time , maupun run time .• Pada umumnya komponen terbentuk dari beberapa class
dan/atau package , tapi dapat juga dari komponen-komponen yang lebih kecil.
• Komponen dapat juga berupa interface , yaitu kumpulanlayanan yang disediakan sebuah komponen untukkomponen lain.
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 74/81
Contoh : Component Diagram
applet1.class
Demo.html applet2.class
logo.gif
applet1.java
applet2.java
Contoh : Component & Deployment Diagram
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 75/81
Contoh : Component & Deployment Diagram
Contoh kasus (Acknowledgments Toeko triyanto)
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 76/81
Contoh kasus (Acknowledgments Toeko triyanto)
pengisian
data
isi ulang
simpan
kirim
data masukan
state chart diagram pendaftaran
pengisian
data
isi ulang
simpan
kirim
data masukan
statechart diagram pengisian data kwitansi.
Latihan
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 77/81
Latihan
1. Diagram yang termasuk dalam artifact UML kecuali..
a. Use case Diagram d. Package Diagram
b. Class Diagram e. Deployment Diagram
c. Development Digram
2. Konsumen menerima struk pembayaran
actor use case diatas adalah
a. struk d. menerimab. pembayaran e. data flow
c. konsumen
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 78/81
2. Konsumen menerima struk pembayaran
actor use case diatas adalah
a. struk d. menerima
b. pembayaran e. data flow
c. konsumen
3. Mendefinisikan perilaku objek termasuk kedalam salah
satu jenis state machine diagram, yaitu
a. behavioral state machien d. use case diagram
b. protocol state machine e. package diagram
c. class state machine
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 79/81
4. Association menggambarkan..
a. aliran data
b. bagaimana actor terlibat dalam use case
c. aliran informasi
d. aliran komunikasi
e. bagaimana actor terlibat dengan data
3. Mendefinisikan perilaku objek termasuk kedalam salah
satu jenis state machine diagram, yaitua. behavioral state machien d. use case diagram
b. protocol state machine e. package diagram
c. class state machine
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 80/81
4. Association menggambarkan..
a. aliran data
b. bagaimana actor terlibat dalam use case
c. aliran informasi
d. aliran komunikasi
e. bagaimana actor terlibat dengan data
5. Tiga area pokok dalam class diagram, yaitu
a. aliran data, informasi dan komunikasi
b. nama, aliran data, operasic. aliran informasi, nama, atribut
d. aliran komunikasi,operasi, nama
e. nama, atribut, opersi
5/11/2018 Pertemuan 4edit syt - slidepdf.com
http://slidepdf.com/reader/full/pertemuan-4edit-syt 81/81
5. Tiga area pokok dalam class diagram, yaitu
a. aliran data, informasi dan komunikasib. nama, aliran data, operasi
c. aliran informasi, nama, atribut
d. aliran komunikasi,operasi, nama
e. nama, atribut, opersi
1. Diagram yang termasuk dalam artifact UML kecuali..
a. Use case Diagram d. Package Diagram
b. Class Diagram e. Deployment Diagram
c. Development Digram