{"id":2218,"date":"2026-08-18T07:03:18","date_gmt":"2026-08-18T07:03:18","guid":{"rendered":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"modified":"2026-08-18T07:03:18","modified_gmt":"2026-08-18T07:03:18","slug":"building-a-hotel-management-erd-with-plantuml-and-vpascode","status":"publish","type":"post","link":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","title":{"rendered":"Membangun ERD Manajemen Hotel dengan PlantUML dan VPasCode"},"content":{"rendered":"<p><img loading=\"lazy\" alt='A YouTube thumbnail-style graphic featuring the bold text \"BUILD PROFESSIONAL DATABASE DIAGRAMS\" in large uppercase letters, with a pointing finger icon on the right and a rendered Entity Relationship Diagram displayed in the background.' class=\"alignnone size-full wp-image-2717\" decoding=\"async\" height=\"768\" loading=\"lazy\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail.jpg 1376w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-300x167.jpg 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-1024x572.jpg 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/build-professional-database-diagrams-thumbnail-768x429.jpg 768w\" width=\"1376\"\/><\/p>\n<p>Saat merancang arsitektur basis data yang kuat untuk domain kompleks seperti perhotelan, memvisualisasikan hubungan secara jelas sangat penting. Baik Anda memetakan profil pelanggan, melacak inventaris kamar, atau mengelola tagihan, Diagram Hubungan Entitas (ERD) yang terstruktur dengan baik dapat menghemat berjam-jam waktu selama pengembangan. Dalam masterclass ini, saya akan memandu Anda melalui cara saya membangun ERD Manajemen Hotel yang komprehensif dari awal menggunakan PlantUML di dalam <a href=\"https:\/\/www.vpascode.com\/editor\/\">editor PlantUML gratis<\/a>, <a href=\"https:\/\/vpascode.com\/\">VPasCode<\/a>.<\/p>\n<p id=\"LzlMgfr\"><img loading=\"lazy\" alt=\"Hotel Management ERD diagram showing relationships between Customer, Room, Reservation, Payment, and Staff entities.\" class=\"alignnone size-full wp-image-2661\" decoding=\"async\" height=\"738\" loading=\"lazy\" sizes=\"auto, (max-width: 1508px) 100vw, 1508px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7.png 1508w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-300x147.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-1024x501.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83fec0372f7-768x376.png 768w\" width=\"1508\"\/><\/p>\n<h2>1. Menginisialisasi Lingkungan PlantUML<\/h2>\n<p>Saya mulai dengan menyiapkan struktur dasar skrip. Saat bekerja dengan skema kompleks yang berisi banyak atribut, keterbacaan tata letak adalah yang paling penting. Saya mengonfigurasi PlantUML untuk menyembunyikan kekacauan yang tidak perlu dan mengoptimalkan arah tata letak diagram:<\/p>\n<pre><code class=\"language-plantuml\">\r\n@startuml \r\ntitle ERD Manajemen Hotel\r\n\r\nhide circle\r\nleft to right direction\r\n    <\/code><\/pre>\n<p><strong>Mengapa pendekatan ini?<\/strong> Menyembunyikan lingkaran atribut default membuat kotak entitas terlihat bersih dan modern. Mengatur arah ke <code>kiri ke kanan<\/code> membantu mencegah ERD yang lebar menjadi tidak terkelola secara vertikal, dengan menyebarkan hubungan multi-tabel secara logis.<\/p>\n<h2>2. Mendefinisikan Entitas dan Atribut Inti<\/h2>\n<p>Selanjutnya, saya perlu mendefinisikan entitas inti yang mewakili domain bisnis kami. Saya menyusun setiap entitas dengan kunci primer, batasan unik, dan atribut bertipe. Mari kita lihat bagaimana saya menyiapkan entitas inti <code>Pelanggan<\/code> dan <code>JenisKamar<\/code>:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Pelanggan\" as customer {\r\n  * customer_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&lt;UK&gt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentity \"JenisKamar\" as roomtype {\r\n  * room_type_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&lt;UK&gt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n    <\/code><\/pre>\n<p>Dengan mendefinisikan penanda eksplisit seperti <code>&lt;&lt;PK&gt;&gt;<\/code> dan <code>&lt;&lt;UK&gt;&gt;<\/code>, siapa pun yang meninjau kode akan langsung memahami aturan pengindeksan dan keunikan sebelum skrip migrasi basis data bahkan ditulis.<\/p>\n<h2>3. Memetakan Entitas Operasional (Kamar, Reservasi, dan Staf)<\/h2>\n<p>Dengan data referensi kami sudah tersedia, saya beralih ke inti transaksional sistem manajemen hotel: kamar, reservasi, dan alur kerja staf. Setiap entitas terhubung kembali ke tabel dasar kami menggunakan kunci asing:<\/p>\n<pre><code class=\"language-plantuml\">\r\nentity \"Kamar\" as room {\r\n  * room_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&lt;UK&gt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&lt;FK&gt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentity \"Reservasi\" as reservation {\r\n  * reservation_id : UUID &lt;&lt;PK&gt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&lt;FK&gt;&gt;\r\n  room_id : UUID &lt;&lt;FK&gt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&lt;UK&gt;&gt;\r\n}\r\n    <\/code><\/pre>\n<h2>4. Menetapkan Hubungan Keuangan dan Layanan<\/h2>\n<p>Untuk menyempurnakan arsitektur, saya memetakan catatan tagihan (Pembayaran dan Faktur) bersama dengan layanan tambahan seperti Room Service yang ditangani oleh staf hotel. Untuk menghubungkan semuanya, saya secara eksplisit mendefinisikan kardinalitas menggunakan notasi standar PlantUML:<\/p>\n<pre><code class=\"language-plantuml\">\r\n' Relasi\r\ncustomer ||--o{ reservation : \"membuat\"\r\nroom ||--o{ reservation : \"ditugaskan ke\"\r\nreservation ||--|| payment : \"memiliki\"\r\nreservation ||--|| invoice : \"menghasilkan\"\r\nreservation ||--o{ roomservice : \"meminta\"\r\nstaff ||--o{ roomservice : \"memenuhi\"\r\nroomtype ||--o{ room : \"mengategorikan\"\r\n\r\n@enduml\r\n    <\/code><\/pre>\n<p><strong>Pilihan Desain:<\/strong> Menggunakan notasi kaki gagak yang presisi (seperti &#8220;<code>||--o{<\/code> untuk relasi satu-ke-banyak dari wajib ke opsional) memastikan aturan logika bisnis\u2014seperti pemesanan yang memerlukan pelanggan, tetapi pelanggan berpotensi memiliki beberapa atau nol pemesanan aktif\u2014dimodelkan dengan akurat.<\/p>\n<section class=\"post-section\">\u00a0<\/section>\n<hr \/>\n<h2>Skrip PlantUML Lengkap<\/h2>\n<p>Berikut adalah kode sumber lengkap yang telah disusun untuk ERD manajemen hotel kami. Anda dapat menyalin dan menempel kode ini langsung ke editor favorit Anda, <strong>editor PlantUML gratis<\/strong> untuk mengedit atau merender grafik vektor:<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edit Plantuml di VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">Plantuml<\/span>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edit Plantuml di VPasCode<\/span>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPPDZzis48Rl1lmVYBsqARh0TejUWgA84plDehl9md6AteInEB8OKwH23fqOsVpt3lNXbIofGFRIYs7n7Gx9Ppx85vx0KIYqcC_cCrAaKQpMIt471ZvYWKQyiOGwYhcIA5BbKetpcSQC15dXr2ud8PN3b9GrqUu7iSHC6UNL7en0mqx12ubcnvz0Jcq3pMVL-55StAC6isFfGh1L6ZpP0ftuEfy9yTFfEr5IF1SVFjminUz_HEdoClvcodbA31J8wj-BzQitY_MFlrqzYvg6IGaBKBep_ClLrRF6RvbRqvrnNSy0AHrwpy9czS-cSc-FeEcOb5OPYiBDsytgpzKwQcG9TC9aZsU21CB4uKvvGeVnI9kRkzNxpUBk_YJRBDagHpcBoyLc5SSDHBQW8x2pmtoBn5kMVq41hkBeh2rQXl7_1BzACg7OCl4kZfP6fgrrZmQTarGpwLZYm7CA9QJrJZlsM_2Ob4wb4UvozUhcRd7B2_ryNU5LFe43nmIsEkeltxsxNItUHYK7dnmKVkwF-ay172OP8lMNgOBkqDW3evGdX3rA6rLYdrGyHu_MwC5gP9KqJAl6Hg9FdIfZk3gvmfbW93YPF8KDVY47oHPvTWvkDseJAUqLfJaQ91f1k0MTMdFi2Zqczrpgdak-ha9ETNI7AkbEM1w79i1Cbkfe_l5MqtsYJ19plfFgzRWDT2xKIHYhOnVGZrSS53OO6WF44Q3WXtNjIqmLptJugVNQ1Yrr67Ce0Jelqr3A2OKPSqigQaofbMUTf3hxEVSj7C4ru4iuSikb5dhpELMy_n6IQHAjpmPlR_kjLY3bLdRs_cjDYnFHU4WVLnmMm1HelX-Gwo89JdSOEyo2aPDnww5w3NiATSqgSx2nMXfCpUSJCBKp1otm-dGWvNtWM9zbemnuFkJ3jih2CUW4NqQpaZSMbvykxAVbTO_RUuAieiQsMTOogpx-xrlLMOt3BClvCJ602nhSSPH0hZ9AFFSD6VJ8hkBLmXbxmCdUTyi5o9slVoKqeJdXQYBr_Ias3hhrLzqyWpsFto9DZqf85JXiF4MfiTh0c3nLbHENphVw6RVcfvbNyzdfKVRmS7bfl_QkX-VYek0U5e0kvhFgrJ5k91M57VZu8jnZDEt8SSR3mwdvrIwLLdirRjYMVsLeTdo_ASsEHupZFZh1R3mR0hQjos7I2at8LNEcAaeTotPbpj6TTQfUUpvxWKRoI_fV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"language-plantuml\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml \r\n\r\ntitle ERD Manajemen Hotel\r\n\r\nhide circle\r\nleft to right direction\r\n\r\n' Definisikan entitas dengan atribut\r\nentity \"Pelanggan\" as customer {\r\n  * customer_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  address : TEXT\r\n  loyalty_points : INTEGER\r\n  total_stays : INTEGER\r\n  date_registered : TIMESTAMP\r\n  date_of_birth : DATE\r\n  nationality : VARCHAR(50)\r\n}\r\n\r\nentity \"Kamar\" as room {\r\n  * room_id : UUID &lt;&gt;\r\n  --\r\n  room_number : VARCHAR(10) &lt;&gt;\r\n  floor_number : INTEGER\r\n  room_type_id : UUID &lt;&gt;\r\n  capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  is_available : BOOLEAN\r\n  has_view : BOOLEAN\r\n  square_feet : INTEGER\r\n  last_renovated : DATE\r\n}\r\n\r\nentity \"TipeKamar\" as roomtype {\r\n  * room_type_id : UUID &lt;&gt;\r\n  --\r\n  type_name : VARCHAR(50) &lt;&gt;\r\n  description : TEXT\r\n  standard_capacity : INTEGER\r\n  base_price : DECIMAL(10,2)\r\n  extra_bed_charge : DECIMAL(10,2)\r\n  has_kitchenette : BOOLEAN\r\n  has_balcony : BOOLEAN\r\n}\r\n\r\nentity \"Pemesanan\" as reservation {\r\n  * reservation_id : UUID &lt;&gt;\r\n  --\r\n  customer_id : UUID &lt;&gt;\r\n  room_id : UUID &lt;&gt;\r\n  check_in_date : DATE\r\n  check_out_date : DATE\r\n  number_of_guests : INTEGER\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n  special_requests : TEXT\r\n  created_at : TIMESTAMP\r\n  updated_at : TIMESTAMP\r\n  confirmation_code : VARCHAR(20) &lt;&gt;\r\n}\r\n\r\nentity \"Pembayaran\" as payment {\r\n  * payment_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  amount : DECIMAL(10,2)\r\n  payment_date : TIMESTAMP\r\n  payment_method : VARCHAR(30)\r\n  transaction_id : VARCHAR(50) &lt;&gt;\r\n  status : VARCHAR(20)\r\n  receipt_url : TEXT\r\n  refund_amount : DECIMAL(10,2)\r\n}\r\n\r\nentity \"Faktur\" as invoice {\r\n  * invoice_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  invoice_number : VARCHAR(20) &lt;&gt;\r\n  issued_date : DATE\r\n  due_date : DATE\r\n  subtotal : DECIMAL(10,2)\r\n  tax : DECIMAL(10,2)\r\n  service_charge : DECIMAL(10,2)\r\n  total_amount : DECIMAL(10,2)\r\n  status : VARCHAR(20)\r\n}\r\n\r\nentity \"Staf\" as staff {\r\n  * staff_id : UUID &lt;&gt;\r\n  --\r\n  first_name : VARCHAR(50)\r\n  last_name : VARCHAR(50)\r\n  email : VARCHAR(100) &lt;&gt;\r\n  phone : VARCHAR(20)\r\n  role : VARCHAR(30)\r\n  hire_date : DATE\r\n  salary : DECIMAL(10,2)\r\n  shift_schedule : VARCHAR(50)\r\n  is_active : BOOLEAN\r\n}\r\n\r\nentity \"LayananKamar\" as roomservice {\r\n  * service_id : UUID &lt;&gt;\r\n  --\r\n  reservation_id : UUID &lt;&gt;\r\n  staff_id : UUID &lt;&gt;\r\n  service_type : VARCHAR(50)\r\n  description : TEXT\r\n  request_time : TIMESTAMP\r\n  completion_time : TIMESTAMP\r\n  status : VARCHAR(20)\r\n  price : DECIMAL(10,2)\r\n}\r\n\r\n' Relasi\r\ncustomer ||--o{ reservation : \"membuat\"\r\nroom ||--o{ reservation : \"ditugaskan ke\"\r\nreservation ||--|| payment : \"memiliki\"\r\nreservation ||--|| invoice : \"menghasilkan\"\r\nreservation ||--o{ roomservice : \"meminta\"\r\nstaff ||--o{ roomservice : \"memenuhi\"\r\nroomtype ||--o{ room : \"mengategorikan\"\r\n\r\n@enduml<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPPDZzis48Rl1lmVYBsqARh0TejUWgA84plDehl9md6AteInEB8OKwH23fqOsVpt3lNXbIofGFRIYs7n7Gx9Ppx85vx0KIYqcC_cCrAaKQpMIt471ZvYWKQyiOGwYhcIA5BbKetpcSQC15dXr2ud8PN3b9GrqUu7iSHC6UNL7en0mqx12ubcnvz0Jcq3pMVL-55StAC6isFfGh1L6ZpP0ftuEfy9yTFfEr5IF1SVFjminUz_HEdoClvcodbA31J8wj-BzQitY_MFlrqzYvg6IGaBKBep_ClLrRF6RvbRqvrnNSy0AHrwpy9czS-cSc-FeEcOb5OPYiBDsytgpzKwQcG9TC9aZsU21CB4uKvvGeVnI9kRkzNxpUBk_YJRBDagHpcBoyLc5SSDHBQW8x2pmtoBn5kMVq41hkBeh2rQXl7_1BzACg7OCl4kZfP6fgrrZmQTarGpwLZYm7CA9QJrJZlsM_2Ob4wb4UvozUhcRd7B2_ryNU5LFe43nmIsEkeltxsxNItUHYK7dnmKVkwF-ay172OP8lMNgOBkqDW3evGdX3rA6rLYdrGyHu_MwC5gP9KqJAl6Hg9FdIfZk3gvmfbW93YPF8KDVY47oHPvTWvkDseJAUqLfJaQ91f1k0MTMdFi2Zqczrpgdak-ha9ETNI7AkbEM1w79i1Cbkfe_l5MqtsYJ19plfFgzRWDT2xKIHYhOnVGZrSS53OO6WF44Q3WXtNjIqmLptJugVNQ1Yrr67Ce0Jelqr3A2OKPSqigQaofbMUTf3hxEVSj7C4ru4iuSikb5dhpELMy_n6IQHAjpmPlR_kjLY3bLdRs_cjDYnFHU4WVLnmMm1HelX-Gwo89JdSOEyo2aPDnww5w3NiATSqgSx2nMXfCpUSJCBKp1otm-dGWvNtWM9zbemnuFkJ3jih2CUW4NqQpaZSMbvykxAVbTO_RUuAieiQsMTOogpx-xrlLMOt3BClvCJ602nhSSPH0hZ9AFFSD6VJ8hkBLmXbxmCdUTyi5o9slVoKqeJdXQYBr_Ias3hhrLzqyWpsFto9DZqf85JXiF4MfiTh0c3nLbHENphVw6RVcfvbNyzdfKVRmS7bfl_QkX-VYek0U5e0kvhFgrJ5k91M57VZu8jnZDEt8SSR3mwdvrIwLLdirRjYMVsLeTdo_ASsEHupZFZh1R3mR0hQjos7I2at8LNEcAaeTotPbpj6TTQfUUpvxWKRoI_fV\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n             <\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\">\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\n<span>Edit Plantuml di VPasCode<\/span>\n<\/a>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:nPRVRzis4CVV3VX_8FAojLY0BCDUWcAe5nkhWQOj77VO6t6MJXOHYbJ9arklwV--8sKfaYKLQ5xs8eZy7dzzxex7rvx0KLLeCP_DPwH8etXZ2RMu0mDxBD2GM6sMGSrLYY9HBj4udsdCI90LJkrp4gboc92o9jZz99QOAOE2nofIwCLdHRa08gTs5Q6Vpw9o51UtbITReBiGu4LoQeYlyvaGBzksLAcu4Hy_hfVYrHz1khmCtqmvJz90WQp-lTZSlbbiVlxzwaNGD4nAM83IdUvVhwvUdEOjSskw8wxh4P2c3hrdORlwPnkdjqVGT9IbLOQ2i7wtNVsrsWIDB86MZFLu9gH0A1tkbITq68wqNT-jxhUBkm-jR3EvKuvXtOZbOhiA_GO2Lz21rzbXlWNQ3SgDjKN4wFYdGHZ-9_15oLJ5Ze5tQJGmCcsjUpBe72IEf6E9WvaJA26fDzgntu57MJgL1BRBrUtwRl6M5_hbEj9LNiA1NG8x7VG_txz_krgy2qeENXuKVkxt-ayLE9GP8lMNYJvtQEo1IQOjmG6aBU-y1HMEqOCrUgwQM9I6GNMoIT4dJfN1MPr8uJWmARXKFWSDVY47SeSyEWUt7xK9a1uK9JaQ91eXk0ETM7Fi2dqawD4TOf3LL9xQBPYdhWaqawaw6e2ysUH1AYD3p7T2lUwt5PqBTHI6xDXNwCSp3WfR6Hf3n3wWoW_psfUOA1xfy5CpQ-Esn6488WbqdgPLcKueJ9clfAB6bDZqx2Q9P--H_m37SBr6wcNztn0_DQTIzpl-cCRGp7bYszjxenL8kKqx6_-jHiLnQ3maJoiEut-ACXS6vBIGbTCTm0wpogIJJkjnMfk3vGo9d5Jztt0wDP_1gHavk06lsnCfxolsz5aifXMUT_bg5sDmZ3h1bz6Ov8s5vQSJ-tbHtGDtJv1b4PiFVmsqsFY_Ywgp6eTnblCxOa0NDBZZA89SPIGzNnjffKTs5KeBn-m1foy_lfxkQrUq9U7acfRMoLC_7cBZd9lvOkKPR7cyYfnkA4cgmE6rKvGQumR6vAcqd2Wwt-e7t0PrF1CJBlcvrhxC7XylB-tNNesu4HS5FA2_cC_YosFS1BnNUyDbcMmmx8Z1_l6nlG3PbglMk4sJ_6opvtBdE4x6BCFg7J-oTNF3it6T2UDcMQKpfNLpbEYXZcKmINZDlNNgtxZoVFOQJSglv_y0\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Edit Plantuml di VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p id=\"ANJCSUi\"><img loading=\"lazy\" alt=\"Editing a ERD in Visual Paradigm VPasCode\" class=\"alignnone wp-image-2662 size-full\" decoding=\"async\" height=\"856\" loading=\"lazy\" sizes=\"auto, (max-width: 1311px) 100vw, 1311px\" src=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png\" srcset=\"https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766.png 1311w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-300x196.png 300w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-1024x669.png 1024w, https:\/\/www.vpascode.com\/wp-content\/uploads\/2026\/08\/img_6a83ff8445766-768x501.png 768w\" width=\"1311\"\/><\/p>\n<hr \/>\n<section class=\"post-section\"><span style=\"font-size: 1.7em; font-weight: bold;\">Hidupkan Desain Basis Data Anda dengan VPasCode<\/span><\/section>\n<p>Membangun model basis data yang kompleks tidak harus berarti bergelut dengan antarmuka pengguna seret-dan-lepas yang canggung. Dengan memanfaatkan pendekatan diagram-sebagai-kode, arsitektur Anda tetap terkendali versi, bersih, dan mudah dipelihara.<\/p>\n<p>Siap mencoba membangun arsitektur sistem Anda sendiri? Kunjungi <a href=\"https:\/\/www.vpascode.com\/editor\/\">VPasCode<\/a> untuk mengalami rendering waktu nyata, deteksi format otomatis, dan ekspor mulus untuk dokumentasi teknis Anda hari ini!<\/p>\n","protected":false},"excerpt":{"rendered":"Saat merancang arsitektur basis data yang kuat untuk domain kompleks seperti perhotelan, memvisualisasikan hubungan secara jelas sangat penting. Baik Anda memetakan profil pelanggan, melacak inventaris kamar, atau mengelola tagihan, Diagram Hubungan Entitas (ERD) yang terstruktur dengan baik dapat menghemat berjam-jam&#8230;","protected":false},"author":4,"featured_media":2219,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","_yoast_wpseo_metadesc":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","inline_featured_image":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[19],"tags":[],"asset-category":[],"class_list":["post-2218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials-guides"],"source_url":"","source_h1_title":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Build a Hotel Management ERD Using PlantUML &amp; VPasCode<\/title>\n<meta name=\"description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\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.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Hotel Management ERD Using PlantUML &amp; VPasCode\" \/>\n<meta property=\"og:description\" content=\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"VPasCode\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-18T07:03:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1376\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"jick\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"author\":{\"name\":\"jick\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\"},\"headline\":\"Membangun ERD Manajemen Hotel dengan PlantUML dan VPasCode\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"},\"wordCount\":444,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"articleSection\":[\"Tutorials &amp; Guides\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\",\"name\":\"Build a Hotel Management ERD Using PlantUML & VPasCode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"datePublished\":\"2026-08-18T07:03:18+00:00\",\"description\":\"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/08\\\/build-professional-database-diagrams-thumbnail-1.jpg\",\"width\":1376,\"height\":768},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/building-a-hotel-management-erd-with-plantuml-and-vpascode\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Membangun ERD Manajemen Hotel dengan PlantUML dan VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#website\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/\",\"name\":\"VPasCode\",\"description\":\"by Visual Paradigm\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#organization\",\"name\":\"VPasCode\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"contentUrl\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/wp-content\\\/uploads\\\/sites\\\/7\\\/2026\\\/06\\\/cropped-vp-online-logo-v1.png\",\"width\":128,\"height\":138,\"caption\":\"VPasCode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/#\\\/schema\\\/person\\\/cd8aa8455bd8bc6827b3efdfa79ad3a6\",\"name\":\"jick\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g\",\"caption\":\"jick\"},\"url\":\"https:\\\/\\\/www.vpascode.com\\\/id\\\/author\\\/jick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Build a Hotel Management ERD Using PlantUML & VPasCode","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","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.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_locale":"id_ID","og_type":"article","og_title":"Build a Hotel Management ERD Using PlantUML & VPasCode","og_description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","og_url":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","og_site_name":"VPasCode","article_published_time":"2026-08-18T07:03:18+00:00","og_image":[{"width":1376,"height":768,"url":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","type":"image\/jpeg"}],"author":"jick","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":false,"Estimasi waktu membaca":"3 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"author":{"name":"jick","@id":"https:\/\/www.vpascode.com\/id\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6"},"headline":"Membangun ERD Manajemen Hotel dengan PlantUML dan VPasCode","datePublished":"2026-08-18T07:03:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"},"wordCount":444,"commentCount":0,"publisher":{"@id":"https:\/\/www.vpascode.com\/id\/#organization"},"image":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","articleSection":["Tutorials &amp; Guides"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","url":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/","name":"Build a Hotel Management ERD Using PlantUML & VPasCode","isPartOf":{"@id":"https:\/\/www.vpascode.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","datePublished":"2026-08-18T07:03:18+00:00","description":"Learn how to create a comprehensive Hotel Management Entity Relationship Diagram (ERD) from scratch using PlantUML and the free VPasCode editor.","breadcrumb":{"@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#primaryimage","url":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","contentUrl":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/08\/build-professional-database-diagrams-thumbnail-1.jpg","width":1376,"height":768},{"@type":"BreadcrumbList","@id":"https:\/\/www.vpascode.com\/id\/building-a-hotel-management-erd-with-plantuml-and-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vpascode.com\/id\/"},{"@type":"ListItem","position":2,"name":"Membangun ERD Manajemen Hotel dengan PlantUML dan VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.vpascode.com\/id\/#website","url":"https:\/\/www.vpascode.com\/id\/","name":"VPasCode","description":"by Visual Paradigm","publisher":{"@id":"https:\/\/www.vpascode.com\/id\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vpascode.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.vpascode.com\/id\/#organization","name":"VPasCode","url":"https:\/\/www.vpascode.com\/id\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.vpascode.com\/id\/#\/schema\/logo\/image\/","url":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/06\/cropped-vp-online-logo-v1.png","contentUrl":"https:\/\/www.vpascode.com\/id\/wp-content\/uploads\/sites\/7\/2026\/06\/cropped-vp-online-logo-v1.png","width":128,"height":138,"caption":"VPasCode"},"image":{"@id":"https:\/\/www.vpascode.com\/id\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.vpascode.com\/id\/#\/schema\/person\/cd8aa8455bd8bc6827b3efdfa79ad3a6","name":"jick","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c89451a99649a6ebefa14a9167db0960c327e8c33ea79fdb68fc38aa18d768a?s=96&d=mm&r=g","caption":"jick"},"url":"https:\/\/www.vpascode.com\/id\/author\/jick\/"}]}},"_links":{"self":[{"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/posts\/2218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/comments?post=2218"}],"version-history":[{"count":0,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/posts\/2218\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/media\/2219"}],"wp:attachment":[{"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/media?parent=2218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/categories?post=2218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/tags?post=2218"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.vpascode.com\/id\/wp-json\/wp\/v2\/asset-category?post=2218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}