π§ 1. Pengertian Graph
6
π Definisi
Graph adalah struktur data non-linear yang terdiri dari sekumpulan simpul (vertex/node) dan sisi (edge) yang menghubungkan antar simpul.
π§ Narasi Konseptual
Bayangkan peta jalan antar kota:
- Kota = node (vertex)
- Jalan = edge (garis penghubung)
β‘οΈ Graph digunakan untuk merepresentasikan hubungan antar objek dalam dunia nyata.
π― 2. Komponen Graph
π Tabel Komponen
| Komponen | Penjelasan |
|---|---|
| Vertex (V) | Titik/node |
| Edge (E) | Hubungan antar vertex |
| Path | Jalur antar node |
| Degree | Jumlah edge pada node |
π§ Narasi
Graph tidak hanya menyimpan data, tetapi juga hubungan antar data.
π 3. Jenis Graph
πΉ A. Undirected Graph
8
π Konsep
Edge tidak memiliki arah.
π§ Narasi
Seperti hubungan pertemanan:
- Jika A berteman dengan B
- Maka B juga berteman dengan A
πΉ B. Directed Graph (Digraph)
8
π Konsep
Edge memiliki arah.
π§ Narasi
Seperti Instagram:
- A follow B β B follow A
πΉ C. Weighted Graph
6
π Konsep
Setiap edge memiliki bobot (cost, jarak, waktu).
π§ Narasi
Seperti peta jalan:
- Setiap jalan punya jarak atau biaya
π§± 4. Representasi Graph
πΉ A. Adjacency Matrix
7
π Konsep
Graph direpresentasikan dalam bentuk matriks 2D.
π Contoh
| A | B | C | |
|---|---|---|---|
| A | 0 | 1 | 1 |
| B | 1 | 0 | 0 |
| C | 1 | 0 | 0 |
π§ Narasi
- 1 = ada hubungan
- 0 = tidak ada hubungan
πΉ B. Adjacency List
4
π Konsep
Setiap node menyimpan daftar tetangga.
π» Contoh
A β B, C
B β A
C β A
π§ Narasi
Lebih hemat memori dibanding matriks.
π 5. Traversal Graph
πΉ A. BFS (Breadth First Search)
6
π Konsep
Menjelajahi graph per level (melebar) menggunakan queue.
π§ Narasi
Seperti menyebarkan informasi:
- Dari satu orang ke semua teman
- Lalu ke teman dari teman
β±οΈ Kompleksitas
β‘οΈ O(V + E)
πΉ B. DFS (Depth First Search)
6
π Konsep
Menjelajahi graph sedalam mungkin terlebih dahulu menggunakan stack/rekursi.
π§ Narasi
Seperti menjelajah labirin:
- Masuk jauh dulu
- Jika buntu, kembali (backtracking)
β±οΈ Kompleksitas
β‘οΈ O(V + E)
βοΈ 6. Operasi Graph
π Tabel Operasi
| Operasi | Deskripsi |
|---|---|
| Add Vertex | Menambah node |
| Add Edge | Menambah hubungan |
| Remove Vertex | Menghapus node |
| Remove Edge | Menghapus hubungan |
| Traversal | BFS/DFS |
π 7. Perbandingan Representasi Graph
π Tabel
| Aspek | Matrix | List |
|---|---|---|
| Memori | Boros | Hemat |
| Akses Edge | Cepat | Lambat |
| Cocok untuk | Dense graph | Sparse graph |
π 8. Aplikasi Graph dalam Dunia Nyata
π Contoh Penggunaan
| Bidang | Contoh |
|---|---|
| Media Sosial | Friend / follow |
| GPS | Rute jalan |
| Internet | Routing jaringan |
| Game | Pathfinding AI |
| PageRank |
π§ 9. Ilustrasi Graph Dunia Nyata
6
β±οΈ 10. Kompleksitas Graph
π Tabel Kompleksitas
| Operasi | Kompleksitas |
|---|---|
| BFS | O(V + E) |
| DFS | O(V + E) |
| Add Edge | O(1) |
| Search Edge | O(V) (list) |
β οΈ 11. Kelebihan dan Kekurangan Graph
π Tabel
| Kelebihan | Kekurangan |
|---|---|
| Representasi hubungan kompleks | Implementasi rumit |
| Fleksibel | Boros memori (matrix) |
| Digunakan luas | Sulit dianalisis manual |
π§ͺ 12. Studi Kasus Nyata
π Sistem Navigasi (Google Maps)
- Node = lokasi
- Edge = jalan
- Bobot = jarak/waktu
β‘οΈ Menggunakan weighted graph + shortest path
π Media Sosial
- Node = user
- Edge = follow/friend
π» 13. Implementasi Sederhana (C++)
#include <iostream>
#include <vector>
using namespace std;int main(){
vector<int> adj[3]; adj[0].push_back(1);
adj[0].push_back(2);
adj[1].push_back(0);
adj[2].push_back(0); cout << "Graph adjacency list selesai dibuat";
}
π 14. Ringkasan Materi
- Graph adalah struktur data berbasis node dan edge
- Jenis: directed, undirected, weighted
- Representasi: adjacency matrix & list
- Traversal: BFS & DFS
- Digunakan dalam banyak sistem dunia nyata
π 15. Latihan / Diskusi
βοΈ Soal Teori
- Jelaskan pengertian graph
- Apa perbedaan BFS dan DFS?
- Kapan menggunakan adjacency list?
π» Soal Praktikum
- Buat graph sederhana
- Implementasikan BFS
- Implementasikan DFS
π― Penutup
Graph adalah struktur data paling penting untuk merepresentasikan hubungan kompleks, digunakan dalam:
- Internet
- GPS
- Media sosial
- AI dan Machine Learning