Graph (Graf)


🧭 1. Pengertian Graph

https://images.openai.com/static-rsc-4/F54nK8pQiKbMtN67emyZWf9iML9zO2G_41epNiAHUlQnkc0QzZr_dtki8cK2LVKYbJJUoDbrv1ndrm-6KLLnWc1qKpAuch_y5alnOAdE27eB0drmjr-ACaPTgMJTTv6wNaiRXgCMDdyC-j1Zak_sk9MgmpCNG_sBkwCUTt_63uOE0hgoLUk6mOKsOtnekv9Y?purpose=fullsize
https://images.openai.com/static-rsc-4/xZlQkCy5CrVq02OkZeFi2t5-Doz5jOYhrv9ua6ePzxh8G0_ooS8oEDCfOCMPGpcGA23Iuc7YJFHyGbWMHhAfvyYMPieS6kbdNi89NjjLuvL3YDh951GdyzOOK86LzFWjp85CvJiv_ExRkV5OIQpkvtY2TjPuHPENWnPpHx-dJ4j-sAXb3hSciM0Q8bXUf98u?purpose=fullsize
https://images.openai.com/static-rsc-4/Y498NdI2bgWMPJHV9DVTqSq_7aVpqzQuKAwv9-13GS3IXqj4-iqICM7t-2VwlMXm7920eKzwVdbGYqvg6ActZPkBN10cKYRToGXxnNKS1h2VdvXUYQSwure_iT7wKTm2Djqd5jmgAcdh2HhPrd2WvVFOMJRn4klRaf0A0YGiJ7lfpL_iRBWC5C4_dSp9kKED?purpose=fullsize

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

KomponenPenjelasan
Vertex (V)Titik/node
Edge (E)Hubungan antar vertex
PathJalur antar node
DegreeJumlah edge pada node

🧠 Narasi

Graph tidak hanya menyimpan data, tetapi juga hubungan antar data.


πŸ”„ 3. Jenis Graph


πŸ”Ή A. Undirected Graph

https://images.openai.com/static-rsc-4/RxxHWBuyiEJDR5-5FERL7NarlrGMUQBc5jlOC1L3JIxqpLitV3T02TuctdxZaRo5UvrAQlCSkAQ9-SP5pPDkAd9OHXrGGTMC2FVPvJI6OXOgzZPFy0HlPkV_Kf4gcJ0wemCpEwJVCPrS7r8V0FXnoqzlpnrYf9gypTCW9xPBmhrGzE-QqsLHc30eGeUiChjS?purpose=fullsize
https://images.openai.com/static-rsc-4/nxsInjdcPTtfazvIsmdGEyzoaGdHJaOVqCA18TiZ-aWYAUT0iI7uvzRybgnoe4DRXN6S4PHHypu1Dc8mwyh-RGk3g7o2TNMI4jkRojUHev2pv28T7-NQy-ve97gyr24SGY9UtHXyz3uKmjCxIyO9w-HsSs_97YgT9wRemotCZV2AKXf5RYeZu9VexXtGFpnw?purpose=fullsize
https://images.openai.com/static-rsc-4/9oGUAAzcyrNxvU37yftuPXTeP2bjtAZQOS8PtTBdeYMiweA-aNKwx_fvWvhRtxNZVtsw54Tqt_Cq7dVqzk5FWA3ileTDu07-g8u0TMSqARw69fS20Q81tKxDpnMnbWMwKP9sgBTOc1VjtZQ9-iB0Fx_heZLaYhCgnF8e1YGoOW_BYn3THSIwKNDlMsi9GsLQ?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/xZlQkCy5CrVq02OkZeFi2t5-Doz5jOYhrv9ua6ePzxh8G0_ooS8oEDCfOCMPGpcGA23Iuc7YJFHyGbWMHhAfvyYMPieS6kbdNi89NjjLuvL3YDh951GdyzOOK86LzFWjp85CvJiv_ExRkV5OIQpkvtY2TjPuHPENWnPpHx-dJ4j-sAXb3hSciM0Q8bXUf98u?purpose=fullsize
https://images.openai.com/static-rsc-4/Ydlrx02koCyMB0MdDyRnsc6B2-5jp-LmYMO9NQi8VY7n066SvgyUihKa9e7ffBfi7IrtgqZ4IbGoUa2R5ORT-cetireuGEnn-aY0k7KqLwGjLe5CiYvt7gFjBiPggBpQqOdOdTw6E7VfDmuKFvyMJPkNj608gotiN4oWcjXrOf-s9-H1iLG2teD8ZXwwIaGZ?purpose=fullsize
https://images.openai.com/static-rsc-4/OEzZ_-20_5ZknW8HK9dIJxiAoa4YugTIZdJPAxBr5YnJt909vDjGdpqMQLZrZga9ONXc5yk4ZNiNeqG0-XB8XNotwtmdjDcmfgAozs7ZNh7mBrdh4MiBxklcuwGukGyeavng2VEbUEvxqbCYO_Z0Dd2UJFcFm9vlLduCzMbsvZAkplh4zrTULd3rV99yFNF3?purpose=fullsize

