Jenis-Jenis Grafik dalam Struktur Data Beserta Contohnya

⚡ Ringkasan Cerdas

Dalam struktur data, graf adalah kumpulan simpul dan sisi non-linier yang diklasifikasikan ke dalam beberapa keluarga berdasarkan strukturnya, seperti graf berarah, tak berarah, berbobot, siklik, asiklik, lengkap, terhubung, bipartit, Euler, dan Hamilton.

  • 📐 Definisi: Graf G = (V, E) adalah struktur non-linier di mana V adalah himpunan simpul dan E adalah himpunan sisi yang menghubungkan pasangan simpul.
  • ➡️ arah: Graf berarah menggunakan sisi berpanah dengan sumber dan target tetap, sedangkan graf tak berarah memungkinkan perjalanan dua arah di setiap sisi.
  • Berat: Graf berbobot memberikan biaya numerik pada setiap sisi, sedangkan graf tanpa bobot memperlakukan semua sisi sebagai koneksi dengan biaya yang sama.
  • 🔁 Siklus: Graf siklik mengandung satu atau lebih siklus; Graf Acyclic Terarah (DAG) melarang siklus dan memungkinkan penjadwalan serta pengurutan topologi.
  • 🔗 Kelengkapan: Graf lengkap menghubungkan setiap pasangan simpul, graf terhubung memungkinkan jalur antara dua simpul mana pun, dan graf nol memiliki nol sisi.
  • 🧩 Tipe Khusus: Graf bipartit, graf Euler, graf Hamilton, graf multipartit, graf siklus, dan graf trivial masing-masing memberlakukan aturan khusus tentang bagaimana simpul dan sisi diatur.

Jenis Grafik dalam Struktur Data

Graf adalah struktur data non-linier yang terdiri dari simpul (vertex) dan sisi (edge). Simpul berisi informasi atau data, dan sisi berfungsi sebagai penghubung antara sepasang simpul.

Graf dapat berupa berbagai jenis, tergantung pada posisi simpul dan sisinya. Berikut beberapa jenis graf yang penting:

Grafik Sutradara

Sisi-sisi pada graf berarah berisi panah yang menunjukkan arah. Panah tersebut menentukan ke mana sisi tersebut mengarah atau berakhir. Berikut adalah contoh graf berarah.

Grafik Sutradara

Grafik Sutradara

  • Kita bisa berpindah dari Node A ke D.
  • Namun, kita tidak dapat pergi dari simpul D ke simpul A, karena sisi tersebut mengarah dari A ke D.
  • Karena Graf tersebut tidak mempunyai bobot, maka biaya perjalanan dari titik A ke D sama dengan biaya perjalanan dari D ke F.

Grafik Tidak Berarah

Graf tak berarah berisi sisi tanpa penunjuk. Artinya, kita dapat melakukan perjalanan bolak-balik antara dua simpul. Berikut adalah contoh sederhana dari graf tak berarah.

Grafik Tidak Berarah

Grafik Tidak Berarah

Pada Grafik di atas,

  • Kita bisa berpindah dari A ke B.
  • Kita juga bisa berpindah dari B ke A.
  • Tepinya tidak mengandung arah.

Ini adalah contoh graf tak berarah yang memiliki jumlah simpul terbatas dan sisi tanpa bobot.

Grafik Tertimbang

Graf yang memiliki bobot atau biaya pada sisi-sisinya disebut graf berbobot. Nilai numerik umumnya mewakili biaya perpindahan dari satu simpul ke simpul lainnya. Baik graf berarah maupun tak berarah dapat memiliki bobot pada sisi-sisinya. Berikut adalah contoh graf berbobot (berarah).

Grafik Terarah dengan Bobot

Grafik Terarah dengan bobot

  • Dari A ke B, ada sisi, dan beratnya 5, yang berarti pindah dari A ke B akan membutuhkan biaya 5.
  • A menunjuk ke B, tetapi dalam grafik ini, B tidak memiliki sisi langsung ke A. Jadi, kita tidak dapat melakukan perjalanan dari B ke A.
  • Namun, jika kita ingin berpindah dari A ke F, ada beberapa jalur. Jalur-jalur tersebut adalah ADF dan ABF. ADF akan membutuhkan biaya (10+11) atau 21.
  • Di sini, jalur ABF akan membutuhkan biaya (5+15) atau 20. Di sini kita menambahkan bobot setiap sisi dalam jalur tersebut.

Berikut adalah contoh Graf Tak Berarah dengan bobot:

Grafik Tidak Berarah dengan Bobot

Grafik Tidak Berarah dengan bobot

Di sini, tepinya memiliki bobot tetapi tidak memiliki arah. Jadi, berarti perjalanan dari titik A ke D dikenakan biaya 10 dan sebaliknya.

