Unified Modelling Language
Memvisualisasikan dan mendokumentasikan hasil analisa dan desain.

• Bahasa untuk menangkap dan menggambarkan pengetahuan • Perangkat untuk menemukan dan membangun sistem. • Perangkat untuk memodelkan pembangunan sistem secara visual • Perangkat yang populer

ARTIFACT UML
Use-Case Diagram
Use Case 1 Actor A Use Case 2
close file

Class Diagram
Actor B

State Diagram
add file [ numberOffile==MAX ] / flag OFF Openning

add file

Writing

close file Reading

Closing

Domain Expert

Use Case 3
UI

<<entity>> Customer name addr receive() withdraw() fetch() send()
MFC

Class
Repository DocumentList

Deployment Diagram
ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼-¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼-¹ö ¹× µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼-¹ö, Åë½Å ¼-¹ö Windows95 Windows95

Doc umentApp

RogueW ave Persi s tence

Window95

9: sortByName ( )

global

mainWnd : MainWnd
1: Doc view request ( )
L

FileManager

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

Windows NT

2: fetchDoc( ) 4: create ( ) 8: fillFile ( )

gFile : GrpFile

User Interface Definition

user : »ç¿ëÀÚ fileMgr : FileMgr
3: create ( ) 6: fillDocument ( )

Package Diagram

Document
¹®¼-°ü¸® ¿£Áø.EXE

Solaris

Alpha UNIX ÀÀ¿ë¼-¹ö.EXE Windows NT

GraphicFile File FileList

IBM Mainframe

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

7: readFile ( ) 5: readDoc ( )

document : Document repository : Repository

Collaboration Diagram
mainWnd user fileMgr : FileMgr document : Document gFile repository
ƯÁ¤¹®¼-¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿ äûÇÑ´Ù. 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( )

Component Diagram

Forward Engineering(Code Generation) and Reverse Engineering

4: create ( )

Source Code edit, compile, debug, link
5: readDoc ( ) 7: readFile ( )

È-ÀÏ°ü¸®ÀÚ´Â ÀÐ¾î¿ Â ¹®¼-ÀÇ Á¤º¸¸¦ ÇØ ´ç ¹®¼°´Ã¼¿ ¡ ¼³Á¤À» ¿äûÇÑ´Ù.

6: fillDocument ( )

8: fillFile ( )

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

9: sortByName ( )

Sequence Diagram Executable System

DIAGRAM-DIAGRAM DI UML
State State Diagrams Class Diagrams Diagrams

Use Case Use Case Diagrams Activity Diagrams Diagrams

Use Case Use Case Diagrams Use Case Diagrams Diagrams

State State Diagrams Object Diagrams Diagrams

Scenario Scenario Diagrams Sequence Diagrams Diagrams

Model

State State Diagrams State Diagrams Diagrams

Scenario Scenario Diagrams Collaboration Diagrams Diagrams

Deployment Diagram

Component Component Diagrams Component Diagrams

Diagrams

Klasifikasi Diagram UML .

. alarm dan lain lainnya. benda (thing).Objek. event. Atribut. database. system messages. • Secara sederhana obyek adalah mobil. dan sesuatu yang membedakannya dengan lingkungannya.Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup didalam sistem seperti tabel. dan Instans  Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept).manusia.

benda atau peristiwa tertentu. . Atribut adalah data karakteristik yang menarik dari sebuah objek  Sebuah instans (instans objek) sebuah objek terdiri dari nilai bagi setiap setiap atribut yg menjelaskan orang. tempat.

Atribut dan Instans 011: Customer Cust_no : 011 Name : Rudi Phone : 755655 Address : Jl.Contoh Objek. Nangka 25 City : Denpasar A01 : Book Id_Book : A01 Type : TextBook Title : Sistem Operasi CopyRight : 2005 .

.

dan bukan “bagaimana” system mengerjakannya • 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 oleh satu actor . Yang ditekankan adalah “apa” yang diperbuat sistem.USE CASE DIAGRAM • Menggambarkan fungsionalitas yang diharapkan dari sebuah sistem.

• 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 . bukan “bagaimana” system mengerjakannya • Use case diberi nama yang menyatakan apa hal yang dicapai dari hasil interaksinya dengan actor. merupakan “apa” yang dikerjakan system.Deskripsi Use case Diagram Use case • Use case dibuat berdasar keperluan actor.

system atau external entitas / stakeholder yang menyediakan atau menerima informasi dari 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 mengindikasikan scheduled events (suatu kejadian yang terjadi secara periodik/bulanan) • Letakkan actor utama anda pada pojok kiri atas dari diagram .ACTOR • Actor menggambarkan orang.

Generalization/Inheritance antara use case 4. Association antara use case 3. Generalization/Inheritance antara actors • • . Association antara actor dan use case 2.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.

1.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 .

2. contohnya adalah pemanggilan sebuah fungsi program – Tanda panah terbuka harus terarah ke sub use case – Gambarkan association include secara horizontal <<include>> Buka Rekening <<include>> catat data pribadi Register for courses <<include>> Logon validation Nasabah Maintain curriculum . Association antara use case • <<include>> termasuk didalam use case lain (required) / (diharuskan) – Pemanggilan use case oleh use case lain.

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>> Nasabah Buka Deposito .Association antara use case (Lanjut) • <<extend>> perluasan dari use case lain jika kondisi atau syarat terpenuhi – Kurangi penggunaan association Extend ini.

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 Deposito .3.

Generalization/inheritance antara actor • Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah base/parent use case .4.

untuk menggambarkan jangkauan system anda (scope of of your system).Use case System boundary boxes • Digambarkan dengan kotak disekitar use case. • Biasanya digunakan apabila memberikan beberapa alternative system yang dapat dijadikan pilihan • System boundary boxes dalam penggunaannya optional .

) <<include>> Validasi tiket (from sistem perpakiran) .kendaraan (from sistem perpakiran) <<include>> Hitung waktu Kendaraan (from sistem perpakiran) ...) input No...Contoh Deskripsi Use Case dengan skenarionya Petugas (from sistem perpakiran) .

Sehingga mulai menjalankan Hitung Waktu mulai dari kendaraan masuk hingga validasi dilakukan. Petugas melihat/memeriksa nomor kendaraan yang akan masuk ke area parkir Sistem Perangkat Lunak menampilkan antarmuka untuk mendata kendaraan tersebut. Sistem akan mulai menghitung waktu parkir setelah petugas menekan tombol OK setelah pendataan untuk kendaraan tersebut.Use Case ID: Nama Use Case: Created By: 1 Input No. 4. 3. Sistem akan mengeluarkan tiket parkir Normal Course/ Skenario Normal Includes: Priority: Kebutuhan khusus: Catatan: Hitung Waktu Utama - . 1. Petugas memasukkan nomor kendaraan pada form antarmuka data kendaraan. Kendaraan Eddy Prasetyo Nugroho Date Created: 27/03/2009 Aktor: Deskripsi: Petugas Petugas menginputkan nomor-nomor kendaraan yang masuk di area parkir ke dalam Sistem informasi perangkat lunak perpakiran. 5. 2.

.

Atribut. • Class menggambarkan keadaan (atribut/properti) suatu sistem. pewarisan. package dan objek beserta hubungan satu sama lain seperti containment.Nama. adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class . merupakan nama dari sebuah kelas 2. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class 3. • Class memiliki tiga area pokok : 1.CLASS DIAGRAM • Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. merupakan peroperti dari sebuah kelas. asosiasi. Operasi. dan lain-lain. sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). • Class diagram menggambarkan struktur dan deskripsi class.

CLASS DIAGRAM (LANJUTAN) • Atribut dan metoda dapat memiliki salah satu sifat berikut : – Private. hanya dapat dipanggil oleh instance sebuah class pada paket yang sama Nama Class Atribut Metode/operasi . tidak dapat dipanggil dari luar class yang bersangkutan – Protected. hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya – Public. dapat dipanggil oleh siapa saja – Package.

