Struktur Data - Week14
Struktur Data - Week14
GRAPH
•Graph adalah kumpulan dari simpul dan busur yang
secara matematis dinyatakan sebagai: G = (V, E), Dimana
→ G = Graph; V = Simpul atau Vertex, atau Node atau
Titik; E = Busur atau Edge, atau arc
Week-14
Timothy John Pattiasina, ST., M.Kom.
1
31/07/2019
2
31/07/2019
3 4 4 3 4 3 4
3
A 0 0 1 0 1 0 A 0 0 1 0 1 0
out
A C A C
B 1 1 0 1 0 1 B 1 1 0 1 0 1
C 2 0 1 0 1 1 C 2 0 1 0 1 1
D E D 3 1 0 1 0 1 D E D 3 0 0 1 0 1
Graph
E 4
0 1 1 1 0 Graph
E 4
0 0 0 0 0
Degree simpul : 3 in
Representasi Graph dalam bentuk •Membuat function untuk sebuah simpul yang dapat
Linked List digunakan sebagai vertex maupun edge (dinamis).
• Adjency List graph tak berarah int ordo[5][5];
void masukkan(int a, int b, int c)
• Digambarkan sebagai sebuah simpul yang memiliki 2 pointer.
{
• Simpul vertex : Simpul edge : for (int i = 1; i <= 5; i++)
{
left right left right for (int j = 1; j <= 5; j++)
info info
Menunjuk ke simpul if (i == a && j == b)
edge pertama Menunjuk ke {
simpul edge
berikutnya, bila ordo[a][b] = ordo[i][j];
Menunjuk ke simpul Menunjuk ke simpul
vertex berikutnya, vertex tujuan yang masih ada. ordo[a][b] = c;
dalam untaian simpul berhubungan dengan }
yang ada. simpul vertex asal. }
}
3
31/07/2019
•Membuat function untuk sebuah simpul yang dapat Contoh : untuk vertex A, memiliki 2 edge yang
digunakan sebagai vertex maupun edge (Statis). terhubung yaitu e1 dan e2.
char Nms[6] = "ABCDE";
B Urut abjad
struct Node{
e1 A e1 e2
Node *left; e3
int info; e4
Node *right; A C B
};
Node *P,*FIRST,*LAST,*Q,*R; e2 e5 e7 C
Node *PointS[5];
int matrix[5][5]={ D E
e6
{0,5,0,2,0}, D
{6,0,3,0,0}, Graph
{0,0,0,0,9},
E
{0,0,12,0,7},
{0,14,0,0,0}
};
Gambar sebelumnya dapat disusun dengan lebih Adjency List Graph Berarah
sederhana
A B D B A B D
B
B A C E B A C
C B D E A C
A C C E
D A C E
D C E
E B C D
D E D E E B
Graph
5
3 A 0 0 5 0 2 0 Penyelesaian
A 14 C
B 1
6 0 3 0 0 Tambahkan vertex sisanya Graph:
C 2 0 0 0 0 9
12 Tambahkan edge pada masing-
2 12 D 3 0 0 12 0 7
masing vertex yang telah
D 7 E
E 4 0 14 0 0 0 terbentuk
Perhatikan pemilihan nilai 0.
Tampilkan representasi graph
berikut bobotnya
4
31/07/2019
Practice
• Program c++ untuk graph berarah dan berbobot (directed weighted
graph) dengan ordo matrix 5x5 dimana nilai bobot dapat diisikan
bebas, sesuai dengan koordinat x & y (baris & kolom) pada matrix
yang juga ditetapkan, lalu tampilkan hasilnya. Output program
seperti yang terlihat dibawah ini: