Trees Directed Graph Algoritma Dijkstra

Slides:



Advertisements
Presentasi serupa
GRAPH.
Advertisements

Matematika Diskrit Dr.-Ing. Erwin Sitompul
Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks Optimasi Jaringan.
Jembatan Königsberg.
Pertemuan 8 STRUKTUR POHON (TREE).
PERTEMUAN 14 POHON (TREE).
Tugas #3 File soal UTS sudah dikirim ke alamat masing-masing.
GRAPH Kata Graph di dalam Matematika mempunyai bermacam- macam arti. Biasanya di kenal kata Graph atau Grafik Fungsi, ataupun relasi. Untuk itu kali ini.
Graf Berarah PART 5 DOSEN : AHMAD APANDI, ST.
Pertemuan 13 GRAPH IMAM SIBRO MALISI NIM :
TEORI GRAF Oleh : Yohana N, S.Kom.
GRAF TIDAK BERARAH PART 2 Dosen : Ahmad Apandi, ST
Pengenalan Graph Disusun Oleh: Budi Arifitama Pertemuan 9.
TEORI GRAF.
BAB 8 GRAF.
P O H O N.
P O H O N.
TEORI GRAPH.
STRUKTUR DATA GRAPH dan DIGRAPH
G R A P H Graph adalah Himpunan V (Vertex) yang elemennya disebut simpul (atau point atau node atau titik) Himpunan E (Edge) yang merupakan pasangan tak.
MATRIKS PENYAJIAN GRAPH
BAB 8 GRAF.
Teori Graf Matematika Diskrit.
APLIKASI PENGOPTIMALAN JARINGAN LISTRIK
GRAF PLANAR DAN PEWARNAAN GRAF
Pendahuluan Graf digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut Representasi : Objek : noktah, bulatan.
BAB VIII G R A F.
Teori Graf Jhon Enstein Wairata.
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
Algoritma dan Struktur Data
Matakuliah : T0034 / Perancangan & Analisis Algoritma
Pertemuan ke 21.
Minimum Spanning Tree Problem
Cayley’s Spanning Tree Formula
TEORI GRAF.
GRAPH.
Graf Berarah / DIGRAPH PART 5 DOSEN : AHMAD APANDI, ST.
Teori Graf Dosen: Riski Nur I. D., M.Si.
TEORI GRAPH (LANJUTAN)
TEORI GRAPH by Andi Dharmawan.
MATRIKS PENYAJIAN GRAPH
P O H O N ( T R E E ) Fitri Utaminingrum
Graf Berlabel Graf Euler Graf Hamilton
Diagram Pohon (Tree Diagram)
Representasi Graf Isomorfisme
BAB 7: Graf.
FITRI UTAMININGRUM, ST, MT
BAB 9: Pewarnaan Graf Matematika Diskrit DU1023 Heru Nugroho, S.Si
REPRESENTASI GRAF PADA MATRIK
Pertemuan 8 Review Berbagai Struktur Data Lanjutan …..
Algoritma Prim Algoritma Kruskal Algoritma Dijkstra
Matematika Diskrit Semester Ganjil TA Short Path.
BAB 10: Short Path Matematika Diskrit DU1023 Heru Nugroho, S.Si., M.T.
Oleh : Devie Rosa Anamisa
STRUKTUR DATA Struktur Data Graf.
P O H O N ( T R E E ) Fitri Utaminingrum
Matematika diskrit BAB IV.
P O H O N ( T R E E ) Fitri Utaminingrum
ANALISA JARINGAN.
GRAPH Graph didefinisikan sebagai pasangan himpunan titik-titik simpul (V) dan himpunan garis atau busur (E) dinyatakan dalam bentuk G=(V,E) dimana V tidak.
Matematika Diskrit TIF (4 sks) 3/9/ /5/2010.
POHON DAN APLIKASI GRAF
Jenis-jenis Graf Tertentu Oleh: Mulyono & Isnaini Rosyida
Aplikasi Graph Minimum Spaning Tree Shortest Path.
Minimum Spanning Tree Problem
Matematika Diskret Teori Graph Heru Cahya Rustamaji, M.T.
Graf Universitas Telkom Disusun Oleh :
Logika Matematika/DPH1A3
Graf dan Analisa Algoritma
Graf dan Analisa Algoritma
Transcript presentasi:

Trees Directed Graph Algoritma Dijkstra Teori Graf Teknik Informatika STT Wastukancana Purwakarta

Trees Pohon (tree) adalah graf tak-berarah terhubung (connected) yang tidak mengandung sirkuit c b e d a f c b e d a f c b e d a f c b e d a f G1 G2 G3 G4 G3 dan G4 adalah bukan pohon G1 dan G2 adalah pohon (tree) Hutan (forest) adalah graf tak terhubung yang tidak mengandung sirkuit, dalam hal ini setiap komponen di dalam graf terhubung tersebut adalah pohon