ambilHalaman(). • Penggambaran dalam Class Diagram : .Contoh Class Diagram • Class Buku terdiri dari : – Atribut : judul. pengarang – Method : ambilJenis().

HUBUNGAN ANTAR CLASS 1. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru. Umumnya menggambarkan class yang memiliki atribut berupa class lain. yaitu hubungan hirarkis antar class. . atau class yang harus mengetahui eksistensi class lain. Kebalikan dari pewarisan adalah generalisasi. yaitu hubungan statis antar class. Asosiasi. yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Agregasi.. 2. Pewarisan. sehingga ia disebut anak dari class yang diwarisinya.”). 4. 3. Hubungan dinamis. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian. yaitu hubungan yang menyatakan bagian (“terdiri atas. Panah navigability menunjukkan arah query antar class.

Selanjutnya bisa kita simpulkan bahwa sebuah asosiasi bisa merupakan sebuah bentuk kata kerja yang merelasikan kelas yang satu dengan kelas yang lainnya.Association (asosiasi). maka jelas sekali disini bahwa asosiasi yang muncul adalah “mendaftar”. 27 . Contoh : Misalkan seorang pegawai bekerja pada sebuah perusahaan. Kita menggunakan asosiasi pada saat beberapa kelas saling terhubung satu sama lain secara konseptual. Maka “bekerja” merupakan sebuah asosiasi antara kelas pegawai dan kelas perusahaan. Contoh yang lain : seorang mahasiswa mendaftar sebuah kursus.

28 .

seperti yang terlihat pada contoh dibawah ini : 29 .Asosiasi juga dapat menjadi lebih kompleks pada saat beberapa class terhubung ke satu class.

30 . Sebuah class (child class atau subclass) dapat mewarisi atribut-atribut dan operasi operasi dari class lainnya (parent class atau super class) dimana parent class bersifat lebih umum daripada child class.Generalization & Inheritance. Generalisasi pada konsep Object Oriented digunakan untuk menjelaskan hubungan kesamaan diantara class. Dengan menggunakan generalisasi bisa dibangun struktur logis yang bisa menampilkan derajat kesamaan atau perbedaan diantara class-class.

Contoh : Generalisasi dengan 3 subclass 31 .

• Definisi subclass selalu mencakup paling tidak satu detil yang tidak diturunkan dari superclass-nya. 32 . Sedangkan inheritance menerangkan mekanisme agar bagi pakai (sharing) bisa terjadi. Generalisasi menjelaskan hubungan logis antar elemen-elemen yang mempunyai karakteristik yang sama.Inheritance adalah sebuah mekanisme pengimplementasian generalisasi dan spesialisasi. Aturan inheritance dapat secara umum bisa diklasifikasikan sebagai berikut : • Subclass selalu mewarisi semua sifat dari superclass-nya. Inheritance sangat dekat dengan asosiasinya dengan generalisasi.

hal ini disebut dependency. 33 . Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain.Dependant Class Pada penggunaan relasi kadangkala satu class menggunakan class yang lain.

34 .Agregasi Didalam UML. ada relasi dengan perlakukan khusus yang disebut dengan “bagian dari (part of)” yang menangani antar obyek-obyek dimana salah satunya adalah bagian dari yang lain. Dengan kata lain sebuah obyek terdiri atas obyek-obyek yang lain. Sebuah agregasi adalah kasus khusus dari asosiasi. Agregasi disimbolkan dengan jajaran genjang yang diletakkan pada class yang mengandung obyek. Hal seperti ini di dalam UML disebut Agregasi.

35 .

Notasi komposit sama seperti agregasi hanya saja jajaran genjangnya terisi (solid)‫‏‬ 36 .Komposit (composite)‫‏‬ Komposit (composite) adalah sebuah tipe agregasi yang kuat dimana bagian dari obyektergantung penuh/secara keseluruhan terhadap obyeknya sehingga bila sebuah obyek komposit dibuang maka bagian yang tergantung pada komponen tersebut akan terbuang juga pada saat yang bersamaan.

37 .

Notasi komposit sama seperti agregasi hanya saja jajaran genjangnya terisi (solid)‫‏‬ 38 .Komposit (composite)‫‏‬ Komposit (composite) adalah sebuah tipe agregasi yang kuat dimana bagian dari obyektergantung penuh/secara keseluruhan terhadap obyeknya sehingga bila sebuah obyek komposit dibuang maka bagian yang tergantung pada komponen tersebut akan terbuang juga pada saat yang bersamaan.

CONTOH CLASS DIAGRAM .

Relationship dan Multiplicity .

.Multiplisitas (multiplicity)  Multiplisitas mendefinisikan berapa banyak instans (instance) sebuah objek/class dapat dihubungkan dengan sebuah instans dari objek/class yg lain.

Contoh Diagram Kelas Sistem Perpustakaan : .

....~ 1.Cetak .~ 1.~ 1.Cari ..1 1..1 1.~ Pendidikan nip : text nama : text pendk : text univ : text jurusan : text thn_lulus : text Tambah Edit Hapus Cancel Simpan Cari Keluar Keluarga nip : text nama_peg : text nama_istri_suami : text status : text kelamin : text tempat : text tgl_lahir : text agama : text nama_anak1 : text jns_klmn : text tmpt : text tgl_lhr : text nam_anak2 : text jns_klm : text tmpat : text tgl_lhir : text Tambah Edit Hapus Cancel Simpan Cari Keluar .1 1...Class Diagram diperoleh berdasarkan dari database Contoh Kasus (Acknowledgments Evi Lutfi Muktar) Pegawai nip : text nama : text jns_klm : text tempat : text tgl_lahir : text agama : text status : text alamat : text Tambah Edit Hapus Cancel Simpan Keluar Absensi Masuk nip : text nama : text masuk : date/time pulangt : date/time tanggal : date/time hari : int Cari Absen Masuk Keluar Pulang Absensi Keluar nip : text nama : text masuk : date/time pulangt : date/time tanggal : date/time hari : int Cari Absen Masuk Keluar Pulang Gaji nip : text pks : currency insentif : currency tanspot : currency fungsional : currency gapok : currency to_gaji : currency nama_p : text pot_sim_kop : currency pot_sim_sk : currency angs_pjm_kop : currency asuransi : currency gj_terima : currency .Keluar 1.1 1.1 1..

.

Statechart Diagram. .

Contohnya sebuah televisi yang dapat berada dalam kondisi menyala atau mati. Tidak seperti diagram-diagram behavioural lainnya yang memodelkan interaksi diantara beberapa class. Berikut adalah notasi state diagram : . 2 state yaitu menyala dan mati dan 2 transition yaitu menyalakan TV dan mematikan TV. state diagram justru biasanya hanya memodelkan transisi yang terjadi hanya pada sebuah class.• Statechart diagram. Maka disini kita mempunyai sebuah kelas yaitu televisi. atau yang biasa juga disebut state diagram digunakan untuk mendokumentasikan beragam kondisi/keadaan yang bisa terjadi terhadap sebuah class dan kegiatan apa saja yang dapat merubah kondisi/keadaan tersebut. begitu juga sebaliknya akan mati jika tombol “power” ditekan kembali. jika tombol “power” ditekan maka televisi akan menyala.

Final State . Hanya satu Initial State yang diizinkan dalam sebuah diagram menggambarkan ketika objek berhenti memberi respon terhadap sebuah event. Initial State sebuah kondisi awal sebuah object sebelum ada perubahan keadaan. dan digambarkan dengan segiempat yang pinggirnya tumpul dengan nama state didalamnya State1 State1 Transition Sebuah Transition menggambarkan sebuah perubahan kondisi objek yang disebabkan oleh sebuah event. Transition digambarkan dengan sebuah anak panah dengan nama event yang ditulis diatasnya. Initial State digambarkan dengan sebuah lingkaran solid. dibawahnya atau sepanjang anak panah tersebut Transition . Final State digambarkan dengan lingkaran solid didalam sebuah lingkaran kosong.State Notasi State menggambarkan kondisi sebuahentitas.

. variabel dan aktivitas. NState Name Variabel Name Activity State variabel seperti timer dan counter yang kadangkala sangat membantu.Simbol (lanjutan) UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi tiga area yaitu nama state.

Exit Apa yang terjadi ketika sistem meninggalkan state 3. tiga hal yang sering digunakan dalam activity adalah: 1.Do Apa yang terjadi ketika sistem ada di state .Activity terdiri atas events dan action.Entry Apa yang terjadi ketika sistem masuk ke state 2.

• Contoh statechart diagram : . dituliskan dalam kurung siku. Transisi antar state umumnya memiliki kondisi guard yang merupakan • syarat terjadinya transisi yang bersangkutan. • Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. • Dalam UML.• Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) • suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart • diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart • diagram). Action yang dilakukan • sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama • sesuai kondisinya saat itu.

.

• Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. • Dalam UML. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan.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 yang diterima. • Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram). state digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. . dituliskan dalam kurung siku.

pengembang juga harus membuat obyek tersebut melakukan sesuatu. . Dengan gambaran yang jelas tentang perilaku obyek. perancang dan pengembang untuk memahami perilaku obyek pada sistem.State Machine Diagram State Machine Diagram adalah teknik yang umum digunakan untuk menggambarkan behaviour sebuah sistem. kemungkinan tim pengembang akan memproduksi sebuah sistem yang sesuai dengan requirement. Tidak cukup hanya mengimplementasikan sebuah obyek. State diagram memastikan bahwa obyek-obyek tersebut akan menebak apa yang seharusnya dilakukan. Hal ini digunakan untuk membantu analis.

Contoh State Diagram .

pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain yang disebut dengan transition. sebagaimana digambarkan sebagai berikut: . Secara umum. penekanan tombol load akan menyebabkan drawer CD Player berpindah ke state close. event yang bisa dideteksi dan respon atas eventevent tersebut. Sebagai contoh jika sebuah CD Player dalam keadaan terbuka.State. Event dan Transition Statechart diagram menampilkan state-state yang mungkin dari sebuah obyek.

Event dan Transition Stop Play Stop Closed Load Stop Load Playing Stop Load Open Play .State.

Untuk menunjukkan perilaku ini kita bisa menambahkan initial state diagram. Event yang menyebabkan final state bisa tercapai adalah saat CD Player dimatikan (event = off) . Gambar berikut ini menunjukkan bahwa initial state untuk CD Player selalu diposisi close setelah mesin dihidupkan. Tidak ada event yang harus dituliskan pada initial state.Initial dan Final State Gambar pada slide sebelumnya menjelaskan bagaimana ketika CD Player sedang dipakai. tetapi tidak menjelaskan apa yang terjadi ketika mesin di matikan atau dihidupkan.

Initial dan Final State Stop Off Play Stop Closed Load Stop Load Playing Stop Load Open Play Off .

Guard Condition Dalam gambar sebelumnya slah satu masalah adalah CD player tidak selalu pada state playing ketika tombol play ditekan. Seharusnya state playing dilakukan jika ada CD di drawer atau tetap dalam kondisi close jika tidak ada CD di drawer. Guard condition adalah bagian spesifikasi dari transition dan ditulis dengan sepasang kurung kotak/[] sesudah nama event yang memberi label transition . Untuk menampilkan informasi tersebut dengan statechart bisa ditambahkan guard condition untuk transition play.

Guard Condition (lanjutan) Stop Play[no CD] Closed Stop Play[ CD present] Play [no CD] Load Load Playing Play[ CD present] Load Open Play Stop .

Hal ini penting karena mesin akan bisa mendeteksi apakah ada CD atau tidak di drawer bila drawer dalam posisi tertutup. Dalam kondisi masih state open. transition akan berubah dari open menjadi playing. . Jika CD ada. yang pertama kali terjadi adalah drawer akan ditutup. guard condition dievaluasi pada transition play untuk melihat transition mana yang harus dijalankan. Sebagai contoh anggaplah CD player pada posisi state open dan tombol play ditekan. maka hanya ada satu saja yang akan dijalankan.Guard Condition (lanjutan) Jika ada lebih dari satu transition yang mempunyai hasil guard condition true.

Hal tersebut mengindikasikan bahwa action tidak dapat diinterupsi oleh event yang lain yang mungkin dideteksi oleh obyek. Transition dapat membawa condition dan action sekaligus.Action Action ditulis setelah nama event dengan diawali tanda slash (/). Action bisa dideskripsikan dalam pseudo-code atau dengan menggunakan notasi bahasa pemrograman yang akan dipakai. mengandung bagian kecil dari proses yang tidak butuh waktu lama. Karakteristik action harus bisa selesai sebelum transition mencapai state yang baru. namun tetap harus bisa selesai dilakukan. . Action dibuat dalam bentuk pendek.

Action (lanjutan) Stop Play[no CD] Closed Stop Play [no CD] / close drawer Playing Load/ close drawer Play[ CD present] Load/ open drawer Play[ CD present] / close drawer Open Load / Open drawer Play Stop .

segera setelah action transition selesai. Exit action akan dijalankan kapanpun saat sebuah action ditinggalkan. Hasilnya state playing menjadi aktif dan entry action pada state playing segera dilakukan. Playing Entry/find start of track Entry/lower head Entry/raise head Play Play[CD present]/close drawer Open Load/open drawer Stop . drawer akan menutup dan transition play akan dijalankan. Sebagai contoh jika CD player dalam state open dan tombol play ditekan.Entry dan Exit Action Entry action dijalankan setiap saat jika state menjadi aktif.

melakukan sesuatu yang disebut memainkan current track dari CD. Activity berjalan secara kontinyu sepanjang periode dimana state tersebut aktif. . operasi ini yang disebut activity. Ketika state menjadi aktif. Beda antara action dan activity adalah action lebih merupakan instance sedangkan activity merupakan perluasan dari waktu. entry action dijalankan dan activitynya dimulai. Seperti pada action maka activity ditulis dalam state yang diawali dengan do.Activity Saat posisi state playing.

Akan tetapi activity bisa diinterupsi oleh event apapun yang mengakibatkan transition keluar.Activity (lanjutan) Entry action harus dijalankan sampai selesai sebelum obyek dapat merespon event apapun. Playing Entry/find start of track Entry/lower head Entry/raise head Do/play track Play .

.Completion Transition Completion transition adalah transition yang tidak mempunyai nama event. Dengan demikian calon transition yang harus dijalankan tinggal completion transition. Yang terjadi berikutnya tergantung pada apakah track yang baru saja selesai adalah track terakhir atau bukan. Jika salah satu dari event ini terdeteksi maka track akan berakhir. Ketika CD player dimainkan user bisa menekan tombol play atau stop untuk interupsi. Ini bisa ditrigger ketika sebuah state activity internal berhenti secara normal tanpa interupsi oleh event dari luar.

Jika yang baru selesai adalah track terakhir. transition pada state closed akan dijalankan dan CD berhenti. Last track played Playing [no last track] / increment track count Entry/find start of track Entry/lower head Entry/raise head Do/play track Stop Play Closed .Completion Transition (lanjutan) Completion transition mempunyai guard condition untuk membedakan diantara dua kasus. state playing akan masuk kembali dan CD player akan menjalankan track berikutnya. tetapi jika tidak transition ke dirinya sendiri akan dijalankan dan penhitung track akan naik.

