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
1. Data dan Struktur Data 2. Array 3. Struktur dan Record 4. Pointer 5. Linked List 6. Stack (Tumpukan) 7. Queue (Antrian) 8. Tree (Pohon) 9. AVL Tree 10. Heap dan B-Tree 11. Sorting 12. Search 13. Hashing 14. Graph Materi
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 B v 2 v 1 A e 1 e 2 D e 4 e 5 e 6 e 3 C E v 3 e 7 v 4 v 5
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 e 8 B e 9 v 2 v 1 A e 1 e 4 e 10 e 5 e 2 D e 6 e 3 C E v 3 e 7 v 4 v 5
ISTILAH-ISTILAH GRAPH 1. Incident 2. Degree/derajat, indegree dan outdegree 3. Adjacent 4. Successor dan Predecessor 5. Path 6. 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 e B w v A
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 B v 2 e 1 e 3 v 1 A e 4 e 5 C v 3 e 2 D E e 7 e 6 v 4 v 5
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 B v 2 e 1 e 3 v 1 A e 4 e 5 C v 3 e 2 D E e 7 e 6 v 4 v 5
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 B v 2 e 1 e 3 v 1 A e 2 D e 4 e 5 e 6 C E v 3 e 7 v 4 v 5
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 B Simpul v adjacent dgn simpul w e v A v A w e B w
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 e B w v A
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 1 2 3 4
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 1 2 3 4
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 matrix 1. Adjacency matrix 2. Inverse adjacency matrix) 3. Insidence matrix 4. Vector matrix Representasi graph dalam bentuk Link List 1. Adjacency list 2. Inverse adjacency list
Kisi-kisi UAS 1. Jumlah soal = 5 2. Materi dari setelah UTS (tree, avl, heap, b- tree, sort, search, graph) 3. Soal memperbaiki koding ada 2 soal 4. Perbaikan koding (sort & search) 5. Dua soal dalam bentuk teori 6. Satu soal materi Graph