Sifat-sifat Tree Misalkan G = (V,E) adalah graf tak-berarah sederhana dan jumlah vertexnya n, maka : G adalah pohon Setiap pasang vertex di dalam G terhubung dengan lintasan tunggal G terhubung dan memiliki m = n -1 buah edge G tidak mengandung sirkuit dan memiliki m = n – 1 buah edge G tidak mengandung sirkuit dan penambahan satu edge pada graf akan membuat hanya satu sirkuit G terhubung dan semua edge-nya adalah bridge/jembatan (bridge adalah edge yang bila dihapus menyebabkan graf terpecah menjadi dua komponen)

Contoh Sebuah tree mempunyai 2n buah vertex berderajat 1, 3n buah vertex berderajat 2 dan n buah vertex berderajat 3. Tentukan banyaknya vertex dan edge di dalam tree tersebut ! Penyelesaian : Berdasarkan lemma jabat tangan : jumlah semua vertex di dalam graf adalah 2 kali jumlah edge di dalam graf tersebut (2n x 1) + (3n x 2) + (n x 3) = 2 |E| 11n = 2 |E| …………………………… (1) Jumlah edge pada sebuah tree adalah jumlah vertex minus satu, sehingga : |E| = (2n + 3n + 1n) – 1 = 6n – 1 …………………(2) Persamaan (1) dan (2) menjadi : 11n = 2 (6n – 1) 11n = 12n – 2 n = 2 Jadi : Jumlah vertex pada tree 6n = 6 x 2 = 12 buah vertex Jumlah vertex 6n – 1 = 11 buah vertices

Graf lengkap G dengan 4 buah spanning tree-nya: T1, T2, T3 dan T4 Spanning tree dari graf G adalah spanning subgraf yang berbentuk tree G T1 T2 T3 T4 Graf lengkap G dengan 4 buah spanning tree-nya: T1, T2, T3 dan T4 Setiap graf terhubung mempunyai paling sedikit 1 buah spanning tree Branch adalah edge dari spanning tree chord atau link adalah edge yang tidak terdapat pada spanning tree

Jika n buah vertex dan m buah edge maka : Untuk graf terhubung : Jumlah branch : n – 1 Jumlah link : m – n + 1 Untuk graf tak-terhubung dengan k komponen : Jumlah branch : n – k Jumlah link : m – n + k Rank graf G adalah : Jumlah cabang(branch) pada spanning tree dari sebuah graf G Nullity graf G adalah : Jumlah link pada graf G Sehingga : jumlah edge graf G = rank + nullity Nullity graf sering diacu sebagai bilangan siklomatik atau bilangan Betti pertama Sirkuit fundamental (fundamental circuit) adalah : Sirkuit yang terbentuk dengan penambahan sebuah link pada spanning tree

Directed Graph (Graf Berarah) Di dalam situasi yang dinamis, seperti pada komputer digital ataupun pada sistem aliran (flow system), konsep graf berarah lebih sering digunakan dibandingkan dengan konsep graf tak berarah. Suatu graf berarah (Directed Graph, yang dikenal sebagai Digraf) D terdiri dari 2 himpunan : (1). Himp. V, yang elemennya disebut simpul  Vertex / point / titik / node (2). Himp. A, yang merupakan pasangan terurut dari simpul-simpul, disebut ruas berarah  Arc / arkus Sehingga sebuah digraf dinotasikan sebagai D ( V, A )

Sebuah graf berarah D(V,A), dengan : V = { 1, 2, 3, 4 } A = { (1,4), (2,1), (2,1), (4,2), (4,3), (2,3), (2,2) } Arc (2,2) disebut self-loop, sedangkan arc (2,1) muncul 2 kali, disebut arc sejajar atau arc berganda Apabila arc suatu graf berarah mempunyai suatu bobot, graf berarah tersebut dinamakan suatu jaringan atau network. 4 3 2 1

Istilah-Istilah dalam Digraf Derajat ke luar (out degree) suatu vertex adalah banyaknya arc yang mulai / keluar dari vertex tersebut Derajat ke dalam (in degree) suatu vertex adalah banyaknya arc yang berakhir / masuk ke vertex tersebut Vertex berderajat ke dalam = 0 disebut sumber (source), sedangkan simpul berderajat ke luar = 0 disebut muara (sink). Pengertian Walk, Trail, Path (Jalur) dan Sirkuit (Cycle) berlaku pula pada graf berarah, dimana harus sesuai dengan arah arc. Kalau tidak sesuai dengan arah arc-nya, maka disebut sebagai semi walk, semi path atau semi trail.

