Diagram Alur
Ekspresi grafis
Peta Pikiran
Ekspresi terstruktur
Catatan
Ekspresi yang efisien

Diagram BlokSintaks

Diagram Blok

Diagram blok terdiri dari blok dan konektor, untuk secara visual merepresentasikan sistem, proses, atau arsitektur yang kompleks. Blok merepresentasikan komponen atau fungsi dasar, konektor menunjukkan hubungan atau alur antar komponen tersebut; diagram blok sangat penting di berbagai bidang seperti teknik, pengembangan perangkat lunak, dan manajemen proses.

Kode
                            
Salin
Sematkan
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:#f96,stroke:#333,stroke-width:4px

Kegunaan diagram blok

Tujuan utama diagram blok adalah menyediakan tampilan tingkat tinggi dari sistem, sehingga orang dapat dengan mudah memahami dan menganalisisnya, tanpa perlu mendalami detail rumit setiap komponen. Hal ini membuat diagram blok sangat berguna untuk menyederhanakan sistem yang kompleks, serta menjelaskan struktur keseluruhan dan interaksi antar komponen dalam sistem.

Skenario penggunaan

Diagram blok memiliki penerapan yang luas di berbagai industri dan disiplin ilmu, terutama meliputi:

  • Arsitektur perangkat lunak: dalam pengembangan perangkat lunak, diagram blok dapat digunakan untuk mengilustrasikan arsitektur aplikasi perangkat lunak. Ini mencakup menunjukkan bagaimana berbagai modul atau layanan berinteraksi, aliran data, dan interaksi komponen tingkat tinggi.
  • Diagram topologi jaringan: diagram blok sangat cocok untuk merepresentasikan arsitektur jaringan dalam TI dan telekomunikasi. Diagram ini dapat menunjukkan bagaimana berbagai perangkat dan layanan jaringan saling terhubung, termasuk router, switch, firewall, serta aliran data dalam jaringan.
  • Diagram alur proses: dalam bisnis dan manufaktur, diagram blok dapat digunakan untuk membuat diagram alur. Diagram alur ini merepresentasikan berbagai tahap proses bisnis atau manufaktur, membantu memvisualisasikan urutan langkah, titik keputusan, dan alur kontrol.
  • Sistem kelistrikan: insinyur menggunakan diagram blok untuk merepresentasikan sistem kelistrikan dan rangkaian. Diagram ini dapat mengilustrasikan struktur tingkat tinggi sistem kelistrikan, interaksi antar komponen kelistrikan yang berbeda, serta aliran arus listrik.
  • Tujuan pendidikan: diagram blok juga banyak digunakan dalam materi pendidikan, untuk menjelaskan konsep dan sistem yang kompleks dengan cara yang disederhanakan. Diagram blok membantu menguraikan dan memvisualisasikan teori ilmiah, prinsip teknik, dan sistem teknis.

Selanjutnya, kita akan mempelajari secara mendalam cara membuat dan mengoperasikan diagram blok menggunakan Mermaid, mencakup semua hal mulai dari sintaks dasar hingga konfigurasi dan gaya tingkat lanjut.

Diagram blok sederhana

Struktur dasar

Diagram blok terdiri dari blok yang merepresentasikan entitas atau komponen yang berbeda; dalam Mermaid, blok dapat dibuat dengan mudah menggunakan label teks sederhana. Bentuk paling dasar dari diagram blok dapat berupa serangkaian blok tanpa garis penghubung apa pun.

Contoh diagram blok sederhana: untuk membuat diagram blok sederhana yang berisi tiga blok berlabel a, b, dan c, sintaksnya adalah sebagai berikut:

Kode
                            
Salin
Sematkan
block-beta a b c

Kode ini akan menghasilkan tiga blok yang tersusun horizontal, setiap blok akan secara otomatis diberi jarak dan disejajarkan, untuk mencapai keterbacaan yang optimal.

Mendefinisikan jumlah kolom yang akan digunakan

Diagram multi-kolom

Meskipun diagram blok sederhana bersifat linear dan sederhana, sistem yang lebih kompleks mungkin memerlukan tata letak yang terstruktur. Mermaid memungkinkan pengorganisasian blok menjadi beberapa kolom, sehingga membantu membuat diagram yang lebih kompleks dan lebih terperinci.

Contoh diagram multi-kolom: dalam kasus yang memerlukan distribusi blok ke beberapa kolom, Anda dapat menentukan jumlah kolom dan menata blok secara sesuai. Berikut adalah cara membuat diagram blok dengan tiga kolom dan empat blok, di mana blok keempat muncul pada baris kedua:

Kode
                            
Salin
Sematkan
block-beta columns 3 a b c d

Sintaks ini membuat Mermaid menata blok a, b, c, dan d dalam tiga kolom, dan berpindah ke baris berikutnya sesuai kebutuhan. Fitur ini sangat berguna untuk merepresentasikan sistem berlapis atau multi-lapis.

Konfigurasi blok lanjutan

Sintaks lanjutan Mermaid memberikan fleksibilitas dan kompleksitas yang lebih besar pada desain diagram, dapat menyesuaikan dengan kasus penggunaan dan skenario yang lebih luas.

Menyesuaikan lebar blok

Mencakup beberapa kolom

Dalam diagram yang lebih kompleks, Anda mungkin memerlukan blok yang mencakup beberapa kolom, untuk menekankan komponen tertentu atau merepresentasikan entitas yang lebih besar. Mermaid memungkinkan penyesuaian lebar blok untuk mencakup beberapa kolom, sehingga meningkatkan keterbacaan dan struktur diagram.

Contoh: untuk membuat blok yang mencakup dua kolom, Anda dapat menentukan lebar yang diinginkan untuk setiap blok:

Kode
                            
Salin
Sematkan
block-beta columns 3 a["A label"] b:2 c:2 d

Dalam contoh ini, blok berlabel A label menempati satu kolom, sedangkan blok b, c mencakup 2 kolom, dan d dialokasikan ke kolomnya sendiri. Fleksibilitas ukuran blok ini sangat penting untuk merepresentasikan secara akurat sistem dengan komponen yang berbeda tingkat kepentingan atau ukurannya.

Membuat blok komposit

Blok bersarang

Blok komposit memungkinkan merepresentasikan sistem bersarang atau berlapis, di mana satu komponen berisi beberapa subkomponen.

Contoh: membuat blok komposit melibatkan pendefinisian blok induk, lalu menyematkan blok anak di dalamnya. Berikut adalah sintaks untuk mendefinisikan blok komposit dengan elemen bersarang:

Kode
                            
Salin
Sematkan
block-beta block D end A["A: I am a wide one"]

Dalam sintaks ini, D adalah blok anak yang disarangkan dalam blok induk yang lebih besar. Fitur ini sangat berguna untuk mendeskripsikan struktur yang kompleks, misalnya server dengan beberapa layanan atau sebuah departemen dalam kerangka organisasi yang lebih besar.

Lebar kolom otomatis

Menyesuaikan lebar

Mermaid memungkinkan penyesuaian lebar kolom secara dinamis berdasarkan konten blok. Lebar kolom ditentukan oleh blok terlebar dalam kolom tersebut, memastikan diagram tetap seimbang dan mudah dibaca.

Contoh: dalam diagram dengan ukuran blok yang berbeda, Mermaid akan secara otomatis menyesuaikan lebar kolom agar sesuai dengan blok terbesar di setiap kolom.

Kode
                            
Salin
Sematkan
block-beta columns 3 a:3 block:group1:2 columns 2 h i j k end g block:group2:3 %% columns auto (default) l m n o p q r end

Di sini ditunjukkan bagaimana Mermaid secara dinamis menyesuaikan lebar kolom agar sesuai dengan blok terlebar.

Menggabungkan blok secara horizontal: dalam kasus yang memerlukan penumpukan blok secara horizontal, hal ini dapat dilakukan menggunakan lebar kolom. Berikut adalah sintaks diagram blok untuk membuat 4 blok yang ditumpuk bersama:

Kode
                            
Salin
Sematkan
block-beta block columns 1 a["A label"] b c d end

Dalam contoh ini, lebar blok gabungan akan secara otomatis disesuaikan dengan lebar subblok terbesar.

Jenis dan bentuk blok

Diagram blok Mermaid tidak terbatas pada bentuk persegi panjang standar. Mermaid menyediakan berbagai bentuk blok, sehingga memungkinkan representasi yang lebih terperinci dan personal untuk berbagai jenis informasi atau entitas.

Bentuk blok standar

Persegi panjang bersudut tumpul

Membuat blok persegi panjang bersudut tumpul, dapat digunakan untuk merepresentasikan komponen yang lebih lembut atau lebih fleksibel:

Kode
                            
Salin
Sematkan
block-beta id1("This is the text in the box")

Bentuk stadion

Blok berbentuk stadion dapat digunakan untuk merepresentasikan komponen yang berorientasi proses:

Kode
                            
Salin
Sematkan
block-beta id1(["This is the text in the box"])

Bentuk subproses

Digunakan untuk merepresentasikan subproses atau proses yang termuat, direpresentasikan dengan blok persegi panjang yang memiliki dua garis vertikal:

Kode
                            
Salin
Sematkan
block-beta id1[["This is the text in the box"]]

Bentuk silinder

Bentuk silinder sangat cocok untuk merepresentasikan basis data atau komponen penyimpanan:

Kode
                            
Salin
Sematkan
block-beta id1[("Database")]

Lingkaran

Lingkaran dapat digunakan untuk merepresentasikan komponen terpusat atau komponen kunci:

Kode
                            
Salin
Sematkan
block-beta id1(("This is the text in the circle"))

Bentuk asimetris, belah ketupat, dan segi enam

Gunakan belah ketupat untuk keputusan; untuk proses yang unik atau khusus, dapat digunakan bentuk asimetris dan segi enam:

Bentuk asimetris
Kode
                            
Salin
Sematkan
block-beta id1>"This is the text in the box"]
Belah ketupat
Kode
                            
Salin
Sematkan
block-beta id1{"This is the text in the box"}
Segi enam
Kode
                            
Salin
Sematkan
block-beta id1{{"This is the text in the box"}}

Jajaran genjang dan trapesium

Jajaran genjang dan trapesium sangat cocok untuk input / output dan proses transisi

Kode
                            
Salin
Sematkan
block-beta id1[/"This is the text in the box"/] id2["This is the text in the box"] A[/"Christmas"] B["Go shopping"/]

Lingkaran ganda

Untuk menyorot komponen kunci atau berprioritas tinggi, penggunaan lingkaran ganda akan sangat efektif:

Kode
                            
Salin
Sematkan
block-beta id1((("This is the text in the circle")))

Blok panah dan blok kosong

Blok panah

Panah blok dapat secara visual menunjukkan arah atau aliran di dalam alur:

Kode
                            
Salin
Sematkan
block-beta blockArrowId<["Label"]>(right) blockArrowId2<["Label"]>(left) blockArrowId3<["Label"]>(up) blockArrowId4<["Label"]>(down) blockArrowId5<["Label"]>(x) blockArrowId6<["Label"]>(y) blockArrowId6<["Label"]>(x, down)

Blok kosong

Blok kosong dapat digunakan untuk membuat ruang kosong, yang berguna untuk tata letak dan keterbacaan:

Kode
                            
Salin
Sematkan
block-beta columns 3 a space b c d e
Kode
                            
Salin
Sematkan
block-beta ida space:3 idb idc

Perhatikan, Anda dapat menggunakan simbol angka space:num untuk mengatur jumlah kolom yang ditempati blok kosong, di mana num merepresentasikan lebar kolom. Anda juga dapat menggunakan space, bawaannya satu kolom.

Bentuk standar dan bentuk khusus dalam Mermaid meningkatkan daya ekspresi diagram blok, sehingga memungkinkan representasi yang lebih akurat dan lebih kontekstual.

Menghubungkan blok dengan garis

Salah satu fitur kunci diagram blok Mermaid adalah kemampuan menghubungkan berbagai blok menggunakan berbagai jenis garis atau tautan.

Koneksi dasar dan jenis panah

Menghubungkan blok memerlukan panah atau garis. Konektor ini mendeskripsikan hubungan atau aliran informasi antar blok. Mermaid menyediakan berbagai jenis panah untuk memenuhi kebutuhan diagram yang berbeda.

Tautan dasar

Membuat tautan sederhana dengan panah, yang menunjukkan arah atau alur dari satu blok ke blok lain:

Kode
                            
Salin
Sematkan
block-beta A space B A-->B

Contoh ini mengilustrasikan koneksi langsung dari blok A ke blok B.

Teks pada tautan

Selain menghubungkan blok, biasanya juga perlu mendeskripsikan atau menandai hubungan. Mermaid memungkinkan penambahan teks pada tautan, untuk memberikan konteks pada tautan.

Untuk menambahkan teks pada tautan, sintaksnya adalah menyertakan teks tersebut dalam definisi tautan:

Kode
                            
Salin
Sematkan
block-beta A space:2 B A-- "X" -->B
Tepi dan gaya:
Kode
                            
Salin
Sematkan
block-beta columns 1 db(("DB")) blockArrowId6<["   "]>(down) block:ID A B["A wide one in the middle"] C end space D ID --> D C --> D style B fill:pink,stroke:#333,stroke-width:4px

Gaya dan penyesuaian

Selain struktur dan tata letak diagram blok, Mermaid juga menyediakan banyak opsi gaya; fitur penyesuaian ini memungkinkan pembuatan diagram yang lebih berciri visual dan lebih informatif.

Gaya blok tunggal

Mermaid dapat melakukan pengaturan gaya yang terperinci pada setiap blok; Anda dapat menerapkan berbagai properti CSS, misalnya warna, goresan, dan ketebalan batas.

Menyesuaikan gaya satu blok

Untuk menerapkan gaya khusus pada sebuah blok, Anda dapat menggunakan sintaks style, diikuti pengenal blok dan properti CSS yang diinginkan:

Kode
                            
Salin
Sematkan
block-beta id1 space id2 id1("Start")-->id2("Stop") style id1 fill:pink,stroke:#333,stroke-width:4px style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Gaya kelas

Mermaid mendukung penerapan gaya pada kelas. Jika Anda ingin menerapkan sekumpulan gaya tertentu pada beberapa elemen, menggunakan pengaturan gaya mungkin lebih mudah, karena Anda cukup menautkan elemen-elemen tersebut ke satu kelas.

Mengatur gaya untuk satu kelas

Kode
                            
Salin
Sematkan
block-beta A space B A-->B classDef blue fill:pink,stroke:#333,stroke-width:4px; class A blue style B fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5

Di sini, kelas bernama blue didefinisikan dan diterapkan pada blok A, sedangkan blok B menerima gaya tersendiri.

Contoh penggunaan

Ketika diagram blok modular Mermaid diterapkan pada skenario nyata, keserbagunaannya tampak sepenuhnya.

Contoh terperinci berbagai fitur

Melalui elemen struktur, tautan, dan gaya, kita dapat membuat diagram blok Mermaid yang memainkan peran tertentu dalam konteks yang berbeda.

Arsitektur sistem

Berikut adalah arsitektur sistem perangkat lunak sederhana dengan komponen yang saling terhubung:

Kode
                            
Salin
Sematkan
block-beta columns 3 Frontend blockArrowId6<[" "]>(right) Backend space:2 down<[" "]>(down) Disk left<[" "]>(left) Database[("Database")] classDef front fill:pink,stroke:#333; classDef back fill:#f96,stroke:#333; class Frontend front class Backend,Database back

Contoh ini menunjukkan arsitektur dasar yang mencakup frontend, backend, dan basis data, dengan tampilan setiap blok berbeda-beda untuk membedakan jenis komponen yang berbeda.

Proses bisnis

Berikut adalah proses bisnis yang memiliki titik keputusan dan beberapa tahap:

Kode
                            
Salin
Sematkan
block-beta columns 3 Start(("Start")) space:2 down<[" "]>(down) space:2 Decision{{"Make Decision"}} right<["Yes"]>(right) Process1["Process A"] downAgain<["No"]>(down) space r3<["Done"]>(down) Process2["Process B"] r2<["Done"]>(right) End(("End")) style Start fill:pink; style End fill:pink;

Contoh-contoh nyata ini menyoroti nilai praktis diagram blok Mermaid dalam menyederhanakan informasi yang kompleks dan mewujudkan komunikasi yang efektif lintas bidang.

Pemecahan masalah

Membuat diagram blok yang kompleks menggunakan sintaks Mermaid terkadang menghadapi tantangan; di sini dicantumkan kesalahan sintaks umum, dan disediakan tips untuk mengelola struktur diagram yang lebih kompleks.

Kesalahan sintaks umum

Menghindari kesalahan sintaks umum adalah kunci penggunaan diagram blok Mermaid yang lancar.

Kesalahan tautan

Menggunakan sintaks tautan yang tidak benar dapat menyebabkan hasil yang tidak terduga atau diagram yang rusak:

                            
Salin
Sematkan
block-beta A - B

Perbaikan: pastikan menggunakan panah koneksi (--> atau ---) dengan benar untuk menghubungkan setiap blok, guna mendefinisikan arah dan jenis koneksi. Selain itu, salah satu prinsip dasar diagram blok adalah memberi penulis kontrol penuh atas posisi blok, sehingga pada kasus di atas, Anda perlu menambahkan spasi di antara blok:

Kode
                            
Salin
Sematkan
block-beta A space B A --> B

Ketidaksesuaian gaya

Menerapkan gaya dalam konteks yang salah atau menggunakan sintaks yang tidak benar dapat menyebabkan gaya tidak diterapkan seperti yang diharapkan:

Kode
                            
Salin
Sematkan
block-beta A style A fillpink;

Perbaikan: pastikan memisahkan properti gaya dengan benar menggunakan koma, dan gunakan format properti CSS yang benar untuk memperbaiki sintaks:

Kode
                            
Salin
Sematkan
block-beta A style A fill:pink,stroke:#333;