8

πŸ“– Konsep

Edge memiliki arah.

🧠 Narasi

Seperti Instagram:

  • A follow B β‰  B follow A

πŸ”Ή C. Weighted Graph

https://images.openai.com/static-rsc-4/YKTwQt2wd5k1i5pHR5tSd_ZMY4ZOB5RK7IG8JHOlByXHNw_EKvtXgfBB5fKlnkTEmo-RuDH2-YlEa0qFzxvGX_QNuoMfxhqL4qO6ACfxSthShRD-RHp7R4yHqroVgOcfr9dPfrM-QpfNswrCTjCkQznqLfy54uuvX8Ygnzeji0Qn1WAfSZbvJXtRBK5dvqoh?purpose=fullsize
https://images.openai.com/static-rsc-4/Kg_273qSRldS7pkcx2PlfrsgfF0uPYCescuGlwYJKhBd0iPNSTuzx05lEh2g-nSBCKifAT-j7_SOjwLg9eQQbDtAyJ1Fh5Ak7Ctk4o66XXC5m5EDDI9xkEWjwnkd9BTnAswcl0rquWhMzgjbuzFF55vr_8VMmYe2uyCPVMpd0TCD8rgUoQsq66XPpDLK3all?purpose=fullsize
https://images.openai.com/static-rsc-4/BTMaOcAxfU_oPrm-EhdmKpXhc1au89BRNEJyun9BU1qRtyz5Lxb-8uiHDwF-U3m5opha0jHr-32KZV0CTq45cnPmkNPI9XVbi0kBiZasO5o1x1ZmCP9fD2NMoM9pwLs7IyuEjVvhhStysEAJtLNC0Av2bpkO_GDI9YyFVpzoHzy0ylO5vfHH0Q_VrMiN-xJ1?purpose=fullsize

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

https://images.openai.com/static-rsc-4/AKn6nb3aLHBT0zbXBGztDxLQlLCN_h5TtTi4nNROAKe50OVGG4rf1FWcmu16KZIdSwEWrDaKT6jmesyTB-J3Wfonk-Tjy1FCZO3J9X_6R94wZ36Hir12MjuDgUlIhFATA7VYjez0TDsP8TcikVZk0Ylwx8oXBpVxu8VKLI9i9yna_y7dO6uqVbVg5mQwScyu?purpose=fullsize
https://images.openai.com/static-rsc-4/IaDTTAiGBRVHOsx3zLl9BP8AdhZcSVfJQEvCYouwL7gdqeIyqb_dRXe6vYrdwUCgHq1oUVMkbF798kMBPeuTByLQBj-DN2XPqqFuW50kyQSjQSIgY9srhODfa4-perWqc_RCZO_e5gwpji18DokmtswBv7H0u6ZW2I8s8SwbzQLt_OktKhZlMX-HDTTgVfjy?purpose=fullsize
https://images.openai.com/static-rsc-4/FvUkzdVjw6X-EeUS38uYeSBDj8oqorgTjEYrjdCZtTz2NmuciW9NmAE24pTABVLlC-j_jQ_aD3npLS9pmoWyDnMQpPYTpapeQIpYN6HtrjxNs74BzeFqjNA2pjMBfoxsjerxpnT3NO94PMvCzRs4CFk0OaiRr2Fxm5-P83YAKWaaJfHfgi43yaP-VoqtFiKE?purpose=fullsize

