21
STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS

SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

  • Upload
    ngonhu

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

STRUKTUR DATA

By : Sri Rezeki Candra Nursari

2 SKS

Page 2: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 3: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 4: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

GRAPH

Pertemuan 15

2 SKS

Page 5: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 6: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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)

Page 7: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 8: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 9: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 10: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

ISTILAH-ISTILAH GRAPH

1. Incident2. Degree/derajat, indegree dan

outdegree3. Adjacent4. Successor dan Predecessor5. Path6. Cycle

Page 11: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 12: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 13: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 14: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 15: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 16: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 17: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 18: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 19: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 20: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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

Page 21: SD C 14 - reezeki2011.files.wordpress.com · • Sjukani Moh., (2007), “Struktur Data (Algoritma & Struktur Data 2) dengan C, C++”, Mitra Wacana Media ... • Graph adalah kumpulan

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