Beranda/๐Ÿ“Matematika Diskrit

Matdis โ€” Bab 9

Teori Graf

Pemodelan matematis hubungan antar objek โ€” dari jaringan komputer dan rute optimal, hingga penjadwalan, pewarnaan, dan pohon rentang minimum.

Ref: Rinaldi Munir, Matematika Diskrit, Edisi 7 (2020), Bab 9. โ€” Rosen, Discrete Mathematics, 8th ed., Ch. 10. โ€” CLRS, Introduction to Algorithms, 4th ed., Ch. 22-25.

Mengapa Teori Graf?

Graf adalah bahasa universal untuk hubungan. Euler memulai teori ini pada 1736 dengan masalah Jembatan Kรถnigsberg โ€” bisakah seseorang menyeberangi ke-7 jembatan tepat sekali? Jawabannya melahirkan konsep Euler circuit.

Hari ini, setiap aspek dunia digital menggunakan graf: routing internet (Dijkstra), social network (community detection), compiler (control-flow graph), database (query planning), dan sistem rekomendasi (graf bipartit penggunaโ€“item).

1. Definisi dan Terminologi

Definisi (Graf)

Graf G = (V, E) terdiri dari V = himpunan berhingga simpul (vertex/node) dan E = himpunan sisi (edge) di mana setiap sisi menghubungkan dua simpul.

Simpul (vertex, v): titik/node graf.

Sisi (edge, e): hubungan antara dua simpul.

Derajat deg(v): jumlah sisi yang incident ke v.

Handshaking Lemma: ฮฃ deg(v) = 2|E|

Lintasan (path): urutan simpul vโ‚,vโ‚‚,...,vโ‚– tanpa simpul berulang.

Sirkuit/Siklus: lintasan yang kembali ke simpul awal.

Graf terhubung: ada lintasan antara setiap pasang simpul.

Komponen terhubung: subgraf terhubung maksimal.

Analogi: Peta Kota

Simpul = kota, sisi = jalan. Graf berbobot = jarak antar kota. Lintasan = rute perjalanan. Lintasan terpendek = rute paling efisien. Sirkuit Euler = tour yang melewati semua jalan tepat sekali. Sirkuit Hamilton = tour yang mengunjungi semua kota tepat sekali (masalah TSP yang NP-hard).

2. Jenis-Jenis Graf

Eksplorasi: Tipe Graf

Graf Tak Berarah

Sisi tidak memiliki arah. Hubungan simetris: jika u-v ada, maka v-u ada. Degree = jumlah sisi incident. Handshaking lemma: ฮฃdeg(v)=2|E|.

Contoh nyata: Internet connectivity, friendship graph

Jenis GrafSisi Ganda?Self-loop?Berarah?Keterangan
Graf SederhanaTidakTidakTidakPaling umum
MultigrafYaTidakTidakMulti-edge antar simpul
PseudografYaYaTidakUntuk loop
Graf BerarahTidakTidakYaDigraph, DAG
Graf Berbobot--OpsionalSisi memiliki bobot/biaya

3. Visualisasi Graf

Graf Berbobot dengan Animasi BFS

4258210ABDCEstart

Graf berbobot 5 simpul. Sisi hijau = edge yang dipilih Dijkstra dari A. Angka = bobot sisi.

4. Representasi Graf

Matriks Ketetanggaan (Adjacency Matrix)

A[i][j] = 1 jika ada sisi dari i ke j, 0 jika tidak. Graf tak-berarah: matriks simetris.

ABCD
A0110
B1001
C1001
D0110

Space O(Vยฒ). Query edge O(1). Bagus untuk dense graph.

Adjacency List

Setiap simpul menyimpan daftar tetangganya. Efisien untuk sparse graph.

A: [B(w=4), C(w=2)]

B: [A(w=4), D(w=5)]

C: [A(w=2), D(w=8), E(w=10)]

