Professional Documents
Culture Documents
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
Closing
Domain Expert
Use Case 3
UI
Class
Repository DocumentList
Deployment Diagram
- 95 : - NT: - - : - -, - - IBM : -, - Windows95 Windows95
Doc umentApp
Window95
9: sortByName ( )
global
mainWnd : MainWnd
1: Doc view request ( )
L
FileManager
- .EXE -
Windows NT
gFile : GrpFile
Package Diagram
Document
- .EXE
Solaris
IBM Mainframe
7: readFile ( ) 5: readDoc ( )
Collaboration Diagram
mainWnd user fileMgr : FileMgr document : Document gFile repository
- . 1: Doc view request ( ) 2: fetchDoc( ) 3: create ( )
Component Diagram
4: create ( )
- - .
6: fillDocument ( )
8: fillFile ( )
- - .
9: sortByName ( )
DIAGRAM-DIAGRAM DI UML
State State Diagrams Class Diagrams Diagrams
Model
Deployment Diagram
Diagrams
messages.
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, benda atau peristiwa tertentu.
ACTOR
Actor menggambarkan orang, 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
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. Association antara actor dan use case 2. Association antara use case 3. Generalization/Inheritance antara use case 4. Generalization/Inheritance antara actors
Logon validation
Nasabah
Maintain curriculum
Nasabah
Buka Deposito
4. Generalization/inheritance antara actor Gambarkan generalization/inheritance antara actors secara vertical dengan inheriting actor dibawah base/parent use case
Petugas
(from sistem perpakiran) ...)
input No.kendaraan
(from sistem perpakiran)
<<include>>
Hitung waktu
Kendaraan
(from sistem perpakiran) ...)
<<include>>
Validasi tiket
(from sistem perpakiran)
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. Sehingga mulai menjalankan Hitung Waktu mulai dari kendaraan masuk hingga validasi dilakukan. 1. 2. 3. 4. 5. Petugas melihat/memeriksa nomor kendaraan yang akan masuk ke area parkir Sistem Perangkat Lunak menampilkan antarmuka untuk mendata kendaraan tersebut. Petugas memasukkan nomor kendaraan pada form antarmuka data kendaraan. Sistem akan mulai menghitung waktu parkir setelah petugas menekan tombol OK setelah pendataan untuk kendaraan tersebut. Sistem akan mengeluarkan tiket parkir
CLASS DIAGRAM
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, 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 melambangkan batas nilai yang mungkin ada pada obyek dari class 3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class
Association (asosiasi).
Kita menggunakan asosiasi pada saat beberapa kelas saling terhubung satu sama lain secara konseptual. Contoh : Misalkan seorang pegawai bekerja pada sebuah perusahaan. Maka bekerja merupakan sebuah asosiasi antara kelas pegawai dan kelas perusahaan. Contoh yang lain : seorang mahasiswa mendaftar sebuah kursus, maka jelas sekali disini bahwa asosiasi yang muncul adalah mendaftar. Selanjutnya bisa kita simpulkan bahwa sebuah asosiasi bisa merupakan sebuah bentuk kata kerja yang merelasikan kelas yang satu dengan kelas yang lainnya.
27
28
Asosiasi juga dapat menjadi lebih kompleks pada saat beberapa class terhubung ke satu class, seperti yang terlihat pada contoh dibawah ini :
29
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. 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.
30
31
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. Definisi subclass selalu mencakup paling tidak satu detil yang tidak diturunkan dari superclass-nya.
generalisasi. Generalisasi menjelaskan hubungan logis antar elemen-elemen yang mempunyai karakteristik yang sama. Sedangkan inheritance menerangkan mekanisme agar bagi pakai (sharing) bisa terjadi.
32
Dependant Class
Pada penggunaan relasi kadangkala satu class menggunakan class yang lain, hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain.
33
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. 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.
34
35
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. Notasi komposit sama seperti agregasi hanya saja jajaran genjangnya terisi (solid)
36
37
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. Notasi komposit sama seperti agregasi hanya saja jajaran genjangnya terisi (solid)
38
Multiplisitas (multiplicity)
Multiplisitas mendefinisikan berapa banyak instans (instance) sebuah objek/class dapat dihubungkan dengan sebuah instans dari objek/class yg lain.
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 - Cetak - Cari - Keluar
1..1 1..~ 1..1 1..1 1..~ 1..1
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
Statechart Diagram.
Statechart diagram, 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. Contohnya sebuah televisi yang dapat berada dalam kondisi menyala atau mati, jika tombol power ditekan maka televisi akan menyala, begitu juga sebaliknya akan mati 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 dan mematikan TV. Tidak seperti diagram-diagram behavioural lainnya yang memodelkan interaksi diantara beberapa class, state diagram justru biasanya hanya memodelkan transisi yang terjadi hanya pada sebuah class. Berikut adalah notasi state diagram :
State
Notasi State menggambarkan kondisi sebuahentitas, 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, dibawahnya atau sepanjang anak panah tersebut
Transition
Initial State
sebuah kondisi awal sebuah object sebelum ada perubahan keadaan. Initial State digambarkan dengan sebuah lingkaran solid. Hanya satu Initial State yang diizinkan dalam sebuah diagram menggambarkan ketika objek berhenti memberi respon terhadap sebuah event. Final State digambarkan dengan lingkaran solid didalam sebuah lingkaran kosong.
Final State
Simbol (lanjutan)
UML juga memberi pilihan untuk menambahkan detil ke dalam simbol tersebut dengan membagi tiga area yaitu nama state, variabel dan aktivitas. NState Name Variabel Name Activity State variabel seperti timer dan counter yang kadangkala sangat membantu.
Activity terdiri atas events dan action, tiga hal yang sering digunakan 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
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). Dalam UML, state digambarkan berbentuk segiempat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah. Contoh statechart diagram :
Tidak cukup hanya mengimplementasikan sebuah obyek, pengembang juga harus membuat obyek tersebut melakukan sesuatu. State diagram memastikan bahwa obyek-obyek tersebut akan menebak apa yang seharusnya dilakukan. Dengan gambaran yang jelas tentang perilaku obyek, kemungkinan tim pengembang akan memproduksi sebuah sistem yang sesuai dengan requirement.
Play
Stop
Closed
Playing
Stop
Load
Open
Play
Closed
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. Untuk menampilkan informasi tersebut dengan statechart bisa ditambahkan guard condition untuk transition play. Guard condition adalah bagian spesifikasi dari transition dan ditulis dengan sepasang kurung kotak/[] sesudah nama event yang memberi label transition
Closed
Stop Play[ CD present]
Load
Playing
Open
Play
Stop
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. Transition dapat membawa condition dan action sekaligus. Action dibuat dalam bentuk pendek, mengandung bagian kecil dari proses yang tidak butuh waktu lama. Karakteristik action harus bisa selesai sebelum transition mencapai state yang baru. Hal tersebut mengindikasikan bahwa action tidak dapat diinterupsi oleh event yang lain yang mungkin dideteksi oleh obyek, namun tetap harus bisa selesai dilakukan.
Action (lanjutan)
Stop Play[no CD]
Closed
Stop
Playing
Load/ close drawer Play[ CD present] Load/ open drawer Play[ CD present] / close drawer Open Load / Open drawer
Play
Stop
Playing
Entry/find start of track Entry/lower head Entry/raise head
Play
Open
Load/open drawer Stop
Activity
Saat posisi state playing, melakukan sesuatu yang disebut memainkan current track dari CD, operasi ini yang disebut activity. Seperti pada action maka activity ditulis dalam state yang diawali dengan do. Beda antara action dan activity adalah action lebih merupakan instance sedangkan activity merupakan perluasan dari waktu. Ketika state menjadi aktif, entry action dijalankan dan activitynya dimulai. Activity berjalan secara kontinyu sepanjang periode dimana state tersebut aktif.
Activity (lanjutan)
Entry action harus dijalankan sampai selesai sebelum obyek dapat merespon event apapun. Akan tetapi activity bisa diinterupsi oleh event apapun yang mengakibatkan transition keluar. 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. Ini bisa ditrigger ketika sebuah state activity internal berhenti secara normal tanpa interupsi oleh event dari luar. Ketika CD player dimainkan user bisa menekan tombol play atau stop untuk interupsi. Jika salah satu dari event ini terdeteksi maka track akan berakhir. 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.
Playing
[no last track] / increment track count
Closed
Internal Transition
Internal transition ditulis didalam state yang diberi nama dengan event yang menyebabkannya. Sebagai contoh adalah informasi yang ditampilkan dalam CD player.
Playing
Entry/find start of track Entry/lower head Entry/raise head Do/play track Info/display time
Play
Composite State
Composite state mempunyai properties sebagai berikut: 1.Jika composite state active, salah satu dari sub state harus aktif. 1.Jika sebuah event terdeteksi ketika sebuah obyek ada didalam composite state, maka akan bisa mentrigger transition keluar dari composite state itu sendiri maupun dari sub state aktif saat itu. Sebagai contoh, asumsikan CD player dalam state closed, jika event load terdeteksi transition state open akan dijalankan dan state open menjadi aktif. Ini adalah transition internal dari state not playing dan masih aktif tetapi dengan sub state aktif yang lain.
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.
Demo.html
applet2.class
applet2.java
logo.gif
pengisian data
kirim
isi ulang pengisian data masukan simpan data data masukan simpan kirim isi ulang
Latihan
1. Diagram yang termasuk dalam artifact UML kecuali.. a. Use case Diagram b. Class Diagram c. Development Digram d. Package Diagram e. Deployment Diagram
2. Konsumen menerima struk pembayaran actor use case diatas adalah a. struk d. menerima b. pembayaran e. data flow c. konsumen
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
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
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
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, operasi c. aliran informasi, nama, atribut d. aliran komunikasi,operasi, nama e. nama, atribut, opersi
5. Tiga area pokok dalam class diagram, yaitu a. aliran data, informasi dan komunikasi b. 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 b. Class Diagram c. Development Digram d. Package Diagram e. Deployment Diagram