{"id":12106,"date":"2026-05-19T14:24:52","date_gmt":"2026-05-19T06:24:52","guid":{"rendered":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/"},"modified":"2026-05-19T14:24:52","modified_gmt":"2026-05-19T06:24:52","slug":"comprehensive-guide-to-uml-diagrams-2","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/","title":{"rendered":"Panduan Lengkap tentang Diagram UML"},"content":{"rendered":"<h2><strong><span>Pendahuluan<\/span><\/strong><\/h2>\n<div><span>Bahasa Pemodelan Terpadu (UML) telah menjadi standar de facto untuk memvisualisasikan, menentukan, dan mendokumentasikan sistem perangkat lunak di berbagai industri. Intinya, UML bukan metodologi pengembangan yang kaku, melainkan bahasa visual yang fleksibel yang dirancang untuk menutup kesenjangan antara kebutuhan abstrak dan implementasi yang nyata. UML 2.0 memformalkan tujuan ini dengan mengelompokkan jenis diagramnya ke dalam dua kategori yang saling melengkapi: <\/span><strong><span>diagram struktural<\/span><\/strong><span>, yang menangkap arsitektur statis dan hubungan fisik dari suatu sistem, dan <\/span><strong><span>diagram perilaku<\/span><\/strong><span>, yang memodelkan bagaimana komponen berinteraksi, berubah keadaan, dan mengeksekusi logika seiring waktu. Mengambil dari prinsip dasar yang diuraikan dalam <\/span><em><span>UML 2.0 dalam Genggaman<\/span><\/em><span> (O\u2019Reilly), panduan ini memberikan gambaran menyeluruh tentang setiap jenis diagram UML utama, konsep intinya, aturan notasi, dan kasus penggunaan praktisnya. Baik Anda sedang merancang sistem berbasis objek, memetakan topologi penempatan, atau memodelkan alur kerja bisnis yang kompleks, memahami kapan dan bagaimana menerapkan setiap diagram akan memberdayakan Anda untuk menyampaikan solusi teknis dengan kejelasan, ketepatan, dan tujuan bersama.<\/span><\/div>\n<hr\/>\n<h2>Ikhtisar<\/h2>\n<p>UML 2.0 mengelompokkan diagram ke dalam\u00a0<strong>dua kategori utama<\/strong>:<\/p>\n<table>\n<thead>\n<tr>\n<th>Kategori<\/th>\n<th>Tujuan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Diagram Struktural<\/strong><\/td>\n<td>Mencatat organisasi fisik elemen\u2014bagaimana objek saling berhubungan<\/td>\n<\/tr>\n<tr>\n<td><strong>Diagram Perilaku<\/strong><\/td>\n<td>Berfokus pada bagaimana elemen berinteraksi, berubah keadaan, dan memproses perilaku seiring waktu<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote>\n<p>\ud83d\udca1\u00a0<strong>Prinsip Utama<\/strong>: Model UML terdiri dari satu atau lebih diagram. Setiap diagram mewakili suatu\u00a0<em>tampilan<\/em>\u00a0atau\u00a0<em>minat<\/em>\u00a0dalam sistem yang dimodelkan. Elemen-elemen individu sering muncul di berbagai diagram.<\/p>\n<\/blockquote>\n<hr\/>\n<h2>\ud83d\udd37 Diagram Struktural<\/h2>\n<p>Diagram struktural memodelkan arsitektur statis sistem Anda\u2014\u2018apa yang\u2019 bukan \u2018bagaimana\u2019.<\/p>\n<h3>1. Diagram Kelas<\/h3>\n<p><strong>Tujuan<\/strong>: Kelas model, antarmuka, dan hubungan statis mereka.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Kelas dengan atribut dan operasi<\/p>\n<\/li>\n<li>\n<p>Antarmuka dan hubungan realisasi<\/p>\n<\/li>\n<li>\n<p>Asosiasi, agregasi, komposisi, dan generalisasi<\/p>\n<\/li>\n<li>\n<p>Modifikator visibilitas (<code data-backticks=\"1\">+<\/code>,\u00a0<code data-backticks=\"1\">-<\/code>,\u00a0<code data-backticks=\"1\">#<\/code>,\u00a0<code data-backticks=\"1\">~<\/code>)<\/p>\n<\/li>\n<li>\n<p>Spesifikasi kelipatan (<code data-backticks=\"1\">1<\/code>,\u00a0<code data-backticks=\"1\">0..*<\/code>,\u00a0<code data-backticks=\"1\">1..5<\/code>)<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>:<strong>Kapan Harus Digunakan<\/strong>:<\/p>\n<h2>Stereotip dan Jenis Kelas<\/h2>\n<p>Diagram ini menggunakan stereotip (ditandai dengan teks di dalam tanda kurung sudut, seperti\u00a0<code data-backticks=\"1\">&lt;&lt;entity&gt;&gt;<\/code>) untuk mengkategorikan peran setiap kelas:<\/p>\n<ul>\n<li>\n<p><strong>Kelas Batas (<code data-backticks=\"1\">&lt;&lt;batas&gt;&gt;<\/code>):<\/strong>\u00a0Ini menangani interaksi antara sistem dan aktor-aktornya (pengguna atau sistem eksternal).<\/p>\n<\/li>\n<li>\n<p><em>Contoh:<\/em>\u00a0<code data-backticks=\"1\">ConsoleWindow<\/code>\u00a0dan\u00a0<code data-backticks=\"1\">DialogBox<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>Kelas Kontrol (<code data-backticks=\"1\">&lt;&lt;kontrol&gt;&gt;<\/code>):<\/strong>\u00a0Ini mengelola koordinasi, transaksi, dan alur logika bisnis dari aplikasi.<\/p>\n<\/li>\n<li>\n<p><em>Contoh:<\/em>\u00a0<code data-backticks=\"1\">DrawingContext<\/code>\u00a0dan\u00a0<code data-backticks=\"1\">DataController<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>Kelas Entitas (<code data-backticks=\"1\">&lt;&lt;entitas&gt;&gt;<\/code>):<\/strong>\u00a0Ini mewakili data inti atau informasi yang tersimpan yang dilacak oleh sistem.<\/p>\n<\/li>\n<li>\n<p><em>Contoh:<\/em>\u00a0<code data-backticks=\"1\">Frame<\/code>,\u00a0<code data-backticks=\"1\">Window<\/code>,\u00a0<code data-backticks=\"1\">Event<\/code>,\u00a0<code data-backticks=\"1\">Shape<\/code>,\u00a0<code data-backticks=\"1\">Lingkaran<\/code>,\u00a0<code data-backticks=\"1\">Persegi Panjang<\/code>,\u00a0<code data-backticks=\"1\">Poligon<\/code>, dan\u00a0<code data-backticks=\"1\">Titik<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong>Kelas Abstrak:<\/strong>\u00a0The\u00a0<code data-backticks=\"1\">Bentuk<\/code>\u00a0kelas mewakili konsep abstrak. Ini berfungsi sebagai kerangka dasar untuk bentuk-bentuk tertentu dan tidak dapat dibuat secara langsung sendiri.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h2>Anatomi Kelas<\/h2>\n<p>Kotak kelas UML standar dibagi menjadi kompartemen. Melihat\u00a0<strong><code data-backticks=\"1\">Lingkaran<\/code><\/strong>\u00a0kelas sebagai contoh:<\/p>\n<ul>\n<li>\n<p><strong>Nama Kelas:<\/strong>\u00a0Terletak di kompartemen atas (<code data-backticks=\"1\">Lingkaran<\/code>).<\/p>\n<\/li>\n<li>\n<p><strong>Atribut:<\/strong>\u00a0Terletak di kompartemen tengah, mewakili bidang data.<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">-radius : float<\/code>\u00a0(Tanda minus\u00a0<code data-backticks=\"1\">-<\/code>\u00a0menunjukkan atribut pribadi).<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">-center : unsigned int<\/code><\/p>\n<\/li>\n<li>\n<p><strong>Operasi (Metode):<\/strong>\u00a0Terletak di kompartemen bawah, mewakili perilaku atau fungsi.<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">+area(in radius : float) : double<\/code>\u00a0(Tanda tambah\u00a0<code data-backticks=\"1\">+<\/code>\u00a0menunjukkan metode publik).<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">+circum()<\/code>,\u00a0<code data-backticks=\"1\">+setCenter()<\/code>, dan\u00a0<code data-backticks=\"1\">+setRadius()<\/code>.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h2>Hubungan dan Tautan<\/h2>\n<p>Garis dan panah yang menghubungkan kelas menentukan bagaimana mereka berinteraksi dan saling tergantung satu sama lain:<\/p>\n<h3>Generalisasi (Pewarisan)<\/h3>\n<p>Ditunjukkan oleh garis padat dengan\u00a0<strong>kepala panah kosong<\/strong>\u00a0yang mengarah ke kelas induk. Ini menunjukkan hubungan &#8216;adalah-sebuah&#8217; di mana kelas anak mewarisi atribut dan perilaku dari kelas induk.<\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">Window<\/code>\u00a0mewarisi dari\u00a0<code data-backticks=\"1\">Frame<\/code>.<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">ConsoleWindow<\/code>\u00a0dan\u00a0<code data-backticks=\"1\">DialogBox<\/code>\u00a0mewarisi dari\u00a0<code data-backticks=\"1\">Window<\/code>.<\/p>\n<\/li>\n<li>\n<p><code data-backticks=\"1\">Lingkaran<\/code>,\u00a0<code data-backticks=\"1\">Persegi Panjang<\/code>, dan\u00a0<code data-backticks=\"1\">Poligon<\/code>\u00a0mewarisi kelas abstrak\u00a0<code data-backticks=\"1\">Bentuk<\/code>\u00a0(contoh, Lingkaran\u00a0<em>adalah<\/em>\u00a0Bentuk).<\/p>\n<\/li>\n<\/ul>\n<h3>Agregasi<\/h3>\n<p>Ditampilkan dengan garis padat dengan\u00a0<strong>berlian kosong<\/strong>\u00a0di ujung wadah. Ini menunjukkan hubungan \u201cmemiliki\u201d yang longgar atau hubungan seluruh-bagian di mana anak dapat ada secara mandiri dari induknya.<\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">Jendela<\/code>\u00a0mengagregasi\u00a0<code data-backticks=\"1\">Bentuk<\/code>\u00a0(multiplicity\u00a0<code data-backticks=\"1\">1<\/code>\u00a0ke\u00a0<code data-backticks=\"1\">*<\/code>). Sebuah\u00a0<code data-backticks=\"1\">Jendela<\/code>\u00a0dapat berisi beberapa (<code data-backticks=\"1\">*<\/code>) bentuk, tetapi jika jendela ditutup, bentuk-bentuk tersebut tetap dapat secara konseptual ada dalam memori atau konteks lain.<\/p>\n<\/li>\n<\/ul>\n<h3>Komposisi<\/h3>\n<p>Ditampilkan dengan garis padat dengan\u00a0<strong>berlian terisi (hitam)<\/strong>\u00a0di ujung wadah. Ini menunjukkan hubungan \u201cmemiliki\u201d yang kuat dengan masa hidup yang bersamaan\u2014jika wadah dihancurkan, bagian-bagiannya juga akan dihancurkan.<\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">Lingkaran<\/code>\u00a0terdiri dari\u00a0<code data-backticks=\"1\">Titik<\/code>\u00a0objek (multiplicity\u00a0<code data-backticks=\"1\">1<\/code>\u00a0ke\u00a0<code data-backticks=\"1\">*<\/code>). Sebuah lingkaran tidak dapat ada tanpa pusatnya atau titik-titik batasnya; menghancurkan lingkaran akan menghancurkan referensi titik-titik tertentu ini.<\/p>\n<\/li>\n<\/ul>\n<h3>Ketergantungan<\/h3>\n<p>Ditunjukkan oleh sebuah\u00a0<strong>panah putus-putus<\/strong>. Ini menunjukkan bahwa satu kelas bergantung pada kelas lain, artinya perubahan pada kelas target dapat memengaruhi kelas sumber.<\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">Jendela<\/code>\u00a0memiliki ketergantungan terhadap\u00a0<code data-backticks=\"1\">Peristiwa<\/code>\u00a0(ditunjukkan oleh panah putus-putus yang mengarah ke\u00a0<code data-backticks=\"1\">Peristiwa<\/code>). Jendela bergantung pada pemicu peristiwa untuk menjalankan operasi seperti\u00a0<code data-backticks=\"1\">handleEvent()<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h3>Asosiasi<\/h3>\n<p>Ditunjukkan oleh garis padat sederhana. Ini menunjukkan hubungan struktural di mana objek-objek dari satu kelas terhubung dengan objek-objek dari kelas lain.<\/p>\n<ul>\n<li>\n<p><code data-backticks=\"1\">KotakDialog<\/code>\u00a0terasosiasi dengan\u00a0<code data-backticks=\"1\">ControllerData<\/code>, artinya mereka saling berkomunikasi untuk saling bertukar informasi atau mengkoordinasikan perilaku.<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h2>Elemen Dokumentasi<\/h2>\n<ul>\n<li>\n<p class=\"\"><strong>Catatan:<\/strong>\u00a0Diagram ini menampilkan kotak catatan dengan sudut yang terlipat yang terhubung melalui garis putus-putus ke\u00a0<code data-backticks=\"1\">Jendela<\/code>\u00a0kelas. Ini memberikan konteks yang dapat dibaca manusia:\u00a0<em>\u201cJendela utama aplikasi.\u201d<\/em><\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"What is Class Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\"\/><\/p>\n<ul>\n<li>\n<p>Merancang arsitektur perangkat lunak berorientasi objek<\/p>\n<\/li>\n<li>\n<p>Mendokumentasikan model domain<\/p>\n<\/li>\n<li>\n<p>Menghasilkan kerangka kode<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>2. Diagram Komponen<\/h3>\n<p><strong>Tujuan<\/strong>: Menunjukkan organisasi dan ketergantungan unit implementasi.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Komponen (dilabeli sebagai\u00a0<code data-backticks=\"1\">\u00abkomponen\u00bb<\/code>)<\/p>\n<\/li>\n<li>\n<p>Antarmuka yang disediakan\/dibutuhkan (notasi bola dan soket)<\/p>\n<\/li>\n<li>\n<p>Konektor perakitan dan hubungan ketergantungan<\/p>\n<\/li>\n<li>\n<p>Artifak (hasil kompilasi: JAR, DLL, eksekusi)<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>:<strong>Kapan Harus Digunakan<\/strong>:<\/p>\n<h2 data-path-to-node=\"1\">Komponen dan Batas Modular<\/h2>\n<p data-path-to-node=\"2\">Di inti diagram ini adalah konsep komponen, unit otonom dan modular dari suatu sistem yang mengemas isi internalnya dan menunjukkan perilakunya melalui antarmuka yang bersih. Batas luar yang besar mewakili keseluruhan <b data-index-in-node=\"237\" data-path-to-node=\"2\">Terminal<\/b> komponen, yang berfungsi sebagai subsistem atau wadah. Di dalam wadah ini terdapat komponen internal yang lebih kecil dan khusus\u2014yaitu <b data-index-in-node=\"374\" data-path-to-node=\"2\">InspeksiKeselamatan<\/b>, <b data-index-in-node=\"392\" data-path-to-node=\"2\">Staf<\/b>, <b data-index-in-node=\"399\" data-path-to-node=\"2\">Kekurangan<\/b>, dan <b data-index-in-node=\"411\" data-path-to-node=\"2\">Peta<\/b>. Setiap unit internal ini mewakili bagian modular perangkat lunak atau logika manajemen data yang bekerja sama untuk memenuhi tanggung jawab Terminal.<\/p>\n<h2 data-path-to-node=\"3\">Antarmuka sebagai Kontrak<\/h2>\n<p data-path-to-node=\"4\">Komponen tidak mengekspos logika internalnya secara langsung; sebaliknya, mereka berinteraksi melalui antarmuka yang jelas dan terdefinisi dengan baik yang berfungsi sebagai kontrak arsitektur.<\/p>\n<ul data-path-to-node=\"5\">\n<li>\n<p data-path-to-node=\"5,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"5,0,0\">Antarmuka yang Disediakan:<\/b> Dihubungkan dengan simbol &#8216;permen lollipop&#8217; atau lingkaran, ini menunjukkan layanan, data, atau operasi yang diimplementasikan oleh suatu komponen dan ditawarkan ke lingkungannya. Sebagai contoh, komponen Terminal luar mengungkapkan antarmuka yang disediakan secara eksternal seperti <b data-index-in-node=\"259\" data-path-to-node=\"5,0,0\">Status<\/b>, <b data-index-in-node=\"266\" data-path-to-node=\"5,0,0\">Rincian<\/b>, dan <b data-index-in-node=\"279\" data-path-to-node=\"5,0,0\">Item Pemeriksaan<\/b>, yang menunjukkan apa yang dapat diminta klien eksternal dari komponen tersebut.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"5,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"5,1,0\">Antarmuka yang Diperlukan:<\/b> Dihubungkan dengan simbol &#8216;soket&#8217; atau setengah lingkaran, ini menentukan layanan atau data yang dibutuhkan suatu komponen dari entitas lain agar dapat berfungsi dengan baik. Di sisi kanan diagram, komponen Terminal secara eksplisit mengungkapkan antarmuka yang diperlukan untuk <b data-index-in-node=\"270\" data-path-to-node=\"5,1,0\">Akun<\/b> dan <b data-index-in-node=\"282\" data-path-to-node=\"5,1,0\">ID Pemeriksaan<\/b>, yang menunjukkan ketergantungannya pada subsistem eksternal.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"6\">Port dan Kabel Internal<\/h2>\n<p data-path-to-node=\"7\">Untuk mengelola aliran data dan kontrol sambil mempertahankan enkapsulasi, sistem menggunakan port dan hubungan delegasi.<\/p>\n<ul data-path-to-node=\"8\">\n<li>\n<p data-path-to-node=\"8,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"8,0,0\">Port:<\/b> Persegi kecil yang berada di batas komponen mewakili port. Mereka berfungsi sebagai titik interaksi yang terpisah di mana struktur internal komponen terhubung dengan dunia luar. Port memungkinkan komponen untuk memisahkan kabel internalnya dari lingkungan eksternal, artinya komponen internal dapat diganti atau dimodifikasi tanpa mengubah tampilan komponen induk terhadap dunia luar.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"8,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"8,1,0\">Delegasi dan Perakitan:<\/b> Di dalam Terminal, garis menghubungkan antarmuka ini untuk membentuk perakitan struktural. Antarmuka yang disediakan pada port luar mendelegasikan permintaan masuk langsung ke antarmuka yang disediakan oleh komponen internal (seperti yang terlihat pada jalur <b data-index-in-node=\"250\" data-path-to-node=\"8,1,0\">Status<\/b> dan <b data-index-in-node=\"260\" data-path-to-node=\"8,1,0\">Rincian<\/b> yang menuju ke <b data-index-in-node=\"287\" data-path-to-node=\"8,1,0\">PemeriksaanKeselamatan<\/b>). Sebaliknya, komponen internal menghubungkan antarmuka soket yang dibutuhkan secara langsung ke antarmuka permen lollipop yang disediakan oleh komponen tetangga. Sebagai contoh, komponen <b data-index-in-node=\"467\" data-path-to-node=\"8,1,0\">PemeriksaanKeselamatan<\/b> bergantung pada antarmuka <b data-index-in-node=\"508\" data-path-to-node=\"8,1,0\">Pemeriksa<\/b> yang disediakan oleh <b data-index-in-node=\"540\" data-path-to-node=\"8,1,0\">Staf<\/b>, yaitu <b data-index-in-node=\"551\" data-path-to-node=\"8,1,0\">Rincian cacat<\/b> antarmuka yang disediakan oleh <b data-index-in-node=\"588\" data-path-to-node=\"8,1,0\">Cacat<\/b>, dan <b data-index-in-node=\"604\" data-path-to-node=\"8,1,0\">Lokasi<\/b> antarmuka yang disediakan oleh <b data-index-in-node=\"635\" data-path-to-node=\"8,1,0\">Peta<\/b>, menciptakan ekosistem internal yang terkoordinasi erat tetapi terhubung longgar.<\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"What is Component Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/02-component-diagram-overview.png\"\/><\/p>\n<ul>\n<li>\n<p>Merencanakan arsitektur sistem modular<\/p>\n<\/li>\n<li>\n<p>Mengelola ketergantungan pembuatan<\/p>\n<\/li>\n<li>\n<p>Mendokumentasikan perpustakaan komponen yang dapat digunakan kembali<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>3. Diagram Struktur Komposit<em>(Ditambahkan pada UML 2.0)<br \/>\n<\/em><\/h3>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Bagian (properti dengan hubungan seluruh-bagian)<\/p>\n<\/li>\n<li>\n<p>Port (titik interaksi dengan antarmuka yang disediakan\/dibutuhkan)<\/p>\n<\/li>\n<li>\n<p>Konektor (tautan runtime antar bagian)<\/p>\n<\/li>\n<li>\n<p>Kejadian kolaborasi<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>: Memodelkan sebuah\u00a0<code data-backticks=\"1\">Mobil<\/code>:<\/p>\n<h2 data-path-to-node=\"1\">Klasifikasi yang Mengandung (Kelas)<\/h2>\n<p data-path-to-node=\"2\">Persegi panjang luar mewakili klasifikasi yang mengandung, dalam hal ini, <b data-index-in-node=\"76\" data-path-to-node=\"2\">Mobil<\/b>kelas. Dalam diagram struktur komposit, batas ini berfungsi sebagai wadah yang mengandung konfigurasi runtime internal sistem. Ini menentukan konteks di mana instans individu bekerja sama untuk mencapai tujuan perilaku yang lebih luas, menyembunyikan kompleksitas cara kerja &#8216;Mobil&#8217; secara internal dari entitas eksternal.<\/p>\n<h2 data-path-to-node=\"3\">Bagian (Struktur Internal)<\/h2>\n<p data-path-to-node=\"4\">Persegi panjang internal dalam batas Mobil mewakili <b data-index-in-node=\"58\" data-path-to-node=\"4\">Bagian<\/b>. Bagian menjelaskan peran yang dimainkan oleh sekumpulan instans selama eksekusi klasifikasi yang mengandungnya. Alih-alih menunjukkan hubungan statis pada waktu kompilasi (seperti diagram kelas standar), bagian-bagian ini menunjukkan instans waktu runtime yang mengisi slot arsitektur tertentu:<\/p>\n<ul data-path-to-node=\"5\">\n<li>\n<p data-path-to-node=\"5,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"5,0,0\"><code data-index-in-node=\"0\" data-path-to-node=\"5,0,0\">-t : Transmisi<\/code><\/b>: Sebuah instans yang memainkan peran sistem transmisi.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"5,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"5,1,0\"><code data-index-in-node=\"0\" data-path-to-node=\"5,1,0\">-e : Mesin<\/code><\/b>: Sebuah instans yang memainkan peran sumber daya mesin.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"5,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"5,2,0\"><code data-index-in-node=\"0\" data-path-to-node=\"5,2,0\">-s : Sistem Kemudi<\/code><\/b>: Sebuah instans yang memainkan peran mekanisme kemudi.<\/p>\n<\/li>\n<\/ul>\n<p data-path-to-node=\"6\">Notasi titik dua menunjukkan bahwa ini adalah peran struktural yang diberi tipe oleh kelas masing-masing, yang menentukan secara tepat komponen apa saja yang harus ada di dalam Mobil yang beroperasi.<\/p>\n<h2 data-path-to-node=\"7\">Port dan Batas<\/h2>\n<p data-path-to-node=\"8\">Persegi kecil yang tertanam pada batas klasifikasi luar dan batas bagian internal mewakili <b data-index-in-node=\"108\" data-path-to-node=\"8\">Port<\/b>. Port adalah titik interaksi yang berbeda yang memisahkan struktur internal suatu klasifikasi dari lingkungan eksternalnya.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\">Port eksternal pada batas Mobil\u2014seperti <b data-index-in-node=\"43\" data-path-to-node=\"9,0,0\"><code data-index-in-node=\"43\" data-path-to-node=\"9,0,0\">: Roda<\/code><\/b>, <b data-index-in-node=\"52\" data-path-to-node=\"9,0,0\"><code data-index-in-node=\"52\" data-path-to-node=\"9,0,0\">: Tuas Gas<\/code><\/b>, dan <b data-index-in-node=\"69\" data-path-to-node=\"9,0,0\"><code data-index-in-node=\"69\" data-path-to-node=\"9,0,0\">: Roda Kemudi<\/code><\/b>\u2014menunjukkan bagaimana Mobil berinteraksi dengan dunia luar atau lingkungan fisik tanpa mengungkapkan <i data-index-in-node=\"178\" data-path-to-node=\"9,0,0\">bagian mana<\/i>bagian internal yang menangani interaksi tersebut.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\">Port pada bagian internal (seperti port pada blok Transmisi atau Mesin) mengatur bagaimana sistem bawah ini berkomunikasi satu sama lain atau dengan batas induk.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"10\">Konektor dan Kabel Internal<\/h2>\n<p data-path-to-node=\"11\">Garis padat yang menghubungkan port satu sama lain mewakili <b data-index-in-node=\"53\" data-path-to-node=\"11\">Konektor<\/b>. Konektor mendefinisikan jalur komunikasi antar bagian atau antara bagian dan port eksternal pada waktu runtime.<\/p>\n<ul data-path-to-node=\"12\">\n<li>\n<p data-path-to-node=\"12,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"12,0,0\">Konektor Delegasi:<\/b> Menghubungkan port luar dari wadah langsung ke port dalam dari suatu bagian. Sebagai contoh, port eksternal <b data-index-in-node=\"125\" data-path-to-node=\"12,0,0\"><code data-index-in-node=\"125\" data-path-to-node=\"12,0,0\">: Roda<\/code><\/b> port mengarah langsung ke <b data-index-in-node=\"163\" data-path-to-node=\"12,0,0\">Transmisi<\/b>, dan bagian luar <b data-index-in-node=\"194\" data-path-to-node=\"12,0,0\"><code data-index-in-node=\"194\" data-path-to-node=\"12,0,0\">: Kemudi<\/code><\/b> mengarah langsung ke <b data-index-in-node=\"233\" data-path-to-node=\"12,0,0\">Sistem Kemudi<\/b>. Ini memastikan bahwa rangsangan eksternal ditugaskan secara mulus ke aktor internal yang tepat.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"12,1,0\">Konektor Perakitan:<\/b> Menghubungkan bagian-bagian internal untuk memungkinkan kolaborasi. Konektor antara <b data-index-in-node=\"100\" data-path-to-node=\"12,1,0\">Transmisi<\/b> dan <b data-index-in-node=\"121\" data-path-to-node=\"12,1,0\">Mesin<\/b> menunjukkan bahwa kedua peran runtime yang berbeda ini secara langsung bertukar sinyal, data, atau gaya mekanik untuk membuat mobil berfungsi sebagai satu kesatuan yang utuh.<\/p>\n<\/li>\n<\/ul>\n<p id=\"RfTJiln\"><img alt=\"\" class=\"alignnone size-full wp-image-18820\" decoding=\"async\" height=\"227\" loading=\"lazy\" sizes=\"auto, (max-width: 574px) 100vw, 574px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c014d248a2.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c014d248a2.png 574w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0c014d248a2-300x119.png 300w\" width=\"574\"\/><\/p>\n<p><strong>Kapan Harus Menggunakan<\/strong>:<\/p>\n<ul>\n<li>\n<p>Mendokumentasikan pola desain<\/p>\n<\/li>\n<li>\n<p>Memodelkan kolaborasi internal yang kompleks<\/p>\n<\/li>\n<li>\n<p>Menjembatani desain kelas dan implementasi komponen<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>4. Diagram Penempatan<\/h3>\n<p><strong>Tujuan<\/strong>: Memetakan artefak perangkat lunak ke lingkungan eksekusi perangkat keras.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Node (perangkat, lingkungan eksekusi)<\/p>\n<\/li>\n<li>\n<p>Artefak (unit yang dapat dideploy)<\/p>\n<\/li>\n<li>\n<p>Jalur komunikasi antar node<\/p>\n<\/li>\n<li>\n<p>Spesifikasi penempatan (rincian konfigurasi)<\/p>\n<\/li>\n<\/ul>\n<h2><strong>Contoh Penggunaan<\/strong>:<strong>Kapan Digunakan<\/strong>:<\/h2>\n<h3 data-path-to-node=\"1\">Node dan Infrastruktur Fisik<\/h3>\n<p data-path-to-node=\"2\">Berbeda dengan diagram desain logis yang memodelkan tata letak kode atau struktur kelas, diagram penempatan berfokus pada topografi perangkat keras. Blok pembangun utamanya adalah <b data-index-in-node=\"164\" data-path-to-node=\"2\">Node<\/b>, yang digambarkan secara visual sebagai kubus tiga dimensi. Node menggambarkan sumber daya komputasi fisik atau lingkungan eksekusi tempat elemen perangkat lunak sebenarnya berjalan:<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">&lt;&lt;processor&gt;&gt;<\/code> Node:<\/b> Kubus yang diberi stereotip dengan <code data-index-in-node=\"44\" data-path-to-node=\"3,0,0\">&lt;&lt;processor&gt;&gt;<\/code> (seperti <b data-index-in-node=\"67\" data-path-to-node=\"3,0,0\">Server Penyimpanan Sementara<\/b>, <b data-index-in-node=\"83\" data-path-to-node=\"3,0,0\">Server Utama<\/b>, dan umum <b data-index-in-node=\"111\" data-path-to-node=\"3,0,0\">Server<\/b> blok) mewakili node dengan kapasitas komputasi, memori, dan kekuatan pemrosesan yang mampu menjalankan biner perangkat lunak.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\"><code data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">&lt;&lt;jaringan&gt;&gt;<\/code> Node:<\/b> Kubus memanjang yang bertanda <b data-index-in-node=\"46\" data-path-to-node=\"3,1,0\">Jaringan Lokal<\/b> mewakili jalur komunikasi atau infrastruktur routing, bukan komputer individu. Ini menandakan rangkaian fisik yang memungkinkan prosesor yang terhubung bertukar aliran paket data.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,2,0\">Node Perangkat:<\/b> Node tanpa stereotip seperti <b data-index-in-node=\"39\" data-path-to-node=\"3,2,0\">Internet<\/b> dan <b data-index-in-node=\"52\" data-path-to-node=\"3,2,0\">Bank Modem<\/b> mewakili komponen perangkat keras batas atau infrastruktur fisik eksternal yang diperlukan untuk mengarahkan lalu lintas eksternal ke lingkungan sistem inti.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Asosiasi dan Jalur Komunikasi<\/h2>\n<p data-path-to-node=\"5\">Garis padat yang menghubungkan kubus tiga dimensi mewakili <b data-index-in-node=\"65\" data-path-to-node=\"5\">Asosiasi<\/b>. Dalam diagram penempatan, asosiasi ini memetakan jalur komunikasi fisik, tautan jaringan, atau koneksi perangkat keras antar simpul.<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\">Garis antara <b data-index-in-node=\"17\" data-path-to-node=\"6,0,0\">Internet<\/b> dan <b data-index-in-node=\"30\" data-path-to-node=\"6,0,0\">Modem Bank<\/b>menggambarkan titik masuk data publik eksternal ke dalam tumpukan perangkat keras.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\">Asosiasi yang memanjang dari <b data-index-in-node=\"35\" data-path-to-node=\"6,1,0\">Modem Bank<\/b>ke bawah ke dalam <b data-index-in-node=\"60\" data-path-to-node=\"6,1,0\">Server Penyimpanan Sementara<\/b>memetakan rute fisik lalu lintas masuk hingga lapisan penyimpanan sementara tepi.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\">Asosiasi yang menghubungkan <b data-index-in-node=\"25\" data-path-to-node=\"6,2,0\">Server Penyimpanan Sementara<\/b> dan lapisan dasar <b data-index-in-node=\"60\" data-path-to-node=\"6,2,0\">Server Utama<\/b> klaster ke <b data-index-in-node=\"90\" data-path-to-node=\"6,2,0\">Jaringan Lokal<\/b>menetapkan bagaimana komponen internal berkomunikasi melalui infrastruktur bus lokal berkecepatan tinggi atau switch jaringan bersama.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Lapisan Topologis dan Redundansi<\/h2>\n<p data-path-to-node=\"8\">Penataan simpul dalam diagram secara eksplisit menunjukkan topologi penempatan dan pilihan desain arsitektur untuk ketersediaan tinggi dan distribusi beban.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,0,0\">Lapisan Penyimpanan Sementara Tepi:<\/b>Ditempatkan tepat di bawah perangkat keras modem titik masuk adalah dua node <b data-index-in-node=\"104\" data-path-to-node=\"9,0,0\">Server Penyimpanan Sementara<\/b>node. Konfigurasi ini secara visual menunjukkan lapisan tepi yang redundan yang dirancang untuk mendistribusikan beban lalu lintas masuk dan menyimpan aset sebelum permintaan mencapai infrastruktur dalam.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,1,0\">Pertanian Server Internal:<\/b>Ditempatkan di bagian bawah tumpukan, terhubung melalui <b data-index-in-node=\"79\" data-path-to-node=\"9,1,0\">Jaringan Lokal<\/b>, adalah klaster server inti. Perbedaan antara <b data-index-in-node=\"156\" data-path-to-node=\"9,1,0\">Server Utama<\/b> dan generik yang bersebelahan <b data-index-in-node=\"196\" data-path-to-node=\"9,1,0\">Server<\/b> node secara visual memetakan tata letak arsitektur master-replica atau primer-sekunder, memastikan kelangsungan data dan beban kerja komputasi berat di koordinasikan dengan aman dalam lingkungan pusat data internal.<\/p>\n<\/li>\n<\/ul>\n<h2><img alt=\"What is Deployment Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/02-deployment-diagram-notations.png\"\/><\/h2>\n<p><strong>Tujuan<\/strong>: Model struktur internal klasifikasi dan pola-pola kompleks.<\/p>\n<ul>\n<li>\n<p>Perencanaan infrastruktur sistem<\/p>\n<\/li>\n<li>\n<p>Dokumentasi arsitektur terdistribusi<\/p>\n<\/li>\n<li>\n<p>Menentukan strategi failover dan redundansi<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>5. Diagram Paket<\/h3>\n<p><strong>Tujuan<\/strong>: Mengorganisasi dan mengelola namespace melalui pengelompokan logis.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Paket (persegi panjang dengan tab)<\/p>\n<\/li>\n<li>\n<p>Hubungan impor\/akses (<code data-backticks=\"1\">\u00abimpor\u00bb<\/code>,\u00a0<code data-backticks=\"1\">\u00abakses\u00bb<\/code>)<\/p>\n<\/li>\n<li>\n<p>Hubungan penggabungan (<code data-backticks=\"1\">\u00abgabung\u00bb<\/code>)<\/p>\n<\/li>\n<li>\n<p>Visibilitas (<code data-backticks=\"1\">+<\/code>\u00a0publik,\u00a0<code data-backticks=\"1\">-<\/code>\u00a0pribadi)<\/p>\n<\/li>\n<\/ul>\n<h1><strong>Contoh Penggunaan<\/strong>:<\/h1>\n<h2 data-path-to-node=\"1\">Batasan Subsistem dan Paket<\/h2>\n<p data-path-to-node=\"2\">Diagram ini sangat bergantung pada notasi &#8220;folder&#8221; untuk mewakili pengelompokan logis dari elemen desain.<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">Subsistem:<\/b> Folder luar besar yang diserialkan sebagai <b data-index-in-node=\"49\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"49\" data-path-to-node=\"3,0,0\">&lt;&lt;subsystem&gt;&gt; Penyusunan<\/code><\/b> mewakili unit perilaku utama yang terenkapsulasi dari sistem fisik. Ini berfungsi sebagai wadah tingkat tinggi yang mengelompokkan komponen dan paket terkait yang diperlukan untuk menjalankan manajemen pesanan.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">Paket:<\/b> Folder kecil di dalam dan di luar subsistem (seperti <b data-index-in-node=\"71\" data-path-to-node=\"3,1,0\">UI<\/b>, <b data-index-in-node=\"75\" data-path-to-node=\"3,1,0\">Pemrosesan Pesanan<\/b>, dan <b data-index-in-node=\"97\" data-path-to-node=\"3,1,0\">GUIManager<\/b>) adalah paket standar. Mereka digunakan untuk mengatur elemen ke dalam kelompok yang dapat dikelola, menetapkan ruang nama, dan menentukan batas visibilitas dalam arsitektur.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Ketergantungan dan Lapisan<\/h2>\n<p data-path-to-node=\"5\">Panah bergaris putus-putus menunjukkan <b data-index-in-node=\"27\" data-path-to-node=\"5\">Ketergantungan<\/b>, yang menunjukkan bahwa perubahan pada satu paket (target) dapat memengaruhi fungsi dari paket asal (sumber).<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,0,0\">Ketergantungan Internal:<\/b> Di dalam subsistem Penyusunan, lapisan arsitektur dari atas ke bawah yang jelas terlihat. Paket <b data-index-in-node=\"110\" data-path-to-node=\"6,0,0\">UI<\/b> bergantung pada <b data-index-in-node=\"132\" data-path-to-node=\"6,0,0\">Pemrosesan Pesanan<\/b>, yang pada gilirannya bergantung pada <b data-index-in-node=\"179\" data-path-to-node=\"6,0,0\">Kalkulator Harga<\/b> dan <b data-index-in-node=\"200\" data-path-to-node=\"6,0,0\">Penyimpanan Eksternal<\/b>. Ini mewakili aliran arsitektur di mana elemen tampilan tingkat tinggi bergantung pada logika bisnis inti dan lapisan akses data.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,1,0\">Ketergantungan pada Paket Eksternal:<\/b> Paket juga dapat bergantung pada elemen di luar batas subsistem mereka yang langsung. Sebagai contoh, paket <b data-index-in-node=\"131\" data-path-to-node=\"6,1,0\">UI<\/b> paket memiliki ketergantungan pada eksternal <b data-index-in-node=\"175\" data-path-to-node=\"6,1,0\">GUIManager<\/b>. Demikian pula, paket <b data-index-in-node=\"202\" data-path-to-node=\"6,1,0\">Random Storage<\/b> dan <b data-index-in-node=\"221\" data-path-to-node=\"6,1,0\">Stream Storage<\/b> paket di bagian bawah melintasi batas subsistem untuk bergantung pada struktur data eksternal, menyoroti bagaimana subsistem terintegrasi ke dalam ekosistem perangkat lunak yang lebih besar.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Abstraksi dan Pewarisan (Generalisasi)<\/h2>\n<p data-path-to-node=\"8\">Diagram ini menggunakan gaya khusus dan panah hubungan untuk menunjukkan pola desain abstrak yang diterapkan pada arsitektur modular.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,0,0\">Paket Abstrak vs. Paket Konkret:<\/b> Paket yang berisi elemen abstrak atau mendefinisikan struktur mirip antarmuka direpresentasikan dengan nama miring (seperti <b data-index-in-node=\"157\" data-path-to-node=\"9,0,0\"><i data-index-in-node=\"157\" data-path-to-node=\"9,0,0\">External Storage<\/i><\/b> dan <b data-index-in-node=\"178\" data-path-to-node=\"9,0,0\"><i data-index-in-node=\"178\" data-path-to-node=\"9,0,0\">StorageManagement<\/i><\/b>). Sebaliknya, paket yang berisi implementasi kode operasional, seperti <b data-index-in-node=\"269\" data-path-to-node=\"9,0,0\">Repository<\/b> dan <b data-index-in-node=\"284\" data-path-to-node=\"9,0,0\">FileStorage<\/b>, menggunakan teks standar untuk menunjukkan bahwa mereka adalah paket konkret.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,1,0\">Generalisasi:<\/b> Direpresentasikan oleh garis padat dengan segitiga terbuka dan kosong yang mengarah ke paket induk. Ini menunjukkan hubungan pewarisan atau implementasi. Di dalam subsistem, <b data-index-in-node=\"190\" data-path-to-node=\"9,1,0\">Random Storage<\/b> dan <b data-index-in-node=\"209\" data-path-to-node=\"9,1,0\">Stream Storage<\/b> mengkhususkan atau mengimplementasikan antarmuka abstrak <b data-index-in-node=\"261\" data-path-to-node=\"9,1,0\"><i data-index-in-node=\"261\" data-path-to-node=\"9,1,0\">External Storage<\/i><\/b> antarmuka. Di luar subsistem, paket konkret <b data-index-in-node=\"325\" data-path-to-node=\"9,1,0\">Repository<\/b> dan <b data-index-in-node=\"340\" data-path-to-node=\"9,1,0\">FileStorage<\/b> paket-paket menggeneralisasi ke atas menjadi abstrak <b data-index-in-node=\"393\" data-path-to-node=\"9,1,0\"><i data-index-in-node=\"393\" data-path-to-node=\"9,1,0\">ManajemenPenyimpanan<\/i><\/b> paket, menunjukkan bagaimana perilaku polimorfik dan klasifikasi struktural dapat dimodelkan pada tingkat paket. <\/p>\n<p><img alt=\"What is Package Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/08-package-diagram-order-subsystem.png\"\/><\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><strong>Kapan Menggunakan<\/strong>:<\/p>\n<\/li>\n<li>\n<p>Mengelola basis kode besar<\/p>\n<\/li>\n<li>\n<p>Menentukan batas modul<\/p>\n<\/li>\n<li>\n<p>Mengendalikan ketergantungan kompilasi<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>6. Diagram Objek<\/h3>\n<p><strong>Tujuan<\/strong>: Menunjukkan tampilan saat itu dari instans dan tautannya pada saat tertentu.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Objek (nama yang digarisbawahi:\u00a0<code data-backticks=\"1\">myCar:Car<\/code>)<\/p>\n<\/li>\n<li>\n<p>Tautan antar instans objek<\/p>\n<\/li>\n<li>\n<p>Nilai atribut saat runtime<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>:<\/p>\n<h2 data-path-to-node=\"1\">Objek dan Instans Konkret<\/h2>\n<p data-path-to-node=\"2\">Berbeda dengan diagram kelas yang menunjukkan konfigurasi abstrak tingkat cetak biru, diagram objek menangkap instans aktual yang hidup dalam memori. Objek direpresentasikan dengan persegi panjang, dan nama-namanya selalu digarisbawahi untuk menunjukkan instansiasi.<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">Objek Berlabel:<\/b> Ini mengikuti sintaks <code data-index-in-node=\"39\" data-path-to-node=\"3,0,0\">namaInstans : NamaKelas<\/code>. Sebagai contoh, <b data-index-in-node=\"78\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"78\" data-path-to-node=\"3,0,0\">c : Perusahaan<\/code><\/b> mewakili instans perusahaan tertentu yang bernama \u201cc\u201d, dan <b data-index-in-node=\"144\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"144\" data-path-to-node=\"3,0,0\">p : Orang<\/code><\/b> mewakili instans individu tertentu yang bernama \u201cp\u201d.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">Objek Anonim:<\/b> Ketika pengidentifikasi instans tertentu diabaikan atau tidak relevan terhadap skenario, hanya nama kelas yang disediakan, diberi awalan tanda titik dua (misalnya, <b data-index-in-node=\"159\" data-path-to-node=\"3,1,0\"><code data-index-in-node=\"159\" data-path-to-node=\"3,1,0\">: InformasiKontak<\/code><\/b>). Ini menentukan bahwa sebuah instans konkret dari informasi kontak ada dan terhubung ke struktur, tetapi tidak perlu memiliki nama variabel unik dalam konteks ini.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Status dan Nilai Atribut<\/h2>\n<p data-path-to-node=\"5\">Kompartemen bawah dari persegi panjang objek berisi status khususnya, yang didefinisikan oleh nilai-nilai eksplisit yang ditetapkan pada atributnya pada saat tertentu. Alih-alih hanya mencantumkan tipe data, entri-entri ini menggunakan format penugasan <code data-index-in-node=\"209\" data-path-to-node=\"5\">atribut = nilai<\/code> format penugasan untuk mencerminkan kenyataan:<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\">Instans departemen <code data-index-in-node=\"24\" data-path-to-node=\"6,0,0\">d1<\/code> menyimpan nilai atribut <code data-index-in-node=\"53\" data-path-to-node=\"6,0,0\">nama = Penjualan<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\">Instans departemen lain yang berbeda <code data-index-in-node=\"37\" data-path-to-node=\"6,1,0\">d2<\/code> menyimpan nilai <code data-index-in-node=\"56\" data-path-to-node=\"6,1,0\">nama = R&amp;D<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\">Instans orang <code data-index-in-node=\"20\" data-path-to-node=\"6,2,0\">p<\/code> menyimpan seluruh kumpulan data status, yang menggambarkan profil tertentu: <code data-index-in-node=\"89\" data-path-to-node=\"6,2,0\">nama = Derek<\/code>, <code data-index-in-node=\"103\" data-path-to-node=\"6,2,0\">IDKaryawan = D-12821<\/code>, dan <code data-index-in-node=\"129\" data-path-to-node=\"6,2,0\">jabatan = Manajer<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Tautan dan Hubungan<\/h2>\n<p data-path-to-node=\"8\">Garis-garis padat yang menghubungkan objek mewakili <b data-index-in-node=\"49\" data-path-to-node=\"8\">Tautan<\/b>. Sebuah tautan adalah contoh konkret dari asosiasi yang didefinisikan antara kelas. Jika diagram kelas menyatakan bahwa Perusahaan memiliki Departemen, diagram objek menunjukkan koneksi runtime aktual antara keduanya.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\">Contoh perusahaan <code data-index-in-node=\"21\" data-path-to-node=\"9,0,0\">c<\/code> secara aktif terhubung ke contoh departemen <code data-index-in-node=\"66\" data-path-to-node=\"9,0,0\">d1<\/code> (Penjualan) dan <code data-index-in-node=\"81\" data-path-to-node=\"9,0,0\">d2<\/code> (R&amp;D).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\">Diagram ini juga menunjukkan koneksi instans hierarkis, di mana <code data-index-in-node=\"63\" data-path-to-node=\"9,1,0\">d1 : Departemen<\/code> (Penjualan) terhubung ke bawah ke contoh sub-departemen yang juga bertipe Departemen (<code data-index-in-node=\"157\" data-path-to-node=\"9,1,0\">nama = Penjualan AS<\/code>).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,2,0\">Akhirnya, contoh orang <code data-index-in-node=\"29\" data-path-to-node=\"9,2,0\">p<\/code> (Derek) terhubung ke contoh departemen Penjualan AS, sementara secara bersamaan mempertahankan koneksi ke contoh anonim <code data-index-in-node=\"142\" data-path-to-node=\"9,2,0\">: InformasiKontak<\/code> yang berisi alamat fisiknya.<\/p>\n<\/li>\n<\/ul>\n<p id=\"dJfuSkC\"><img alt=\"\" class=\"alignnone size-full wp-image-18813\" decoding=\"async\" height=\"320\" loading=\"lazy\" sizes=\"auto, (max-width: 642px) 100vw, 642px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfdd12817a.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfdd12817a.png 642w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfdd12817a-300x150.png 300w\" width=\"642\"\/><\/p>\n<p data-path-to-node=\"9,2,0\"><strong>Kapan Menggunakan<\/strong>:<\/p>\n<ul>\n<li>\n<p>Memvalidasi desain diagram kelas<\/p>\n<\/li>\n<li>\n<p>Meng-debug hubungan objek yang kompleks<\/p>\n<\/li>\n<li>\n<p>Menunjukkan contoh keadaan runtime<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h2>\ud83d\udd36 Diagram Perilaku<\/h2>\n<p>Diagram perilaku memodelkan aspek dinamis\u2014bagaimana sistem berperilaku seiring waktu.<\/p>\n<h3>7. Diagram Aktivitas<\/h3>\n<p><strong>Tujuan<\/strong>: Memodelkan alur kerja, proses bisnis, dan logika algoritmik.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Aksi (persegi panjang melengkung)<\/p>\n<\/li>\n<li>\n<p>Node kontrol: awal, keputusan, penggabungan, cabang, pertemuan, akhir<\/p>\n<\/li>\n<li>\n<p>Node objek dan pin<\/p>\n<\/li>\n<li>\n<p>Partisi (swimlanes) untuk penugasan tanggung jawab<\/p>\n<\/li>\n<li>\n<p>Penanganan pengecualian dan wilayah yang dapat dihentikan<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>: Alur Kerja Pemesanan<\/p>\n<h2 data-path-to-node=\"1\">Organisasi Struktural (Swimlanes dan Partisi)<\/h2>\n<p data-path-to-node=\"2\">Diagram disusun secara vertikal menjadi kolom-kolom besar yang dikenal secara bergantian sebagai<b data-index-in-node=\"80\" data-path-to-node=\"2\">Swimlanes<\/b> atau <b data-index-in-node=\"93\" data-path-to-node=\"2\">Partisi<\/b>. Batas-batas ini mengelompokkan tanggung jawab untuk tindakan-tindakan yang terkandung di dalamnya, memetakan langkah-langkah ke peran atau unit bisnis tertentu:<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">Antarmuka Penjualan Pelanggan:<\/b> Menangani siklus hidup yang berhadapan dengan pelanggan, menangani inisialisasi klien, penjadwalan alternatif, dan presentasi akhir.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">Pemilik Proposal:<\/b> Mengelola perencanaan inti, analisis operasional, dan pengumpulan struktur data proposal formal.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,2,0\">Pemilik Kutipan:<\/b> Fokus murni pada penilaian keuangan dan menyiapkan metrik kutipan tertentu.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Aliran Kontrol dan Status Aksi<\/h2>\n<p data-path-to-node=\"5\">Eksekusi prosedural langkah demi langkah diarahkan oleh node kontrol dan jalur yang ditentukan.<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,0,0\">Node Awal:<\/b> Digambarkan oleh lingkaran hitam pejal di bagian atas, ini menunjukkan titik awal dari seluruh alur kerja aktivitas.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,1,0\">Aksi:<\/b> Persegi panjang melengkung (misalnya, <b data-index-in-node=\"38\" data-path-to-node=\"6,1,0\">Inisialisasi Kontak<\/b>, <b data-index-in-node=\"58\" data-path-to-node=\"6,1,0\">Cari Alternatif<\/b>, dan <b data-index-in-node=\"82\" data-path-to-node=\"6,1,0\">Kumpulkan Informasi Tambahan<\/b>) mewakili langkah atau tugas tunggal yang tidak dapat diuraikan lebih lanjut dalam urutan eksekusi.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,2,0\">Aliran Kontrol:<\/b> Panah padat yang menghubungkan elemen-elemen menentukan kemajuan urutan alur kerja, menunjukkan secara tepat tindakan mana yang harus selesai sebelum tindakan berikutnya dimulai.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,3,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,3,0\">Node Akhir Aktivitas:<\/b> Simbol bullseye (lingkaran padat di dalam cincin kosong) di bagian bawah menandai titik akhir mutlak dari seluruh eksekusi proses.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Pengalihan dan Logika Terkendali (Node Keputusan)<\/h2>\n<p data-path-to-node=\"8\">Simbol berbentuk berlian mewakili<b data-index-in-node=\"33\" data-path-to-node=\"8\">Node Keputusan<\/b>, yang memodelkan percabangan bersyarat dalam alur kerja.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\">Jalur kontrol masuk dibagi menjadi beberapa jalur keluar yang saling eksklusif berdasarkan input tertentu.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\">Kondisi yang menentukan jalur mana yang harus diambil dikelilingi tanda kurung siku, dikenal sebagai kondisi pengaman (seperti<b data-index-in-node=\"114\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"114\" data-path-to-node=\"9,1,0\">[diterima]<\/code><\/b>, <b data-index-in-node=\"126\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"126\" data-path-to-node=\"9,1,0\">[ditolak]<\/code><\/b>, dan<b data-index-in-node=\"142\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"142\" data-path-to-node=\"9,1,0\">[bergabung dengan pemasok lain atau ubah persyaratan]<\/code><\/b>). Proses mengevaluasi kondisi-kondisi ini saat runtime untuk mengarahkan eksekusi ke jalur fungsional yang sesuai.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"10\">Pemrosesan Paralel (Node Fork dan Join)<\/h2>\n<p data-path-to-node=\"11\">Batang hitam padat dalam diagram berfungsi sebagai titik sinkronisasi untuk mengelola aliran eksekusi bersamaan atau paralel.<\/p>\n<ul data-path-to-node=\"12\">\n<li>\n<p data-path-to-node=\"12,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"12,0,0\">Node Fork (diberi label sebagai Node Aliran dalam penunjuk diagram):<\/b> Aliran kontrol masuk tunggal memasuki batang dan terbagi menjadi beberapa thread eksekusi independen dan bersamaan. Di sini, setelah membuat rencana proyek, proses bercabang agar Pemilik Proposal dapat menjalankan analisis dan perencanaan pengiriman sementara Pemilik Penawaran secara bersamaan menangani persiapan penawaran.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"12,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"12,1,0\">Node Join:<\/b> Batang sinkronisasi yang menggabungkan beberapa jalur bersamaan kembali menjadi satu aliran kontrol. Proses tidak dapat melampaui Node Join hingga<i data-index-in-node=\"153\" data-path-to-node=\"12,1,0\">semua<\/i> aliran paralel masuk telah berhasil mencapai batang, memastikan bahwa kompilasi penawaran dan penyusunan proposal sepenuhnya selesai sebelum melanjutkan ke kompilasi paket akhir.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"13\">Integrasi Data (Node Objek)<\/h2>\n<p data-path-to-node=\"14\">Persegi panjang standar menandakan<b data-index-in-node=\"28\" data-path-to-node=\"14\">Node Objek<\/b>, yang memperkenalkan aliran data ke dalam diagram aktivitas yang berorientasi kontrol.<\/p>\n<ul data-path-to-node=\"15\">\n<li>\n<p data-path-to-node=\"15,0,0\">Node objek mewakili contoh data khusus atau artefak fisik yang dihasilkan atau dikonsumsi oleh tindakan, menggunakan<code data-index-in-node=\"115\" data-path-to-node=\"15,0,0\">namaInstance : NamaKelas<\/code> konvensi (misalnya, <b data-index-in-node=\"158\" data-path-to-node=\"15,0,0\"><code data-index-in-node=\"158\" data-path-to-node=\"15,0,0\">sebuahProposal : Proposal<\/code><\/b> dan <b data-index-in-node=\"183\" data-path-to-node=\"15,0,0\"><code data-index-in-node=\"183\" data-path-to-node=\"15,0,0\">sebuahRencana : Rencana Proyek Pengiriman<\/code><\/b>).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"15,1,0\">Ditandai secara eksplisit <b data-index-in-node=\"18\" data-path-to-node=\"15,1,0\"><code data-index-in-node=\"18\" data-path-to-node=\"15,1,0\">buat<\/code><\/b>panah menunjukkan secara tepat kapan suatu tindakan menginstansiasi atau memperbarui struktur data, menunjukkan bagaimana data mengalir dari tugas ke tugas bersamaan dengan eksekusi operasional.<\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"Activity Diagram, UML Diagrams Example: Relationships between Activates and Business Entities - Visual Paradigm Community Circle\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/Activity-Diagram-Relationships-between-Activates-and-Business-Entities.png\"\/><\/p>\n<p><strong>Kapan Menggunakan<\/strong>:<\/p>\n<ul>\n<li>\n<p>Mendokumentasikan proses bisnis<\/p>\n<\/li>\n<li>\n<p>Memodelkan realisasi use case<\/p>\n<\/li>\n<li>\n<p>Menentukan algoritma yang kompleks<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>8. Diagram Mesin Status (Statecharts)<\/h3>\n<p><strong>Tujuan<\/strong>: Memodelkan siklus hidup dan perilaku tergantung status objek.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Status (persegi panjang melengkung dengan aktivitas masuk\/keluar\/lakukan)<\/p>\n<\/li>\n<li>\n<p>Transisi (pemicu[penjaga]\/efek)<\/p>\n<\/li>\n<li>\n<p>Pseudostatus: awal, pilihan, cabang, gabung, riwayat, berhenti<\/p>\n<\/li>\n<li>\n<p>Status komposit dan wilayah ortogonal<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>: pengaturan telepon<\/p>\n<h2 data-path-to-node=\"1\">Status dan Kondisi Sistem<\/h2>\n<p data-path-to-node=\"2\">Diagram ini menangkap perilaku suatu sistem\u2014khususnya pengaturan telepon\u2014dengan memetakan berbagai situasi atau kondisi diskrit yang dimilikinya.<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">Status:<\/b> Persegi panjang melengkung mewakili status (misalnya, <b data-index-in-node=\"55\" data-path-to-node=\"3,0,0\">Tidak Aktif<\/b>, <b data-index-in-node=\"61\" data-path-to-node=\"3,0,0\">DialTone<\/b>, <b data-index-in-node=\"71\" data-path-to-node=\"3,0,0\">Menelepon<\/b>, <b data-index-in-node=\"80\" data-path-to-node=\"3,0,0\">Terhubung<\/b>, dan <b data-index-in-node=\"96\" data-path-to-node=\"3,0,0\">Terhubung<\/b>). Sebuah status mewakili periode dalam siklus hidup suatu objek di mana ia memenuhi kondisi tertentu, menjalankan aktivitas, atau menunggu suatu peristiwa.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">Status Pseudo Awal:<\/b> Lingkaran hitam pekat di sebelah kiri mewakili titik awal mesin status. Ini adalah status pseudo, bukan status sejati, yang berfungsi hanya sebagai penunjuk ke status aktif default saat objek diinstansiasi (<b data-index-in-node=\"249\" data-path-to-node=\"3,1,0\">Menganggur<\/b>).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,2,0\">Status Akhir:<\/b> Simbol bullseye di sebelah kanan mewakili penghentian eksekusi mesin status, menunjukkan bahwa objek telah menyelesaikan siklus hidupnya.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Transisi dan Pengalihan Berbasis Peristiwa<\/h2>\n<p data-path-to-node=\"5\">Garis berarah yang menghubungkan status-status tersebut adalah <b data-index-in-node=\"45\" data-path-to-node=\"5\">Transisi<\/b>, yang mewakili perpindahan dari satu status ke status lain sebagai respons terhadap pemicu tertentu.<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,0,0\">Transisi Standar:<\/b> Dipicu oleh peristiwa tertentu, seperti tindakan pengguna atau respons sistem, yang dicatat sepanjang garis. Sebagai contoh, berpindah dari <b data-index-in-node=\"142\" data-path-to-node=\"6,0,0\">Menganggur<\/b> ke <b data-index-in-node=\"150\" data-path-to-node=\"6,0,0\">DialTone<\/b> terjadi ketika peristiwa <b data-index-in-node=\"175\" data-path-to-node=\"6,0,0\"><code data-index-in-node=\"175\" data-path-to-node=\"6,0,0\">onHook<\/code><\/b> dipicu, dan berpindah dari <b data-index-in-node=\"218\" data-path-to-node=\"6,0,0\">DialTone<\/b> ke <b data-index-in-node=\"230\" data-path-to-node=\"6,0,0\">Menelepon<\/b> terjadi ketika sebuah <b data-index-in-node=\"253\" data-path-to-node=\"6,0,0\"><code data-index-in-node=\"253\" data-path-to-node=\"6,0,0\">digit(n)<\/code><\/b> event diterima.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,1,0\">Transisi Diri:<\/b> Panah transisi yang keluar dari suatu keadaan dan kembali langsung ke keadaan yang sama (seperti terlihat pada <b data-index-in-node=\"119\" data-path-to-node=\"6,1,0\">Dialing<\/b> keadaan dengan <b data-index-in-node=\"142\" data-path-to-node=\"6,1,0\"><code data-index-in-node=\"142\" data-path-to-node=\"6,1,0\">digit(n)<\/code><\/b> ini menunjukkan bahwa event diproses dan memperbarui konteks keadaan internal (misalnya, mencatat digit yang baru diputar) tanpa menyebabkan objek keluar atau mengubah keadaan operasional utamanya.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Jalur Alternatif dan Penanganan Kesalahan<\/h2>\n<p data-path-to-node=\"8\">Mesin keadaan unggul dalam menunjukkan logika perilaku dan cabang kesalahan berdasarkan kondisi yang berbeda selama eksekusi.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,0,0\">Jalur Eksekusi yang Berhasil:<\/b> Saluran horizontal pusat memetakan jalur optimal: <b data-index-in-node=\"86\" data-path-to-node=\"9,0,0\">Idle<\/b> <span class=\"math-inline\" data-index-in-node=\"91\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"103\" data-path-to-node=\"9,0,0\">DialTone<\/b> <span class=\"math-inline\" data-index-in-node=\"112\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"124\" data-path-to-node=\"9,0,0\">Dialing<\/b> <span class=\"math-inline\" data-index-in-node=\"132\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"144\" data-path-to-node=\"9,0,0\">Connecting<\/b> <span class=\"math-inline\" data-index-in-node=\"155\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"167\" data-path-to-node=\"9,0,0\">Ringing<\/b> <span class=\"math-inline\" data-index-in-node=\"175\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"187\" data-path-to-node=\"9,0,0\">Connected<\/b> <span class=\"math-inline\" data-index-in-node=\"197\" data-math=\"rightarrow\">$rightarrow$<\/span> <b data-index-in-node=\"209\" data-path-to-node=\"9,0,0\">Disconnected<\/b>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,1,0\">Keadaan Penanganan Eksplisit dan Kesalahan:<\/b> Sistem mempertimbangkan kegagalan atau penundaan dengan beralih ke keadaan penanganan khusus. Jika nomor sedang sibuk saat terhubung, sistem akan memicu <b data-index-in-node=\"188\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"188\" data-path-to-node=\"9,1,0\">numberBusy<\/code><\/b> transisi untuk memasuki <b data-index-in-node=\"223\" data-path-to-node=\"9,1,0\">BusyTone<\/b> keadaan. Jika pengguna berhenti terlalu lama saat menekan tombol, sebuah <b data-index-in-node=\"282\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"282\" data-path-to-node=\"9,1,0\">timeout<\/code><\/b> acara menggeser sistem ke dalam <b data-index-in-node=\"321\" data-path-to-node=\"9,1,0\">Peringatan<\/b> atau <b data-index-in-node=\"332\" data-path-to-node=\"9,1,0\">Timeout<\/b> keadaan. Jika urutan yang salah terdeteksi, sebuah <b data-index-in-node=\"388\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"388\" data-path-to-node=\"9,1,0\">invalidNumber<\/code><\/b> pemicu mengarahkan sistem ke dalam <b data-index-in-node=\"433\" data-path-to-node=\"9,1,0\">Pesan Terrekam<\/b> keadaan, memastikan sistem menangani semua kasus tepi dunia nyata dengan aman.<\/p>\n<\/li>\n<\/ul>\n<p><img alt=\"State Diagram - A Quick Tutorial - Visual Paradigm Blog\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/State-Machine-Diagram-Phone.png\"\/><\/p>\n<p>\u00a0<\/p>\n<p><strong>Kapan Harus Menggunakan<\/strong>:<\/p>\n<ul>\n<li>\n<p>Memodelkan sistem tertanam atau implementasi protokol<\/p>\n<\/li>\n<li>\n<p>Menentukan manajemen status antarmuka pengguna<\/p>\n<\/li>\n<li>\n<p>Mendokumentasikan aturan siklus hidup objek<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>9. Diagram Interaksi<\/h3>\n<p>Empat jenis diagram menekankan aspek-aspek berbeda dari kolaborasi objek:<\/p>\n<h4>a) Diagram Urutan\u00a0<em>(Paling Umum)<\/em><\/h4>\n<p><strong>Tujuan<\/strong>: Menunjukkan pertukaran pesan yang diurutkan menurut waktu antara jalur hidup.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Jalur Hidup (garis putus-putus vertikal)<\/p>\n<\/li>\n<li>\n<p>Pesan (panah padat\/putus-putus dengan label)<\/p>\n<\/li>\n<li>\n<p>Kejadian eksekusi (batang aktivasi)<\/p>\n<\/li>\n<li>\n<p>Fragmen digabungkan:\u00a0<code data-backticks=\"1\">alt<\/code>,\u00a0<code data-backticks=\"1\">opt<\/code>,\u00a0<code data-backticks=\"1\">loop<\/code>,\u00a0<code data-backticks=\"1\">par<\/code>,\u00a0<code data-backticks=\"1\">break<\/code><\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>:<\/p>\n<h2 data-path-to-node=\"1\">Lifeline dan Konteks Eksekusi<\/h2>\n<p data-path-to-node=\"2\">Diagram dibaca dari kiri ke kanan untuk menentukan peserta, dan dari atas ke bawah untuk menunjukkan perjalanan waktu.<\/p>\n<ul data-path-to-node=\"3\">\n<li>\n<p data-path-to-node=\"3,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,0,0\">Lifeline:<\/b> Kotak-kotak di bagian atas yang terhubung dengan garis vertikal putus-putus mewakili lifeline. Mereka memodelkan peserta individu dalam interaksi, mengikuti konvensi <code data-index-in-node=\"156\" data-path-to-node=\"3,0,0\">namaInstansi : NamaKelas<\/code> konvensi (misalnya, <b data-index-in-node=\"199\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"199\" data-path-to-node=\"3,0,0\">jendela : UI<\/code><\/b>, <b data-index-in-node=\"212\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"212\" data-path-to-node=\"3,0,0\">aChain : RantaiHotel<\/code><\/b>, dan <b data-index-in-node=\"237\" data-path-to-node=\"3,0,0\"><code data-index-in-node=\"237\" data-path-to-node=\"3,0,0\">aHotel : Hotel<\/code><\/b>). Garis putus-putus melacak keberadaan peserta tersebut sepanjang urutan.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,1,0\">Batas Aktivasi:<\/b> Persegi panjang vertikal tipis berwarna yang berada di atas lifeline menunjukkan <b data-index-in-node=\"99\" data-path-to-node=\"3,1,0\">Aktivasi<\/b> (atau kejadian eksekusi). Batas ini menunjukkan secara tepat kapan suatu objek sedang aktif mengeksekusi operasi atau menunggu kembalinya pemanggilan bawah yang bersarang.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"3,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"3,2,0\">Dihentikan:<\/b> Simbol &#8220;X&#8221; besar di bagian bawah dari <code data-index-in-node=\"51\" data-path-to-node=\"3,2,0\">jendela : UI<\/code> lifeline menunjukkan destruksi atau terminasi, menunjukkan bahwa siklus hidup partisipan tertentu telah berakhir dan sumber dayanya dilepaskan.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"4\">Jenis Pesan dan Komunikasi<\/h2>\n<p data-path-to-node=\"5\">Komunikasi antar partisipan dimodelkan melalui panah horizontal yang mewakili pesan, diurutkan secara berurutan menggunakan sistem penomoran hierarkis (misalnya, 1, 1.1, 1.1.1).<\/p>\n<ul data-path-to-node=\"6\">\n<li>\n<p data-path-to-node=\"6,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,0,0\">Pesan Sinkron:<\/b>Garis padat dengan kepala panah padat (seperti <b data-index-in-node=\"62\" data-path-to-node=\"6,0,0\"><code data-index-in-node=\"62\" data-path-to-node=\"6,0,0\">1: makeReservation<\/code><\/b> dan <b data-index-in-node=\"85\" data-path-to-node=\"6,0,0\"><code data-index-in-node=\"85\" data-path-to-node=\"6,0,0\">1.1: makeReservation<\/code><\/b>) menunjukkan pemanggilan sinkron. Pengirim menghentikan eksekusi dan menunggu objek penerima menyelesaikan pemrosesannya.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,1,0\">Pesan Diri:<\/b>Sebuah lingkaran pesan yang dimulai dan berakhir pada batang aktivasi yang sama (seperti <b data-index-in-node=\"87\" data-path-to-node=\"6,1,0\"><code data-index-in-node=\"87\" data-path-to-node=\"6,1,0\">1.1.1: available(roomId, date): isRoom<\/code><\/b> dieksekusi oleh <code data-index-in-node=\"138\" data-path-to-node=\"6,1,0\">aHotel<\/code>) mewakili sebuah <b data-index-in-node=\"159\" data-path-to-node=\"6,1,0\">Pesan Diri<\/b>. Ini menunjukkan eksekusi metode internal di mana sebuah objek memanggil salah satu operasinya sendiri.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"6,2,0\"><b data-index-in-node=\"0\" data-path-to-node=\"6,2,0\">Pesan Pembuatan:<\/b>Garis putus-putus dengan kepala panah terbuka yang mengarah langsung ke kotak objek (seperti pesan <b data-index-in-node=\"106\" data-path-to-node=\"6,2,0\"><code data-index-in-node=\"106\" data-path-to-node=\"6,2,0\">1.1.2:<\/code><\/b> mengarah ke <b data-index-in-node=\"125\" data-path-to-node=\"6,2,0\"><code data-index-in-node=\"125\" data-path-to-node=\"6,2,0\">aReservation : Reservation<\/code><\/b>) mewakili pembuatan objek. Ini menunjukkan bahwa instance <code data-index-in-node=\"201\" data-path-to-node=\"6,2,0\">aHotel<\/code> secara dinamis membuat instance objek <code data-index-in-node=\"246\" data-path-to-node=\"6,2,0\">aReservation<\/code> pada saat tepat dalam urutan runtime.<\/p>\n<\/li>\n<\/ul>\n<h2 data-path-to-node=\"7\">Fragmen Gabungan dan Alur Kontrol<\/h2>\n<p data-path-to-node=\"8\">Kotak persegi panjang besar yang mengelilingi bagian-bagian urutan adalah <b data-index-in-node=\"65\" data-path-to-node=\"8\">Fragmen Gabungan<\/b>, yang menggunakan operator interaksi untuk mengelola logika kompleks, percabangan, dan iterasi.<\/p>\n<ul data-path-to-node=\"9\">\n<li>\n<p data-path-to-node=\"9,0,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,0,0\">Fragment Loop:<\/b> Kotak luar yang bertanda <b data-index-in-node=\"37\" data-path-to-node=\"9,0,0\"><code data-index-in-node=\"37\" data-path-to-node=\"9,0,0\">loop<\/code><\/b> dengan kondisi penjaga <b data-index-in-node=\"67\" data-path-to-node=\"9,0,0\"><code data-index-in-node=\"67\" data-path-to-node=\"9,0,0\">[setiap hari]<\/code><\/b> mewakili iterasi. Semua interaksi yang terkandung dalam kotak ini akan berulang terus-menerus untuk setiap hari yang ditentukan dalam permintaan reservasi.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"9,1,0\"><b data-index-in-node=\"0\" data-path-to-node=\"9,1,0\">Fragment Gabungan Alternatif (Alt):<\/b> Terdapat di dalam loop adalah sebuah <b data-index-in-node=\"68\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"68\" data-path-to-node=\"9,1,0\">alt<\/code><\/b> fragment (diberi keterangan sebagai \u201cJika\u201d pada penunjuk diagram), yang menangani percabangan bersyarat. Ia mengevaluasi kondisi penjaga <b data-index-in-node=\"195\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"195\" data-path-to-node=\"9,1,0\">[isRoom = true]<\/code><\/b>. Jika kondisi terpenuhi, urutan akan menjalankan jalur khusus di dalam blok tersebut\u2014menciptakan instance <code data-index-in-node=\"308\" data-path-to-node=\"9,1,0\">aReservation<\/code> dan selanjutnya memicu pesan <b data-index-in-node=\"366\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"366\" data-path-to-node=\"9,1,0\">2:<\/code><\/b> untuk membuat instance <b data-index-in-node=\"384\" data-path-to-node=\"9,1,0\"><code data-index-in-node=\"384\" data-path-to-node=\"9,1,0\">aNotice : Konfirmasi<\/code><\/b>. Jika kondisi salah, maka jalur alternatif (atau tidak ada tindakan) akan diambil.<\/p>\n<p id=\"dbSjLVX\"><img alt=\"\" class=\"alignnone size-full wp-image-18812\" decoding=\"async\" height=\"528\" loading=\"lazy\" sizes=\"auto, (max-width: 1010px) 100vw, 1010px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfc7e45ebb.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfc7e45ebb.png 1010w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfc7e45ebb-300x157.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/img_6a0bfc7e45ebb-768x401.png 768w\" width=\"1010\"\/><\/p>\n<\/li>\n<\/ul>\n<h4>b) Diagram Komunikasi<\/h4>\n<p><strong>Tujuan<\/strong>: Menekankan hubungan objek daripada waktu pesan.<\/p>\n<p><img alt=\"What is Communication Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/03-communication-diagram-example-hotel-reservation.png\"\/><\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Objek sebagai simpul<\/p>\n<\/li>\n<li>\n<p>Tautan dengan pesan bernomor dan berarah<\/p>\n<\/li>\n<li>\n<p>Fokus pada \u201csiapa berbicara kepada siapa\u201d<\/p>\n<\/li>\n<\/ul>\n<h4>c) Diagram Gambaran Interaksi<\/h4>\n<p><strong>Tujuan<\/strong>: Alur kontrol tingkat tinggi menggunakan notasi diagram aktivitas.<\/p>\n<p><img alt=\"Interaction Overview Diagram Example\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/02-interaction-overview-diagram-example.png\"\/><\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Terjadinya interaksi sebagai node aktivitas<\/p>\n<\/li>\n<li>\n<p>Keputusan\/gabungan untuk percabangan<\/p>\n<\/li>\n<li>\n<p>Fork\/gabung untuk paralelisme<\/p>\n<\/li>\n<\/ul>\n<h4>d) Diagram Waktu<\/h4>\n<p><strong>Tujuan<\/strong>: Model batasan waktu yang tepat (sistem waktu nyata).<\/p>\n<p><img alt=\"What is Timing Diagram?\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/02-timing-diagram-example.png\"\/><\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Garis waktu status untuk setiap lifeline<\/p>\n<\/li>\n<li>\n<p>Skala waktu dan batasan<\/p>\n<\/li>\n<li>\n<p>Panah pesan dengan penanda durasi<\/p>\n<\/li>\n<\/ul>\n<p><strong>Kapan Menggunakan Interaksi<\/strong>:<\/p>\n<ul>\n<li>\n<p>Menentukan realisasi use case<\/p>\n<\/li>\n<li>\n<p>Mengoreksi aliran pesan yang kompleks<\/p>\n<\/li>\n<li>\n<p>Mendokumentasikan pola penggunaan API<\/p>\n<\/li>\n<li>\n<p>Memodelkan waktu protokol waktu nyata<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h3>10. Diagram Use Case<\/h3>\n<p><strong>Tujuan<\/strong>: Menangkap kebutuhan fungsional dari perspektif aktor eksternal.<\/p>\n<p><strong>Elemen Kunci<\/strong>:<\/p>\n<ul>\n<li>\n<p>Use case (oval atau persegi panjang klasifikasi)<\/p>\n<\/li>\n<li>\n<p>Aktor (gambar figur batang atau klasifikasi)<\/p>\n<\/li>\n<li>\n<p>Asosiasi (aktor \u2194 use case)<\/p>\n<\/li>\n<li>\n<p>Hubungan:\u00a0<code data-backticks=\"1\">\u00abinclude\u00bb<\/code>,\u00a0<code data-backticks=\"1\">\u00abmemperluas\u00bb<\/code>, generalisasi<\/p>\n<\/li>\n<li>\n<p>Kotak batas sistem<\/p>\n<\/li>\n<\/ul>\n<p><strong>Contoh Penggunaan<\/strong>: Sistem ATM<\/p>\n<p><img alt=\"A Comprehensive Guide to Use Case Modeling - Visual Paradigm Guides\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/Use-Case-Diagram-Website-_-Structuring-use-cases-with-extend-and-include-use-case-1.png\"\/><\/p>\n<p><strong>Kapan Digunakan<\/strong>:<\/p>\n<ul>\n<li>\n<p>Elicitasi kebutuhan dengan pemangku kepentingan<\/p>\n<\/li>\n<li>\n<p>Menentukan cakupan dan batas sistem<\/p>\n<\/li>\n<li>\n<p>Merencanakan skenario pengujian<\/p>\n<\/li>\n<\/ul>\n<hr\/>\n<h2>\ud83c\udfaf Memilih Diagram yang Tepat: Panduan Keputusan<\/h2>\n<table>\n<thead>\n<tr>\n<th>Tujuan<\/th>\n<th>Diagram yang Direkomendasikan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Desain struktur kelas<\/td>\n<td>Kelas, Objek, Paket<\/td>\n<\/tr>\n<tr>\n<td>Model interaksi saat runtime<\/td>\n<td>Urutan, Komunikasi<\/td>\n<\/tr>\n<tr>\n<td>Dokumentasikan alur kerja bisnis<\/td>\n<td>Aktivitas, Kasus Penggunaan<\/td>\n<\/tr>\n<tr>\n<td>Tentukan siklus hidup objek<\/td>\n<td>Mesin Status<\/td>\n<\/tr>\n<tr>\n<td>Merencanakan penyebaran sistem<\/td>\n<td>Penyebaran, Komponen<\/td>\n<\/tr>\n<tr>\n<td>Model pola internal yang kompleks<\/td>\n<td>Struktur Komposit<\/td>\n<\/tr>\n<tr>\n<td>Tangkap batasan waktu nyata<\/td>\n<td>Diagram Waktu<\/td>\n<\/tr>\n<tr>\n<td>Tentukan kebutuhan<\/td>\n<td>Kasus Penggunaan, Aktivitas<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr\/>\n<h2>\ud83d\udd11 Prinsip-prinsip Pemodelan Utama<\/h2>\n<ol>\n<li>\n<p><strong>Mulai dengan sederhana<\/strong>: Mulailah dengan jenis diagram yang paling sesuai dengan tujuan Anda saat ini.<\/p>\n<\/li>\n<li>\n<p><strong>Iterasi<\/strong>: Sempurnakan model seiring pemahaman yang semakin dalam\u2014tidak ada diagram yang \u201cakhir\u201d pada draft pertama.<\/p>\n<\/li>\n<li>\n<p><strong>Pertimbangkan audiensnya<\/strong>: Sesuaikan tingkat detail dengan pembaca (pengembang vs. pemangku kepentingan).<\/p>\n<\/li>\n<li>\n<p><strong>Gabungkan pandangan<\/strong>: Gunakan beberapa diagram untuk menceritakan cerita yang lengkap (misalnya, Use Case \u2192 Sequence \u2192 Class).<\/p>\n<\/li>\n<li>\n<p><strong>Perluas secara bijak<\/strong>: Gunakan stereotip, nilai bertanda, dan profil untuk kebutuhan khusus domain\u2014tetapi dokumentasikan konvensi yang digunakan.<\/p>\n<\/li>\n<li>\n<p><strong>Jaga agar mudah dibaca<\/strong>: Hindari detail yang tidak relevan; gunakan catatan untuk konteks tambahan.<\/p>\n<\/li>\n<\/ol>\n<blockquote>\n<p>\ud83d\udccc\u00a0<strong>Ingat<\/strong>:\u00a0<em>\u201cUML adalah bahasa, bukan metodologi.\u201d<\/em> Ini menyediakan notasi\u2014bukan proses. Pilih diagram yang memperjelas komunikasi, bukan yang hanya untuk mengisi kotak.<\/p>\n<\/blockquote>\n<h3><strong><span>Kesimpulan<\/span><\/strong><\/h3>\n<div><span>Menguasai UML lebih terkait dengan belajar menceritakan cerita yang jelas dan bermakna tentang sistem Anda, daripada menghafal setiap aturan sintaksis. Seperti yang ditunjukkan panduan ini, setiap jenis diagram UML menawarkan sudut pandang yang berbeda: diagram kelas dan paket mengungkap arsitektur statis, diagram urutan dan mesin keadaan mengungkap perilaku dinamis, sementara diagram penempatan dan struktur komposit menjadi jembatan antara desain dan eksekusi. Kekuatan sejati UML terletak pada fleksibilitasnya\u2014ia dapat berkembang dari sketsa di papan tulis hingga model eksekusi yang didukung alat, dan ia menyesuaikan diri dengan kebutuhan pengembang, arsitek, serta pemangku kepentingan bisnis. Ingatlah bahwa pemodelan yang efektif bersifat iteratif, didorong oleh audiens, dan secara sengaja selektif. Mulailah dengan diagram paling sederhana yang menyampaikan maksud Anda, sempurnakan seiring pemahaman yang semakin dalam, dan gabungkan beberapa pandangan ketika satu diagram saja tidak cukup. UML adalah bahasa untuk komunikasi, bukan daftar periksa kepatuhan; gunakan untuk menghilangkan ambiguitas, bukan menciptakannya. Dengan menerapkan prinsip-prinsip ini secara bijak, Anda akan mengubah konsep abstrak menjadi blueprints yang dapat dijalankan, yang menyelaraskan tim, mempercepat pengembangan, dan menjaga sistem Anda tetap tangguh seiring perkembangannya.<\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Pendahuluan Bahasa Pemodelan Terpadu (UML) telah menjadi standar de facto untuk memvisualisasikan, menentukan, dan mendokumentasikan sistem perangkat lunak di berbagai<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-12106","post","type-post","status-publish","format-standard","hentry","category-unified-modeling-language"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Panduan Lengkap tentang Diagram UML - Media Maya<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Panduan Lengkap tentang Diagram UML - Media Maya\" \/>\n<meta property=\"og:description\" content=\"Pendahuluan Bahasa Pemodelan Terpadu (UML) telah menjadi standar de facto untuk memvisualisasikan, menentukan, dan mendokumentasikan sistem perangkat lunak di berbagai\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Media Maya\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-19T06:24:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"23 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Panduan Lengkap tentang Diagram UML\",\"datePublished\":\"2026-05-19T06:24:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\"},\"wordCount\":4444,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\",\"articleSection\":[\"Unified Modeling Language\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\",\"url\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\",\"name\":\"Panduan Lengkap tentang Diagram UML - Media Maya\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\",\"datePublished\":\"2026-05-19T06:24:52+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Panduan Lengkap tentang Diagram UML\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/id\/\",\"name\":\"Media Maya\",\"description\":\"Belajar satu hal baru setiap hari\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/id\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Panduan Lengkap tentang Diagram UML - Media Maya","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/","og_locale":"id_ID","og_type":"article","og_title":"Panduan Lengkap tentang Diagram UML - Media Maya","og_description":"Pendahuluan Bahasa Pemodelan Terpadu (UML) telah menjadi standar de facto untuk memvisualisasikan, menentukan, dan mendokumentasikan sistem perangkat lunak di berbagai","og_url":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/","og_site_name":"Media Maya","article_published_time":"2026-05-19T06:24:52+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"curtis","Estimasi waktu membaca":"23 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Panduan Lengkap tentang Diagram UML","datePublished":"2026-05-19T06:24:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/"},"wordCount":4444,"image":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png","articleSection":["Unified Modeling Language"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/","url":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/","name":"Panduan Lengkap tentang Diagram UML - Media Maya","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png","datePublished":"2026-05-19T06:24:52+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#primaryimage","url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png","contentUrl":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/05\/12-uml-class-diagram-example.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/id\/comprehensive-guide-to-uml-diagrams-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/id\/"},{"@type":"ListItem","position":2,"name":"Panduan Lengkap tentang Diagram UML"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/id\/#website","url":"https:\/\/www.cybermedian.com\/id\/","name":"Media Maya","description":"Belajar satu hal baru setiap hari","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/id\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/12106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/comments?post=12106"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/12106\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/media?parent=12106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/categories?post=12106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/tags?post=12106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}