GRAPH
TREE
PEMROGRAMAN BERORIENTASI OBJEK MUHAMMAD ZUHDI
STRUKTUR DATA LINEAR VS NON-LINEAR
Struktur data dapat dibagi menjadi dua kategori utama berdasarkan cara data disusun dan
dihubungkan.
1. Linear 2. Non-Linear
Data tersusun secara berurutan (sequence). Data tidak tersusun berurutan, tetapi
Contoh: membentuk hierarki atau jaringan.
Array Contoh:
ArrayList Tree
Stack Graph
Queue
TREE
PENGERTIAN TREE
Struktur data tree digunakan untuk menyimpan data
dalam bentuk struktur pohon/hierarki. Struktur data
tree dapat dibangun menggunakan class Node yang
mirip dengan class Node yang digunakan pada Linked
List hanya saja pada bagian pointer/address (address
part) menggunakan kumpulan Node children (node-
node anak). Node Children ini dapat disimpan
menggunakan tipe array, vector, ArrayList, bahkan
Linked List sesuai kebutuhan.
TERMINOLOGI DALAM TREE
Istilah penting pada Tree:
→
Nodes elemen atau titik yang menyimpan data
→
Edges garis atau hubungan yang menghubungkan
dua node
→
Root node paling atas
→
Parent node yang memiliki child
→
Child node yang memiliki parent atau merupakan
turunan dari node lain.
→
Leaf node tanpa child
JENIS-JENIS TREE
Binary Tree
Binary Search Tree (BST) Generic Tree
GRAPH
PENGERTIAN GRAPH
Graph adalah struktur data yang digunakan untuk
menyimpan hubungan (adjacency) antar vertex di
dalam graph. Hubungan antar vertex ini dapat
disimpan menggunakan adjacency matrix dan
adjacency list.
JENIS-JENIS GRAPH
Graph dapat diklasifikasikan berdasarkan:
1. Directed Graph (Graph Berarah) → Edge memiliki arah dari satu vertex ke vertex lain.
2. Undirected Graph (Graph Tak Berarah) →Edge tidak memiliki arah.
PROPERTI GRAPH
Graph dapat memiliki atribut sebagai berikut:
1. Berdasarkan Bobot Edge (Weight)
Weighted Graph : Setiap edge memiliki bobot
Unweighted Graph : Edge tidak memiliki bobot,
semua dianggap memiliki nilai yang sama.
2. Berdasarkan Keberadaan Cycle
Cyclic Graph : Terdapat jalur yang kembali ke
vertex awal.
Acyclic Graph : Tidak ada cycle dalam graph.
3. Berdasarkan Keterhubungan Graph
Connected Graph : Semua vertex dapat dicapai
dari vertex lain.
Disconnected Graph : Terdapat vertex atau
kelompok vertex yang tidak terhubung.
REPRESENTASI GRAPH
Dua cara utama merepresentasikan Graph:
1. Adjacency Matrix
Adjacency Matrix adalah cara merepresentasikan graph menggunakan matriks dua
dimensi (array 2D).
2. Adjacency List
Adjacency List adalah representasi graph menggunakan daftar tetangga untuk
setiap vertex.
ADJACENCY MATRIX
Representasi Adjacency Matrix di Graph tak Representasi Adjacency Matrix di Graph
berarah berarah
ADJACENCY LIST
Representasi Adjacency List di Graph tak Representasi Adjacency List di Graph
berarah berarah
PENERAPAN DALAM JAVA
Adjacency Matrix Adjacency Matrix
TERIMA
KASIH