Grafik Dua Arah

Graf dua arah dan graf tak berarah memiliki sifat yang sama. Yaitu:

  • Secara umum, graf tak berarah dapat memiliki satu sisi yang menghubungkan dua simpul.

Sebagai contoh:

Grafik Dua Arah

  • Di sini, berpindah dari A ke D atau D ke A akan dikenakan biaya 10.
  • Dalam Graf Dua Arah, kita dapat memiliki dua sisi di antara dua simpul.

Berikut ini contohnya:

Grafik Dua Arah

Grafik Dua Arah

Perjalanan dari A ke D akan memakan biaya 17, tetapi perjalanan dari D ke A akan memakan biaya 12. Jadi, kita tidak dapat memberikan dua bobot yang berbeda jika itu adalah graf tak berarah.

Grafik Tak Terbatas

Graf tersebut akan berisi jumlah sisi dan simpul yang tak terbatas. Jika suatu graf bersifat tak terbatas dan juga merupakan graf terhubung, maka graf tersebut juga akan berisi jumlah sisi yang tak terbatas. Di sini, sisi yang diperpanjang berarti bahwa lebih banyak sisi mungkin terhubung ke simpul-simpul ini melalui sisi-sisi lain. Berikut adalah contoh graf tak terbatas:

Grafik Tak Terbatas

Grafik Tak Terbatas

Grafik Nol

Graf Nol hanya berisi simpul atau verteks tetapi tidak memiliki sisi. Jika diberikan Graf G = (V, E), di mana V adalah verteks dan E adalah sisi, maka graf tersebut akan menjadi graf nol jika jumlah sisi E adalah nol. Berikut adalah contoh Graf Nol:

Grafik Nol

Grafik Nol

Grafik Sepele

Struktur data graf dianggap trivial jika hanya memiliki satu simpul atau node tanpa sisi. Berikut contoh Graf Trivial:

Grafik Sepele

Multi Grafik

Suatu graf disebut multigraf ketika terdapat banyak sisi (edge) antara dua simpul (vertex), atau simpul tersebut memiliki loop. Istilah "Loop" dalam Struktur Data Graf berarti sisi yang mengarah ke simpul atau vertex yang sama. Multigraf dapat berupa graf berarah atau tak berarah. Berikut adalah contoh Multigraf:

Multi Grafik

Terdapat dua sisi dari B ke A. Selain itu, simpul E memiliki loop sendiri. Graf di atas adalah graf berarah tanpa bobot pada sisi-sisinya.

Grafik Lengkap

Suatu graf dikatakan lengkap jika setiap simpul memiliki sisi berarah atau tak berarah yang terhubung dengan semua simpul lainnya. Misalkan terdapat total V simpul dan setiap simpul memiliki tepat V-1 sisi. Maka, graf ini akan disebut graf lengkap. Pada jenis graf ini, setiap simpul terhubung ke semua simpul lainnya melalui sisi. Berikut adalah contoh graf lengkap dengan lima simpul:

Grafik Lengkap

Anda dapat melihat pada gambar bahwa jumlah total node adalah lima, dan semua node memiliki tepat empat sisi.

Grafik Terhubung

Suatu graf disebut graf terhubung jika kita mulai dari sebuah simpul atau verteks dan dapat berpindah ke semua simpul dari simpul awal tersebut. Untuk itu, harus ada setidaknya satu sisi di antara setiap pasangan simpul atau verteks. Berikut adalah contoh graf terhubung:

Grafik Terhubung

Berikut penjelasan mengenai Connected Graph di atas:

  • Dengan asumsi tidak ada sisi antara C dan F, kita tidak dapat melakukan perjalanan dari A ke G. Namun, sisi C ke F memungkinkan kita untuk melakukan perjalanan ke simpul mana pun dari simpul tertentu.
  • Graf lengkap adalah Graf Terhubung karena kita dapat berpindah dari satu node ke node lain dalam Graf tertentu.

Grafik Siklik

Suatu graf dikatakan siklik jika terdapat satu atau lebih siklus di dalam graf tersebut. Berikut adalah contoh graf siklik:

Grafik Siklik

Di sini, simpul A, B, dan C membentuk sebuah siklus. Sebuah graf dapat memiliki banyak siklus di dalamnya.

Grafik Asiklik Terarah (DAG)

Suatu graf disebut graf berarah asiklik atau DAG jika tidak terdapat siklus di dalam graf tersebut. DAG penting saat melakukan Urutan Topologis atau untuk menemukan urutan eksekusi. DAG juga penting untuk membuat sistem penjadwalan atau memindai ketergantungan sumber daya, dll. Namun, grafik di atas tidak mengandung siklus di dalamnya. Berikut adalah contoh sederhana dari Directed Acyclic Graph (DAG):