7

πŸ“– Konsep

Graph direpresentasikan dalam bentuk matriks 2D.


πŸ“Š Contoh

ABC
A011
B100
C100

🧠 Narasi

  • 1 = ada hubungan
  • 0 = tidak ada hubungan

πŸ”Ή B. Adjacency List

https://images.openai.com/static-rsc-4/eb71VENxdF2FLDPQJoxY-MWddR6PiA_d1OFjEkXTqa7tiqQBCWypI2y_J2KKTyF_jlm8GnnkJWUz_-kxOHV1PEtd6DyzewNBj7BQrCXGsiIhjUoBejg4tzIf5BYMg6_g00UQQJaIbnCDn_4ldq7IYQAqNImTZJY-bG77uurRYSS-w5HtRycH4zA22cPXXYzn?purpose=fullsize
https://images.openai.com/static-rsc-4/I5wgG7m0SYja-X6IMIlAy1wlSJ0yMMeuebEACWeIb4Udn0G3egGotJqpG3MohWIf0IJMYJdqe2wwsXR5eJhAPhEMINREFighQt5uFG1S3str62uqQm-AeaHFDYeMx3ZK_phDa3s7cj9VNFKyLsvqH6Wdc9XFPrXZidO1D_O8NsaHuNz8w6gpko_TfoGsHENu?purpose=fullsize
https://images.openai.com/static-rsc-4/YKTwQt2wd5k1i5pHR5tSd_ZMY4ZOB5RK7IG8JHOlByXHNw_EKvtXgfBB5fKlnkTEmo-RuDH2-YlEa0qFzxvGX_QNuoMfxhqL4qO6ACfxSthShRD-RHp7R4yHqroVgOcfr9dPfrM-QpfNswrCTjCkQznqLfy54uuvX8Ygnzeji0Qn1WAfSZbvJXtRBK5dvqoh?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/oLIpb4GlluHqztHiirrP9BMcOVyDclNy1BZbE2Hj6QSkg66qufVVfRZ8u7avoZOBKzZxFIyYG-CE_KnOxMlVMS793VAE3HbQWXLOlXwLiCUA8Fd6KdbGuWH3kNHOII5r1uLYot6xmdqFpaxV9I9UqJhdQD0f4qanG129eWRdMGsMsCRAjuc1fVzp_fQ6DqTk?purpose=fullsize
https://images.openai.com/static-rsc-4/Rt2Gtkt8ECUZctcZ0wxXBfRYn3NhDs1e9uhi6LTIawB19vbtAMICH4KDlFG6IugZB-J1zZFQu-jNyOLA8klOc1bjE484E3Kx60M_gea1MjGKjfs9QcOsfB7Z15FGRhusTugCh29crrypC-Sh3CyzqhkglKk_Er8maghCmdWxs-ZuBRzoW4Db-25nvtjnwetX?purpose=fullsize
https://images.openai.com/static-rsc-4/-9yNoCHt9anLvgQ69xOnq2wA2BIkg8-bJshmsqdM1OZxVLGue2uzmKPoSK_PyTgaZ_fPN1B10mR33EZcZ9xK61E00igb9-i4cmvn43iNESz3Mtel_YvP9Zy11dckre0wsMww84zVFocluwYF3KwbTS3_a2U_pPnJLnp0UBHD_4zM23_QqNQHaUHnzXAXWfbL?purpose=fullsize

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)

https://images.openai.com/static-rsc-4/psUBczdkFz9bOlHLigw6cbYfzqB3jr8snQ8upgE7oK5VhjQTcSX3kp5Dk1BQ0pAXZJmxLHDDJd6fFEvGKwv3ar1tMpiSF8rSeoNgIXTqeL4nmdNSh-7pu7KbtG41ByQ74Fd9hlQ6Auy0B9N-Vtfsr-zACZFbTJ_fjzLgDl0pHG8x7iRUEMSplHuOZYLmQ2_5?purpose=fullsize
https://images.openai.com/static-rsc-4/qi3oQQu_qgGx5ech5dpM1coo32T_Crg8pMX9KUJx97T8DH0o6pWlpY2-bNTeJ7w5oWDRi885qKgcpVRRf5QFWYW9-hyo5Tw0adjiSCCriKdfPBxzHUQw30S2fFPCOij1cSlH-FDVCaHV4NTTbXO4bEDSoZDanxmuW4cGZ5PWD26QF_VFM2glGPxTSlK-arsm?purpose=fullsize
https://images.openai.com/static-rsc-4/FXTIeMfvMMPCN1BDzshRdEPU7YGzCw0FMHzH5NMDQnpaf8Gnn7B9N2p_xGrmq-1cE5eqaiVYbNkf-r4Z8VE-RWGG9SkA-3k3RPhuWrM7GLmsIEYbfr94SglElnihAgeFcPjhIOaSR3KZnNWqJA6Bn186WDB4edTsEld4FaBD1aQlraYAOn26At73iCpgYGFF?purpose=fullsize

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

OperasiDeskripsi
Add VertexMenambah node
Add EdgeMenambah hubungan
Remove VertexMenghapus node
Remove EdgeMenghapus hubungan
TraversalBFS/DFS

πŸ“Š 7. Perbandingan Representasi Graph

πŸ“Š Tabel

AspekMatrixList
MemoriBorosHemat
Akses EdgeCepatLambat
Cocok untukDense graphSparse graph

🌐 8. Aplikasi Graph dalam Dunia Nyata

πŸ“Œ Contoh Penggunaan

BidangContoh
Media SosialFriend / follow
GPSRute jalan
InternetRouting jaringan
GamePathfinding AI
GooglePageRank

🧠 9. Ilustrasi Graph Dunia Nyata

https://images.openai.com/static-rsc-4/8z_GiPGZ0yFMz0CFC_bWQqQxH_r_ggOJDDxqJHZq_Qh6A3Y56IqGBAizQgsWVKemhMTBK83CrP-RPVp5ZxPDwvNDYAQtumaGHGzKyqB5wzPn-t-krOjBxqm-vnnQcZqawr8rIEPr1Y-9Va4V_4wjG_Bk6DtBBaTMdzMiU22cWph1loAC_dWhsd3OCQeRXUcc?purpose=fullsize
https://images.openai.com/static-rsc-4/eSvpo9rQIlFoqkUpTS6DRU3i_9A10JBnFJNWAEYkSft12c9CEhHvwcvYA-CUQOEbsKhp16veZlkpas7_BOejQRNvvuHas5bWTX2wSkW0sx7qFT-7LCxTRQRmCwWDXEc6qXR0tk3PIzT5LOW0tefynIgYlq17w4GGtBu-XQ54n-fSJBPy83E-gkCqeUFbeJOt?purpose=fullsize
https://images.openai.com/static-rsc-4/Aju3-dOyMIAxh8Roqib2dR6Pf0UsMf1sWCVx0eQV8mAnKxNbAV3gi4DHBLWkUqyxnPN4AMbJBqR5TManNiAfEcip5WvwFv1B4bLsXei0uI6bhtqQjPwRMmh9UkV2N77JvPjHqIMpIG9zpYL_NUWOaj_uQL2pl8PgYLUx9p4bF0dcqK-FbDrfQgGHV4-OdknU?purpose=fullsize

6


⏱️ 10. Kompleksitas Graph

πŸ“Š Tabel Kompleksitas

OperasiKompleksitas
BFSO(V + E)
DFSO(V + E)
Add EdgeO(1)
Search EdgeO(V) (list)

⚠️ 11. Kelebihan dan Kekurangan Graph

πŸ“Š Tabel

KelebihanKekurangan
Representasi hubungan kompleksImplementasi rumit
FleksibelBoros memori (matrix)
Digunakan luasSulit 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

  1. Jelaskan pengertian graph
  2. Apa perbedaan BFS dan DFS?
  3. Kapan menggunakan adjacency list?

πŸ’» Soal Praktikum

  1. Buat graph sederhana
  2. Implementasikan BFS
  3. Implementasikan DFS

🎯 Penutup

Graph adalah struktur data paling penting untuk merepresentasikan hubungan kompleks, digunakan dalam:

  • Internet
  • GPS
  • Media sosial
  • AI dan Machine Learning