Pada digraf terdapat 3 pengertian keterhubungan, yakni : Terhubung lemah, jika terdapat suatu semi path antara setiap 2 vertex dari D. Terhubung unilateral, jika antara setiap 2 vertex u dan v dari D, terdapat path dari u ke v atau dari v ke u. Terhubung kuat, jika antara setiap 2 vertex u dan v dari D, terdapat path dari u ke v dan dari v ke u.

Matriks Digraf Misalkan D(V,A) suatu digraf dengan vertex v1, v2, … , vm. Matriks M berukuran (mxm) merupakan matriks (matriks adjacency) dari D, dengan mendefinisikan sebagai berikut : M = (Mij), dengan mij banyaknya arc yang mulai di vi dan berakhir di vj

Shortest Path Jalur terpendek (shortest path) antara dua vertex dari s ke t dalam jaringan adalah lintasan graph berarah sederhana dari s ke t dengan sifat dimana tidak ada lintasan lain yang memiliki nilai terendah. Untuk setiap node s dan t dapat terjadi beberapa lintasan, di mana lintasan dengan bobot minimum disebut sebagai lintasan atau rute terpendek. Bobot di sini dapat berupa jarak,waktu tempuh, atau ongkos transportasi dari suatu node ke node lainnya yang berbentuk rute tertentu. Salah satu nya menggunakan Algoritma Dijkstra.

Algoritma Dijkstra Algoritma ini bertujuan untuk menemukan jalur terpendek berdasarkan bobot terkecil dari satu titik ke titik lainnya. Misalkan titik mengambarkan gedung dan garis menggambarkan jalan, maka algoritma Dijkstra melakukan kalkulasi terhadap semua kemungkinan bobot terkecil dari setiap titik.

Pertama-tama tentukan titik mana yang akan menjadi node awal, lalu beri bobot jarak pada node pertama ke node terdekat satu per satu, Dijkstra akan melakukan pengembangan pencarian dari satu titik ke titik lain dan ke titik selanjutnya tahap demi tahap.

Urutan logika dari algoritma Dijkstra Beri nilai bobot (jarak) untuk setiap titik ke titik lainnya, lalu set nilai 0 pada node awal dan nilai tak hingga terhadap node lain (belum terisi) Set semua node “Belum terjamah” dan set node awal sebagai “Node keberangkatan” Dari node keberangkatan, pertimbangkan node tetangga yang belum terjamah dan hitung jaraknya dari titik keberangkatan. Sebagai contoh, jika titik keberangkatan A ke B memiliki bobot jarak 6 dan dari B ke node C berjarak 2, maka jarak ke C melewati B menjadi 6+2=8. Jika jarak ini lebih kecil dari jarak sebelumnya (yang telah terekam sebelumnya) hapus data lama, simpan ulang data jarak dengan jarak yang baru.

Saat kita selesai mempertimbangkan setiap jarak terhadap node tetangga, tandai node yang telah terjamah sebagai “Node terjamah”. Node terjamah tidak akan pernah di cek kembali, jarak yang disimpan adalah jarak terakhir dan yang paling minimal bobotnya. Set “Node belum terjamah” dengan jarak terkecil (dari node keberangkatan) sebagai “Node Keberangkatan” selanjutnya dan lanjutkan dengan kembali ke step 3

Contoh: Node awal 1, Node tujuan 5. Setiap edge yang terhubung antar node telah diberi nilai 2

Dijkstra melakukan kalkulasi terhadap node tetangga yang terhubung langsung dengan node keberangkatan (node 1), dan hasil yang didapat adalah node 2 karena bobot nilai node 2 paling kecil dibandingkan nilai pada node lain, nilai = 7 (0+7).

Node 2 diset menjadi node keberangkatan dan ditandai sebagi node yang telah terjamah. Dijkstra melakukan kalkulasi kembali terhadap node-node tetangga yang terhubung langsung dengan node yang telah terjamah. Dan kalkulasi dijkstra menunjukan bahwa node 3 yang menjadi node keberangkatan selanjutnya karena bobotnya yang paling kecil dari hasil kalkulasi terakhir, nilai 9 (0+9).

Perhitungan berlanjut dengan node 3 ditandai menjadi node yang telah terjamah. Dari semua node tetangga belum terjamah yang terhubung langsung dengan node terjamah, node selanjutnya yang ditandai menjadi node terjamah adalah node 6 karena nilai bobot yang terkecil, nilai 11 (9+2).

Node 6 menjadi node terjamah, dijkstra melakukan kalkulasi kembali, dan menemukan bahwa node 5 (node tujuan ) telah tercapai lewat node 6. Jalur terpendeknya adalah 1-3-6-5, dan niilai bobot yang didapat adalah 20 (11+9). Bila node tujuan telah tercapai maka kalkulasi dijkstra dinyatakan selesai.

Latihan Tentukan jalur terpendek menggunakan algoritma Dijkstra ! u x y b v c z 4 2 3 6 1 5 Sumber Muara