Nama :Raihan Alfarizky Latuconsina
NIM :2023-51-063
Tugas Rekayasa Perangkat Lunak
Diagram-diagram dalam UML
Diagram UML dibagi menjadi dua kategori utama: Diagram Struktur (menggambarkan
bagian statis dari sistem) dan Diagram Perilaku (menggambarkan bagian dinamis atau
interaksi dalam sistem).
I. Diagram Struktur (Structure Diagrams)
Diagram struktur menunjukkan elemen-elemen statis dari sistem dan bagaimana
elemen-elemen tersebut dihubungkan.
1. Diagram Kelas (Class Diagram)
Pengertian: Ini adalah diagram struktur paling fundamental dalam UML. Diagram
kelas memvisualisasikan struktur statis sebuah sistem dengan menampilkan kelas-
kelas, atribut mereka, operasi (metode), dan hubungan antar kelas. Ini seperti cetak
biru arsitektur perangkat lunak Anda.
Fungsi:
o Menggambarkan konsep-konsep kunci dalam domain masalah.
o Memodelkan struktur data dan perilaku sistem.
o Menjadi dasar untuk implementasi kode dalam bahasa pemrograman
berorientasi objek.
o Membantu tim memahami tanggung jawab dan kolaborasi antar bagian
sistem.
Lambang Utama:
o Kelas: Direpresentasikan sebagai persegi panjang dengan tiga
kompartemen:
Nama Kelas (paling atas).
Atribut (di tengah, properti atau karakteristik kelas).
Operasi/Metode (paling bawah, perilaku atau fungsi yang dapat
dilakukan kelas).
o Hubungan:
Asosiasi: Garis lurus yang menunjukkan hubungan struktural antara
dua kelas (misalnya, Siswa memiliki Nilai). Multiplisitas (misalnya
1, * untuk banyak, 0..1 untuk nol atau satu) sering ditambahkan di
ujung garis.
Agregasi: Asosiasi khusus yang menunjukkan hubungan "bagian-
dari" (has-a) di mana bagian (part) dapat eksis secara independen
dari keseluruhan (whole). Digambarkan dengan belah ketupat
kosong di sisi whole. Contoh: Departemen mengandung Dosen.
Dosen bisa ada tanpa departemen.
Komposisi: Asosiasi khusus yang lebih kuat dari agregasi,
menunjukkan hubungan "bagian-dari" (part-of) di mana bagian tidak
dapat eksis tanpa keseluruhan. Digambarkan dengan belah ketupat
terisi di sisi whole. Contoh: Gedung memiliki Ruangan. Ruangan
tidak bisa ada tanpa gedung.
Generalisasi (Inheritance): Hubungan "adalah-sebuah" (is-a) di
mana satu kelas (subclass) mewarisi sifat dan perilaku dari kelas lain
(superclass). Digambarkan dengan garis lurus berujung segitiga
kosong menghadap superclass. Contoh: Dosen adalah seorang
Pegawai.
Dependensi: Garis putus-putus berpanah yang menunjukkan bahwa
satu kelas menggunakan atau bergantung pada kelas lain untuk
fungsinya, tetapi bukan hubungan struktural yang permanen.
Perubahan pada kelas yang dituju bisa memengaruhi kelas sumber.
Contoh: Pembeli membayar Pesanan (pemanggilan metode).
Realisasi (Implementation): Garis putus-putus berpanah dengan
segitiga kosong di ujung yang menunjuk ke interface. Ini
menunjukkan bahwa sebuah kelas mengimplementasikan kontrak
yang didefinisikan oleh sebuah interface.
Penggunaan: Paling sering digunakan dalam fase desain sistem berorientasi objek.
Esensial untuk merencanakan struktur kode.
Hubungan dengan Diagram Lainnya: Kelas-kelas ini akan diinstansiasi menjadi
objek dalam diagram objek dan diagram interaksi. Mereka diimplementasikan
dalam komponen (diagram komponen) dan kemudian di-deploy (diagram
deployment). Operasi yang didefinisikan dalam kelas direalisasikan dalam perilaku
yang ditunjukkan oleh diagram sekuens atau aktivitas.
2. Diagram Objek (Object Diagram)
Pengertian: Diagram objek adalah "snapshot" atau instansiasi spesifik dari diagram
kelas pada suatu titik waktu. Ia menunjukkan objek-objek konkret dan hubungan
mereka yang sebenarnya (tautan) pada saat tertentu.
Fungsi:
o Menguji dan memvalidasi kebenaran diagram kelas dengan contoh konkret.
o Mengilustrasikan skenario kompleks dengan data nyata.
o Membantu dalam memahami bagaimana objek berinteraksi dalam kasus
tertentu.
Lambang Utama: Mirip dengan kelas, tetapi nama objek digarisbawahi (misalnya,
andi:Siswa) dan nilai atribut dapat disertakan. Tautan antar objek direpresentasikan
sebagai garis lurus.
Penggunaan: Ideal untuk memvisualisasikan struktur data yang kompleks pada
waktu tertentu, atau untuk mengilustrasikan contoh data spesifik.
Hubungan dengan Diagram Lainnya: Merupakan instansiasi langsung dari diagram
kelas.
3. Diagram Komponen (Component Diagram)
Pengertian: Diagram komponen menggambarkan organisasi fisik sistem dalam hal
komponen-komponen perangkat lunak dan ketergantungan mereka. Komponen
adalah unit modular yang dapat di-deploy dan diganti (misalnya, JAR file, DLL,
executable).
Fungsi:
o Memodelkan arsitektur tingkat tinggi dari sistem berbasis komponen.
o Menunjukkan bagaimana sistem dipecah menjadi bagian-bagian yang dapat
dikelola secara independen.
o Menggambarkan interface yang disediakan dan dibutuhkan oleh komponen.
Lambang Utama:
o Komponen: Digambarkan sebagai persegi panjang dengan dua persegi
panjang kecil di sisi kiri, atau persegi panjang dengan ikon komponen di
sudut kanan atas.
o Interface Provided (Lollipop): Lingkaran kecil yang terhubung ke
komponen, menunjukkan layanan yang ditawarkan komponen.
o Interface Required (Socket): Setengah lingkaran yang terhubung ke
komponen, menunjukkan layanan yang dibutuhkan komponen dari yang
lain.
o Ketergantungan: Garis putus-putus berpanah dari komponen yang
membutuhkan ke komponen yang menyediakan interface.
Penggunaan: Penting untuk sistem terdistribusi, arsitektur microservices, atau
sistem besar yang dipecah menjadi modul-modul yang dapat di-deploy secara
terpisah.
Hubungan dengan Diagram Lainnya: Komponen biasanya mengimplementasikan
kelas-kelas yang didefinisikan dalam diagram kelas. Komponen-komponen ini
kemudian akan di-deploy pada node dalam diagram deployment.
4. Diagram Deployment (Deployment Diagram)
Pengertian: Diagram deployment memvisualisasikan topologi fisik dari sistem
perangkat lunak, termasuk perangkat keras (node) dan perangkat lunak (artefak)
yang di-deploy di atasnya.
Fungsi:
o Menggambarkan konfigurasi infrastruktur sistem.
o Menunjukkan di mana komponen-komponen perangkat lunak akan
dijalankan.
o Membantu perencanaan instalasi, konfigurasi, dan pemeliharaan sistem.
Lambang Utama:
o Node: Digambarkan sebagai kubus 3D. Ini bisa berupa perangkat keras
(server, workstation) atau lingkungan eksekusi (mesin virtual, kontainer).
o Artefak: Digambarkan sebagai persegi panjang dengan ikon dokumen di
sudut kanan atas atau dengan kata kunci «artifact». Ini adalah file fisik yang
dapat di-deploy (misalnya, executable, library, script).
o Asosiasi: Garis yang menghubungkan node-node, menunjukkan jalur
komunikasi atau koneksi jaringan.
o Deployment: Artefak ditempatkan di dalam node untuk menunjukkan
bahwa mereka di-deploy di sana.
Penggunaan: Sangat relevan untuk sistem client-server, sistem terdistribusi, atau
sistem embedded yang melibatkan interaksi antara komponen hardware dan
software.
Hubungan dengan Diagram Lainnya: Artefak dalam diagram deployment seringkali
merupakan representasi fisik dari komponen-komponen yang dimodelkan dalam
diagram komponen, atau hasil kompilasi dari kelas-kelas di diagram kelas.
5. Diagram Paket (Package Diagram)
Pengertian: Diagram paket digunakan untuk mengorganisasikan elemen-elemen
model (seperti kelas, use case, atau bahkan diagram lain) ke dalam kelompok-
kelompok logis yang disebut paket. Ini membantu mengelola kompleksitas model
yang besar.
Fungsi:
o Mengatur model ke dalam unit-unit yang lebih besar dan terstruktur.
o Membantu dalam mengelola ruang nama (namespace) dan modularitas
model.
o Memvisualisasikan ketergantungan antar kelompok fungsional atau
struktural.
Lambang Utama: Paket digambarkan sebagai folder dengan tab di atasnya. Nama
paket ditulis di dalam folder atau di tab.
o Ketergantungan Impor: Garis putus-putus berpanah dengan label «import»
menunjukkan bahwa elemen dari satu paket diimpor ke paket lain.
o Ketergantungan Akses: Garis putus-putus berpanah dengan label «access»
menunjukkan bahwa elemen dari satu paket membutuhkan akses ke elemen
di paket lain.
Penggunaan: Sangat berguna untuk proyek besar di mana model menjadi sangat
luas dan perlu diatur secara hierarkis.
Hubungan dengan Diagram Lainnya: Sebuah paket dapat berisi elemen-elemen dari
semua jenis diagram UML lainnya, dan diagram paket menunjukkan bagaimana
paket-paket ini saling bergantung.
6. Diagram Struktur Komposit (Composite Structure Diagram)
Pengertian: Diagram struktur komposit menyediakan pandangan internal dari
struktur kelas, komponen, atau kolaborator. Ini menunjukkan bagian-bagian (parts)
yang membentuk entitas tersebut dan koneksi (connectors) antar bagian, serta
bagaimana bagian-bagian tersebut berinteraksi melalui port.
Fungsi:
o Memodelkan detail implementasi internal dari sebuah struktur yang
kompleks.
o Menggambarkan bagaimana elemen-elemen internal berkolaborasi.
o Mendefinisikan titik-titik interaksi (port) dengan lingkungan luar.
Lambang Utama:
o Bagian (Part): Persegi panjang yang terletak di dalam kelas atau komponen
pemiliknya, menunjukkan peran atau instansi bagian.
o Konektor: Garis lurus yang menghubungkan bagian-bagian, menunjukkan
komunikasi antar mereka.
o Port: Kotak kecil pada batas kelas/komponen, menunjukkan titik interaksi
dengan entitas luar.
Penggunaan: Berguna untuk memodelkan struktur internal black-box yang
kompleks dari komponen, subsistem, atau kelas besar.
Hubungan dengan Diagram Lainnya: Melengkapi diagram kelas dan komponen
dengan memberikan rincian tentang bagaimana struktur internalnya bekerja.
II. Diagram Perilaku (Behavior Diagrams)
Diagram perilaku menggambarkan aspek dinamis dari sistem, bagaimana sistem
merespons peristiwa, dan bagaimana objek berinteraksi.
1. Diagram Use Case (Use Case Diagram)
Pengertian: Diagram use case memberikan pandangan tingkat tinggi tentang
fungsionalitas sistem dari perspektif pengguna (aktor). Ini menunjukkan apa yang
dapat dilakukan sistem dan siapa yang menggunakannya.
Fungsi:
o Menangkap dan mengorganisir kebutuhan fungsional sistem.
o Mengidentifikasi interaksi utama antara pengguna dan sistem.
o Berkomunikasi dengan stakeholder non-teknis tentang cakupan sistem.
Lambang Utama:
o Aktor: Digambarkan sebagai figur stickman, mewakili entitas eksternal
yang berinteraksi dengan sistem (manusia, sistem lain, perangkat keras).
o Use Case: Digambarkan sebagai elips dengan nama use case di dalamnya,
mewakili fungsionalitas atau layanan yang disediakan sistem.
o Asosiasi: Garis lurus yang menghubungkan aktor dengan use case yang
mereka gunakan.
o Relasi Antar Use Case:
«include»: Garis putus-putus berpanah dari use case dasar ke use
case yang disertakan. Menunjukkan bahwa use case dasar selalu
menyertakan fungsionalitas dari use case lain.
«extend»: Garis putus-putus berpanah dari use case ekstensi ke use
case dasar. Menunjukkan bahwa use case dasar dapat diperluas
dengan fungsionalitas use case lain di titik tertentu (kondisional).
Generalisasi: Mirip dengan generalisasi kelas, menunjukkan
spesialisasi dari use case.
o Batas Sistem (System Boundary): Persegi panjang yang mengelilingi semua
use case, menunjukkan cakupan sistem yang dimodelkan.
Penggunaan: Umumnya digunakan pada tahap awal analisis persyaratan untuk
mendefinisikan "apa" yang akan dilakukan sistem.
Hubungan dengan Diagram Lainnya: Setiap use case dapat dipecah menjadi
skenario yang lebih detail dan direalisasikan oleh interaksi objek yang digambarkan
dalam diagram sekuens atau aktivitas.
2. Diagram Aktivitas (Activity Diagram)
Pengertian: Diagram aktivitas menggambarkan alur kontrol atau urutan langkah-
langkah dalam suatu proses bisnis, algoritma, atau realisasi use case. Ini mirip
dengan flowchart tetapi lebih canggih, mendukung perilaku paralel dan
percabangan kompleks.
Fungsi:
o Memodelkan alur kerja proses bisnis.
o Menggambarkan logika di balik suatu operasi atau algoritma.
o Menunjukkan titik keputusan, percabangan, dan penggabungan dalam alur.
o Memodelkan aktivitas paralel.
Lambang Utama:
o Aktivitas/Aksi: Digambarkan sebagai persegi panjang dengan sudut
membulat.
o Panah (Control Flow): Menunjukkan transisi dari satu aktivitas ke aktivitas
berikutnya.
o Initial Node: Lingkaran terisi, menunjukkan titik awal alur.
o Final Node: Lingkaran dengan lingkaran di dalamnya (bullseye),
menunjukkan titik akhir alur.
o Decision Node: Berlian, menunjukkan titik di mana alur dapat bercabang
berdasarkan kondisi (guard conditions).
o Merge Node: Berlian yang menyatukan kembali alur yang telah bercabang.
o Fork Node: Batang tebal horizontal atau vertikal, membagi satu alur
menjadi beberapa alur paralel.
o Join Node: Batang tebal horizontal atau vertikal, menyatukan kembali alur
paralel, menunggu semua alur selesai sebelum melanjutkan.
o Swimlanes (Partitions): Garis vertikal atau horizontal yang membagi
diagram untuk menunjukkan tanggung jawab aktivitas oleh aktor atau
departemen yang berbeda.
Penggunaan: Sangat efektif untuk memodelkan proses bisnis yang kompleks atau
alur kerja dalam sebuah use case.
Hubungan dengan Diagram Lainnya: Dapat merinci alur kerja dalam sebuah use
case. Aktivitas dapat melibatkan objek yang dimodelkan dalam diagram kelas dan
interaksi yang mungkin direalisasikan dalam diagram sekuens.
3. Diagram Status Mesin (State Machine Diagram)
Pengertian: Diagram status mesin (atau sering disebut Diagram Status)
menggambarkan siklus hidup suatu objek atau sistem dengan menunjukkan status-
status yang dapat dialaminya dan transisi antar status yang dipicu oleh peristiwa.
Fungsi:
o Memodelkan perilaku objek yang sangat bergantung pada status (misalnya,
objek pesanan: Dibuat -> Diproses -> Dikirim -> Selesai).
o Menunjukkan peristiwa yang memicu perubahan status.
o Mendefinisikan tindakan yang dilakukan saat memasuki, keluar, atau berada
di suatu status.
Lambang Utama:
o Status: Digambarkan sebagai persegi panjang dengan sudut membulat,
dengan nama status di dalamnya.
o Initial State: Lingkaran terisi, menunjukkan status awal objek.
o Final State: Lingkaran dengan lingkaran di dalamnya (bullseye),
menunjukkan status akhir siklus hidup objek.
o Transisi: Panah berlabel yang menunjukkan perubahan dari satu status ke
status lain. Label transisi bisa berupa: Peristiwa [Kondisi Penjaga] /
Tindakan.
Penggunaan: Ideal untuk memodelkan objek yang memiliki perilaku reaktif atau
siklus hidup yang kompleks, seperti perangkat keras, antarmuka pengguna, atau
entitas bisnis dengan banyak tahapan.
Hubungan dengan Diagram Lainnya: Status-status dalam diagram ini seringkali
merupakan representasi nilai atribut dari kelas yang dimodelkan dalam diagram
kelas. Peristiwa yang memicu transisi dapat berasal dari interaksi yang
digambarkan dalam diagram sekuens.
4. Diagram Sekuens (Sequence Diagram)
Pengertian: Diagram sekuens adalah jenis diagram interaksi yang berfokus pada
urutan waktu pesan yang dipertukarkan antara objek-objek. Ini menunjukkan objek-
objek yang terlibat dalam skenario tertentu (misalnya, realisasi use case) dan urutan
kronologis pesan yang mereka kirim dan terima.
Fungsi:
o Memvisualisasikan alur interaksi temporal antar objek.
o Merinci bagaimana objek berkolaborasi untuk mencapai tujuan tertentu
(misalnya, langkah-langkah dalam use case).
o Mengidentifikasi potensi masalah race condition atau deadlock terkait
waktu.
Lambang Utama:
o Objek/Lifeline: Digambarkan sebagai persegi panjang dengan garis putus-
putus vertikal di bawahnya. Nama objek dapat berupa
namaObjek:NamaKelas atau hanya NamaKelas jika objek anonim.
o Pesan (Message): Panah horizontal berlabel yang dikirim dari satu lifeline
ke lifeline lainnya.
Pesan Sinkron: Panah padat dengan kepala panah penuh,
menunjukkan pemanggilan metode yang menunggu balasan.
Pesan Asinkron: Panah padat dengan kepala panah terbuka,
menunjukkan pengiriman pesan tanpa menunggu balasan langsung.
Pesan Balasan (Return Message): Panah putus-putus berlabel,
menunjukkan nilai yang dikembalikan dari pemanggilan sinkron.
o Activation Box (Execution Occurrence): Persegi panjang vertikal yang
ditempatkan pada lifeline, menunjukkan periode waktu di mana objek aktif
(sedang menjalankan operasi).
o Kombinasi Fragmen: Kotak-kotak khusus (misalnya, alt untuk alternatif,
loop untuk pengulangan, opt untuk opsional) untuk memodelkan logika
kontrol kompleks.
Penggunaan: Salah satu diagram UML yang paling sering digunakan untuk merinci
dan memahami skenario interaksi yang kompleks, seperti implementasi use case.
Hubungan dengan Diagram Lainnya: Merealisasikan interaksi yang didefinisikan
dalam use case. Objek-objek dalam diagram ini adalah instansi dari kelas-kelas
dalam diagram kelas, dan pesan-pesan yang dikirim adalah operasi yang
didefinisikan dalam kelas-kelas tersebut.
5. Diagram Komunikasi (Communication Diagram) / Diagram Kolaborasi
(Collaboration Diagram)
Pengertian: Diagram komunikasi (sebelumnya dikenal sebagai Diagram
Kolaborasi) juga menggambarkan interaksi antar objek, tetapi fokusnya adalah
pada struktur objek dan hubungan (tautan) antar mereka. Urutan pesan ditunjukkan
melalui penomoran.
Fungsi:
o Menekankan struktur relasional objek yang berpartisipasi dalam interaksi.
o Memvisualisasikan bagaimana objek-objek terhubung dan berkolaborasi.
o Alternatif dari diagram sekuens ketika struktur lebih penting daripada
urutan waktu yang ketat.
Lambang Utama:
o Objek: Sama seperti diagram sekuens, persegi panjang dengan nama objek.
o Tautan: Garis lurus yang menghubungkan objek-objek yang berinteraksi.
o Pesan: Panah berlabel yang ditempatkan pada tautan, dengan nomor urut
(misalnya, 1: login(), 2: verifikasiKredensial()) yang menunjukkan urutan
pesan.
Penggunaan: Berguna ketika Anda ingin fokus pada bagaimana objek-objek saling
terhubung secara struktural saat berinteraksi, dan urutan pesan dapat diindikasikan
dengan penomoran.
Hubungan dengan Diagram Lainnya: Merealisasikan interaksi yang didefinisikan
dalam use case. Objek-objek adalah instansi dari kelas-kelas dalam diagram kelas,
dan pesan-pesan adalah operasi dari kelas tersebut.
6. Diagram Interaksi Overview (Interaction Overview Diagram)
Pengertian: Diagram interaksi overview menyediakan pandangan tingkat tinggi dan
alur kontrol dari rangkaian diagram interaksi. Ini mirip dengan diagram aktivitas,
tetapi node-nodenya mewakili seluruh diagram interaksi (seperti diagram sekuens
atau diagram komunikasi).
Fungsi:
o Mengorganisir serangkaian diagram interaksi yang kompleks ke dalam alur
yang lebih mudah dipahami.
o Membantu memahami bagaimana berbagai skenario atau bagian dari sistem
berinteraksi dalam urutan yang lebih besar.
o Menggambarkan alur eksekusi antar interaksi.
Lambang Utama: Mirip dengan diagram aktivitas, menggunakan node aksi,
keputusan, fork/join, tetapi beberapa node spesifik untuk interaksi:
o Interaction Occurrence (ref): Persegi panjang dengan kata kunci ref di
dalamnya, merujuk ke diagram interaksi lain (misalnya, ref
PendaftaranPengguna).
o Interaction Fragment: Kotak yang mewakili bagian dari diagram interaksi.
Penggunaan: Sangat cocok untuk memodelkan proses bisnis yang melibatkan
banyak skenario interaksi yang berbeda, dan Anda ingin menunjukkan alur dari
satu skenario ke skenario lain.
Hubungan dengan Diagram Lainnya: Mengintegrasikan dan memberikan gambaran
besar tentang bagaimana diagram sekuens atau diagram komunikasi yang lebih
rinci saling berhubungan.
7. Diagram Timing (Timing Diagram)
Pengertian: Diagram timing adalah jenis diagram interaksi yang berfokus pada
waktu dan durasi perubahan status objek atau peran kolaborator sepanjang garis
waktu. Ini sangat berguna untuk sistem yang sensitif terhadap waktu atau sistem
real-time.
Fungsi:
o Memvisualisasikan perubahan status objek sebagai fungsi waktu.
o Menunjukkan batasan waktu dan durasi yang kritis.
o Menganalisis kinerja dan konkurensi sistem.
o Memodelkan perilaku perangkat keras.
Lambang Utama:
o Lifeline: Garis horizontal yang mewakili objek atau peran.
o State Timeline: Bagian dari lifeline yang menunjukkan status objek
sepanjang waktu. Perubahan status ditunjukkan oleh garis vertikal.
o Duration Constraint: Kendala waktu pada durasi suatu status atau transisi.
o Time Constraint: Kendala waktu pada terjadinya suatu peristiwa.
Penggunaan: Ideal untuk memodelkan sistem embedded, hardware, atau komponen
software yang memiliki batasan waktu yang ketat dan perilaku berbasis waktu yang
kompleks.
Hubungan dengan Diagram Lainnya: Dapat memberikan rincian temporal dari
perilaku objek yang statusnya dimodelkan dalam diagram status mesin.
Aplikasi/Software untuk Membuat UML
Membuat diagram UML secara manual bisa sangat melelahkan, terutama untuk proyek
besar. Untungnya, ada banyak aplikasi/software yang dapat membantu. Berikut adalah 3
hingga 5 pilihan populer, beserta cara penggunaan, kelebihan, dan kelemahan:
1. [Link] (sekarang [Link])
Cara Penggunaan: Ini adalah alat pembuat diagram berbasis web yang sangat
populer dan gratis. Anda cukup membuka [Link] di browser Anda.
Antarmukanya intuitif dengan fitur drag-and-drop. Anda dapat memilih dari
berbagai kategori bentuk, termasuk UML, dan menariknya ke kanvas. Hubungkan
bentuk-bentuk tersebut dengan garis, tambahkan teks, dan atur propertinya.
Diagram dapat disimpan ke berbagai layanan cloud (Google Drive, Dropbox,
OneDrive) atau ke komputer lokal Anda. Mendukung kolaborasi real-time.
Kelebihan:
o Gratis dan Open Source: Tidak ada biaya lisensi.
o Aksesibilitas Tinggi: Berbasis web, dapat diakses dari mana saja dengan
internet. Ada juga versi desktop opsional.
o Mudah Digunakan: Antarmuka yang ramah pengguna, cocok untuk pemula.
o Kolaborasi Efisien: Fitur kolaborasi real-time yang sangat baik untuk tim.
o Integrasi Luas: Terintegrasi dengan banyak platform penyimpanan dan
aplikasi lain (misalnya, Confluence, Jira).
o Ekspor Fleksibel: Dapat diekspor ke berbagai format gambar (PNG, JPG,
SVG) dan PDF.
Kelemahan:
o Fitur Lanjutan Terbatas: Tidak memiliki kemampuan validasi model UML
yang mendalam, generasi kode, atau reverse engineering seperti alat
berbayar yang lebih canggih.
o Tergantung Koneksi Internet: Meskipun ada versi desktop, fungsionalitas
kolaborasi optimal dengan koneksi internet.
2. Lucidchart
Cara Penggunaan: Lucidchart adalah aplikasi pembuat diagram berbasis web yang
populer dengan model berlangganan (berbayar), meskipun ada opsi gratis dengan
batasan. Mirip dengan [Link] dalam penggunaan drag-and-drop yang intuitif. Ia
menawarkan template yang kaya dan library bentuk UML yang komprehensif.
Fitur kolaborasinya sangat kuat, memungkinkan banyak pengguna bekerja pada
satu diagram secara bersamaan dengan chat dan komentar. Terintegrasi erat dengan
ekosistem Google Workspace dan Microsoft Office.
Kelebihan:
o Antarmuka Sangat Intuitif dan Polished: Pengalaman pengguna yang sangat
baik.
o Fitur Kolaborasi Tingkat Lanjut: Ideal untuk tim yang bekerja secara remote
atau berkolaborasi intensif.
o Integrasi yang Luas: Terhubung mulus dengan banyak alat produktivitas
dan pengembangan.
o Template Profesional: Mempercepat proses pembuatan diagram dengan
template siap pakai.
o Dukungan untuk Diagram Lain: Selain UML, mendukung flowchart,
wireframe, dan banyak lagi.
Kelemahan:
o Berbayar: Untuk fitur lengkap dan penggunaan tanpa batas, Anda perlu
berlangganan. Versi gratis sangat terbatas.
o Membutuhkan Koneksi Internet: Sebagai aplikasi berbasis web.
3. Visual Paradigm
Cara Penggunaan: Visual Paradigm adalah alat pemodelan perangkat lunak desktop
yang sangat komprehensif dan berbayar. Setelah instalasi, Anda dapat membuat
hampir semua jenis diagram UML dengan detail tinggi. Ia mendukung validasi
model, generasi kode dari model UML, dan reverse engineering (membuat diagram
UML dari kode yang ada). Ini adalah alat yang kuat untuk rekayasa perangkat
lunak berbasis model. Ada juga versi "Community Edition" gratis dengan
fungsionalitas terbatas.
Kelebihan:
o Fitur UML Sangat Lengkap: Mendukung setiap nuansa dan notasi UML,
serta standar pemodelan lain seperti BPMN, SysML.
o Generasi Kode dan Reverse Engineering: Kemampuan ini sangat berharga
untuk otomatisasi dan dokumentasi.
o Validasi Model: Membantu memastikan diagram Anda sesuai dengan
standar UML dan konsisten.
o Dukungan Kolaborasi Tim: Melalui server Visual Paradigm.
o Dukungan Laporan Ekstensif: Dapat menghasilkan dokumentasi proyek
yang detail.
Kelemahan:
o Berbayar dan Mahal: Lisensi komersialnya cukup mahal, terutama untuk
fitur lengkap.
o Kurva Pembelajaran Tinggi: Antarmukanya yang kaya fitur bisa terasa
kompleks bagi pemula.
o Membutuhkan Instalasi: Bukan berbasis web.
4. Enterprise Architect (Sparx Systems)
Cara Penggunaan: Enterprise Architect adalah salah satu alat pemodelan desktop
paling kuat dan komprehensif di pasaran, dan juga berbayar. Ini adalah solusi all-
in-one untuk manajemen persyaratan, pemodelan, simulasi, pengujian, dan
manajemen proyek. Pengguna dapat membuat diagram UML, BPMN, SysML, dan
banyak lagi. Ini sangat cocok untuk proyek skala besar dan kompleks yang
membutuhkan kontrol ketat atas seluruh siklus hidup pengembangan.
Kelebihan:
o Kemampuan Pemodelan yang Tak Tertandingi: Mendukung hampir setiap
standar dan teknik pemodelan.
o Simulasi dan Pengujian Model: Kemampuan untuk mensimulasikan
perilaku sistem dari model.
o Manajemen Persyaratan Terintegrasi: Menghubungkan diagram langsung ke
persyaratan.
o Generasi Dokumentasi Otomatis yang Kuat: Membuat dokumentasi proyek
yang profesional dari model.
o Dukungan untuk Metrik dan Analisis: Memungkinkan pengukuran kualitas
model.
Kelemahan:
o Sangat Mahal: Ini adalah investasi yang signifikan.
o Sangat Kompleks: Kurva pembelajaran yang sangat curam, membutuhkan
waktu dan pelatihan yang signifikan untuk menguasainya.
o Antarmuka yang Terkadang Membingungkan: Karena begitu banyak fitur.
o Membutuhkan Instalasi: Bukan berbasis web.
5. StarUML
Cara Penggunaan: StarUML adalah alat pemodelan UML desktop yang berbayar
(dengan versi evaluasi fungsional). Ini dikenal karena antarmukanya yang bersih
dan minimalist, fokus pada pembuatan diagram UML yang mudah dan cepat.
Mendukung semua jenis diagram UML 2.x. Pengguna dapat membuat model
dengan cepat menggunakan fitur drag-and-drop dan fitur pembantu. Ia juga
mendukung sistem extension untuk menambahkan fungsionalitas.
Kelebihan:
o Antarmuka yang Bersih dan Intuitif: Salah satu yang paling mudah
digunakan di antara aplikasi desktop yang powerful.
o Mendukung Semua Diagram UML: Lengkap untuk kebutuhan pemodelan
standar.
o Ringan dan Cepat: Kinerja yang baik bahkan pada sistem yang lebih lama.
o Sistem Ekstensi: Memungkinkan penyesuaian dan penambahan fitur.
o Ekspor ke Berbagai Format: Mendukung ekspor ke gambar dan PDF.
Kelemahan:
o Berbayar: Meskipun ada versi evaluasi, penggunaan penuh memerlukan
lisensi.
o Fitur Lanjutan Kurang: Dibandingkan dengan Enterprise Architect atau
Visual Paradigm, fitur manajemen proyek, simulasi, atau validasi model
yang sangat mendalam mungkin kurang.
o Kolaborasi Terbatas: Tidak dirancang untuk kolaborasi real-time yang
intensif.
DAFTAR SIMBOL / LAMBANG
1. Simbol UML (Unifiel Modelling Language)
a. Simbol Use Case Diagram
ACTOR
Orang proses, atau sistem lain yang berinteraksi
dengan sistem informasi yang akan dibuat di luar
sistem informasi yang akan dibuat itu sendiri, jadi
walaupun simbol dari actor adalah gambar orang,
biasanya dinyatakan menggunakan kata benda di awal
frase nama actor.
USE CASE
Fungsionalitas yang disediakan sistem sebagai unit-
unit yang saling bertukar pesar antar unit atau actor
biasanya dinyatakan dengan menggunakan kata kerja
di awal frase nama use case.
ASOSIASI/ASSOCIATION
Komunikasi antara actor dan use case yang
berpartisipasi pada use case atau use case memiliki
interraksi dengan actor.
EKSTENSI/EXTEND
Relasi use case tambahan ke sebuah use case dimana
use case yang ditambahkan dapat berdiri sendiri walau
tanpa use case tambahan memiliki nama depan yang
sama dengan use case yang di tambahkan.
GENERALISASI/GENERALIZATION
Hubungan generalisasi dan spesialisasi (umum-
khusus) antara dua buah use case dimana fungsi yang
satu adalah fungsi yang lebih umum dari lainnya.
MENGGUNAKAN/INCLUDE
Relasi use case tambahan ke sebuah use case dimana
use case yang ditambahkan memerlukan use case ini
untuk menjalankan fungsional atau sebagai syarat
dijalankan use case ini.
b. Simbol Activity Diagram
STATUS AWAL/INITIAL
Status awal aktivitas sistem, sebuah diagram aktivitas
memiliki sebuah satutus awal.
AKTIVITAS/ ACTIVITY
Aktivitas yang dilakukan sistem, aktivitas biasanya
diawali dengan kata kerja.
PERCABANGAN / DECISION
Asosiasi percabangan dimana lebih dari satu
aktivitas digabungkan menjadi satu.
PENGGABUNGAN/ JOIN
Asosiasi penggabungan dimana lebih dari satu
aktivitas lebih dari satu.
STATUS AKHIR/ FINAL
Status akhir yang dilakukan sistem, sebuah diagram
aktivitas memiliki sebuah status satu.
SWIMLINE
Memisahkan organisasi bisnis yang bertanggung
jawab terhadap aktivitas yang terjadi.
c. Simbol Class Diagram
GAMBAR NAMA KETERANGAN
Hubungan dimana objek anak
(descendent) berbagi perilaku dan
Generalization
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
Upaya untuk menghindari asosiasi
Nary
dengan lebih dari 2 objek.
Association
Himpunan dari objek-objek yang
Class berbagi atribut serta operasi yang
sama.
Deskripsi dari urutan aksi-aksi yang
ditampilkan sistem yang menghasilkan
Collaboration
suatu hasil yang terukur bagi suatu
actor
Operasi yang benar-benar dilakukan
Realization oleh suatu objek.
Hubungan dimana perubahan yang
terjadi pada suatu elemen mandiri
Dependency (independent) akan mempegaruhi
elemen yang bergantung padanya
elemen yang tidak mandiri
Apa yang menghubungkan antara
Association objek satu dengan objek lainnya
d. Simbol Squence Diagram
GAMBAR NAMA KETERANGAN
Objek entity, antarmuka yang saling
berinteraksi.
LifeLine
Spesifikasi dari komunikasi antar
objek yang memuat informasi-
Message
informasi tentang aktifitas yang
terjadi
Spesifikasi dari komunikasi antar
objek yang memuat informasi-
Message
informasi tentang aktifitas yang
terjadi
e. Simbol Component Diagram
PACKAGE
Package merupakan sebuah bungkusan
dari satu atau lebih komponen.
KOMPONEN/COMPONENT
Komponen merupakan komponen sistem.
KEBERGANTUNGAN/DEPENDENCY
Ketergantungan atau dependency atau
kebergantungan antar komponen, arah
panah mengarah pada komponen yang
dipakai.
ANTARMUKA/INTERFACE
Antar muka atau interface merupakan
antarmuka sama dengan interface pada
pemograman berorientasi objek, yaitu
sebagai antar muka komponen agar tidak
mengakses lansung komponen.
LINK
Menggambarkan relasi antar komponen.
f. Simbol Deployment Diagram
PACKAGE
Package merupakan sebuah bungkusan dari
satu atau lebih komponen.
NODE
Node biasa mengacu pada perangkat keras
(hardware), perangkat lunak yang tidak dibuat
sendiri (sofware), jika di dalam node
disertakan komponen untuk mengkonsistenkan
rancangan maka komponen yang telah
didefinisikan sebelumnya pada diagram
komponen.
KEBERGANTUNGAN/DEPENDENCY
Ketergantungan atau dependency atau
kebergantungan antar node, arah panah
mengarah pada node yang dipakai.
LINK
Menggambarkan relasi antar node.