D2 adalah alat berbasis teks modern untuk membuat diagram yang jelas dan mudah dibaca. D2 merupakan singkatan dari “Diagram Deklaratif.” Di VPasCode, D2 memungkinkan pengembang perangkat lunak dan arsitek solusi mengubah teks kode sederhana menjadi model visual yang bersih tanpa harus menggambar bentuk secara manual.
1. Bentuk Dasar & Koneksi
Untuk membuat bentuk, cukup ketik nama-namanya. Untuk menghubungkan bentuk, gunakan panah (-> untuk satu arah atau <-> untuk dua arah).
# Koneksi Sederhana
Pengguna -> Server Web: Permintaan HTTP
Server Web -> Basis Data: Ambil Data
Basis Data -> Server Web: Kembalikan Hasil
Server Web <-> Cache: Sinkronisasi Baca/Tulis 
2. Jenis Bentuk & Label Kustom
Secara default, bentuk muncul sebagai kotak standar. Anda dapat dengan mudah mengubah jenis ikon bentuk atau menetapkan label kustom menggunakan bentuk properti.
# Menentukan Jenis Bentuk
Klien: {
bentuk: orang
}
Layanan Cloud: {
bentuk: awan
}
DB Utama: {
bentuk: silinder
label: "Database Utama (PostgreSQL)"
}
Klien -> Layanan Cloud -> DB Utama 
3. Definisi Kelas
D2 secara native mendukung desain struktur berbasis objek menggunakan bentuk kelas bentuk.
AkunPelanggan: {
bentuk: kelas
idAkun: String
emailAlamat: String
isActive(): Boolean
} 
4. Kontainer Bersarang (Pengelompokan)
D2 membuat mudah mengelompokkan item bersama di dalam kontainer menggunakan kurung kurawal standar (“{}). Anda juga dapat menghubungkan elemen antar kelompok yang berbeda menggunakan notasi titik.
# Pengelompokan dengan Kontainer
Aplikasi Frontend: {
UI React -> Manajer Status
}
Infrastruktur Backend: {
Gateway API -> Mikroservis Autentikasi
Gateway API -> Mikroservis Pesanan
}
# Koneksi antar kelompok
Manajer Status.Aplikasi Frontend -> Gateway API.Infrastruktur Backend: Panggilan REST 
5. Gaya & Warna
Warna latar belakang khusus, warna garis tepi, dan gaya font dapat disesuaikan langsung dalam blok menggunakan kata kuncistylekata kunci.
Layanan A: {
style: {
isi: "#e0e7ff"
garis: "#4338ca"
radius-batas: 8
}
}
Layanan B: {
style: {
isi: "#fef3c7"
garis: "#d97706"
}
}
Layanan A -> Layanan B: Kirim Pesan 
6. Lembar Cepat Sintaks
| Konsep | Contoh Kode | Apa yang Dilakukan |
|---|---|---|
| Koneksi Berarah | A -> B |
Menggambar panah yang menunjuk dari A ke B. |
| Label Garis | A -> B: Kirim Data |
Menambahkan teks di atas panah koneksi. |
| Panah Dua Arah | A <-> B |
Menggambar panah yang menunjuk ke dua arah. |
| Kontainer / Kelompok | Server: { ... } |
Mengelompokkan beberapa bentuk menjadi satu kotak. |
| Pemilihan Bentuk | bentuk: silinder |
Mengubah kotak standar menjadi ikon basis data, orang, awan, kelas, dll. |
| Komentar | # Komentar saya |
Komentar baris tunggal diabaikan selama rendering. |