{"id":11078,"date":"2026-06-02T17:17:32","date_gmt":"2026-06-02T09:17:32","guid":{"rendered":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/"},"modified":"2026-06-02T17:17:32","modified_gmt":"2026-06-02T09:17:32","slug":"vpascode-plantuml-playbook-reference-guide","status":"publish","type":"post","link":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/","title":{"rendered":"Panduan Referensi Playbook PlantUML VPASCode"},"content":{"rendered":"<p data-nodeid=\"13783\"><em data-nodeid=\"13833\">Daftar artikel yang dikurasi dari Playbook PlantUML VPASCode yang menampilkan panduan sintaks untuk alur kerja diagram-as-code UML dan non-UML.<\/em><\/p>\n<hr data-nodeid=\"13784\"\/>\n<h2 data-nodeid=\"13785\">Inti dan Dasar-dasar Sintaks PlantUML<\/h2>\n<ol data-nodeid=\"13786\">\n<li data-nodeid=\"13787\">\n<p data-nodeid=\"13788\"><a data-nodeid=\"13841\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-syntax-basics\/\"><strong data-nodeid=\"13842\">Dasar-dasar Sintaks PlantUML<\/strong><\/a>: Kuasai sintaks dasar PlantUML yang mencakup deklarasi diagram dengan\u00a0<code data-backticks=\"1\" data-nodeid=\"13844\">@startuml<\/code>\/<code data-backticks=\"1\" data-nodeid=\"13846\">@enduml<\/code>, definisi entitas, operator hubungan, arahan penataan, dan kata kunci umum. Pelajari cara membuat skrip PlantUML yang bersih dan mudah dibaca yang secara otomatis menghasilkan diagram profesional. [[34]]<\/p>\n<\/li>\n<li data-nodeid=\"13789\">\n<p data-nodeid=\"13790\"><a data-nodeid=\"13857\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-use-case-diagram-syntax-guide\/\"><strong data-nodeid=\"13858\">Panduan Sintaks Diagram Kasus Pengguna PlantUML<\/strong><\/a>: Pelajari cara memodelkan kebutuhan fungsional dan interaksi aktor menggunakan diagram kasus pengguna PlantUML. Mencakup aktor, kasus pengguna, batas sistem, hubungan include\/extend, dan pola generalisasi untuk dokumentasi kebutuhan dan pemetaan cerita pengguna.<\/p>\n<\/li>\n<li data-nodeid=\"13791\">\n<p data-nodeid=\"13792\"><a data-nodeid=\"13864\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-class-diagram-syntax-guide\/\"><strong data-nodeid=\"13865\">Panduan Sintaks Diagram Kelas PlantUML<\/strong><\/a>: Rancang struktur sistem statis dengan diagram kelas PlantUML. Kuasai deklarasi kelas\/atribut\/metode, modifikator visibilitas, pewarisan (<code data-backticks=\"1\" data-nodeid=\"13867\">&lt;|--<\/code>), komposisi (<code data-backticks=\"1\" data-nodeid=\"13869\">*--<\/code>), agregasi (<code data-backticks=\"1\" data-nodeid=\"13871\">o--<\/code>), dan hubungan asosiasi untuk dokumentasi arsitektur berbasis objek. [[49]]<\/p>\n<\/li>\n<li data-nodeid=\"13793\">\n<p data-nodeid=\"13794\"><a data-nodeid=\"13882\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-sequence-diagram-syntax-guide\/\"><strong data-nodeid=\"13883\">Panduan Sintaks Diagram Urutan PlantUML<\/strong><\/a>: Model alur pesan dan interaksi temporal antar komponen sistem. Pelajari deklarasi peserta, pesan sinkron\/asinkron (<code data-backticks=\"1\" data-nodeid=\"13885\">-&gt;<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"13887\">--&gt;<\/code>), batang aktivasi, perulangan, blok alt\/else, dan sintaks pembuatan\/deaktivasi untuk desain API dan diagram komunikasi mikroservis. [[51]]<\/p>\n<\/li>\n<li data-nodeid=\"13795\">\n<p data-nodeid=\"13796\"><a data-nodeid=\"13898\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-activity-diagram-syntax-guide\/\"><strong data-nodeid=\"13899\">Panduan Sintaks Diagram Aktivitas PlantUML<\/strong><\/a>: Visualisasikan proses bisnis dan alur kerja algoritmik menggunakan sintaks diagram aktivitas PlantUML. Mencakup node mulai\/selesai, tindakan, cabang bersyarat (<code data-backticks=\"1\" data-nodeid=\"13903\">if\/then\/else<\/code>), perulangan (<code data-backticks=\"1\" data-nodeid=\"13905\">repeat\/while<\/code>), cabang paralel, dan jalur pemisah untuk dokumentasi logika prosedural. [[46]]<\/p>\n<\/li>\n<li data-nodeid=\"13797\">\n<p data-nodeid=\"13798\"><a data-nodeid=\"13916\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-state-diagram-syntax-guide\/\"><strong data-nodeid=\"13917\">Panduan Sintaks Diagram Status PlantUML<\/strong><\/a>: Model mesin status hingga dan transisi siklus hidup objek. Pelajari deklarasi status, panah transisi (<code data-backticks=\"1\" data-nodeid=\"13919\">--&gt;<\/code>), tindakan masuk\/keluar, status komposit, dan wilayah bersamaan untuk desain sistem berbasis peristiwa dan spesifikasi perilaku. [[36]]<\/p>\n<\/li>\n<li data-nodeid=\"13799\">\n<p data-nodeid=\"13800\"><a data-nodeid=\"13930\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-object-diagram-syntax-guide\/\"><strong data-nodeid=\"13931\">Panduan Sintaks Diagram Objek PlantUML<\/strong><\/a>: Ilustrasikan instans objek konkret dan hubungan runtime mereka pada saat tertentu. Kuasai penamaan objek, penugasan nilai atribut, sintaks tautan, dan asosiasi tingkat instans untuk debugging dan visualisasi skenario pengujian. [[15]]<\/p>\n<\/li>\n<li data-nodeid=\"13801\">\n<p data-nodeid=\"13802\"><a data-nodeid=\"13942\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-component-diagram-syntax-guide\/\"><strong data-nodeid=\"13943\">Panduan Sintaks Diagram Komponen PlantUML<\/strong><\/a>: Peta arsitektur perangkat lunak modular dengan komponen, antarmuka, dan ketergantungan. Pelajari deklarasi komponen, antarmuka yang disediakan\/dibutuhkan (<code data-backticks=\"1\" data-nodeid=\"13945\">&lt;&gt;<\/code>), panah ketergantungan, dan pengelompokan paket untuk dokumentasi sistem mikroservis dan berbasis plugin. [[35]]<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"13803\"\/>\n<h2 data-nodeid=\"13804\">Jenis Diagram PlantUML Lanjutan<\/h2>\n<ol data-nodeid=\"13805\" start=\"9\">\n<li data-nodeid=\"13806\">\n<p data-nodeid=\"13807\"><a data-nodeid=\"13957\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-deployment-diagram-syntax-guide\/\"><strong data-nodeid=\"13958\">Panduan Sintaks Diagram Penempatan PlantUML<\/strong><\/a>: Model infrastruktur fisik dan topologi penempatan runtime. Kuasai\u00a0<code data-backticks=\"1\" data-nodeid=\"13960\">node<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"13962\">awan<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"13964\">bingkai<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"13966\">basis data<\/code>, dan\u00a0<code data-backticks=\"1\" data-nodeid=\"13968\">artefak<\/code>\u00a0elemen, sintaks kontainer bersarang, dan penandaan protokol jaringan untuk buku petunjuk DevOps dan diagram arsitektur awan. [[31]]<\/p>\n<\/li>\n<\/ol>\n<pre>@startuml\r\nskinparam shadowing false\r\nskinparam defaultFontName \"Arial\"\r\n\r\n' Tentukan gaya\r\nskinparam node {\r\nBackgroundColor #F1F8FF\r\nBorderColor #005CC5\r\nFontColor #032F62\r\n}\r\n\r\nskinparam database {\r\nBackgroundColor #FFF5E6\r\nBorderColor #D96F00\r\nFontColor #5C3000\r\n}\r\n\r\nskinparam artifact {\r\nBackgroundColor #E6FFF1\r\nBorderColor #008670\r\nFontColor #004D40\r\n}\r\n\r\nleft to right direction\r\n\r\n' Zona Jaringan \/ Node\r\nnode \"Jaringan Pengiriman Konten\" as cdn &lt;&lt;CDN&gt;&gt; {\r\nartifact \"Aset Statis yang Dicache\" as static\r\n}\r\n\r\nnode \"Pembagi Beban\" as lb &lt;&lt;F5 \/ HAProxy&gt;&gt;\r\n\r\nnode \"Server Aplikasi\" as appServer &lt;&lt;Ubuntu Linux&gt;&gt; {\r\nnode \"Kontainer Docker\" as docker {\r\nartifact \"app.war\" as artifactApp\r\n}\r\n}\r\n\r\nnode \"Server Basis Data\" as dbServer &lt;&lt;Cluster&gt;&gt; {\r\ndatabase \"Basis Data Produksi\" as db &lt;&lt;PostgreSQL&gt;&gt;\r\n}\r\n\r\n' Koneksi dengan Label Protokol\r\ncdn --&gt; lb : HTTP\/HTTPS (Port 443)\r\nlb --&gt; artifactApp : HTTP (Port 8080)\r\nartifactApp --&gt; db : JDBC \/ SQL (Port 5432)\r\n\r\n@enduml<\/pre>\n<p id=\"QmRulBT\"><img alt=\"\" class=\"alignnone size-full wp-image-12605\" decoding=\"async\" height=\"222\" loading=\"lazy\" sizes=\"auto, (max-width: 1474px) 100vw, 1474px\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png\" srcset=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png 1474w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829-300x45.png 300w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829-1024x154.png 1024w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829-768x116.png 768w\" width=\"1474\"\/><\/p>\n<p data-nodeid=\"13808\"><em data-nodeid=\"13989\">Contoh: Arsitektur tiga lapisan klasik yang menunjukkan CDN, pembagi beban, server aplikasi dengan artefak bersarang, dan lapisan basis data dengan koneksi berlabel protokol.<\/em>\u00a0[[1]]<\/p>\n<p id=\"HxBKlqF\"><img alt=\"\" class=\"alignnone size-full wp-image-12621\" decoding=\"async\" height=\"874\" loading=\"lazy\" sizes=\"auto, (max-width: 819px) 100vw, 819px\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea3eb9a9ab.png\" srcset=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea3eb9a9ab.png 819w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea3eb9a9ab-281x300.png 281w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea3eb9a9ab-768x820.png 768w\" width=\"819\"\/><\/p>\n<div>\n<pre>@startuml\r\n\r\nskinparam shadowing false\r\n\r\nskinparam defaultFontName \"Arial\"\r\n\r\nskinparam linetype ortho\r\n\r\n' Definisi Gaya\r\n\r\nskinparam rectangle {\r\n\r\n\u00a0 \u00a0 BackgroundColor #F4F6F9\r\n\r\n\u00a0 \u00a0 BorderColor #A0AAB2\r\n\r\n\u00a0 \u00a0 FontColor #232F3E\r\n\r\n}\r\n\r\nskinparam node {\r\n\r\n\u00a0 \u00a0 BackgroundColor #E2F3FC\r\n\r\n\u00a0 \u00a0 BorderColor #4A90E2\r\n\r\n\u00a0 \u00a0 FontColor #111111\r\n\r\n}\r\n\r\nskinparam database {\r\n\r\n\u00a0 \u00a0 BackgroundColor #FFF2E6\r\n\r\n\u00a0 \u00a0 BorderColor #FF9900\r\n\r\n\u00a0 \u00a0 FontColor #232F3E\r\n\r\n}\r\n\r\n' Titik Masuk Infrastruktur\r\n\r\nnode \"AWS Route 53\" as dns\r\n\r\nnode \"AWS Application Load Balancer\" as alb\r\n\r\ndns --&gt; alb : Rute Lalu Lintas\r\n\r\n' Perimeter Awan Global\r\n\r\nrectangle \"Wilayah Cloud AWS\" {\r\n\r\n\u00a0 \u00a0\r\n\r\n\u00a0 \u00a0 ' Batas Klaster Kubernetes Cross-AZ\r\n\r\n\u00a0 \u00a0 rectangle \"Klaster Amazon EKS\" as eks {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 ' Zona Ketersediaan 1\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Zona Ketersediaan us-east-1a\" as az1 #line.dashed {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node \"Node Pekerja EC2 (AZ1)\" as node1 {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Pod Frontend\" as podWeb1 &lt;&lt;K8s Pod&gt;&gt; {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 artifact \"Kontainer Nginx\" as containerWeb1\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Pod API Backend\" as podApi1 &lt;&lt;K8s Pod&gt;&gt; {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 artifact \"Kontainer Aplikasi Go\" as containerApi1\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 ' Zona Ketersediaan 2\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Zona Ketersediaan us-east-1b\" as az2 #line.dashed {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 node \"Node Pekerja EC2 (AZ2)\" as node2 {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Pod Frontend\" as podWeb2 &lt;&lt;K8s Pod&gt;&gt; {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 artifact \"Kontainer Nginx\" as containerWeb2\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 rectangle \"Pod API Backend\" as podApi2 &lt;&lt;K8s Pod&gt;&gt; {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 artifact \"Kontainer Aplikasi Go\" as containerApi2\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 }\r\n\r\n\u00a0 \u00a0 ' Lapisan Basis Data Bersama\r\n\r\n\u00a0 \u00a0 rectangle \"Mesin Penyimpanan Amazon Aurora\" as storage {\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 database \"Aurora Primer (Penulis)\" as dbMaster\r\n\r\n\u00a0 \u00a0 \u00a0 \u00a0 database \"Aurora Replika (Pembaca)\" as dbReplica\r\n\r\n\u00a0 \u00a0 }\r\n\r\n}\r\n\r\n' Routing &amp; Matriks Lalu Lintas\r\n\r\nalb --&gt; podWeb1 : HTTP\/S (Port 80\/443)\r\n\r\nalb --&gt; podWeb2 : HTTP\/S (Port 80\/443)\r\n\r\npodWeb1 --&gt; podApi1 : gRPC (Port 50051)\r\n\r\npodWeb2 --&gt; podApi2 : gRPC (Port 50051)\r\n\r\npodApi1 --&gt; dbMaster : TCP (Port 5432)\r\n\r\npodApi2 --&gt; dbMaster : TCP (Port 5432)\r\n\r\ndbMaster .right.&gt; dbReplica : Replikasi Otomatis Penyimpanan\r\n\r\n@enduml<\/pre>\n<\/div>\n<p data-nodeid=\"13809\"><em data-nodeid=\"14004\">Contoh: Penempatan Kubernetes berbasis awan di seluruh zona ketersediaan AWS dengan routing pembagi beban, penempatan pod bersarang, dan klaster basis data bersama.<\/em>\u00a0[[1]]<\/p>\n<ol data-nodeid=\"13810\" start=\"10\">\n<li data-nodeid=\"13811\">\n<p data-nodeid=\"13812\"><a data-nodeid=\"14009\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-timing-diagram-syntax-guide\/\"><strong data-nodeid=\"14010\">Panduan Sintaks Diagram Waktu PlantUML<\/strong><\/a>: Visualisasikan durasi status yang tepat dan batasan temporal sepanjang garis waktu linear. Pelajari\u00a0<code data-backticks=\"1\" data-nodeid=\"14012\">kuat<\/code>\/<code data-backticks=\"1\" data-nodeid=\"14014\">ringkas<\/code>gaya peserta,\u00a0<code data-backticks=\"1\" data-nodeid=\"14016\">@titikwaktu<\/code>penugasan status,\u00a0<code data-backticks=\"1\" data-nodeid=\"14018\">jam<\/code>generasi gelombang, dan\u00a0<code data-backticks=\"1\" data-nodeid=\"14020\">&lt;-&gt;<\/code>anotasi batasan untuk sistem tertanam dan spesifikasi protokol. [[30]]<\/p>\n<\/li>\n<\/ol>\n<p><img alt=\"\" class=\"alignnone size-full wp-image-12622\" decoding=\"async\" height=\"275\" loading=\"lazy\" sizes=\"auto, (max-width: 2146px) 100vw, 2146px\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b.png\" srcset=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b.png 2146w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b-300x38.png 300w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b-1024x131.png 1024w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b-768x98.png 768w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b-1536x197.png 1536w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea4f6d128b-2048x262.png 2048w\" width=\"2146\"\/><\/p>\n<pre>@startuml\r\nskinparam handwritten false\r\nskinparam shadowing false\r\nskinparam defaultFontName \"Arial\"\r\n\r\n' Judul diagram waktu\r\ntitle Timeline Sinkronisasi Register Bus Data\r\n\r\n' Tentukan gelombang jam periodik (periode 10 unit, tinggi 5 unit)\r\nclock \"Jam Sistem\" sebagai CLK dengan periode 10 pulsa 5\r\n\r\n' Tentukan peserta kuat Bus Data\r\nkuat \"Register Bus Data\" sebagai BUS\r\n\r\n' Waktu 0: Status awal register\r\n@0\r\nBUS adalah Kosong\r\n\r\n' Waktu 10: Bus data berpindah ke Membaca\r\n@10\r\nBUS adalah Membaca\r\n\r\n' Waktu 20: Bus data berpindah ke Menulis\r\n@20\r\nBUS adalah Menulis\r\n\r\n' Waktu 22: Tampilkan label teks khusus pada garis waktu\r\n@22\r\ncatatan atas BUS : T_WRITE\r\n\r\n' Waktu 30: Bus data menjadi Terkunci\r\n@30\r\nBUS adalah Terkunci\r\n\r\n' Waktu 35: Tampilkan label teks khusus pada garis waktu\r\n@35\r\ncatatan atas BUS : T_LOCK\r\n\r\n' Waktu 40: Bus data kembali ke Kosong\r\n@40\r\nBUS adalah Kosong\r\n\r\n' Tambahkan anotasi batasan temporal menggunakan titik numerik eksplisit\r\n@22 &lt;-&gt; @35 : {Durasi 13 TU}\r\n\r\n@enduml<\/pre>\n<p><em data-nodeid=\"14041\">Contoh: Garis waktu ringkas yang menunjukkan status register bus data (Kosong \u2192 Membaca \u2192 Menulis \u2192 Terkunci) yang disinkronkan dengan gelombang jam sistem periodik.<\/em> [[12]]<\/p>\n<p id=\"dWNkEyD\"><img alt=\"\" class=\"alignnone size-full wp-image-12625\" decoding=\"async\" height=\"256\" loading=\"lazy\" sizes=\"auto, (max-width: 766px) 100vw, 766px\" src=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea59fbec1b.png\" srcset=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea59fbec1b.png 766w, https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1ea59fbec1b-300x100.png 300w\" width=\"766\"\/><\/p>\n<div>\n<pre>@startuml\r\n\r\nskinparam shadowing false\r\n\r\nskinparam defaultFontName \"Arial\"\r\n\r\n' Judul diagram waktu multi-thread\r\n\r\ntitle Sinkronisasi Thread Klien Web &amp; Pekerja Otorisasi\r\n\r\n' Deklarasikan garis waktu menggunakan gaya peserta kuat\r\n\r\nkuat \"Thread Klien Web\" sebagai CLIENT\r\n\r\nkuat \"Thread Pekerja Otorisasi\" sebagai AUTH\r\n\r\n' Waktu 0ms: Status Awal Idle\r\n\r\n@0\r\n\r\nCLIENT adalah Idle\r\n\r\nAUTH adalah Idle\r\n\r\n' Waktu 10ms: Klien memicu permintaan otorisasi\r\n\r\n@10\r\n\r\nCLIENT adalah \"Menunggu Otorisasi\"\r\n\r\nAUTH adalah \"Memverifikasi Kredensial\"\r\n\r\n' Waktu 25ms: Klien mengirim payload tambahan \/ Otorisasi memulai generasi token\r\n\r\n@25\r\n\r\nAUTH adalah \"Menghasilkan Token JWT\"\r\n\r\n' Waktu 40ms: Otorisasi menyelesaikan generasi token dan merespons klien\r\n\r\n@40\r\n\r\nAUTH adalah Idle\r\n\r\nCLIENT adalah \"Dioptimalkan\"\r\n\r\n' Waktu 55ms: Klien kembali ke status default\r\n\r\n@55\r\n\r\nCLIENT adalah Idle\r\n\r\n' Anotasi Jendela Batasan Temporal 30ms (Dari @10 ke @40)\r\n\r\n@10 &lt;-&gt; @40 : {Jendela Generasi 30ms}\r\n\r\n@enduml<\/pre>\n<\/div>\n<p data-nodeid=\"13814\"><em data-nodeid=\"14056\">Contoh: Garis waktu multi-thread kuat yang memetakan status klien web dan pekerja otorisasi dengan anotasi batasan jendela generasi 30ms.<\/em>\u00a0[[12]]<\/p>\n<ol data-nodeid=\"13815\" start=\"11\">\n<li data-nodeid=\"13816\">\n<p data-nodeid=\"13817\"><a data-nodeid=\"14061\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-erd-syntax-guide\/\"><strong data-nodeid=\"14062\">Panduan Sintaks Diagram ERD PlantUML<\/strong><\/a>: Rancang diagram entitas-relationship untuk dokumentasi skema basis data. Kuasai deklarasi entitas, tipe atribut, notasi kunci primer\/kunci asing, dan hubungan kardinalitas (<code data-backticks=\"1\" data-nodeid=\"14064\">1|o--o{<\/code>) untuk pemodelan data dan perencanaan migrasi SQL.<\/p>\n<\/li>\n<li data-nodeid=\"13818\">\n<p data-nodeid=\"13819\"><a data-nodeid=\"14070\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-archimate-diagram-syntax-guide\/\"><strong data-nodeid=\"14071\">Panduan Sintaks Diagram ArchiMate PlantUML<\/strong><\/a>: Model lapisan arsitektur perusahaan menggunakan spesifikasi ArchiMate. Pelajari elemen lapisan bisnis\/aplikasi\/teknologi, konsep motivasi, dan jenis hubungan untuk perencanaan strategis TI dan dokumentasi tata kelola.<\/p>\n<\/li>\n<li data-nodeid=\"13820\">\n<p data-nodeid=\"13821\"><a data-nodeid=\"14077\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/plantuml-playbook\/plantuml-c4-model-syntax-guide\/\"><strong data-nodeid=\"14078\">Panduan Sintaks Model C4 PlantUML<\/strong><\/a>: Implementasikan model C4 untuk visualisasi arsitektur perangkat lunak di empat tingkat abstraksi: Konteks, Wadah, Komponen, dan Kode. Kuasai\u00a0<code data-backticks=\"1\" data-nodeid=\"14080\">Orang<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"14082\">Sistem<\/code>,\u00a0<code data-backticks=\"1\" data-nodeid=\"14084\">Kontainer<\/code>, dan\u00a0<code data-backticks=\"1\" data-nodeid=\"14086\">Komponen<\/code>\u00a0stereotip dengan kontainer batas dan gaya hubungan untuk komunikasi arsitektur yang selaras dengan pemangku kepentingan.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"13822\"\/>\n<blockquote data-nodeid=\"13823\">\n<p data-nodeid=\"13824\"><strong data-nodeid=\"14101\">Catatan tentang Diagram yang Disematkan<\/strong>: Semua contoh kode PlantUML dalam dokumentasi VPASCode dirender sebagai diagram interaktif dan dapat diedit langsung di browser. Tautan gambar PNG di atas menunjukkan pratinjau statis dari diagram contoh; untuk interaktivitas penuh termasuk pengeditan langsung, validasi sintaks, dan ekspor ke PNG\/SVG, kunjungi URL artikel masing-masing langsung di\u00a0<a data-nodeid=\"14094\" href=\"https:\/\/www.vpascode.com\/docs\/vpascode-docs\/\">vpascode.com\/docs<\/a>. [[54]]<\/p>\n<\/blockquote>\n<blockquote data-nodeid=\"13825\">\n<p data-nodeid=\"13826\"><strong data-nodeid=\"14117\">Fitur Editor VPasCode<\/strong>: Setiap artikel mencakup tombol \u201cEdit PlantUML di VPasCode\u201d yang memunculkan contoh kode di editor berbasis browser gratis dari VPasCode\u2014tidak diperlukan login atau instalasi. Perubahan ditampilkan langsung dengan rendering waktu nyata. [[54]]<\/p>\n<\/blockquote>\n<hr data-nodeid=\"13827\"\/>\n<p class=\"\" data-nodeid=\"13828\"><em data-nodeid=\"14127\">Referensi yang dikumpulkan dari dokumentasi VPASCode. VPasCode adalah editor gratis, daring, berbasis browser untuk diagram PlantUML, Mermaid, dan Graphviz yang tidak memerlukan login atau instalasi.<\/em>\u00a0[[54]]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Daftar artikel yang dikurasi dari Playbook PlantUML VPASCode yang menampilkan panduan sintaks untuk alur kerja diagram-as-code UML dan non-UML. Inti<\/p>\n","protected":false},"author":3482,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[1,160],"tags":[],"class_list":["post-11078","post","type-post","status-publish","format-standard","hentry","category-uncategorized","category-vpascode"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian<\/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.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian\" \/>\n<meta property=\"og:description\" content=\"Daftar artikel yang dikurasi dari Playbook PlantUML VPASCode yang menampilkan panduan sintaks untuk alur kerja diagram-as-code UML dan non-UML. Inti\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"ArchiMetric Indonesian\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-02T09:17:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.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=\"4 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba\"},\"headline\":\"Panduan Referensi Playbook PlantUML VPASCode\",\"datePublished\":\"2026-06-02T09:17:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\"},\"wordCount\":679,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png\",\"articleSection\":[\"Uncategorized\",\"VPasCode\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\",\"url\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\",\"name\":\"Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian\",\"isPartOf\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png\",\"datePublished\":\"2026-06-02T09:17:32+00:00\",\"author\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage\",\"url\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png\",\"contentUrl\":\"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.archimetric.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Panduan Referensi Playbook PlantUML VPASCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.archimetric.com\/id\/#website\",\"url\":\"https:\/\/www.archimetric.com\/id\/\",\"name\":\"ArchiMetric Indonesian\",\"description\":\"EA, Dev Ops, Scrum, Agile and More\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.archimetric.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.archimetric.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.archimetric.com\/id\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian","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.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/","og_locale":"id_ID","og_type":"article","og_title":"Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian","og_description":"Daftar artikel yang dikurasi dari Playbook PlantUML VPASCode yang menampilkan panduan sintaks untuk alur kerja diagram-as-code UML dan non-UML. Inti","og_url":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/","og_site_name":"ArchiMetric Indonesian","article_published_time":"2026-06-02T09:17:32+00:00","og_image":[{"url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png","type":"","width":"","height":""}],"author":"curtis","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"curtis","Estimasi waktu membaca":"4 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#article","isPartOf":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/"},"author":{"name":"curtis","@id":"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba"},"headline":"Panduan Referensi Playbook PlantUML VPASCode","datePublished":"2026-06-02T09:17:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/"},"wordCount":679,"commentCount":0,"image":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png","articleSection":["Uncategorized","VPasCode"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/","url":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/","name":"Panduan Referensi Playbook PlantUML VPASCode - ArchiMetric Indonesian","isPartOf":{"@id":"https:\/\/www.archimetric.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png","datePublished":"2026-06-02T09:17:32+00:00","author":{"@id":"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba"},"breadcrumb":{"@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#primaryimage","url":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png","contentUrl":"https:\/\/www.archimetric.com\/wp-content\/uploads\/2026\/06\/img_6a1e9f7530829.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.archimetric.com\/id\/vpascode-plantuml-playbook-reference-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.archimetric.com\/id\/"},{"@type":"ListItem","position":2,"name":"Panduan Referensi Playbook PlantUML VPASCode"}]},{"@type":"WebSite","@id":"https:\/\/www.archimetric.com\/id\/#website","url":"https:\/\/www.archimetric.com\/id\/","name":"ArchiMetric Indonesian","description":"EA, Dev Ops, Scrum, Agile and More","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.archimetric.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/www.archimetric.com\/id\/#\/schema\/person\/71e6318556cda44457a5b68e284bedba","name":"curtis","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.archimetric.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.archimetric.com\/id\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/posts\/11078","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/users\/3482"}],"replies":[{"embeddable":true,"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/comments?post=11078"}],"version-history":[{"count":0,"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/posts\/11078\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/media?parent=11078"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/categories?post=11078"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.archimetric.com\/id\/wp-json\/wp\/v2\/tags?post=11078"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}