PENJELASAN LENGKAP 14 JENIS UNIFIED MODELLING LANGUAGE (UML)
UNIFIED MODELLING LANGUAGE (UML)
A. Pengertian Unified Modelling
Language (UML)
Unified
Modelling Language
(UML) adalah metode pemodelan visual yang digunakan untuk merancang sistem
berorientasi objek. Diciptakan oleh Object Management Group, versi awal UML,
1.0, diluncurkan pada Januari 1997. UML dapat diartikan sebagai bahasa standar
untuk visualisasi, perancangan, dan pendokumentasian sistem, atau sebagai
bahasa standar untuk penulisan blueprint perangkat lunak. UML bertujuan
mempermudah pengembangan perangkat lunak (RPL) dengan memenuhi semua kebutuhan
pengguna secara efektif, lengkap, dan tepat, termasuk aspek scalability,
robustness, dan security.
B. Sejarah Unified Modeling
Language (UML)
·
Awal
Mula
Pada
tahun 1996, Object Management Group (OMG) mengeluarkan Request for Proposal
(RFP) untuk menciptakan standar pemodelan yang terpadu. RFP ini memungkinkan
berbagai organisasi untuk bekerja sama dalam merespons permintaan tersebut
dengan mengembangkan metode pemodelan yang baru.
· Pembentukan Konsorsium UML
Rational
Software Corporation memimpin pembentukan konsorsium mitra UML, mengajak
berbagai organisasi lain untuk menginvestasikan sumber daya mereka dalam
menginisiasi UML versi 1.0. Kontributor awal untuk UML 1.0 termasuk Digital
Equipment Corp, HP, i-Logix, IntelliCorp, IBM, ICON Computing, MCI Systemhouse,
Microsoft, Oracle, Rational, TI, dan Unisys. UML versi 1.0 kemudian diajukan
kepada OMG pada Januari 1997 sebagai respons atas RFP awal tersebut.
· Pengembangan UML 1.1
Pada
Januari 1997, perusahaan seperti IBM, ObjectTime, Platinum Energy, Ptech,
Taskon, Reich Technology, dan Softeam juga mengajukan RFP terpisah kepada OMG.
Perusahaan-perusahaan ini kemudian bergabung untuk berkontribusi pada versi
baru UML, yaitu UML 1.1. Versi ini memasukkan berbagai ide dari mitra baru dan
memperbaiki versi sebelumnya.
· Adopsi dan Pengembangan Lebih
Lanjut
UML
1.1 diajukan ke OMG untuk dipertimbangkan dan akhirnya diadopsi pada musim
gugur tahun 1997. UML terus berkembang dari versi 1.1 menjadi 1.5, kemudian
diperbarui lagi menjadi UML 2.1 dari 01 hingga 06. Versi terbaru dari UML saat
ini adalah UML 2.5.
· Standarisasi Internasional
Pada
tahun 2005, UML diumumkan sebagai standar oleh International Organization for
Standardization (ISO), mengukuhkan posisinya sebagai bahasa pemodelan yang
diakui secara global untuk perancangan dan pengembangan sistem perangkat lunak
berorientasi objek.
C.
Tujuan
dan Fungsi Unified Modelling Language (UML):
1. Memberikan
Bahasa Pemodelan Visual Bagi Pengguna dari Berbagai Bahasa Pemrograman dan
Proses Rekayasa:
UML
menyediakan cara standar untuk memvisualisasikan dan mendesain sistem yang
dapat dipahami oleh pengguna dengan latar belakang pemrograman yang berbeda.
Hal ini membantu menyatukan berbagai konsep pemrograman dalam satu format
visual yang konsisten.
2.
Menggabungkan
Informasi Terbaik dalam Pemodelan:
UML
mengumpulkan praktik terbaik dari berbagai metode pemodelan dan
mengintegrasikannya menjadi satu bahasa pemodelan yang komprehensif. Ini
memungkinkan pengembang untuk menggunakan teknik dan strategi terbaik yang
telah terbukti efektif dalam pemodelan sistem.
3. Menyediakan
Model atau Bahasa Pemodelan Visual yang Ekspresif dalam Pengembangan Sistem:
UML
menawarkan berbagai diagram yang dapat digunakan untuk memodelkan berbagai
aspek sistem secara detail dan jelas, membantu pengembang dan pemangku
kepentingan untuk memahami dan berkomunikasi tentang sistem dengan lebih baik.
4. Memodelkan
Tidak Hanya Sistem Perangkat Lunak, Tetapi Juga Sistem Berorientasi Objek:
UML
dirancang untuk memodelkan sistem yang kompleks, termasuk sistem perangkat
lunak dan sistem berorientasi objek. Ini memungkinkan pengguna untuk
mendefinisikan struktur dan perilaku objek dalam sistem secara komprehensif.
5.
Mempermudah
Pengguna dalam Memahami Suatu Sistem:
Dengan
menggunakan representasi visual, UML membuat konsep dan struktur sistem lebih
mudah dipahami oleh berbagai pemangku kepentingan, termasuk yang mungkin tidak
memiliki latar belakang teknis yang kuat.
6. Berfungsi
Sebagai Blueprint yang Menjelaskan Detail Perancangan Hingga Coding
Program:
UML
berfungsi sebagai cetak biru (blueprint) yang menggambarkan detail
perancangan sistem secara lengkap, termasuk elemen-elemen desain yang penting
dan spesifikasi teknis yang dapat digunakan oleh pengembang selama proses
pengkodean.
7. Digunakan
Sebagai Alat Transfer Ilmu Tentang Sistem Aplikasi yang Akan Dikembangkan
Antara Developer:
UML memfasilitasi transfer pengetahuan antar pengembang dengan menyediakan dokumentasi visual yang jelas dan terstandarisasi. Ini sangat berguna dalam tim pengembangan yang terdiri dari banyak anggota atau dalam proyek yang melibatkan pengembang dari berbagai latar belakang dan lokasi. Dengan fungsi-fungsi ini, UML menjadi alat yang sangat penting dalam perancangan dan pengembangan sistem, memungkinkan pengembangan yang lebih terstruktur, efisien, dan efektif. UML penting karena berfungsi sebagai jembatan antara pengembang sistem dan pengguna, memungkinkan pengguna untuk memahami sistem yang akan dikembangkan. Diagram Struktural (Structural Diagram) dengan Diagram Perilaku (Behavioral Diagram) adalah dua kategori utama dalam pemodelan sistem dengan UML (Unified Modeling Language). Keduanya digunakan untuk memodelkan aspek yang berbeda dari sebuah sistem.
D. Perbedaan
Diagram Struktural
(Structural Diagram) dengan Diagram Perilaku (Behavioral Diagram)
1. Fokus:
· Komponen
Statis: Diagram struktural berfokus pada elemen-elemen statis dari sebuah
sistem dan hubungan antar elemen-elemen tersebut, yang mencakup struktur dasar
dan hubungan yang tidak berubah seiring waktu.
· Komponen
Dinamis: Diagram perilaku berfokus pada bagaimana elemen-elemen sistem
berinteraksi dan bagaimana perilaku sistem berubah seiring waktu, yang mencakup
alur kerja, interaksi, dan perubahan keadaan sistem.
2. Tujuan:
· Diagram
struktural bertujuan untuk menggambarkan struktur internal sistem, memahami dan
merencanakan arsitektur sistem, serta mengidentifikasi elemen-elemen utama
dalam sistem dan bagaimana mereka saling terkait.
· Diagram
perilaku bertujuan untuk memodelkan alur proses dan interaksi dalam sistem, menggambarkan
bagaimana elemen-elemen sistem berinteraksi dan berfungsi Bersama, serta mengidentifikasi
alur kerja, keputusan, dan perubahan keadaan dalam sistem.
3. Jenis:
· Jenis
Diagram Struktural: Composite Structure Diagram, Deployment Diagram, Package
Diagram, Profile Diagram, Class Diagram, Object Diagram, dan Component
Diagram.
· Jenis Diagram Perilaku: Activity Diagram, Use
Case Diagram, State Machine Diagram, Interaction Diagram (Sequence Diagram, Communication
Diagram, Interaction Overview Diagram, dan Timing Diagram).
E. Jenis-Jenis Diagram Struktural Diagram
Struktural (Structural Diagram) dengan Diagram Perilaku (Behavioral
Diagram)
1. Diagram Struktural (Structural
Diagram)
Diagram struktural adalah representasi statis dari sebuah
sistem yang menggambarkan bagaimana komponen-komponen sistem saling
berhubungan. Diagram ini digunakan untuk memodelkan arsitektur dan desain
perangkat lunak, serta untuk mengkomunikasikan struktur sistem kepada pemangku
kepentingan, baik teknis maupun non-teknis. Beberapa contoh diagram struktural
adalah:
A. Composite
Structure Diagram
Composite
Structure Diagram adalah salah satu jenis baru yang ditambahkan ke UML 2.0.
Diagram struktur komposit adalah diagram struktural UML yang berisi kelas,
antarmuka, paket, dan hubungannya, dan yang memberikan pandangan logis dari
semua, atau bagian dari sistem perangkat lunak. Ini menunjukkan struktur
internal (termasuk bagian dan konektor) dari pengklasifikasi atau kolaborasi
terstruktur. Diagram struktur komposit menjalankan peran serupa dengan diagram
kelas, namun memungkinkan menjelaskan lebih detail struktur internal beberapa
kelas dan menunjukkan interaksi di antara mereka, dapat secara grafis mewakili
kelas-kelas dalam dan bagian-bagiannya serta menunjukkan hubungan antara dan di
dalam kelas.
Diagram Struktur Komposit
· Diagram menunjukkan
bagian internal suatu kelas.
· Bagian
diberi nama: partName:partType[multiplisitas].
· Kelas
gabungan adalah bagian dari suatu kelas tetapi bagian belum tentu merupakan
kelas, bagian adalah elemen apa pun yang digunakan untuk membentuk kelas yang
menampungnya.
Contoh Penerapan:
Toko online
Misalkan kita sedang memodelkan sistem untuk toko
online. Klien telah memberi tahu bahwa pelanggan dapat bergabung dengan program
keanggotaan yang akan memberi mereka penawaran khusus dan diskon pengiriman,
jadi telah diperluas objek pelanggan untuk memberikan opsi anggota dan standar.
Pada contoh di atas, dapat dilihat:
· StoreManager
dari sudut pandangnya sendiri, bukan dari sistem secara keseluruhan.
· StoreManager
secara langsung berisi dua jenis objek (Customer dan Item)
seperti yang ditunjukkan oleh dua panah komposisi pada diagram kelas.
· Diagram
struktur komposit di sini menunjukkan lebih eksplisit adalah masuknya subtipe
Pelanggan.
· Perhatikan
bahwa tipe kedua bagian ini adalah Pelanggan, karena toko melihat keduanya
sebagai objek Pelanggan.
· Konektor
yang menunjukkan hubungan antara Item dan Pesanan.
· Urutan
tidak secara langsung terkandung dalam kelas StoreManager tetapi dapat
menunjukkan hubungan ke bagian-bagian yang disarangkan dalam objek yang
dikumpulkannya.
Konsep
Dasar Diagram Struktur Komposit: Entitas struktur komposit utama yang diidentifikasi
dalam spesifikasi UML 2.0 adalah pengklasifikasi terstruktur, bagian, port,
konektor, dan kolaborasi.
· Kolaborasi
menggambarkan struktur bagian-bagian yang berkolaborasi (peran).
Kolaborasi dilampirkan ke operasi atau pengklasifikasi melalui penggunaan kolaborasi,
dengan menggunakan kolaborasi ketika hanya ingin menentukan peran dan koneksi
yang diperlukan untuk mencapai tujuan kolaborasi tertentu. Misalnya, tujuan
kolaborasi bisa untuk menentukan peran atau komponen pengklasifikasi. Dengan
mengisolasi peran utama, kolaborasi menyederhanakan struktur dan memperjelas
perilaku dalam suatu model.
Contoh
Dalam contoh ini Roda dan Mesin adalah Bagian dari
Kolaborasi dan Gandar Depan dan Gandar Belakang adalah Penghubungnya. Mobil
adalah Struktur Komposit yang menunjukkan bagian-bagian dan hubungan antar
bagian.
Kolaborasi Mobil
· Bagian adalah
elemen diagram yang mewakili sekumpulan satu atau lebih instance yang
dimiliki oleh pengklasifikasi terstruktur. Bagian menjelaskan peran sebuah instance
dalam pengklasifikasi, dapat membuat bagian dalam kompartemen struktur
pengklasifikasi, dan dalam beberapa diagram UML seperti struktur komposit,
kelas, objek, komponen, penerapan, dan diagram paket.
· Port
mendefinisikan titik interaksi antara instance pengklasifikasi dan
lingkungannya atau antara perilaku pengklasifikasi dan bagian internalnya.
· Antarmuka adalah
diagram struktur komposit mendukung notasi ball-and-socket untuk
antarmuka yang disediakan dan diperlukan. Antarmuka dapat ditampilkan atau
disembunyikan dalam diagram sesuai kebutuhan.
· Penyambung adalah garis
yang mewakili hubungan dalam suatu model. Saat memodelkan struktur internal
pengklasifikasi, dapat menggunakan konektor untuk menunjukkan tautan antara dua
atau lebih contoh bagian atau port. Konektor mendefinisikan hubungan
antara objek atau instance yang terikat pada peran dalam pengklasifikasi
terstruktur yang sama dan mengidentifikasi komunikasi antara peran tersebut.
Produk secara otomatis menentukan jenis konektor yang akan dibuat.
B. Deployment
Diagram
Deployment
Diagram adalah salah satu model diagram dalam UML untuk mengerahkan artefak
dalam node. Deployment diagram digunakan untuk memvisualisasikan
hubungan antara software dan hardware. Secara spesifik deployment
diagram dapat membuat physical model tentang bagaimana komponen
perangkat lunak (artefak) digunakan pada komponen perangkat keras, yang dikenal
sebagai node. Ini adalah salah satu diagram paling penting dalam tingkat
implementasi perangkat lunak dan ditulis sebelum melakukan coding. Deployment
diagram sederhana yang disederhanakan untuk aplikasi web akan mencakup:
·
Nodes (application server dan database
server)
Contoh: Komputer/PDA, laptop, handphone, serta
peralatan komunikasi data (router, hub, switch, modem)
·
Artifacts (application client dan database
schema)
Artefak merupakan spesifikasi dari bentuk informasi
fisik yang digunakan atau dihasilkan. Selain itu, artefak dapat dihubungkan
dengan komponen pada component diagram dan hanya digambarkan dalam
sebuah node
Contoh: source file, script, executable file, table
di database, document word/excel, e-mail, dll.
Contoh Penerapan:

Dari konteksnya, tampaknya diagram deployment
melibatkan komponen-komponen berikut:
· BrowserClient
dan RichClient, yang merupakan aplikasi sisi klien yang berjalan di Windows.
· HerculesClient.exe,
yang merupakan file executable terkait dengan aplikasi sisi klien.
· Application
Server, yang merupakan komponen sisi server yang meng-host EJB Container.
· JoveGL.exe,
yang merupakan file executable terkait dengan Application Server.
· Deployed
artifact, yang kemungkinan adalah file WAR (HerculesWeb.war) yang di-deploy
pada Application Server.
· EJB
Container, yang merupakan komponen yang mengelola Enterprise JavaBeans (EJB)
pada Application Server.
· HerculesBase.car,
yang merupakan file konfigurasi atau deployment descriptor untuk EJB Container.
· WebServer,
yang merupakan komponen sisi server yang meng-host Application Server.
· OracleDBMS,
yang merupakan sistem manajemen basis data yang digunakan oleh Application
Server.
· Device
node, yang mewakili perangkat fisik atau logis dalam lingkungan deployment.
Diagram ini kemungkinan menunjukkan deployment
aplikasi HerculesWeb pada WebServer, yang berinteraksi dengan OracleDBMS dan
menyediakan layanan kepada aplikasi sisi klien (BrowserClient dan RichClient)
melalui protokol HTTP atau Java RMI.
C. Package
Diagram
Package
Diagram merupakan salah satu Structure UML Diagram yang menggambarkan “paket”
kelas, atau komponen sistem lainnya dan disertai dengan keterangan
ketergantungan kelas satu dengan kelas lainnya. Tujuan utama penggunaan Package
Diagram yakni adalah memberikan overview sekumpulan kebutuhan dan
desain arsitektur dari sebuah sistem yang memiliki hubungan logis dalam diagram
modularnya (memecah sistem menjadi bagian kecil).
Packages Diagram Memiliki 3 Simbol:
· Packages
berisikan sekumpulan elemen UML yang saling memiliki hubungan logical.
· Notasi import
mengartikan sebuah package mengimport sebuah fungsi dari Package
lain dan memberikan One Way Permission yang dapat dijelaskan seperti Package
A meng-import Package B, maka Package A bisa dapat memakai
fungsi Package B, tetapi Package B tidak bisa menggunakan fungsi Package
A.
·
Notasi access mengartikan sebuah package
membutuhkan fungsi dari package lain untuk menjalankan fungsi itu
sendiri.
Package biasanya juga sering bergabung dengan package
lain agar fungsi kedua package berjalan dengan lebih efisien, operasi
ini disebut sebagai (Package Merge) atau Penggabungan Paket adalah
hubungan terarah antara dua paket yang menunjukkan bahwa konten suatu paket
diperpanjang oleh konten paket lain. Mekanisme ini digunakan ketika elemen di
sebuah paket memiliki nama yang sama dengan paket dan mewakili konsep yang sama
(2 paket dengan nama yang sama). Package Merge sering digunakan untuk
memberikan definisi yang berbeda dari konsep yang diberikan untuk tujuan yang
berbeda, dimulai dari definisi dasar yang sama.
Contoh
Penerapan:

Terdapat empat paket utama: Web Shopping, Mobile
Shopping, Phone Shopping, dan Mail Shopping. Paket-paket ini
tampaknya mewakili saluran atau platform berbeda untuk belanja online.
· Paket Web
Shopping dan Mobile Shopping digabungkan, menunjukkan bahwa mereka
berbagi beberapa elemen atau fungsi yang sama.
· Paket Mobile
Shopping dan Phone Shopping juga digabungkan, menunjukkan bahwa
mereka memiliki beberapa komponen yang tumpang tindih atau berbagi.
· Paket Payment
digunakan oleh paket Shopping Cart, yang menyiratkan bahwa fungsi
pembayaran diintegrasikan dengan keranjang belanja.
· Paket Shopping
Cart memiliki ketergantungan impor privat pada paket Inventory,
menunjukkan bahwa keranjang belanja bergantung pada sistem inventaris tetapi
tidak mengeksposnya ke dunia luar.
· Paket Customer
diimpor secara publik, menunjukkan bahwa informasi pelanggan dapat diakses oleh
bagian lain dari sistem.
· Paket K
Mail Shopping juga ada, tetapi hubungannya dengan paket lain tidak
ditunjukkan secara eksplisit.
Diagram
ini di-host di uml-diagrams.org, yang merupakan platform untuk membuat dan
berbagi diagram UML. Secara keseluruhan, diagram paket ini tampaknya
menggambarkan arsitektur tingkat tinggi dari sebuah sistem e-commerce,
menyoroti hubungan antara berbagai komponen dan paket.
D. Profile
Diagram
Diagram Profil
(Profile Diagram) adalah jenis diagram dalam UML yang digunakan untuk
menunjukkan bagaimana paket, kelas, dan elemen UML lainnya dikonfigurasi untuk
domain atau platform tertentu. Diagram ini memungkinkan untuk menentukan
penggunaan profil UML khusus yang menambahkan metadata atau properti tambahan
ke elemen UML. Profil ini dapat mencakup stereotype, tagged values, dan constraint
yang dapat digunakan untuk memberikan informasi tambahan tentang elemen UML
yang digunakan dalam model. Stereotype ditampilkan dalam tanda kurung sudut (<< >>) sebelum nama elemen UML, tagged values ditampilkan
sebagai atribut tambahan dengan nilai tertentu, dan constraint ditampilkan
dalam kurung kurawal ({ }) dengan teks khusus.
Contoh Penerapan:

Ada dua profil diagram, sebuah profil adalah
kumpulan stereotype yang dapat diterapkan pada sebuah model. Stereotype
A dan Stereotype B adalah dua stereotype yang merupakan bagian
dari Profil. Sebuah stereotype adalah cara untuk memperluas semantik
dari sebuah elemen UML. Stereotype A memiliki dua atribut: Attribute1
dengan tipe Integer dan Attribute2 dengan tipe String.
Abstract Stereotype adalah
sebuah stereotype yang diterapkan pada Metaclass. Sebuah metaclass
adalah kelas yang instansinya adalah kelas.
Stereotype lainnya adalah stereotype
lain yang merupakan bagian dari profil lainnya. Diagram tersebut menunjukkan
hubungan antara stereotype dan profil yang menunjukkan bagaimana mereka
diorganisir dan berhubungan satu sama lain.
E. Class
Diagram
Diagram Kelas
(Class Diagram) adalah jenis diagram dalam UML yang digunakan untuk
memodelkan struktur statis dari sistem dengan menunjukkan kelas, atribut,
operasi, dan hubungan antar kelas. Diagram ini membantu dalam memvisualisasikan
struktur kelas dan hubungan antar kelas dalam sistem, serta menunjukkan
bagaimana informasi disimpan dalam bentuk objek. Diagram kelas juga dapat
digunakan untuk menganalisis, merancang, dan memahami sistem yang akan
dibangun.
Simbol Pada Class Diagram
· Kelas:
Simbolnya Kotak dengan tiga bagian (bagian atas untuk nama kelas, bagian tengah
untuk atribut, dan bagian bawah untuk operasi)
· Hubungan
antar Kelas:
o Asosiasi:
Garis yang menghubungkan dua kelas dengan panah di ujungnya, menunjukkan
hubungan antar kelas.
o Agregasi:
Garis dengan ujung berbentuk diamond di salah satu ujungnya, menunjukkan
hubungan whole-part antara kelas.
o Komposisi:
Garis dengan ujung berbentuk diamond yang diisi di salah satu ujungnya,
menunjukkan hubungan whole-part yang lebih kuat daripada agregasi.
o Generalisasi:
Garis dengan panah dari kelas anak ke kelas induk, menunjukkan hubungan inheritance
antar kelas.
Contoh
Penerapan:

F. Object
Diagram
Diagram Objek
(Object Diagram) adalah jenis diagram dalam UML yang digunakan untuk
menunjukkan contoh konkret dari objek-objek pada suatu titik waktu dalam
sistem. Diagram ini memberikan gambaran instansiasi dari kelas-kelas yang telah
didefinisikan dalam diagram kelas. Object diagram membantu dalam memahami
bagaimana objek-objek berinteraksi satu sama lain dalam sistem pada saat
tertentu, dan dapat digunakan untuk menguji desain kelas dan
hubungan antar objek.
Simbol Pada Object Diagram
· Objek:
Simbolnya kotak dengan nama objek di dalamnya.
· Hubungan
antar Objek: Objek-objek dihubungkan dengan garis tanpa panah, menunjukkan
hubungan antara objek-objek pada titik waktu tertentu.
· Pada
diagram objek, dapat melihat atribut dan nilai-nilai objek, yang ditampilkan
seperti pada diagram kelas, namun fokusnya adalah pada contoh konkret dari
kelas-kelas yang ada.
Contoh
Penerapan:

Diagram Objek
tunggal tidak bisa menangkap semua kasus yang dibutuhkan. Lebih tepatnya objek
tersebut tidak bisa digunakan dalam menentukan seluruh objek dari sistem. Untuk
itu, maka terdapat beberapa hal yang perlu dilakukan:
· Menganalisa
sebuah sistem kemudian membuat keputusan sesuai dengan kasus yang mempunyai
data penting.
· Mempertimbangan
seputar contoh-contoh yang sesuai dengan fungsi tersebut.
· Ada dua
hal penting yang dibutuhkan di dalam membuat sebuah objek diagram. Dua hal
tersebut adalah objek dan juga link objek diagram harus mempunyai nama yang
juga menunjukkan tujuannya.
· Unsur-unsur
terpentingya adalah untuk dilakukan identifikasi.
· Asosiasi
terhadap objek-objek yang akan dikelompokkan.
· Nilai
yang berasal dari elemen berbeda nanti harus diambil untuk kemudian dimasukkan
ke dalam diagram objek.
· Menambahkan
catatan yang sesuai pada titik di mana lebih membutuhkan penjelasan.
G. Component
Diagram
Component
Diagram adalah diagram UML yang menampilkan komponen dalam system dan hubungan
antara mereka. Saat berurusan dengan dokumentasi sistem yang kompleks, component
diagram dapat membantu memecah sistem menjadi komponen yang lebih kecil. Jadi
tujuan dari komponen diagram adalah:
· Memvisualisasikan
komponen dari suatu sistem
· Membangun
file-file yang dapat dieksekusi dengan menggunakan teknik forward dan reverse
engineering
· Menjelaskan
organisasi dan hubungan dari komponen
Notasi-Notasi pada Component Diagram
· Komponen
(Component): Mewakili bagian modular dari sistem yang memiliki antarmuka
yang jelas dan dapat diimplementasikan serta di-deploy secara
independen.
· Antarmuka
(Interface): Menunjukkan titik interaksi antara komponen. Antarmuka yang
disediakan oleh komponen digambarkan sebagai lingkaran kecil, sedangkan
antarmuka yang diperlukan digambarkan sebagai setengah lingkaran dengan garis
yang mengarah ke antarmuka yang dibutuhkan.
· Hubungan
(Relationship)
o Dependency:
Digambarkan dengan garis putus-putus dengan panah, menunjukkan bahwa satu
komponen bergantung pada komponen lain.
o Association:
Digambarkan dengan garis solid, menunjukkan hubungan antara dua komponen atau
komponen dengan antarmuka.
o Realization:
Digambarkan dengan garis putus-putus dengan panah menuju antarmuka, menunjukkan
bahwa komponen mengimplementasikan antarmuka tersebut.
· Node: Mewakili
elemen fisik dalam sistem, seperti server atau perangkat keras, tempat komponen
di-deploy.
· PortFungsi:
Menunjukkan titik di mana komponen berinteraksi dengan lingkungan luar melalui
antarmuka.
· Artifact:
Mewakili file fisik yang digunakan atau dihasilkan selama pembangunan perangkat
lunak, seperti file source code atau executable.
Contoh Penerapan:

· Mesin: merujuk
pada mesin atau sistem dalam arsitektur keseluruhan.
· Sales:
departemen atau modul yang menangani operasi terkait penjualan.
· Message:
mewakili pesan atau data yang dikirimkan antara komponen.
· Transaction
Processor: bertanggung jawab untuk memproses transaksi,
seperti transaksi keuangan atau data.
· Message
Queue: Antrian pesan adalah buffer yang menyimpan pesan atau data
sementara, memungkinkan komponen berkomunikasi secara asinkron.
· Sales
Server: server atau aplikasi yang mengelola tugas dan data terkait penjualan.
· Accounting:
departemen atau modul yang menangani operasi terkait akuntansi.
· Driver:
komponen perangkat lunak yang memungkinkan satu sistem untuk berinteraksi
dengan sistem atau perangkat keras lainnya.
· Accounting
System: sistem atau perangkat lunak
yang mengelola tugas dan data terkait akuntansi.
Diagram
tersebut kemungkinan menunjukkan bagaimana komponen-komponen ini berinteraksi
satu sama lain untuk membentuk sistem atau arsitektur yang lengkap.
2. Diagram Perilaku (Behavioral
Diagram)
Diagram Perilaku berfokus pada
bagaimana komponen sistem berinteraksi dan berubah seiring waktu, diagram
perilaku memodelkan aspek dinamis dari sebuah sistem, menunjukkan bagaimana
komponen-komponen sistem berinteraksi satu sama lain. Diagram ini digunakan
untuk memodelkan interaksi antara objek, proses, dan peristiwa dalam sistem,
serta merupakan alat yang efektif untuk memvisualisasikan dan memahami aspek
dinamis dari perangkat lunak. Beberapa contoh diagram perilaku adalah:
A.
Activity
Diagram
Diagram Aktivitas
mewakili alur kerja dengan cara grafis. Dapat digunakan untuk menggambarkan
alur kerja bisnis atau alur kerja operasional dari setiap komponen dalam sistem,
terkadang diagram aktivitas digunakan sebagai alternatif untuk diagram mesin negara.
Notasi Umum:

·
Start Point adalah lingkaran hitam
kecil. Biasanya digunakan untuk menandakan status awal, tindakan awal, atau
titik awal aktivitas untuk setiap activity diagram.
·
Activity (Aktivitas) merupakan
aktivitas yang dilakukan atau sedang terjadi dalam sistem. Biasanya diawali
dengan “kata kerja” dari aktivitas yang dilakukan.
·
Percabangan atau decision merupakan
suatu titik atau point yang mengindikasikan suatu kondisi di
mana adanya kemungkinan dalam perbedaan transisi. Hal tersebut diperlukan
ketika sistem yang dimiliki memiliki beberapa kemungkinan atau jalan
alternatif.
·
SSynchronization dibagi
menjadi 2 bagian, yaitu fork dan join.
o
Fork (percabangan) digunakan
untuk memecah behaviour (tingkah laku) menjadi activity atau action (aksi)
secara paralel.
o
Join (penggabungan) digunakan
untuk menghubungkan kembali activity dengan action secara
paralel.
·
Merge, menggabungkan flow yang
sudah dipecah menjadi beberapa bagian oleh suatu flow.
·
Swimlanes, memecah activity diagram menjadi
kolom dan baris untuk membagi tanggung jawab objek-objek yang melakukan suatu
aktivitas.
·
Transition, digunakan
untuk menunjukan aktivitas selanjutnya dan sebelumnya.
·
Notasi akhir digunakan untuk menandakan proses
tersebut berakhir. Pada UML, notasi akhir dapat digambarkan dengan simbol
sebuah bull’s eye (mata sapi).
Contoh Penerapan:

· Pemasok
menyediakan informasi: Pemasok berbagi informasi tentang barang yang akan
dipesan.
· Menerima
informasi: Departemen pembelian menerima informasi dari pemasok.
· Membuat
Permintaan Pembelian (SPP): Departemen pembelian membuat Permintaan Pembelian
berdasarkan informasi yang diterima.
· Menyetujui
Permintaan Pembelian (SPP): Permintaan Pembelian disetujui.
· Membuat
Surat Perintah Pembelian (SPBJ): Surat Perintah Pembelian dibuat berdasarkan
Permintaan Pembelian yang disetujui.
· Menandatangani
Surat Perintah Pembelian (SPBJ): Surat Perintah Pembelian ditandatangani untuk
mengonfirmasi persetujuan.
· Mengirim
barang dengan faktur: Pemasok mengirimkan barang beserta faktur.
· Menerima
Surat Perintah Pembelian (SPBJ): Departemen pembelian menerima Surat Perintah
Pembelian.
· Melakukan
pembayaran: Pembayaran untuk barang dilakukan.
· Mengkonfirmasi
pembayaran: Konfirmasi pembayaran dikirimkan ke pemasok.
· Menerima
pembayaran: Pemasok menerima pembayaran.
· Menerima
kwitansi: Departemen pembelian menerima kwitansi dari pemasok.
· Membuat
kwitansi: Departemen pembelian membuat kwitansi untuk transaksi tersebut.
· Proses
ini memastikan aliran informasi dan barang yang jelas dan terorganisir antara
pemasok dan departemen pembelian, mulai dari permintaan awal untuk barang
hingga penerimaan pembayaran dan barang.
B.
Use Case Diagram
Use Case
Diagram adalah satu dari berbagai jenis diagram UML (Unified Modelling
Language) yang menggambarkan hubungan interaksi antara sistem dan aktor. Use
Case dapat mendeskripsikan tipe interaksi antara si pengguna sistem dengan
sistemnya. Tentunya, use case diagram merupakan sesuatu yang mudah
dipelajari. Langkah awal untuk melakukan pemodelan, tentu perlunya suatu
diagram yang mampu menjabarkan aksi aktor dengan aksi sistem itu sendiri,
seperti yang terdapat pada use case diagram
Komponen Use Case Diagram:
· Sistem,
digambarkan ke dalam bentuk persegi. Fungsinya untuk membatasi use case
dengan interaksi dari luar sistem. Sistem pada umumnya diberikan label yang
sesuai. Namun, umumnya sistem ini tidaklah diberi gambar karena kita tidak
terlalu memberikan makna pada sebuah diagram.
· Actor, fungsi
aktor menjelaskan siapa yang berinteraksi dengan sistem. Aktor akan memberikan
informasi kepada sistem, serta menerima informasi dari sistem. Keduanya bisa
terjadi secara bersamaan. Aktor tidak memberikan kontrol terhadap sistem, namun
hanya memberikan gambaran mengenai hubungannya dengan sistem.
· Use Case, ialah komponen
gambaran fungsional dalam sebuah sistem. Sehingga konsumen maupun pembuat
saling mengenal dan mengerti mengenai alur sistem yang akan dibuat.
Contoh Penerapan:
OVO adalah aplikasi pintar yang memberikan
kemudahan dalam bertransaksi (OVO Cash), serta berfungsi untuk mengumpulkan
poin di banyak tempat (OVO Points).

·
User: Orang yang dapat mengakses atau menggunakan
aplikasi OVO, mulai dari login ke aplikasi hingga melakukan aksi
terhadap aplikasi seperti top up saldo, transfer, dan payment.
· Register:
Register merupakan langkah pertama yang dilakukan user ketika ia tidak mempunyai
akses pada aplikasi OVO. Mendaftarkan data diri ke dalam aplikasi agar
dikenali.
· Login:
Setelah mendapatkan akun, user harus melakukan login agar dapat
mengakses berbagai fitur aplikasi OVO.
· Top Up: Suatu
kegiatan yang dilakukan user untuk mengisi ulang saldo OVO. Terdapat 2 pilihan
alternatif untuk melakukan top up saldo, yaitu melalui ATM dan internet
banking.
· Transfer:
berfungsi untuk mengirim atau membagikan saldo dalam aplikasi OVO ke pengguna
lain, baik sesama OVO atau ke rekening tertentu.
·
Payment: Ketika user memilih menu payment,
maka user dapat melakukan pembayaran lewat aplikasi.
C.
State Machine Diagram
State
Diagram merupakan diagram yang menggambarkan perubahan dan transisi keadaan
(dari satu status ke status lainnya) sebuah objek pada program sebagai akibat
dari stimulan yang diterima. Termasuk ke dalam Behavioral Diagrams
karena diagram ini berfungsi untuk memodelkan metode/behavior (lifecycle)
sebuah kelas atau objek untuk menunjukkan urutan kejadian sesaat (status) yang
dilewati sebuah objek, transisi dari sebuah status ke status lainnya. State
Diagram menggambarkan seluruh status yang membolehkan objek-objek dalam
kelas dapat dipunyai dan kejadian yang memicu status berubah. Perubahan dalam
suatu status juga disebut transisi (transition).
Notasi State Diagram:
· Notasi State
merupakan notasi yang menggambarkan suatu kondisi yang terjadi pada objek
yang dapat memenuhi beberapa kondisi untuk melakukan kegiatan atau menunggu
suatu kejadian.
· Transition, sebuah
tanda panah yang menunjukkan hubungan antara dua state di mana objek di state
pertama akan melakukan tindakan tertentu dan memasuki state kedua saat
peristiwa tertentu terjadi dan kondisi akan terpenuhi.
· Event, suatu
kejadian yang dapat membuat state dari object berubah. Digunakan untuk
menggambarkan keadaan saat masuk (entry point) atau keluar (exit
point).
·
Initial State dan Final State
o Initial
State: yang disebut juga initial pseudo-state ini digunakan untuk
menggambarkan awal dari kejadian.
o Final
State: digunakan untuk menjelaskan/menggambarkan akhir
(end) dari kejadian di dalam State
Diagram.
Contoh Penerapan:

Di atas adalah contoh state diagram untuk
objek produk. Sistem diawali dengan merchant meng-input data
produk, kemudian status akan berubah menjadi data produk ter-upload.
Kemudian merchant menyimpan data produk, dan sistem akan merespon dengan
laporan data berhasil tersimpan.
D.
Interaction Diagram
Interaction diagram digunakan untuk memodelkan interaksi antara objek dalam
sistem pada level yang lebih detail.
1. Sequence
Diagram
Sequence
Diagram atau diagram urutan adalah sebuah diagram yang digunakan untuk
menjelaskan dan menampilkan interaksi antar objek-objek dalam sebuah sistem
secara terperinci. Selain itu sequence diagaram juga akan menampilkan
pesan atau perintah yang dikirim, beserta waktu pelaksanaannya. Objek-objek
yang berhubungan dengan berjalannya proses operasi biasanya diurutkan dari kiri
ke kanan. Diagram urutan dapat digunakan untuk menggambarkan serangkaian
langkah yang dilakukan sebagai respon dari sebuah peristiwa untuk menghasilkan
suatu output tertentu. Sequence diagram berhubungan dan berkaitan
erat dengan use case diagram, di mana satu use case diagram akan
menjadi satu diagram sequence. Tujuan utama dari pembuatan diagram
urutan adalah untuk mengetahui urutan kejadian yang dapat menghasilkan output
yang diinginkan. Selain itu, tujuan dari diagram urutan ini mirip dengan activity
diagram, seperti menggambarkan alur kerja dari sebuah aktivitas, serta
dapat menggambarkan aliran data dengan lebih detail, termasuk data atau
perilaku yang diterima atau dikirimkan.
Komponen-Komponen
yang Digunakan
· Aktor, komponen
ini menggambarkan seorang pengguna (user) yang berada di luar sistem dan
sedang berinteraksi dengan sistem. Dalam sequence diagram, aktor
biasanya digambarkan dengan simbol stick figure.
· Activation
box, yang merepresentasikan waktu yang dibutuhkan suatu objek untuk
menyelesaikan tugasnya. Semakin lama waktu yang diperlukan, maka secara
otomatis activation boxnya juga akan menjadi lebih panjang. Komponen ini
digambarkan dengan bentuk persegi panjang.
· Lifeline, komponen
ini digambarkan dengan bentuk garis putus-putus, biasanya memiliki kotak yang berisi objek yang
memiliki fungsi untuk menggambarkan aktifitas dari objek.
· Objek, komponen
objek ini digambarkan memiliki bentuk kotak yang berisikan nama dari objek
dengan garis bawah. Biasanya objek berfungsi untuk mendokumentasikan perilaku
sebuah objek pada sebuah sistem.
· Messages, untuk
menggambarkan komunikasi antar objek, biasanya muncul secara berurutan pada lifeline.
Komponen messages ini direpresentasikan dengan anak panah. Inti dari
sebuah diagram urutan terdapat pada komponen lifeline dan messages
ini.
Contoh Penerapan:

Pada contoh di atas, terdapat satu aktor
(mahasiswa) dan empat objek, yaitu user login, sistem, database, dan
dashboard. Pertama-tama mahasiswa akan masuk ke tampilan user login
dengan menggunakan ID dan password. Lalu, sistem akan mengirimkan data
tersebut ke database untuk divalidasi. Di dalam database data mahasiswa akan
diperiksa dan divalidasi. Jika data yang dimasukan salah dan tidak valid, maka
akan menampilkan pesan bahwa ID atau password salah. Sedangkan jika data
yang dimasukan benar dan valid, maka sistem akan menampilkan dashboard
aplikasi.
2. Communication
Diagram
Communication
Diagram merupakan penyederhanaan dari Diagram Kolaborasi. Menggambarkan
interaksi antar objek/bagian dalam bentuk urutan pengiriman pesan. Diagram ini
merepresentasikan informasi yang diperoleh dari diagram kelas. Dalam Diagram
ini yang dituliskan adalah operasi/metode yang dijalankan antar objek.
Tujuan
Communication Diagram:
·
Model pesan melewati antara objek atau peran
yang mengantarkan fungsionalitas kasus dan operasi penggunaan.
·
Mekanisme model dalam desain arsitektur sistem.
·
Tangkap interaksi yang menunjukkan pesan yang
dilewatkan antara objek dan peran dalam skenario kolaborasi.
·
Model skenario alternatif dalam kasus
penggunaan atau operasi yang melibatkan kolaborasi dari berbagai objek dan
interaksi.
·
Dukung identifikasi objek (karenanya kelas),
dan atributnya (parameter pesan) dan operasi (pesan) yang ikut serta dalam use
case.
Contoh Penerapan:
Komunikasi
dimulai dengan 1 *: find_books () - pesan berulang yang dapat diulang beberapa
jumlah waktu yang tidak ditentukan. Klien mencari inventaris buku, dan jika dia
tertarik dengan beberapa buku, dia dapat melihat deskripsi buku ini (1.2
[interested]: view_book ()). Jika klien memutuskan untuk membeli, dia dapat
menambahkan buku ke keranjang belanja - 1.3 [memutuskan untuk membeli]:
add_to_cart (). Checkout termasuk mendapatkan daftar buku dari keranjang
belanja, membuat pesanan, dan memperbarui inventaris, jika pesanan selesai.
Elemen Utama:
·
Frame Diagram, Communication Diagram dapat
ditunjukkan dalam bingkai persegi panjang dengan nama di sudut kiri atas.
·
Lifeline adalah spesialisasi elemen
bernama yang mewakili peserta individual dalam interaksi. Sementara bagian dan
fitur struktural mungkin memiliki multiplisitas lebih besar dari 1, garis hidup
hanya mewakili satu entitas yang berinteraksi.
·
Message di Communication Diagram
ditampilkan sebagai garis dengan urutan ekspresi dan panah di atas garis. Panah
menunjukkan arah komunikasi.
·
Sequence Expression adalah
urutan - urutan dipisahkan urutan - urutan diikuti oleh titik dua
(":") dan nama pesan setelah itu.
3. Interaction
Overview Diagram
Interaction
Overview Diagram merupakan sebuah diagram yang digunakan untuk
melakukan visualisasi mengenai kerja sama yang terjadi antara sequence
diagram dengan activity diagram. Diagram ini juga biasanya dianggap
sebagai sebuah activity diagram di mana seluruh aktivitas digantikan
oleh sequence diagram. Bisa juda diartikan sebagai sebagai sequence
diagram yang kemudian notasi activity diagram-nya dibuat lebih rinci
lalu digunakan untuk memberikan informasi terkait aliran pengawasan.
Komponen
atau Simbol:
·
Decision: merupakan sebuah unsur
pada Interaction Overview Diagram yang bertugas untuk menunjukkan adanya
titik perkembangan yang bersyarat. Jika kondisi benar, maka proses akan terus
berjalan.
· Initial: simbol
yang berfungi untuk mendefinisikan awalan dari aliran pada saat sebuah kegiatan
sedang dipanggil.
· Final: simbol
yang befungsi menunjukkan akhir dari sebuah aktivitas.
· Activity: simbol
yang berfungsi untuk memberikan petunjuk seputar aktivitas atau kegiatan yang
sedang berlangsung.
· Control Flow: sebuah konektor yang berfungsi untuk menghubungkan dua node di dalam diagram aktivitas. Simbol ini akan
berperan sebagai jembatan dari aliran node aktivitas di mana nantinya aliran
tersebut akan mengarah ke node target.

4. Timing
Diagram
Diagram
waktu adalah bentuk lain dari diagram interaksi, dengan fokus utama pada aspek
waktu. Diagram waktu merupakan variasi khusus dari diagram urutan. Perbedaan
antara diagram waktu dan diagram urutan terletak pada orientasi sumbunya, waktu
meningkat dari kiri ke kanan, dan lifeline ditampilkan dalam kompartemen
terpisah yang disusun secara vertikal. Diagram waktu menekankan pada perubahan
kondisi di dalam dan di antara lifeline sepanjang sumbu waktu linear,
serta menggambarkan perilaku baik dari classifiers individu maupun
interaksi antar classifiers.
Notasi
Pada Time Diagram
·
Lifeline: menunjukkan entitas yang berinteraksi dalam diagram.
Lifeline digambarkan dalam kompartemen vertikal dan menunjukkan kondisi dari
waktu ke waktu.
·
State or Condition: menggambarkan kondisi atau status dari lifeline pada
titik waktu tertentu. Biasanya ditunjukkan dengan teks atau simbol dalam
kompartemen lifeline.
·
Duration Constraint: menandai durasi waktu antara dua kondisi atau peristiwa, digunakan
untuk menunjukkan batas waktu antara dua titik dalam diagram.
·
Time Constraint: menyatakan batasan waktu absolut atau relatif pada perubahan
kondisi atau peristiwa.
·
Change Event: menunjukkan perubahan kondisi pada lifeline, biasanya digambarkan dengan titik atau simbol
yang menunjukkan waktu perubahan.
·
Message: menggambarkan komunikasi atau interaksi antara lifeline.
Pesan ini bisa bersifat sinkron atau asinkron dan digambarkan dengan garis
panah.
·
Tick Mark: untuk menandai titik waktu tertentu pada sumbu waktu.
·
Timing Ruler: sumbu horizontal yang menunjukkan skala waktu dalam diagram.
·
Combined Fragment: blok yang mencakup beberapa elemen diagram untuk menunjukkan
interaksi yang lebih kompleks atau kondisi alternatif.
·
Occurrence Specification: titik waktu spesifik di mana
peristiwa terjadi pada lifeline.
Contoh Penerapan:

Gambar di
atas menunjukkan diagram urutan dari contoh tempat parkir mobil, sedangkan
gambar di bawah menunjukkan diagram waktu yang sesuai dari contoh tempat parkir
mobil. Berbagai bagian diagram waktu mengacu pada isi diagram urutan.

Diagram
tersebut menunjukkan interaksi antara berbagai garis hidup (komponen) dalam
sistem parkir mobil. Urutan kejadian adalah sebagai berikut:
· Sebuah
mobil masuk ke tempat parkir.
· Penghalang
dinaikkan (+35) untuk memungkinkan mobil masuk.
· Kemudian
penghalang diturunkan (barrierLowe).
· Jika
penghalang gagal untuk diturunkan (faise Barrier), mesin tiket diblokir.
Sistem
kemudian mengirimkan pesan waktu dari satu garis hidup ke garis hidup lainnya. Diagram
juga menunjukkan status sistem, yang bisa aktif atau tidak aktif. Ada batas
waktu 35 unit (mungkin detik atau menit) yang terkait dengan pengangkatan
penghalang.







Komentar
Posting Komentar