2. Algoritma Greedy Pada Penentuan Jalur Terpendek
Pertemuan : 2
Dosen : Nesi Syafitri, S.Kom, M.Cs Graph Graph
Graph digunakan untuk merepresentasikan objek-objek diskrit dan hubungan antara objek-objek tersebut.
Gambar berikut ini sebuah graph yang menyatakan peta jaringan jalan raya yang
Graph Brebes Tegal
Slawi Pemalang Purwokerto Banjarnegara Wonosobo
Kendal Semarang Pekalongan Purbalingga Salatiga Solo Purwodadi Demak Kudus Rembang Blora Sragen Boyolali Temanggung Komponen dalam Graph: Simpul (vertex) menyatakan titik/node/ kota Sisi (edge) menyatakan jalur / jalan
Definisi Graph
Graph G = (V, E), yang dalam hal ini:
V = himpunan tidak-kosong dari simpul-
simpul (vertices)Contoh Graph
1
1
1
2
3
2
3
2
3 e 1 e 2 e
3 e 4 e 5 e
6 e 7 e 1 e 2 e 3 e 4 e 5 e 6 e 8 Menentukan Simpul dan Sisi pada Graph
Graph G 1 G adalah graph dengan 1 1 Simpul(V) = { 1, 2, 3, 4 } Sisi(E) = { (1, 2), (1, 3), 2 (2, 4), (3, 4) } (2, 3), Graph
Graph G 2 G adalah graph dengan 2 V = { 1, 2, 3, 4 }
e 1 e 4
(1, 3), (2, 4), (3, 4),
e 3 Graph
Graph G G adalah graph dengan 3 3
e e E = { (1, 2), (2, 3), (1, 3),
4
1 e
3
(1, 3), (2, 4), (3, 4),
e
2
2 e
Graph
Graph G 2 Pada G , sisi e = (1, 3) 2 3 dan sisi e = (1, 3) 4 dinamakan sisi-ganda
1
(multiple edges atau
e 1 e 4 paralel edges) karena e 3
kedua sisi ini Graph
Graph G 3 Pada G , sisi e = (3, 3) 3 8
1
dinamakan gelang atau kalang (loop)
e e
4
1
karena ia berawal dan
e
3 e
berakhir pada simpul
2
2 e
Jenis-Jenis Graph
Berdasarkan ada tidaknya gelang atau sisi a. ganda pada suatu graph, maka graph digolongkan menjadi dua jenis:
1. Graph sederhana (simple graph).
2. Graph tak-sederhana (unsimple-graph).
Graph sederhana (simple graph)
Graph yang tidak mengandung gelang maupun sisi-ganda dinamakan graph sederhana. G1 adalah contoh graph sederhana
1
Graph tak-sederhana (unsimple-graph)
Graph yang mengandung sisi ganda atau gelang dinamakan graph tak-sederhana (unsimple graph). G2 dan G3 adalah contoh graph tak-sederhana
1
1
Jenis-Jenis Graph
b. Berdasarkan jumlah simpul pada suatu graph, maka secara umum graph dapat digolongkan menjadi dua jenis:
1. Graph berhingga (limited graph)
2. Graph tak-berhingga (unlimited graph)
Graph berhingga (limited graph)
Graph berhingga adalah graph yang jumlah simpulnya, n, berhingga.
Graph tak-berhingga (unlimited graph)
Graph yang jumlah simpulnya, n, tidak berhingga banyaknya disebut graph tak-
berhingga.
Jenis-Jenis Graph
c. Berdasarkan orientasi arah pada sisi, maka secara umum graph dibedakan atas 2 jenis:
1. Graph tak-berarah (undirected
graph)
2. Graph berarah (directed graph atau
Graph tak-berarah (undirected graph)
Graph yang sisinya tidak mempunyai orientasi arah disebut graph tak-berarah.Graph G , G , dan G adalah graph tak-
1
2
3 berarah. 1 e e e 1 1 4 e 1 1 4
Graph berarah (directed graph atau
digraph)Graph yang setiap sisinya diberikan orientasi arah disebut sebagai graph 1 1 berarah.
2
3
2 3Jenis-Jenis Graph
d. Berdasarkan Nilai yang ada pada edge: Graph Berbobot
- yaitu graph yang pada setiap sisinya terdapat nilai bilangan riil yang menyatakan sebuah bobot
Lintasan (Path)
Tinjau graph G1: lintasan 1, 2, 4, 3 adalah lintasan dengan barisan sisi (1,2), (2,4), (4,3).
Panjang lintasan
adalah jumlah sisi dalam lintasan tersebut. Lintasan 1, 2, 4, 3 pada G1 1
Siklus (Cycle) atau Sirkuit (Circuit)
Lintasan yang berawal Tinjau graph G1:
dan berakhir pada 1, 2, 3, 1 adalah simpul yang sama sebuah sirkuit. 1 disebut sirkuit atau siklus.Representasi Graph dalam Matrik
Sebuah graph dapat direpresentasikan dalam bentuk Matrik Adjacency, dengan cara sbb:
sangkar nxn, sesuai banyaknya simpul / vertex yang ada. Contoh Graph Berarah-Berbobot v1 v1 v2 v3 v4 v5 v3 v2
Contoh Graph Tidak Berarah-Tidak
berbobot v1 v2 v3 v4 v5 v1 v2 v4 v3Pertemuan : 3,4
Pendahuluan
- paling populer untuk memecahkan persoalan optimasi. Persoalan optimasi (optimization problems):
Algoritma greedy merupakan metode yang
- persoalan yang menuntut pencarian solusi
Solusi optimum (terbaik) adalah solusi yang
- bernilai minimum atau maksimum dari sekumpulan alternatif solusi yang mungkin.
Elemen persoalan optimasi:
- fungsi objektif(atau fungsi optimasi)
- pilih sisi yang memiliki bobot paling kecil.
- hitung panjang lintasan
kendala (constraints)
Memilih beberapa jenis investasi (penanaman modal)
Mencari jalur tersingkat dari kota asal ke kota yang dituju
Bermain kartu remi
Cara Kerja Algoritma Greedy
Rumus tujuan d(i) = d(i-1) + bobot node 2.
Lakukan berulang-ulang: terpilih(i)
Periksa semua sisi yang terhubung langsung dengan node awal.
b.
Loo pin g Menentuka n kandidat Menentukan kandidat solusi Node akhir Node
Awal Solusi terpilih
1 A-B : 7 A-C : 6 A-D : 5 A-E : 9
Jalur : A-D D(1) = 0 + 5 = 5 D D D
1. Tentukan node Awal: A Tentukan node tujuan: L
2.