D: [B(w=5), C(w=8), E(w=2)]

E: [C(w=10), D(w=2)]

Space O(V+E). Query edge O(degree). Bagus untuk sparse graph (jaringan dunia nyata).

5. Sirkuit Euler & Hamilton

Euler (Sisi)

Euler circuit: Melewati setiap sisi tepat sekali, kembali ke awal.

Syarat: Graf terhubung dan SEMUA simpul berderajat genap.

Euler path: Tepat 2 simpul berderajat ganjil (menjadi titik awal dan akhir).

Algoritma Hierholzer O(E) untuk mencari Euler circuit.

Hamilton (Simpul)

Hamilton circuit: Melewati setiap simpul tepat sekali, kembali ke awal.

NP-complete problem โ€” tidak ada kondisi perlu dan cukup sederhana.

Dirac (1952): Jika deg(v) โ‰ฅ n/2 untuk semua v, ada Hamilton circuit.

TSP (Travelling Salesman) = Hamilton dengan minimisasi bobot. NP-hard.

6. Lintasan Terpendek: Algoritma Dijkstra

Algoritma Dijkstra O((V+E) log V)

  1. Inisialisasi: dist[s] = 0, dist[v] = โˆž untuk semua v โ‰  s.
  2. Masukkan semua simpul ke priority queue (min-heap berdasarkan dist).
  3. Ambil simpul u dengan dist minimum dari queue.
  4. Untuk setiap tetangga v dari u: jika dist[u] + w(u,v) < dist[v], perbarui dist[v] dan prev[v] = u.
  5. Ulangi langkah 3-4 sampai queue kosong.
  6. Rekonstruksi jalur menggunakan prev[].

Catatan: hanya untuk graf berbobot non-negatif. Untuk negatif: gunakan Bellman-Ford O(VE).

Demo Dijkstra Interaktif (Graf A-B-C-D-E)

Sisi: A-B:4, A-C:2, B-C:1, B-D:5, C-D:8, C-E:10, D-E:2

A

0

via: -

B

3

via: C

C

2

via: A

D

8

via: B

E

10

via: D

7. Pewarnaan Graf

Definisi (Pewarnaan Graf)

Pewarnaan simpul mengassign warna ke setiap simpul sehingga tidak ada dua simpul bertetangga memiliki warna yang sama. Bilangan kromatik ฯ‡(G) = jumlah warna minimum yang diperlukan.

ฯ‡(Kโ‚™) = n (graf lengkap n simpul: tiap simpul butuh warna beda)

ฯ‡(Pohon) = 2 (pohon adalah bipartit)

ฯ‡(Graf bipartit) = 2 (jika tidak kosong)

4-Color Theorem (Appel-Haken 1976): Setiap peta planar dapat diwarnai dengan 4 warna โ€” dibuktikan dengan bantuan komputer.

8. Graf Planar dan Teorema Kuratowski

Graf Planar

Graf yang dapat digambar di bidang tanpa sisi bersilangan. Contoh: Kโ‚„ planar, Kโ‚… tidak planar.

Formula Euler: Untuk graf planar terhubung: V - E + F = 2 (F = jumlah muka/region, termasuk muka tak hingga).

Akibat: E โ‰ค 3V - 6 untuk graf planar sederhana (V โ‰ฅ 3).

Teorema Kuratowski (1930)

Graf G tidak planar jika dan hanya jika G mengandung subdivisi Kโ‚… atau Kโ‚ƒ,โ‚ƒ sebagai subgraf.

Kโ‚…: Graf lengkap 5 simpul (tidak planar).

Kโ‚ƒ,โ‚ƒ: Graf bipartit lengkap (masalah "3 rumah, 3 utilitas" โ€” tidak planar).

9. Isomorfisma Graf

Definisi (Isomorfisma)

Dua graf Gโ‚ = (Vโ‚, Eโ‚) dan Gโ‚‚ = (Vโ‚‚, Eโ‚‚) isomorfis jika ada bijeksi f: Vโ‚ โ†’ Vโ‚‚ sehingga (u,v) โˆˆ Eโ‚ โŸบ (f(u), f(v)) โˆˆ Eโ‚‚. Pada dasarnya, kedua graf "memiliki struktur yang sama" hanya labeling simpul yang berbeda.

Graph Isomorphism Problem: Menentukan apakah dua graf isomorfis. Tidak diketahui apakah di P, NP-complete, atau intermediate. Implikasi besar di kriptografi berbasis struktur graf.

Koneksi ke Ilmu Komputer

Perutean Jaringan: Internet adalah graf raksasa dengan router sebagai simpul. Protokol OSPF menjalankan algoritma Dijkstra untuk mencari lintasan terpendek, sementara BGP bekerja pada graf antar-jaringan.

Penjadwalan & Dependensi: "Modul A harus dikompilasi sebelum B" membentuk graf berarah asiklik (DAG). Pengurutan topologis atasnya menentukan urutan build pada Make, npm, dan Maven. Bila ditemukan siklus, artinya ada dependensi melingkar.

Pewarnaan Graf: Alokasi register pada kompilator, penjadwalan ujian agar tidak bentrok, dan pengalokasian frekuensi BTS semuanya adalah masalah pewarnaan graf.

Pohon Rentang Minimum: Algoritma Kruskal dan Prim dipakai untuk merancang jaringan listrik, kabel serat optik, dan klasterisasi data dengan biaya total seminimal mungkin.

Penelusuran Graf: BFS mencari jarak terpendek dalam graf tak berbobot (misalnya derajat pertemanan di media sosial), sedangkan DFS dipakai untuk deteksi siklus dan komponen terhubung kuat.

10. Contoh Soal & Pembahasan

Soal 1: Handshaking Lemma

Graf G memiliki derajat simpul: 2, 4, 2, 4, 2. Berapa banyak sisi G?

Soal 2: Euler Circuit

Apakah graf dengan derajat {2, 4, 2, 4, 2} memiliki Euler circuit?

Soal 3: Dijkstra Manual

Pada graf demo di atas (A-B:4, A-C:2, B-C:1, B-D:5, C-D:8, C-E:10, D-E:2), tentukan lintasan terpendek dari A ke E.

Soal 4: Bilangan Kromatik

Tentukan ฯ‡(Kโ‚…).

Soal 5: Formula Euler (Planaritas)

Graf planar terhubung dengan V=6, E=9. Berapa banyak muka (F)?

Soal 6: Graf Bipartit

Apakah graf siklus Cโ‚† bipartit? Bagaimana dengan Cโ‚…?

Munir, R. (2020). Matematika Diskrit, Edisi 7, Penerbit Informatika ITB, Bab 9. โ€” Rosen, K. H. (2019). Discrete Mathematics and Its Applications, 8th ed., Ch. 10. โ€” Cormen, T. H. et al. (2022). Introduction to Algorithms, 4th ed., MIT Press, Ch. 22-25.

Bank Soal Multi-Kompleksitas & Kasus Terintegrasi

Referensi: Munir, R. (2020). Matematika Diskrit, Edisi 7, Bab 9 โ€” Teori Graf.

MUDAH Soal Dasar Graf

G-M1: Degree Sequence

Graf G memiliki 5 vertex dengan adjacency: v1-v2, v1-v3, v2-v3, v2-v4, v3-v5. Tentukan degree tiap vertex dan verifikasi Handshaking Lemma.

G-M2: Walk, Trail, Path

Pada graf Kโ‚„ (complete graph 4 vertex), apakah urutan v1-v2-v3-v4-v1-v3 merupakan walk, trail, atau path? Berikan alasan.

G-M3: Adjacency Matrix

Tulis adjacency matrix untuk graf segitiga (Cโ‚ƒ = triangle). Berapa jumlah walk panjang 2 dari v1 ke v1? (Petunjuk: (Aยฒ)[1,1])

G-M4: Konektivitas Graf

Apakah graf berikut terhubung (connected)? V={1,2,3,4,5}, E={(1,2),(1,3),(4,5)}. Identifikasi komponen terhubung.

SEDANG Lintasan Euler & Hamilton

G-S1: Teorema Euler (Circuit & Trail)

Graf G: V={a,b,c,d}, E={(a,b),(a,c),(b,c),(b,d),(c,d)}. Apakah ada Euler circuit? Apakah ada Euler trail?

G-S2: Konstruksi Euler Circuit

Kโ‚„ (complete graph 4 vertex) โ€” apakah ada Euler circuit? Jika ada, temukan satu lintasannya. Jika tidak, berapa sisi yang harus ditambah/hapus?

G-S3: Hamilton Path vs Circuit

Graf path Pโ‚… = v1-v2-v3-v4-v5. Apakah ada Hamiltonian path? Hamiltonian circuit? Gunakan Ore's theorem untuk graf lain jika perlu.

G-S4: Planar Graph & Euler's Formula

Verifikasi Kโ‚„ adalah planar menggunakan rumus Euler: V โˆ’ E + F = 2. Gambarkan Kโ‚„ planar (tanpa sisi bersilang).

SULIT Algoritma Graf Kompleks

G-H1: Euler Circuit dengan Hierholzer

Graf: V={a,b,c,d,e}, E={(a,b),(a,c),(b,c),(b,d),(c,d),(c,e),(d,e)}. Semua degree genap? Jika ya, temukan Euler circuit menggunakan Hierholzer algorithm.

G-H2: Hamilton + TSP (Weighted)

Graf berbobot Kโ‚„: d(v1,v2)=10, d(v1,v3)=15, d(v1,v4)=20, d(v2,v3)=35, d(v2,v4)=25, d(v3,v4)=30. Temukan Hamiltonian circuit dengan bobot minimum (brute force).

G-H3: Graph Coloring & Chromatic Number

Graf siklus Cโ‚… (pentagon). Tentukan chromatic number ฯ‡(Cโ‚…). Apakah Cโ‚… bipartit? Bandingkan dengan Cโ‚„.

TERINTEGRASI Graf: Euler + Bobot, Hamilton + TSP, Planaritas + Pewarnaan

G-T1: Euler Circuit + Bobot โ€” Chinese Postman Problem

Seorang kurir harus melewati semua jalan (sisi) tepat sekali dan kembali ke start. Graf berbobot: v1-v2(3), v2-v3(4), v3-v4(2), v4-v1(5), v1-v3(6). Apakah Eulerian? Jika tidak, temukan lintasan minimum yang melewati semua sisi.

G-T2: Hamilton + Planaritas โ€” Network Topology

Dalam jaringan peer-to-peer, n=6 simpul saling terhubung penuh membentuk Kโ‚†. (a) Apakah Kโ‚† planar? (b) Apakah Kโ‚† Hamiltonian? (c) Berapa bilangan kromatik ฯ‡(Kโ‚†)?

G-T3: Graf + Kriptografi โ€” Zero-Knowledge Proof & Graph Isomorphism

Graph Isomorphism Problem (GIP): dua graf Gโ‚ dan Gโ‚‚ diberikan. Verifier ingin membuktikan prover mengetahui isomorphism tanpa mengungkapkan isomorphism-nya. Jelaskan protokol ZK-proof berbasis GIP dan kompleksitas GIP.

Munir, R. (2020). Matematika Diskrit, Edisi 7, Penerbit Informatika ITB, Bab 9. โ€” Rosen, K. H. (2019). Discrete Mathematics and Its Applications, 8th ed., Ch. 10. โ€” Cormen, T. H. et al. (2022). Introduction to Algorithms, 4th ed., MIT Press, Ch. 22-25.