Grafik Asiklik Terarah (DAG)

Grafik Siklus

Graf Siklus tidak sama dengan Graf Siklik. Dalam Graf Siklus, setiap simpul akan memiliki tepat dua sisi yang terhubung, artinya setiap simpul akan memiliki tepat dua derajat. Berikut adalah contoh Graf Siklus:

Grafik Siklus

Graf Bipartit

Jenis ini Grafik adalah jenis graf khusus di mana simpul-simpulnya ditugaskan ke dua himpunan. Graf bipartit harus mengikuti aturan:

  • Kedua himpunan simpul harus berbeda, yang berarti semua simpul harus dibagi menjadi dua kelompok atau himpunan.
  • Simpul-simpul dalam himpunan yang sama tidak boleh membentuk sisi apa pun.

Graf Bipartit

Grafik Euler

Struktur data Graf dianggap sebagai Graf Euler jika semua simpulnya memiliki derajat genap. Istilah derajat simpul berarti jumlah sisi yang mengarah ke atau keluar dari simpul tertentu. Berikut adalah contoh graf Euler:

Grafik Euler

Semua simpul memiliki derajat genap. Simpul A, D, E, dan H memiliki dua derajat. Di sini, simpul C memiliki empat derajat, yang merupakan bilangan genap.

Grafik Hamilton

Graf Hamilton adalah Graf Terhubung, di mana Anda dapat mengunjungi semua simpul dari simpul tertentu tanpa mengunjungi kembali simpul yang sama atau menggunakan sisi yang sama. Graf Terhubung jenis ini dikenal sebagai "Grafik Hamilton". Jalur yang Anda kunjungi untuk memverifikasi apakah Graf yang diberikan adalah Graf Hamilton atau bukan dikenal sebagai Jalur Hamiltonian. Berikut adalah contoh graf Hamilton sederhana:

Grafik Hamilton

Pada gambar ini, kita dapat mengunjungi semua simpul dari node mana pun pada Grafik di atas. Salah satu caranya bisa saja ADCHBEDimungkinkan juga untuk menemukan Siklus Hamilton. Siklus Hamilton dimulai dan berakhir pada titik sudut yang sama. Jadi, Siklus Hamilton akan menjadi... ADCHBEA.

Pertanyaan Umum Demo Slot

Graf adalah struktur data non-linier yang terdiri dari simpul (node) dan sisi (link). Simpul menyimpan data dan sisi menghubungkan pasangan simpul, membentuk jaringan yang digunakan untuk memodelkan jalan, hubungan sosial, ketergantungan, dan banyak lagi.

Graf berarah menggunakan sisi dengan panah yang menunjuk dari sumber ke target, membatasi perjalanan ke arah tersebut. Graf tak berarah menggunakan sisi tanpa panah, memungkinkan perjalanan antar simpul yang terhubung ke kedua arah.

Graf Berarah Tanpa Siklus, atau DAG, adalah graf berarah yang tidak mengandung siklus. DAG banyak digunakan untuk penjadwalan tugas, sistem pembangunan, penyelesaian ketergantungan paket, dan alur kerja apa pun yang membutuhkan urutan topologi yang valid.

Graf berbobot memberikan bobot numerik pada setiap sisi, yang mewakili jarak, waktu, atau biaya. Algoritma pencarian jalur terpendek seperti Dijkstra dan protokol perutean jaringan menggunakan graf berbobot untuk menemukan jalur yang paling efisien.

Graf lengkap memiliki sisi di antara setiap pasangan simpul. Graf terhubung hanya membutuhkan jalur di antara setiap pasangan. Setiap graf lengkap adalah graf terhubung, tetapi tidak setiap graf terhubung adalah graf lengkap.

Graf bipartit membagi simpul menjadi dua himpunan terpisah dengan sisi hanya di antara kedua himpunan tersebut. Graf ini memodelkan masalah pencocokan seperti menugaskan pekerja ke pekerjaan, siswa ke mata kuliah, atau pengemudi layanan transportasi daring ke penumpang.

Jaringan Neural Graf menerapkan pembelajaran mesin pada data terstruktur graf untuk tugas-tugas seperti deteksi penipuan, penemuan obat, dan rekomendasi. Graf pengetahuan mendukung kemampuan AI dalam menjawab pertanyaan, dan graf komputasi menggambarkan setiap proses maju dan mundur dalam pembelajaran mendalam.

Ya. Alat AI Copilot seperti GitHub Copilot dan ChatGPT menghasilkan kode dasar untuk BFS, DFS, Dijkstra, dan pengurutan topologi di sebagian besar bahasa. Pengembang tetap perlu memverifikasi kasus-kasus khusus, penanganan siklus, dan kompleksitas untuk kode produksi.

Ringkaslah postingan ini dengan: