sd c 14 - reezeki2011.files.wordpress.com · • sjukani moh., (2007), “struktur data (algoritma...
TRANSCRIPT
STRUKTUR DATA
By : Sri Rezeki Candra Nursari
2 SKS
Literatur
• Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media
• Utami Ema. dkk, (2007),”Struktur Data (Konsep & Implementasinya Dalam Bahasa C & Free Pascal di GNU/Linux)”, Graha Ilmu
• Hubbard Jhon, R., Ph.D, (2000), “Schaum’s Outline Of Theory and Problems of Data Structures With C++” McGraw-Hill
• Bambangworawan Paulus., (2004), “Struktur Data Dengan C”, Andi Yogyakarta
Materi1. Data dan Struktur Data2. Array3. Struktur dan Record4. Pointer5. Linked List6. Stack (Tumpukan)7. Queue (Antrian)8. Tree (Pohon)9. AVL Tree10. Heap dan B-Tree11. Sorting12. Search13. Hashing14. Graph
GRAPH
Pertemuan 15
2 SKS
GRAPH
• Sekumpulan elemen yang saling berhubungan– Sebuah elemen yang dapat terhubung
dengan beberapa elemen lain– Beberapa elemen dapat terhubung ke
beberapa elemen yang lain
• Graph terdiri dari node/vertex/titik dan edges/arc/busur
• Graph tidak memiliki root node
GRAPH
• Graph, termasuk struktur non linear• Graph adalah kumpulan dari simpul dan busur yang
secara matematis dapat dinyatakan sebagai berikut:– G = (V, E)
• G = Graph• V = Simpul/vertex/node/titik• E = Busur/edge/arc
• Graph dibedakan menjadi 2 macam:1. Graph tak berarah (undirect graph/non-direct graph)2. Graph berarah(direct graph/digraph)
GRAPH TAK BERARAH
• Graph tak berarah (undirect graph/non-directed graph)• Urutan simpul pada busur e1, dapat disebut busur A,B
atau B,A• Diidentikkan dengan sebuah jalan yang menghubungkan
dua buah titik, yang dapat dilalui 2 arah
A
B
C
D E
v1
v2
v3
e3e1
e2
e4
v4v5
e5
e6
e7
GRAPH TAK BERARAH
• Graph tak berarah biasa juga disebut tipe data abstract graph
• Merupakan sekumpulan node yang saling terhubung melalui edges
• Setiap edge menghubungkan dua node. Tidak semua node harus saling terhubung
GRAPH BERARAH
• Graph berarah (directed graph)• Busur A,B adalah busur e1• Busur B,A adalah busur e8• Diidentikkan apabila dari A ke B dapat menggunakan jalan e1,
sedangkan dari B ke A hanya menggunakan jalan e8
A
B
C
D E
v1
v2
v3
e3e1
e2
e4
v4v5
e5
e6
e7
e8 e9
e10
ISTILAH-ISTILAH GRAPH
1. Incident2. Degree/derajat, indegree dan
outdegree3. Adjacent4. Successor dan Predecessor5. Path6. Cycle
1. INCIDENT
• Apabila e merupakan busur dengan simpul-simpulnya adalah v dan w yang ditulis e=(v,w)
• Maka v dan w disebut terletak pada e, dan e disebut incident dengan v dan w
A
B
v
we
2. DEGREE, INDEGREE, OUTDEGREE
• Degree sebuah simpul adalah jumlah busur yang incident dengan simpul tersebut.
• Degree simpul A atau v1=2• Degree simpul B atau v2=3
A
B
C
D E
v1
v2
v3
e3e1
e2
e4
v4v5
e5
e6
e7
2. DEGREE, INDEGREE, OUTDEGREE
• Indegree sebuah simpul pada graph berarah adalah jumlah busur yang kepalanya (head) incident pada simpul tersebut atau dapat dikatakan jumlah busur masuk atau menuju simpul tersebut
A
B
C
D E
v1
v2
v3
e3e1
e2
e4
v4v5
e5
e6
e7
2. DEGREE, INDEGREE, OUTDEGREE
• Outdedegree sebuah simpul pada graph berarah adalah jumlah busur yang buntutnya (tail) incident pada simpul tersebut atau dapat dikatakan jumlah busur yang keluar atau berasal dari simpul tersebut
A
B
C
D E
v1
v2
v3
e3e1
e2
e4
v4v5
e5
e6
e7
3. ADJACENT• Pada graph tak berarah, dua simpul
tersebut adjacent bila ada busur yang menghubungkan kedua simpul tersebut–Simpul v dan simpul w disebut adjacent
• Pada graph berarah, sebuah simpul v disebut adjacent dengan simpul w apabila ada busur dari w ke v–Simpul v adjacent dgn simpul w
A
B
v
we
A
B
v
we
4. SUCCESSOR dan PREDECESSOR
• Pada graph berarah, bila simpul v adjacent dengan simpul w
• Simpul v adalah successor (pengganti/ pelanjut) simpul w
• Simpul w adalah predecessor (pendahulu) dari simpul v
A
B
v
we
5. PATH
• Sebuah path adalah serangkaian (a sequence) simpul-simpul yang berbeda, yang adjacent secara berturut-turut dari simpul satu ke simpul berikutnya
• Menggambarkan path dari simpul 1 ke simpul 4
21
43
6. CYCLE
• Cycle adalah path yang terdiri dari sekurang-kurangnya 3 simpul sedemikian rupa simpul yang terakhir adjacent dengan simpul pertama
• Menggambarkan cycle 4 buah simpul pada graph tak berarah
21
43
REPRESENTASI GRAPH
• Agar data yang ada dalam grpah dapat diolah, maka graph harus dinyatakan dalam suatu struktur data yang dapat mewakili graph tersebut
• Graph perlu direpresentasikan kedalam bentuk array dua dimensi yang sering juga disebut matrix, atau direpresentasikan dalam bentuk linked list
REPRESENTASI GRAPH
• Representasi graph dalam bentuk matrix1. Adjacency matrix2. Inverse adjacency matrix)3. Insidence matrix4. Vector matrix
• Representasi graph dalam bentuk Link List1. Adjacency list2. Inverse adjacency list
Kisi-kisi UAS
1. Jumlah soal = 52. Materi dari setelah UTS (tree, avl, heap, b-
tree, sort, search, graph)3. Soal memperbaiki koding ada 2 soal4. Perbaikan koding (sort & search)5. Dua soal dalam bentuk teori 6. Satu soal materi Graph