Gambar 4.12. Jaringan dengan = 0.
nama titik , dan kamar 1 adalah titik tujuan beri nama titik . Sehingga diperoleh
jaringan sebagai berikut.
Gambar 4.11. Jaringan dengan titik sumber dan titik tujuan . Jaringan
pada Gambar 4.11 merupakan bentuk jaringan dari sistem aliran air pada motel. Selanjutnya, akan dicari aliran maksimumnya dengan
algoritma Ford-Fulkerson secara manual, dan algoritma Preflow-Push akan diselesaikan dengan software GIDEN, dengan penyelesaian sebagai berikut.
4.6.1 Penyelesaian dengan Algoritma Ford-Fulkerson Iterasi ke 1
Langkah 1: dimulai dengan = 0, sehingga diperoleh gambar berikut.
150 150
200 100
100 100
150
200 100
200 100
250 200
300
500 s
a
b
c d
e
f g
h t
300;0 150;0
150;0 200;0
100;0
100;0 100;0
150;0
200;0 100;0
200;0 100;0
250;0 200;0
500;0 s
a
b
c d
e
f h
t
g
Langkah 2: Routin pelabelan. 2.1
Label = , +, ~ himpunan titik terlabel
� = { }, himpunan titik teramati � = { } 2.2
Pilih titik , labeli
= , +, min ~, 300 − 0 = , +, 300
labeli =
, +, min ~, 500 − 0 = , +, 500 himpunan titik terlabel
� = { , , } himpunan titik teramati
� = { }. 2.3
Pilih titik , labeli
= , +, min 300, 200 − 0 = , +, 200
himpunan titik terlabel � = { , , , }
himpunan titik teramati � = { , }.
2.4 Pilih titik , labeli
= , +, min 500, 200 − 0 = , +, 200
labeli =
, +, min 500, 100 − 0 = , +, 100 labeli
= , +, min 500, 100 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , }
himpunan titik teramati � = { , , }.
2.5 Pilih titik , labeli
= , +, min 200, 200 − 0 = , +, 200
himpunan titik terlabel � = { , , , , , , , }
himpunan titik teramati � = { , , , }.
2.6 Pilih titik , labeli
= , +, min 100, 150 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , }
himpunan titik teramati � = { , , , }.
2.7 Pilih titik , labeli
= , +, min 200, 150 − 0 = , +, 150
himpunan titik terlabel � = { , , , , , , , , , }
himpunan titik teramati � = { , , , , }. Diperoleh pelabelan titik
seperti gambar berikut
Gambar 4.13. Pelabelan titik pada jaringan . Karena titik
terlabel dengan nilai = 150, maka lanjut ke langkah 3. Langkah 3: prosedur balik.
Titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan
= , , , dengan = = 150.
, +,200 , +, ~
, +,300 , +,200
, +,200 , +,500
, +,100
, +,100 , +,100
, +,150
300;0 150;0
150;0 200;0
100;0
100;0 100;0
150;0
200;0 100;0
200;0 100;0
250;0 200;0
500;0 s
a
b
c d
e
f h
t
g
200;0
Langkah 4: terapkan Routin peningkatan. Karena label
= , +,150, maka nilai aliran pada busur , ditambah 150, karena label
= , +,200, maka nilai aliran pada busur , ditambah 150, karena label
= , +,300, maka nilai aliran pada busur , ditambah 150, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru
dengan
1
= +
= 0 + 150 = 150, seperti pada gambar berikut.
Gambar 4.14. Jaringan dengan
1
= 150.
Iterasi ke 2
Langkah 1: dimulai dengan
1
= 150, seperti gambar di atas. Langkah 2: Routin pelabelan.
2.1 Label = , +, ~
himpunan titik terlabel � = { }, himpunan titik teramati � = { }
2.2 Pilih titik ,
labeli = , +, min
~, 300 − 150 = , +, 150 labeli
= , +, min ~, 500 − 0 = , +, 500
300;150 150;150
150;0 200;0
100;0
100;0 100;0
150;0
100;0 200;0
100;0 250;0
200;150
500;0 s
a
b
c d
e
f h
t
g
himpunan titik terlabel � = { , , }
himpunan titik teramati � = { }.
2.3 Pilih titik ,
labeli =
, +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel
� = { , , , } himpunan titik teramati
� = { , }. 2.4 Pilih titik ,
labeli =
, +, min 500, 200 − 0 = , +, 200 labeli
= , +, min 500, 100 − 0 = , +, 100
labeli =
, +, min 500, 100 − 0 = , +, 100 himpunan titik terlabel
� = { , , , , , , } himpunan titik teramati
� = { , , }. 2.5 Pilih titik ,
labeli =
, +, min 200, 200 − 0 = , +, 200 himpunan titik terlabel
� = { , , , , , , , } himpunan titik teramati
� = { , , , }. 2.6 Pilih titik ,
labeli =
, +, min 100, 150 − 0 = , +, 100 himpunan titik terlabel
� = { , , , , , , , , } himpunan titik teramati
� = { , , , , }. 2.7 Pilih titik ,
labeli =
, +, min 500, 200 − 0 = , +, 200 himpunan titik terlabel
� = { , , , , , , , , , }
himpunan titik teramati � = { , , , , }.
Diperoleh pelabelan titik seperti gambar berikut.
Gambar 4.15. Pelabelan titik pada jaringan . Karena titik t terlabel dengan nilai
= 200, maka lanjut ke langkah 3. Langkah 3: prosedur balik.
Titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan
= , , dengan = = 200.
Langkah 4: terapkan Routin peningkatan. Karena label
= , +,200, maka nilai aliran pada busur , ditambah 200, karena label
= , +,500, maka nilai aliran pada busur , ditambah 200, sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru
dengan
2
=
1
+ = 150 + 200 = 350, seperti pada gambar berikut.
, +,100 , +, ~
, +,150
300;150
, +,50
, +,500 , +,100
, +,200 , +,200
, +,100 , +,200
150;150 150;0
200;0 100;0
100;0 100;0
150;0
200;0 100;0
200;0 100;0
250;0 200;150
500;0 s
a
b
c d
e
f h
t
g
Gambar 4.16. Jaringan dengan
2
= 350.
Iterasi ke 3
Langkah 1: dimulai dengan
2
= 350, seperti gambar di atas. Langkah 2: Routin pelabelan.
2.1 Label = , +, ~
himpunan titik terlabel � = { }, himpunan titik teramati � = { }
2.2 Pilih titik ,
labeli = , +, min
~, 300 − 150 = , +, 150 labeli
= , +, min ~, 500 − 200 = , +, 300
himpunan titik terlabel � = { , , }
himpunan titik teramati � = { }.
2.3 Pilih titik ,
labeli =
, +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel
� = { , , , } himpunan titik teramati
� = { , }.
300;150 150;150
150;0 200;200
100;0
100;0 100;0
150;0
200;0 100;0
200;0 100;0
250;0 200;150
500;200 s
a
b
c d
e
f h
t
g
2.4 Pilih titik , labeli
= , +, min 300, 200 − 0 = , +, 200
labeli =
, +, min 300, 100 − 0 = , +, 100 labeli
= , +, min 300, 100 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , }
himpunan titik teramati � = { , , }.
2.5 Pilih titik , labeli
= , +, min 200, 200 − 0 = , +, 200
himpunan titik terlabel � = { , , , , , , , }
himpunan titik teramati � = { , , , }.
2.6 Pilih titik , labeli
= , +, min 100, 150 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , }
himpunan titik teramati � = { , , , , }.
2.7 Pilih titik , labeli
= , +, min 200, 100 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , , }
himpunan titik teramati � = { , , , , , }.
Diperoleh pelabelan titik seperti gambar berikut.
Gambar 4.17. Pelabelan titik pada jaringan . Karena titik
terlabel dengan nilai = 100, maka lanjut ke langkah 3. Langkah 3: prosedur balik.
Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan
= , , , , dengan
= = 100. Langkah 4: terapkan Routin peningkatan.
Karena label = , +, 100, maka nilai aliran pada busur , ditambah 100,
karena label = , +,200, maka nilai aliran pada busur , ditambah 100,
karena label = , +,200, maka nilai aliran pada busur , ditambah 100,
karena label = , +,200, maka nilai aliran pada busur , ditambah 100,
sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan
3
=
2
+ = 350 + 100 = 450, seperti gambar berikut.
, +, ~ , +,150
, +,300 , +,50
, +,100
, +,200 , +,200
, +,100 , +,100
, +,100
300;150 150;150
150;0 200;200
100;0
100;0 100;0
150;0
200;0 100;0
200;0 100;0
250;0 200;150
500;200 s
a
b
c d
e
f h
t
g
Gambar 4.18. Jaringan dengan
3
= 450.
Iterasi ke 4
Langkah 1: dimulai dengan
3
= 450, seperti gambar di atas. Langkah 2: Routin pelabelan.
2.1 Label = , +, ~
himpunan titik terlabel � = { }, himpunan titik teramati � = { }
2.2 Pilih titik ,
labeli = , +, min
~, 300 − 150 = , +, 150 labeli
= , +, min ~, 500 − 300 = , +, 200
himpunan titik terlabel � = { , , }
himpunan titik teramati � = { }.
2.3 Pilih titik ,
labeli =
, +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel
� = { , , , } himpunan titik teramati
� = { , }.
300;150 150;150
150;0 200;200
100;100
100;0 100;0
150;0
200;100 100;0
200;100 100;0
250;0 200;150
500;300 s
a
b
c d
e
f h
t
g
2.4 Pilih titik , labeli
= , +, min 200, 200 − 100 = , +, 100
labeli =
, +, min 200, 100 − 0 = , +, 100 labeli
= , +, min 200, 100 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , }
himpunan titik teramati � = { , , }.
2.5 Pilih titik , labeli
= , +, min 100, 200 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , }
himpunan titik teramati � = { , , , }.
2.6 Pilih titik , labeli
= , +, min 100, 150 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , }
himpunan titik teramati � = { , , , , }.
2.7 Pilih titik , labeli
= , +, min 100, 150 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , , }
himpunan titik teramati � = { , , , , , }.
Diperoleh pelabelan titik seperti gambar berikut.
Gambar 4.19. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai
= 100, maka lanjut ke langkah 3. Langkah 3: prosedur balik.
Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan
= , , , , dengan
= = 100. Langkah 4: terapkan Routin peningkatan.
Karena label = , +, 100, maka nilai aliran pada busur , ditambah 100,
karena label = , +, 100, maka nilai aliran pada busur , ditambah 100,
karena label = , +, 100, maka nilai aliran pada busur , ditambah 100,
karena label = , +,200, maka nilai aliran pada busur , ditambah 100,
sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan
4
=
3
+ = 450 + 100 = 550, seperti gambar berikut.
, +,100 , +, ~
, +,200 , +,150
, +,100 , +,100
, +,50 , +,100
, +,100 , +,100
300;150 150;150
150;0 200;200
100;100
100;0 100;0
150;0
200;100 100;0
200;100 100;0
250;0 200;150
500;300 s
a
b
c d
e
f h
t
g
Gambar 4.20. Jaringan dengan
4
= 550.
Iterasi ke 5
Langkah 1: dimulai dengan
4
= 550, seperti gambar di atas. Langkah 2: Routin pelabelan.
2.1 Label = , +, ~
himpunan titik terlabel � = { }, himpunan titik teramati � = { }
2.2 Pilih titik ,
labeli = , +, min
~, 300 − 150 = , +, 150 labeli
= , +, min ~, 500 − 400 = , +, 100
himpunan titik terlabel � = { , , }
himpunan titik teramati � = { }.
2.3 Pilih titik ,
labeli =
, +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel
� = { , , , } himpunan titik teramati
� = { , }.
300;150 150;150
150;100 200;200
100;100
100;0 100;0
150;100
200;100 100;0
200;100 100;100
250;0 200;150
500;400 s
a
b
c d
e
f h
t
g
2.4 Pilih titik , labeli
= , +, min 100, 200 − 100 = , +, 100
labeli =
, +, min 100, 100 − 0 = , +, 100 himpunan titik terlabel
� = { , , , , , } himpunan titik teramati
� = { , , }. 2.5 Pilih titik ,
labeli =
, +, min 100, 100 − 0 = , +, 100 labeli
= , +, min 100, 200 − 100 = , +, 100
himpunan titik terlabel � = { , , , , , , , }
himpunan titik teramati � = { , , , }.
2.6 Pilih titik , labeli
= , +, min 100, 100 − 0 = , +, 100
himpunan titik terlabel � = { , , , , , , , , }
himpunan titik teramati � = { , , , , }.
2.7 Pilih titik , labeli
= , +, min 100, 150 − 100 = , +, 50
himpunan titik terlabel � = { , , , , , , , , , }
himpunan titik teramati � = { , , , , , }
Diperoleh pelabelan titik seperti gambar berikut.
Gambar 4.21. Pelabelan titik pada jaringan . Karena titik terlabel dengan nilai
= 50, maka lanjut ke langkah 3. Langkah 3: prosedur balik.
Titik dilabel dari titik , titik dilabel dari titik , titik dilabel dari titik , dan titik dilabel dari titik . Sehingga lintasan peningkatan
= , , , , dengan
= = 50. Langkah 4: terapkan Routin peningkatan.
Karena label = , +, 50, maka nilai aliran pada busur , ditambah 50,
karena label = , +, 100, maka nilai aliran pada busur , ditambah 50,
karena label = , +, 100, maka nilai aliran pada busur , ditambah 50,
karena label = , +, 100, maka nilai aliran pada busur , ditambah 50,
sedangkan nilai aliran pada busur-busur yang lain tetap. Diperoleh aliran baru dengan
5
=
4
+ = 550 + 50 = 600, seperti gambar berikut.
, +, ~ , +,100
, +,150
, +,100 , +,100
, +,100 , +,100
, +,50 , +,50
, +,100
300;150 150;150
150;100 200;200
100;100
100;0 100;0
150;100
200;100 100;0
200;100 100;100
250;0 200;150
500;400 s
a
b
c d
e
f h
t
g
Gambar 4.22. Jaringan dengan
5
= 600.
Iterasi ke 6
Langkah 1: dimulai dengan
5
= 600, seperti gambar di atas. Langkah 2: Routin pelabelan.
2.1 Label = , +, ~
himpunan titik terlabel � = { }, himpunan titik teramati � = { }
2.2 Pilih titik ,
labeli = , +, min
~, 300 − 150 = , +, 150 labeli
= , +, min ~, 500 − 450 = , +, 50
himpunan titik terlabel � = { , , }
himpunan titik teramati � = { }.
2.3 Pilih titik ,
labeli =
, +, min 150, 200 − 150 = , +, 50 himpunan titik terlabel
� = { , , , } himpunan titik teramati
� = { , }.
300;150 150;150
150;150 200;200
100;100
100;50 100;50
150;100
200;100 100;0
200;100 100;100
250;0 200;150
500;450 s
a
b
c d
e
f h
t
g
2.4 Pilih titik , labeli
= , +, min 50, 200 − 100 = , +, 50
labeli =
, +, min 50, 100 − 50 = , +, 50 himpunan titik terlabel
� = { , , , , , } himpunan titik teramati
� = { , , }. 2.5 Pilih titik ,
labeli =
, +, min 50, 100 − 0 = , +, 50 labeli
= , +, min 50, 200 − 100 = , +, 50
himpunan titik terlabel � = { , , , , , , , }
himpunan titik teramati � = { , , , }.
2.6 Pilih titik , labeli
= , +, min 50, 100 − 50 = , +, 50
himpunan titik terlabel � = { , , , , , , , , }
himpunan titik teramati � = { , , , , }.
2.7 Pilih titik , , , dan untuk melabeli titik ,
labeli =
, +, min 50, 200 − 200 = , +, 0 , tidak berlabel, labeli
= , +, min 50, 150 − 150 = , +, 0 , tidak berlabel,
labeli =
, +, min 50, 100 − 100 = , +, 0 , tidak berlabel, labeli
= , +, min 50, 150 − 150 = , +, 0 , tidak berlabel,
himpunan titik terlabel � = { , , , , , , , , , }
himpunan titik teramati � = { , , , , , }.
Karena semua titik yang terlabel telah teramati dan titik tidak terlabel, maka BERHENTI.
Dengan algoritma Ford-Fulkerson diperoleh aliran maksimum pada iterasi ke 5 dengan aliran
5
sebesar 600 liter per menit.
Gambar 4.23. Jaringan dengan aliran maksimum = pemutus- , minimum.
Pada jaringan diatas mempunyai 8 titik antara, yaitu titik
, , , , , , , dan , dalam hal ini titik-titik tersebut meliputi kamar 3, kantor, kamar 8, kamar 2, kamar 5, kamar 7, kamar 9, dan kamar 4. Banyaknya himpunan
pemutus- , yaitu 2 = 2
8
= 256 himpunan, yang diuraikan pada Lampiran 1. Sehingga
diperoleh himpunan
pemutus- ,
minimum ,
1
= , , , , , , , ,
, = {
, ,
, ,
, ,
, } dengan kapasitas,
,
1
= , + , + , + , = 200 + 150 + 100 + 150 = 600.
Terlihat bahwa nilai aliran maksimum sama dengan nilai pemutus- ,
minimum. Hal ini memenuhi teorema Maximal Flow-Minimal Cut dengan
5
= ,
1
= 600
, maka
5
adalah aliran maksimum dari titik sumber kamar 6 ke titik tujuan kamar 1, dengan nilai aliran sebesar 600 liter per menit,
dengan asumsi bahwa kantor maupun kamar selain kamar 1 sedang dalam
200;100 300;150
150;150 150;150
200;200 100;100
100;50 100;50
150;100
100;0 200;100
100;100 250;0
200;150
500;450 s
a
b
c d
e
f h
t
g
keadaan tidak menggunakan air, antar kamar letaknya datar, kekuatan gaya yang diberikan dalam pipa sama.
4.6.2 Penyelesaian dengan Algorima Preflow-Push pada Software GIDEN