Dokumen tersebut membahas tentang Unified Modeling Language (UML) yang merupakan bahasa standar untuk membuat blueprint perancangan sistem perangkat lunak. Dokumen ini menjelaskan berbagai diagram UML seperti use case diagram, class diagram, sequence diagram, dan state machine diagram beserta penjelasan mengenai komponen-komponen pada masing-masing diagram.
System Analysis and Design - Unified Modeling Language (UML)
1. TIPS – SAD Dudy Fathan Ali S.Kom
Unified Modeling Language
TIPS
Dudy Fathan Ali, S.Kom (DFA)
2014
CEP - CCIT
Fakultas Teknik Universitas Indonesia
2. UML
TIPS – SAD Dudy Fathan Ali S.Kom
“Unified Modeling Language (UML) is a
standard language for creating blueprints that
depict the structure and design of the
software system”
– NIIT Courseware OOAD UML
RUANG LINGKUP UML
• UML adalah bahasa untuk menspesifikasikan software.
• UML adalah bahasa untuk memvisualisasikan software.
• UML adalah bahasa untuk membangun software.
• UML adalah bahasa untuk mendokumentasikan software.
3. Benefits of the Object Approach
TIPS – SAD Dudy Fathan Ali S.Kom
5. Diagram Yang Digunakan Untuk BIS
TIPS – SAD Dudy Fathan Ali S.Kom
UML menyediakan beberapa diagram untuk merepresentasikan struktur dan
disain dari suatu software.
Usecase Diagram Class Diagram Object Diagram
Sequence
Diagram
State Machine
Diagram
Activity Diagram
Collaboration
Diagram
Component
Diagram
Deployment
Diagram
6. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Use case diagram menggambarkan aktivitas yang dapat dilakukan oleh
sistem dari sudut pandang user (pengguna sistem) sebagai pengguna
(external observer) dan berhubungan dengan skenario-skenario yang
dapat dilakukan oleh user.
• Use case diagram merupakan sekumpulan actor, use case dan
komunikasi antar actor dengan use case.
7. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
1. Aktor
Merepresentasikan
seseorang atau sesuatu
(seperti perangkat, sistem
lain) yang berinteraksi
dengan sistem
2. Usecase
Gambaran fungsionalitas
dari suatu sistem
3. Association / Link
Menghubungkan usecase
dengan aktor
4. System
Sistem yang sedang
dikembangkan
8. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi/Hubungan
Pemaknaan relasi berbeda-beda, tergantung garis tersebut digambar dan tipe
simbol apa yang digunakan untuk menghubungkan garis tersebut.
A. Generalisasi Aktor / Usecase
Generalisasi pada actor dan use case dimaksudkan untuk meyederhanakan model
dengan cara menarik keluar sifat-sifat pada actor maupun use case yang sejenis
9. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
B. Include Relationship
Mengindikasikan bahwa fungsi dari satu usecase termasuk dalam fungsi lain.
Include Relationship digunakan jika suatu usecase HARUS melibatkan usecase
lainnya.
10. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
C. Extend Relationship
Perluasan dari use case lain jika kondisi atau syarat terpenuhi.
Extend Relationship digunakan jika suatu usecase MUNGKIN SAJA melibatkan
usecase lainnya.
11. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Identifikasilah Usecase Diagram Dibawah Ini :
12. Usecase Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Buatlah usecase diagram untuk aplikasi penjadwalan shift kasir pada PT Adi
Perkasa dengan fungsi sebagai berikut :
1. Aplikasi terbagi jadi 2 user, yaitu Admin dan Kasir yang merupakan
pegawai dari PT Adi Perkasa
2. Admin memiliki hak akses sebagai berikut :
a. Login kedalam sistem
b. Mendaftarkan admin lain
c. Mengelola jadwal kasir
d. Mencetak jadwal kasir keseluruhan
e. Mencetak jadwal kasir berdasarkan pencarian
3. Kasir memiliki hak akses sebagai berikut :
a. Mencari jadwal
b. Mencetak jadwal sesuai jadwal yang dicari
Migrating from requirements to design.
13. Usecase Description
TIPS – SAD Dudy Fathan Ali S.Kom
Use Case yang ada pada Usecase Diagram harus memiliki
deskripsi mendetail untuk mempermudah dalam memahami
Usecase Diagram tersebut.
Bagian dari Usecase Description :
Nama Usecase
Aktor
Deskripsi Usecase
Precondition
Langkah-langkah
Postcondition
17. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Class diagram merupakan inti dari proses pemodelan objek.
• Forward Engineering maupun Reverse Engineering memanfaatkan
diagram ini.
• Class menggambarkan suatu grup yang memiliki kesamaan keadaan dan
prilaku.
• Class merupakan blueprint dari object dalam sistem berorientasi object.
• Class Diagram dinotasikan dengan bentuk kotak dan memiliki 3
compartment.
1. Compartment pertama berisi nama class
2. Compartment kedua berisi atribut pada class
3. Compartment ketiga berisi operasi pada class
Pengertian Class Diagram
19. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Atribut pada Class Diagram
• Atribut adalah rincian dari suatu class, misalnya warna mobil, jumlah pintu,
bentuk dan sebagainya.
• Berikut adalah cara penulisan Atribut pada class diagram :
20. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Atribut pada Class Diagram
• Visibility : Menjelaskan access specifier dari atribut. Contoh : public (+),
private (-), protected (#), package (~)
• Name : Nama dari atribut
• Type : Tipe data dari atribut
• Multiplicity : Menjelaskan berapa nilai yang bisa ditampung dalam atribut.
• Default : Nilai default dari atribut
• Property-String : Properti dari atribut. (optional)
22. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Operasi pada Class Diagram
• Visibility
Menjelaskan access specifier dari nama Method.
• Name
Nama dari Method.
• Parameter-List
Parameter yang dibutuhkan oleh Method.
• Return-Type
Return Type yang dimiliki oleh Method.
• Property-String
Property dari method. (Optional)
24. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
Hubungan antara satu class dengan class lain mempermudah kita dalam melihat
mekanisme suatu sistem. Tiap relationship mempunyai tipe yang berbeda, yaitu:
1. Association
Merupakan hubungan statis antar class. Secara default, association bersifat
dua arah (bidirectional).
Association bisa juga bersifat bersifat unidirectional.
25. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
Association dibagi menjadi 2 jenis :
1. Aggregation (Agregasi)
Ketergantungan yang lemah antara dua class, dimana class A adalah bagian
dari class B, namun class A bisa berdiri sendiri.
2. Composition (Komposisi)
Ketergantungan yang kuat antara dua class dimana class A berisi class B dan
juga mengatur lifetime dari class B. Class A menentukan ada tidaknya class B.
26. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
2. Multiplicity
Menyatakan jumlah instance yang terlibat dalam hubungan Asosiasi Tersebut.
Multiplicity dibagi menjadi 4 :
1. One (1)
Menyatakan bahwa hanya ada 1 object yang berhubungan dengan Class
lain.
2. Zero or One (0..1)
Menyatakan bahwa ada 0 atau 1 object yang berhubungan dengan
Class lain.
3. Many (0..*)
Menyatakan bahwa ada 0 atau banyak object yang berhubungan
dengan Class lain.
4. One or More (1..*)
Menyatakan bahwa ada 1 atau banyak object yang berhubungan
dengan Class lain.
27. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
Contoh penggunaan Multiplicity pada Class Diagram :
28. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
3. Dependency
Depedency adalah hubungan antar class di mana sebuah class memiliki
ketergantungan pada class lainnya tetapi tidak sebaliknya.
(lebih kepada suatu class yang harus menggunakan class lainnya)
29. Class Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Relasi pada Class Diagram
4. Generalization
Menggambarkan hubungan antara super class dengan sub class. Super class
disebut class dasar sedangkan sub class disebut dengan class turunan.
Generalisasi adalah hubungan pewarisan (inheritance) antar unsur dalam
class diagram. Pewarisan memungkinkan suatu kelas mewarisi semua
atribut, operasi, relasi dari kelas yang berada dalam hirarki pewarisannya.
31. Object Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Pengertian Object Diagram
• Untuk mewakili elemen statis yang ada pada perangkat lunak digunakan
class diagram, untuk menggambarkan instance dari elemen statis tersebut
digunakan object diagram. Dengan kata lain, object diagram
menggambarkan property dari instance tertentu pada sebuah class.
• Object Diagram dinotasikan dengan kotak yang dibagi dalam 2 compartment
• Compartment pertama berisi nama object dan class.
• Comparment kedua berisi atribut dan value dari object.
32. Sequence Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Pengertian Sequence Diagram
• Menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa
message yang digambarkan terhadap waktu.
• Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi
horizontal (objek-objek yang terkait).
• Sequence diagram biasa digunakan untuk menggambarkan skenario atau
rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event
untuk menghasilkan output tertentu.
33. Sequence Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Ketika sebuah object
memanggil method yang
ada pada dirinya sendiri
atau menerima callback
dari object yang lain,
control akan digambarkan
dengan control yang
sudah ada dan disebut
dengan nested focus of
control.
34. Collaboration Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Pengertian Collaboration Diagram
• Mewakili interaksi antara object-object dalam bentuk pesan.
• Collaboration diagram juga menggambarkan interaksi antar objek seperti
sequence diagram, tetapi lebih menekankan pada peran masing-masing
objek dan bukan pada waktu penyampaian message.
35. Collaboration Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Contoh Collaboration Diagram
• Berikut ini adalah contoh dari collaboration diagram :
36. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Pengertian State Machine Diagram
• State Machine Diagram adalah teknik yang umum
digunakan untuk menggambarkan behaviour sebuah
sistem. Hal ini digunakan untuk membantu analis,
perancang dan pengembang untuk memahami perilaku
obyek pada sistem.
• State Machine Diagram digunakan untuk memodelkan
behavior/methode (lifecycle) sebuah kelas atau object
dan memperlihatkan urutan kejadian sesaat (state) yang
dilalui sebuah object atau transisi dari sebuah state ke
state lainnya.
39. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
State dinotasikan seperti kotak dengan
ujung yang tumpul disetiap sudutnya. State
mengambarkan kondisi yang terjadi.
40. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Initial State dinotasikan dengan bentuk bulat dan berwarna
hitam full. Menggambarkan awal dari kondisi/keadaan.
• Final State dinotasikan dengan bentuk bulat putih dan memiliki
titik hitam didalamnya. Menggambarkan akhir dari
kondisi/keadaan.
41. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Transisi dari state awal ke state selanjutnya digambarkan dengan
tanda panah.
• Trigger adalah kondisi yang harus terpenuhi untuk masuk ke state
selanjutnya.
• Effect adalah penyebab dari transisi ke state selanjutnya.
42. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Entry menggambarkan apa yang dilakukan object pada saat
masuk kedalam state.
• Exit menggambarkan apa yang dilakukan object pada saat keluar
dari state.
43. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Sebuah state
machine diagram
mungkin saja
memiliki sub-
machine diagram
seperti pada gambar
disamping.
44. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Cara lain untuk
menggambarkan sub-
machine diagram.
• Simbol yang ada
pada check pin
adalah simbol yang
menandakan bahwa
proses yang ada
didalam check pin
akan digambarkan
pada diagram yang
berbeda.
45. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Apabila didalam suatu state dimungkinkan memiliki lebih dari 1
kondisi exit. Maka anda bisa menggunakan exit point seperti
yang dijelaskan pada gambar diatas.
46. State Machine Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Simbol :
• Penggunaan Join dan Fork juga diperbolehkan apabila ada state
yang bisa berjalan secara merangkap.
49. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Pengertian :
• Package Diagram digunakan untuk mengambarkan pengelompokan berdasarkan
class, atau usecase.
• Package diagram bisa menggambarkan ketergantungan antar bagian dalam suatu
sistem dan bermanfaat dalam mencari letak kesalahan ketika proses kompilasi.
• Package digambarkan dengan rectangle yang menyerupai sebuah folder.
• Implementasi package pada java adalah penggunaan Package, dan pada C#
adalah penggunaan Namespace.
50. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Cara Menentukan Package :
• Kriteria yang bisa dilakukan untuk mengimplementasikan package diagram
berdasarkan Use Case adalah :
• Berdasarkan Ciri-ciri Use Casenya.
• Berdasarkan Aktornya.
51. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Kriteria yang bisa dilakukan untuk mengimplementasikan package diagram
berdasarkan Use Case adalah :
• Berdasarkan Ciri-ciri Use Casenya.
• Berdasarkan Aktornya.
Cara Menentukan Package :
52. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Kriteria yang bisa dilakukan untuk mengimplementasikan package diagram
berdasarkan Class adalah :
• Berdasarkan hubungan inheritance.
• Berdasarkan hubungan composition.
• Berdasarkan hubungan collaborate.
Cara Menentukan Package :
53. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Kriteria yang bisa dilakukan untuk mengimplementasikan package diagram
berdasarkan Class adalah :
• Berdasarkan hubungan inheritance.
• Berdasarkan hubungan composition.
• Berdasarkan hubungan collaborate.
Cara Menentukan Package :
54. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Kriteria yang bisa dilakukan untuk mengimplementasikan package diagram
berdasarkan Class adalah :
• Berdasarkan hubungan inheritance.
• Berdasarkan hubungan composition.
• Berdasarkan hubungan collaborate. (Berinteraksi dengan kelas lain untuk
melaksanakan usecase)
Cara Menentukan Package :
55. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Hubungan Antar Package :
• Antara Package yang satu dengan yang lain memiliki keterkaitan yang berbeda-
beda, dibagi menjadi 2 jenis :
• Dependency
• Generalization
56. Package Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Antara Package yang satu dengan yang lain memiliki keterkaitan yang berbeda-
beda, dibagi menjadi 2 jenis :
• Dependency
• Generalization
Hubungan Antar Package :
58. Component Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
• Component diagram menggambarkan struktur dan hubungan antar
komponen, termasuk ketergantungan (dependency) diantaranya.
• Hubungan komponen dengan class adalah bahwa component merupakan
subsistem berisi class yang bekerja sama merealisasikan antarmuka yang
di instruksikan.
• Terdapat tiga jenis model komponen, yaitu :
• Deployment Component
• Berisi component dalam bentuk executable system, misalnya
Dynamic Link Libraries (DLLs) dan executable (EXEs) untuk
mengeksekusi sebuah system.
• Work Product Component
• Berisi komponen yang merupakan hasil dari fase implementasi
pada proses SDLC, misalnya file source code dan data file.
• Execution Component
• Berisi komponen yang dibuat ketika system dieksekusi, misalnya
object COM+ yang merupakan instance dari DLL.
59. Component Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Component dinotasikan dengan persegi panjang dengan tab. Masing-masing
komponen mempunyai nama.
60. Component Diagram
TIPS – SAD Dudy Fathan Ali S.Kom
Kita bisa menggambarkan class yang berada di dalam component dan
relationship antara class tersebut dengan component diagram.
61. TIPS – SAD Dudy Fathan Ali S.Kom
Terima Kasih
Dudy Fathan Ali S.Kom
dudy.fathan@eng.ui.ac.id