Sebagai contoh adalah informasi yang ditampilkan dalam CD player.Internal Transition Internal transition ditulis didalam state yang diberi nama dengan event yang menyebabkannya. Playing Entry/find start of track Entry/lower head Entry/raise head Do/play track Info/display time Play .

Jika composite state active. . salah satu dari sub state harus aktif. Ini adalah transition internal dari state not playing dan masih aktif tetapi dengan sub state aktif yang lain. 1.Jika sebuah event terdeteksi ketika sebuah obyek ada didalam composite state. jika event load terdeteksi transition state open akan dijalankan dan state open menjadi aktif. maka akan bisa mentrigger transition keluar dari composite state itu sendiri maupun dari sub state aktif saat itu.Composite State Composite state mempunyai properties sebagai berikut: 1. asumsikan CD player dalam state closed. Sebagai contoh.

jika tidak state closed menjadi aktif. Hal ini berarti self-transition meninggalkan state not play. . tidak ada transition bernama “play” yang meninggalkan state closed. tergantung apakah ada CD didrawer atau tidak. transition akan menjadi enable.Composite State (lanjutan) Sebaliknya jika event play terdeteksi. state play menjadi aktif. Jika state ini aktif. Namun ada beberapa transition yang meninggalkan state no play. Jika CD ada.

Deployment Diagram • Deployment/physical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan halhal lain yang bersifat fisikal • Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Component Diagram • Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. • Komponen piranti lunak adalah modul berisi code, baik berisi 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 komponenkomponen yang lebih kecil. • Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.

Contoh : Component Diagram
applet1.class applet1.java

Demo.html

applet2.class

applet2.java

logo.gif

Contoh : Component & Deployment Diagram

Contoh kasus (Acknowledgments Toeko triyanto) state chart diagram pendaftaran statechart diagram pengisian data kwitansi. pengisian data kirim isi ulang pengisian data masukan simpan data data masukan simpan kirim isi ulang .

. Konsumen menerima struk pembayaran actor use case diatas adalah a.Latihan 1. a. Package Diagram e. menerima b. Class Diagram c. struk d. Use case Diagram b. konsumen . Deployment Diagram 2. Diagram yang termasuk dalam artifact UML kecuali. Development Digram d. pembayaran e. data flow c.

use case diagram b. data flow c. behavioral state machien d. konsumen 3. package diagram c. yaitu a. Mendefinisikan perilaku objek termasuk kedalam salah satu jenis state machine diagram.2. menerima b. Konsumen menerima struk pembayaran actor use case diatas adalah a. class state machine . struk d. pembayaran e. protocol state machine e.

Mendefinisikan perilaku objek termasuk kedalam salah satu jenis state machine diagram. protocol state machine e. aliran komunikasi e. package diagram c. class state machine 4. behavioral state machien d. a.3. bagaimana actor terlibat dengan data . aliran informasi d. yaitu a. Association menggambarkan. use case diagram b.. bagaimana actor terlibat dalam use case c. aliran data b.

aliran data. a. operasi c.. nama. aliran data. aliran informasi. aliran informasi d. atribut. yaitu a. Tiga area pokok dalam class diagram. nama. aliran data b.4. Association menggambarkan. informasi dan komunikasi b.operasi. nama e. opersi . atribut d. bagaimana actor terlibat dengan data 5. bagaimana actor terlibat dalam use case c. nama. aliran komunikasi e. aliran komunikasi.

atribut. nama.. informasi dan komunikasi b. atribut d. Class Diagram c.5. operasi c. nama e. aliran informasi. nama. a. Package Diagram e. nama. Development Digram d. Tiga area pokok dalam class diagram. opersi 1. yaitu a. aliran data. aliran komunikasi. Use case Diagram b. aliran data. Deployment Diagram .operasi. Diagram yang termasuk dalam artifact UML kecuali.

Sign up to vote on this title
UsefulNot useful