1 2
• Tree adalah kumpulan dari arc connecting
yang merupakan kumpulan dari node dan
tidak memiliki cycle. Sebuah tree
menghubungkan seluruh node dalam
network yang disebut spanning tree.
Directed and Undirected
Networks
b b
1 2 1 2
a c a c
e e
4 d 3 4 d 3
An Undirected Graph A Directed Graph
Iterasi 5:
yang terdekat dengan node O,A,B,C atau node E dalam
Ć adalah node D, sehingga node E dihubungkan dengan
node D
C = {O,A,B,C,D,E} Ć = {T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 6:
yang terdekat dengan node O,A,B,C,E atau node D
dalam Ć adalah node T, sehingga node D dihubungkan
dengan node T
C = {O,A,B,C,D,E,T} Ć=
A
2
2 5 T
D
O B
3 1
1
C E
4 6
3
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Node j Perhitungan uj Label
O uO = 0 [0,-]
A uA = uO + dOA =0+2=2 (dari node O) [2,O]
C uC = uO + dOC = 0+4=4 (dari node O) [4,O]
B uB = min {uO + dOB, uA + dAB, uC + dCB }
= min { 0+5, 2+2, 4+1} = 4 (dari node A) [4,A]
E uE = min {uC + dCE, uB + dBE },
= min { 4+4, 4+3} = 7 (dari node B) [7,B]
D uD = min {uA + dAD, uB + dBD,uE + dED }
= min {2+7,4+4, 7+1} = 8 (dari node B or E) [8,B]
[8,E]
T uT = min {uE + dET, uD + dDT }
= min {7+7, 8+5} = 13 (dari node D) [13,D]
• Rute optimum diperoleh mulai dari node T dan dirunut
secara mundur.
C E
Pelabelan node 1 adalah [0,-] mengindikasikan bahwa
node 1 adalah sumber.
Contoh :
Tentukan rute terpendek dari jaringan di bawah
ini,dengan node 1 sebagai sumber dan node 7 sebagai
tujuan. 5
2 5
11 6
2
10 8
4
1 7
7
3
4 9
3 6
1
Node j Perhitungan uj Label
1 u1 = 0 [0,-]
2 u2 = u1 + d12 =0+2=2 (dari node 1) [2,1]
3 u3 = u1 + d13 = 0+4=4 (dari node 1) [4,1]
4 u4 = min {u1 + d14, u2 + d24, u3 + d34 }
= min { 0+10, 2+11, 4+3} = 7 (dari node 3) [7,3]
5 u5 = min {u2 + d25, u4 + d45 }
= min { 2+5, 7+8} = 7 (dari node 2) [7,2]
6 u6 = min {u3 + d36, u4 + d46 }
= min {4+1,7+7} = 5 (dari node 3) [5,3]
7 u7 = min {u5 + d57, u6 + d67 }
= min {7+6, 5+9} = 13 (dari node 5) [13,5]
Rute optimum diperoleh mulai dari node 7 dan dirunut
secara mundur
(7)→[13,5] →(5) →[7,2] →(2) →[2,1] →(1)
Jadi rute terpendek adalah : 1→2→5→7
dengan total jarak 13
B. Cyclic ( Dijkstra’s) Algoritma
Ada loops dalam jaringan
Menggunakan dua tipe label : Temporary & Permanent
Algoritma
- Mulai dari node sumber dengan label Permanent [0,-]
- Pertimbangkan semua node yang dapat dicapai secara
langsung dari node sumber dan buatlah label sebagai
label temporary
- Label permanent dipilih diantara label-label temporary
yang mempunyai d terkecil di dalam [d,n]
- Ulangi proses di atas
Contoh :
2
100 15
1 4
20
10 50
30
60
3 5
[55,4]*
(3)
[100,1]
(1)
2
100 15
[40,3]*
[0,-]* (2)
(0) 1 4
20
10 50
30 [90,4]*
60 (3)
3 5 [90,3]*
(2)
[30,1]*
(1)
[ ] = label
( ) = iterasi
MAXIMAL FLOW PROBLEM
• Hanya ada satu sumber dan satu tujuan
• Setiap busur memiliki kapasitas aliran
• Sumber memiliki kapasitas supply yg tidak
terbatas
• Tujuan memiliki demand yg tdk terbatas
• Tujuannya adalah menentukan rute aliran
yang memaksimalkan total aliran dari
sumber ke tujuan akhir
MAXIMAL-FLOW PROBLEM
Tujuan : untuk mengembangkan suatu jadwal pengiriman
yang memaksimumkan jumlah bahan yang dikirim antara
dua titik ( sumber dan tujuan)
Titik asal disebut “sumber” dan titik tujuan disebut “tujuan”
S n
Labeling Routine
- Mulai dari sumber simpul S
Simpul j dapat dilabel kalau sebuah aliran positif dapat
dikirim dari S ke-j
- Secara umum, dari sembarang simpul i, kita dapat
melabel simpul j, jika satu dari kondisi di bawah ini
dipenuhi:
1. Cabang yang menghubungkan simpul i dan j
adalah sebuah cabang forward dan aliran di dalam
cabang (i,j) lebih kecil dari kapasitasnya = [fij< Kij]
2. Cabang yang menghubugkan simpul i dan j adalah
sebuah cabang backward [ cabang yang ada adalah
(j,i)] dan aliran dalam cabang (j,i) lebih besar dari 0 =
[fij > 0]
Algoritma Max-Flow
Menerapkan algoritma Max-Flow, yaitu : menemukan
sebuah jalur terobosan (breakthrough path) yang
mengkaitkan simpul sumber dengan simpul tujuan
sedemikian rupa sehingga kapasitas terkecil c*( dari
semua busur yang membentuk jalur tersebut). Kapasitas
busur (a,b) disepanjang jalur tersebut menjadi :
(a+c*,b) jika arus dibusur (i,j) adalah i → j
(a-c*,b) jika arus dibusur (i,j) adalah j → i
Contoh :
Hitunglah aliran maksimal f dari s ke n dengan
mengikuti jaringan di bawah ini, dimana angka-angka
pada cabang menggambarkan kapasitasnya.
7 1 9
f f
s 3 n
9 8
2
(0,9) (0,8)
2
Langkah 1 :
7 1
s 3 n c* = 3
8
2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 3 unit, sehingga konfigurasi aliran baru menjadi
(3,7) 1 (0,9)
f=3 f=3
s (3,3) n
(0,9) (3,8)
Langkah 2 : 2
4 1 9 c* = 4
s n
(0,9) (3,8)
2
Langkah 3 :
s n c* = 5
9 5
2
(5,9) (8,8)
2
Langkah 4 :
Dari simpul s ke simpul 2 dapat dilabel, tetapi dari
simpul 2 ke simpul n tidak dapat dilabel karena
kapasitas telah tercapai. Tetapi, dari simpul 1 ke simpul
2 dapat dilabel sebagai sebuah cabang backward
dengan membawa aliran positif(kondisi2) = fij > 0
1 5
s 3(backward) n c* = 3
4
2
Perhatian !!!
Penambahan aliran pada cabang forward
Pengurangan aliran pada cabang backward
(8,9) (8,8)
2
Langkah 5 :
Dari konfigurasi aliran yang terakhir di atas, tak ada jalur
baru lagi atau sudah tidak ada aliran yang dapat dikirim
lagi, berarti aliran maksimal yang mungkin yaitu 15 unit.
Contoh 4: Aliran Maksimal
Jaringan di bawah ini menggambarkan busur dari tiap-
tiap pos dan besarnya kapasistas dari tiap busur
(maksimal jumlah perjalanan trem yang diperbolehkan).
A 3
5
1 9 T
7 4 D
O B
5 1
2 6
4
C E
4
A (0,3)
(0,5) f=0
(1,1) (0,9) T
f=0 (0,7) (0,4) D
O B
(0,5) (1,1)
(0,2) (0,6)
(0,4)
C E
(0,4)
Iterasi 1:
7 T
O B
5 6 c* = 5
E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 5 unit, sehingga konfigurasi aliran baru menjadi
A (0,3)
(0,5) f=5
(1,1) (0,9) T
f=5
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (5,6)
(0,4) 4
C E
(0,4)
Iterasi 2 :
5 A
3 T
9
O D c* = 3
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 3 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=8
(1,1) (3,9) T
f=8
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (5,6)
(0,4)
C E
(0,4)
Iterasi 3 :
T
O
4 1 c*=1
4
C E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=9
(1,1) (3,9) T
f=9
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (6,6)
(1,4)
C E
Iterasi 4: (1,4)
D 6 T
O c* = 1
3 1
3
C E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=10
(1,1) (4,9) T
f=10
(5,7) (0,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
(2,4)
5 T
Iterasi 5 :
2 4 D
O B
c* = 2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 2 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=12
(1,1) (6,9) T
f=12
(7,7) (2,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
Iterasi 6 : (2,4)
A 3
2 1 T
2 D
C B
c* = 1
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(4,5) f=13
(0,2) (7,9) T
f=13
(7,7) (3,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
Iterasi 7: (2,4)
2 T
1
B D
O
5(backward)
2 c* = 1
C E
2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(4,5) f=14
(0,2) (8,9) T
f=14
(7,7) (4,4) D
O B
(4,5) (0,2)
(0,2) (6,6)
(3,4)
C E
(3,4)