16 Juli 2013 1
OPTIMASI PERMASALAHAN PENUGASAN DOKTER
MENGGUNAKAN REPRESENTASI GRAF BIPATIT
BERBOBOT
PRESENTASI TUGAS AKHIR – KI091391
Penyusun Tugas Akhir :
Laili Rochmah
(NRP : 5109 100 707)
Dosen Pembimbing : Ahmad Saikhu, S.Si., M.T.
Rully Soelaiman S.Kom., M.Kom.
Tugas Akhir – KI091391
Tugas Akhir – KI091391 2
.:AGENDA:.
16 Juli 2013
1.
2.
3.
4.
5.
6.
7. • Latar belakang • Permasalahan • Batasan Masalah • Tujuan Penugasan Dokter pada Rumah Sakit
Proses untuk menentukan dokter yang memenuhi kondisi dengan model Graf Bipartite
Data Masukan
Ujicoba
Kesimpulan
Proses untuk menentukan dokter yang ditugaskan dengan model Integer programming
Tugas Akhir – KI091391 3
.: LATAR BELAKANG :.
1. Pelayanan kesehatan merupakan salah satu bentuk pelayanan yang paling banyak dibutuhkan masyarakat. Berbagai rumah sakit berupaya memberikan pelayanan yang terbaik bagi pasien.
2. Perbaikan terhadap mutu rumah sakit layanan medis sangat dibutuhkan. Salah satunya layanan panggilan dokter bagi masyarakat yang membutuhkan secara real time.
3. Sehingga rumah sakit membutuhkan struktur pengambilan keputusan untuk penugasan dokter agar dapat menanggulangi situasi gawat darurat korban secepat mungkin.
4. Model Graf Bipartite (GB) dan Integer Programming (IP) diharapkan mampu mengoptimalkan hasil penugasan dokter yang tepat serta mampu mengatasi semua masalah pengambilan keputusan yang berkaitan dengan penugasan dokter.
16 Juli 2013
4
.: PERMASALAHAN:.
Permasalahan yang diangkat dalam tugas akhir ini adalah:
1. Bagaimana model GB dan IP dalam struktur pengambilan keputusan dapat menghasilkan solusi yang optimal untuk penugasan dokter?
2. Bagaimana mengimplementasikan model GB dan IP dalam struktur pengambilan keputusan untuk penugasan dokter?
3. Bagaimana pengaruh jumlah kemungkinan dokter yang memenuhi kondisi terhadap performa dari model GB dan IP?
4. Bagaimana uji coba terhadap implementasi dari contoh percobaan yang dilakukan?
16 Juli 2013 Tugas Akhir – KI091391
5
.: BATASAN MASALAH:.
1. Model dalam struktur pengambilan keputusan yang diimplementasikan hanya untuk model GB dan IP.
2. Permasalahan penugasan dokter terjadi dalam satu waktu.
3. Penugasan untuk tiap dokter ditugaskan untuk satu kondisi.
4. Penugasan untuk tiap kondisi ditugaskan untuk satu dokter.
5. Data kondisi dalam bentuk postfix.
6. Data pertama terdiri dari 7 dokter dan 5 kondisi karena data tersebut dapat mewakili permasalahan penugasan dokter. Data diambil dari paper karya Yuqing Sun [1].
7. Data kedua terdiri dari 40 dokter dan 18 kondisi yang didalamnya dilakukan perubahan tertentu dengan harapan dapat memperoleh hasil yang diinginkan. Data diambil dari paper karya Mehran Hojati [11].
16 Juli 2013 Tugas Akhir – KI091391
6
.: TUJUAN:.
1. Melakukan verifikasi solusi optimal dalam penugasan dokter berdasarkan implementasi model yang diajukan.
2. Mengimplementasikan model Graf Bipartite (GB) dan Integer Programming (IP) pada permasalahan penugasan dokter.
3. Melakukan uji coba terhadap implementasi dari contoh percobaan yang dilakukan.
16 Juli 2013 Tugas Akhir – KI091391
.: PENUGASAN DOKTER PADA RUMAH SAKIT:.
1. Penugasan untuk dokter dimana dokter akan diberi tugas untuk pergi ke suatu tempat untuk melakukan perawatan medis.
2. Kualifikasi dokter yang ditugaskan disebut kondisi. Kondisi berisi keahlian dokter yang dibutuhkan.
3. Satu dokter bisa memiliki banyak keahlian. Contoh: Dokter A memiliki keahlian dokter kulit dan kandungan.
4. Satu kondisi bisa berisi banyak keahlian dan dihubungkan dengan ‘dan’ ‘atau’. Contoh: suatu daerah membutuhkan dokter jantung dan bedah
5. Terdapat jarak yang menghubungkan dokter dan lokasi kondisi.
6. Keputusan-keputusan yang terkait dengan masalah penugasan dokter antara lain dokter siapa yang memenuhi kondisi dan dokter siapa yang ditugaskan.
7 16 Juli 2013 Tugas Akhir – KI091391
.:ILUSTRASI PENUGASAN DOKTER(1) :.
Model penugasan dokter yang digunakan pada tugas akhir ini meliputi:
• 7 dokter (D1 sampai D7)
• 5 kondisi (C1 sampai C5)
8 16 Juli 2013 Tugas Akhir – KI091391
9
Gambar konfigurasi penugasan dokter yang belum dilakukan optimasi
.:ILUSTRASI PENUGASAN DOKTER(2) :.
16 Juli 2013 Tugas Akhir – KI091391
10
.: PROSES UNTUK MENENTUKAN DOKTER YANG
MEMENUHI KONDISI DENGAN MODEL GB:.
• Model GB yang digunakan adalah:
1. 𝑉1
2. 𝑉2
3. 𝐸
himpunan node yang mewakili keahlian.
himpunan node yang mewakili dokter
himpunan edge yang menghubungkan node di 𝑉1 dengan
node di 𝑉2 atau menghubungkan sebuah keahlian dengan
seorang dokter yang cocok.
16 Juli 2013 Tugas Akhir – KI091391
.: PROSES UNTUK MENENTUKAN DOKTER YANG
DITUGASKAN DENGAN MODEL IP :.
• Variabel keputusan
Variabel keputusan pada model optimasi ini meliputi dua tipe:
1. Variabel kontinyu (hasil tidak harus integer)
2. Variabel binari (nilai 1 atau 0)
11 16 Juli 2013 Tugas Akhir – KI091391
.: PROSES UNTUK MENENTUKAN DOKTER YANG
DITUGASKAN DENGAN MODEL IP :.
12
Jarak dokter i ke lokasi kondisi j
Menunjukkan jarak dari masing-masing dokter i dalam
ke kondisi j
Bernilai 1 jika dokter i ditugaskan ke kondisi j, 0 jika selainnya
16 Juli 2013 Tugas Akhir – KI091391
• Variabel Kontinyu
• Variabel Binari
ijD
ijX
13
• Tujuan : Meminimalkan
.: PROSES UNTUK MENENTUKAN DOKTER YANG
DITUGASKAN DENGAN MODEL IP :.
16 Juli 2013 Tugas Akhir – KI091391
ji
ijij XD,
.
• Batasan penugasan
1.
2.
i
ijX 1
j
ijX 1
14
• Tujuan : Meminimalkan
.: PROSES UNTUK MENENTUKAN DOKTER YANG
DITUGASKAN DENGAN MODEL IP :.
16 Juli 2013 Tugas Akhir – KI091391
Jarak dokter
Jarak ini menunjukkan bahwa jarak dokter
dengan lokasi kondisi
= Jarak dokter i ke lokasi kondisi j
= Dokter i ditugaskan ke kondisi j
i = Dokter
J = Kondisi
ji
ijij XD,
.
ijD
ijX
• Batasan penugasan
1.
2.
i
ijX 1
j
ijX 1
15
• Tujuan : Meminimalkan
.: PROSES UNTUK MENENTUKAN DOKTER YANG
DITUGASKAN DENGAN MODEL IP :.
16 Juli 2013 Tugas Akhir – KI091391
ji
ijij XD,
.
tiap-tiap kondisi j ditugaskan dengan tepat satu dokter i
tiap-tiap dokter i ditugaskan dengan tepat satu kondisi j
• Batasan penugasan
1.
2.
i
ijX 1
j
ijX 1
.: DATA MASUKAN:.
1. Data keahlian
2. Data dokter dan keahliannya
3. Data kondisi
4. Data jarak dokter ke lokasi kondisi
16 16 Juli 2013 Tugas Akhir – KI091391
UJI COBA
1. Model GB diimplementasikan pada sistem operasi windows dengan aplikasi Dev C++
2. Model IP diimplementasikan pada sistem operasi windows dengan aplikasi MATLAB dibantu solver TOMLAB
3. Uji coba dilakukan untuk menyelesaikan permasalahan yang berbeda
o Permasalahan 1
o Permasalahan 2
17 16 Juli 2013 Tugas Akhir – KI091391
.:KESIMPULAN(1):.
1. Model GB dapat memberikan hasil yang akurat berupa dokter yang memenuhi kondisi. Hal ini dapat membantu pihak rumah sakit dalam mengambil keputusan perihal pemilihan dokter yang memenuhi kondisi secara tepat.
2. Model IP dapat menghasilkan suatu hasil optimal berupa total jarak dokter dengan lokasi kondisi. Hal ini dapat membantu rumah sakit dalam mengambil keputusan yang optimal perihal pemilihan kombinasi dokter yang ditugaskan.
3. Dalam kaitannya dengan struktur pengambilan keputusan hasil dari model IP sangatlah bergantung pada faktor dokter yang memenuhi kondisi. Di mana faktor dokter yang memenuhi kondisi ditentukan dengan model GB.
18 16 Juli 2013 Tugas Akhir – KI091391
.:KESIMPULAN(2):.
4. Jumlah kemungkinan dokter yang memenuhi kondisi tidak berpengaruh secara signifikan terhadap performa dari model GB dan IP.
19 16 Juli 2013 Tugas Akhir – KI091391
.:DAFTAR PUSTAKA (1):.
1) Yuqing Sun, Dickson K.W. Chiu, Bin Gong, Xiangxu Meng, and Peng Zhang, "Scheduling mobile collaborating workforce for multiple urgent events," Journal of Network and Computer Applications, pp. 156–163, 2012.
2) Frederick S Hillier and Gerald J Lieberman, Introduction to Operations Research,Seventh Edition. New York: Thomas Casson, 2001.
3) Hamdy A Tamha, Operations Research an Introduction Eight Edition. London: Pearson Education, Inc, 2007.
4) K., Goran, A.O.,Edvall, M.M. Holmstrom, User's Guide For Tomlab 5.9, Tomlab Optimization., 2007.
5) Kenneth H. Rosen, Discrete Mathematics and Its Applications,Sixth Edition. New York: McGraw-Hill, 2007.
20 16 Juli 2013 Tugas Akhir – KI091391
.:DAFTAR PUSTAKA (2):.
6) Thomas H. Cormen, Introduction to Algorithms, Second Edition. London: The MIT Press, 2001.
7) Richard Johnsonbaugh, Discrete Mathematics. New Jersey: Prentice Hall Inc, 1997.
8) Yuqing Sun and Dickson K.W., "Context-Aware Scheduling of Workforce for Multiple Urgent Events," 2010.
9) Robert Sedgewick and Kevin Wayne, Algorithms,Four Edition. Boston: Pearson Education, Inc, 2011.
10) Van Bang Le, "Bipartite-perfect graphs," Discrete Applied Mathematics , pp. 581 – 599, 2003.
11) Mehran Hojati, "An Integer Linear Programming-Based Heuristic For Weekly Scheduling of Fast Food Restaurant Employees," Business, 2009.
21 16 Juli 2013 Tugas Akhir – KI091391
.:DAFTAR PUSTAKA (3):.
12) Eddy Herjanto, Managemen Operasi Edisi Ketiga. Jakarta: PT. Gramedia Widiasarana Indonesia, 2007.
13) Anders O. Goran and Marcus M. Edvall, TOmlab Instalation Guide., 2009.
14) Rainer E.Burkard, "Selected topics on assignment problems," Discrete Applied Mathematics , pp. 257 – 302, 2002.
15) P. K. De and Bharti Yadav, "An Algorithm to Solve Multi-Objective Assignment Problem Using Interactive Fuzzy Goal Programming Approach," Math. Sciences, pp. 1651 - 1662, 2011.
16) S.R. Agnihothri and P.F. Taylor, "Staffing a centralized appointment scheduling," Interfaces, pp. 1-11, 1991.
22 16 Juli 2013 Tugas Akhir – KI091391
23
TERIMA KASIH
16 Juli 2013 Tugas Akhir – KI091391
24
.:Permasalahan 1:.
Pada permasalahan ini, akan dilakukan optimasi penugasan dokter
yang menunjukkan semua keputusan tentang dokter yang memenuhi
kondisi dan dokter yang ditugaskan.
Data percobaan yang dilakukan meliputi:
• 8 macam keahlian
• 7 dokter (D1 sampai D7)
• 5 kondisi (C1 sampai C5)
• jarak 7 dokter ke 5 lokasi kondisi
16 Juli 2013 Tugas Akhir – KI091391
.:Permasalahan 1:.
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
25 Tugas Akhir – KI091391 16 Juli 2013
.:Permasalahan 1:.
26 Tugas Akhir – KI091391 16 Juli 2013
Data 8 keahlian
Data 7 dokter dan keahliannya
Data 5 kondisi
Data jarak
No Keahlian
1 Bedah
2 Jantung
3 Kandungan
4 Kulit
5 Koordinator
6 Asisten
7 DokterUtama
8 PembantuDokter
Tabel data keahlian
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
27 Tugas Akhir – KI091391 16 Juli 2013
Data 8 keahlian
Data 7 dokter dan keahliannya
Data 5 kondisi
Data jarak
Dktr Keahlian
D1 Jantung, bedah, pembantu dokter
D2 Kulit, kandungan, asisten dokter utama
D3 Kandungan, bedah, dokter utama
D4 Jantung, pembantu dokter
D5 Jantung, kulit, dokter utama
D6 Jantung, kandungan, koord. dokter utama
D7 Kandungan, bedah, pembantu dokter
Tabel data dokter dan keahliannya
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
28 Tugas Akhir – KI091391 16 Juli 2013
Data 8 keahlian
Data 7 dokter dan keahliannya
Data 5 kondisi
Data jarak
Kon-disi
Keahlian yang dibutuhkan
C1 Jantung dan Kulit
C2 Kandungan atau (Bedah dan DokterUtama )
C3 (Bedah dan DokterUtama ) atau (Kandungan dan Asisten)
C4 Jantung dan DokterUtama
C5 Kandungan
Tabel data kondisi
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
29 Tugas Akhir – KI091391 16 Juli 2013
Data 8 keahlian
Data 7 dokter dan keahliannya
Data 5 kondisi
Data jarak
Dokter Kondisi
C1 C2 C3 C4 C5
D1 10 12 14 5 40
D2 12 40 6 9 19
D3 24 2 14 10 15
D4 2 12 15 9 9
D5 3 14 4 20 10
D6 12 24 4 10 36
D7 12 15 6 16 8
Tabel data jarak
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
30 Tugas Akhir – KI091391 16 Juli 2013
Keahlian
Bedah
Jantung
Kandungan
Kulit
Koordinator
Asisten
DokterUtama
PembantuDokter
Dktr
D1
D2
D3
D4
D5
D6
D7
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
31 Tugas Akhir – KI091391 16 Juli 2013
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
32 Tugas Akhir – KI091391 16 Juli 2013
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Dktr Keahlian
D1 Jantung, bedah, pembantu dokter
D2 Kulit, kandungan, asisten dokter utama
D3 Kandungan, bedah, dokter utama
D4 Jantung, pembantu dokter
D5 Jantung, kulit, dokter utama
D6 Jantung, kandungan, koord. dokter utama
D7 Kandungan, bedah, pembantu dokter
.:Permasalahan 1:.
33 Tugas Akhir – KI091391 16 Juli 2013
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
34 Tugas Akhir – KI091391 16 Juli 2013
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
35 Tugas Akhir – KI091391 16 Juli 2013
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
36 Tugas Akhir – KI091391 16 Juli 2013
D1
D2
D3
D7
D6
D5
D4
Bedah
Jantung
Kandu-
ngan
Kulit
Koordi-
nator
Asisten
Dktr
Utama
Pmbntu
Dktr
Keahlian Dokter • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
37 Tugas Akhir – KI091391 16 Juli 2013
Keahlian Dokter
Bedah D1,D3,D7
Jantung D1,D4,D5,D6
Kandungan D2,D3,D6,D7
Kulit D2,D5
Koordinator D6
Asisten D2
Dokter utama D2,D3,D5,D6
Pembantu Dokter D1,D4,D7
Tabel hasil pengelompokkan dokter
Berdasarkan keahlian
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
38 Tugas Akhir – KI091391 16 Juli 2013
Kondisi Keahlian yang dibutuhkan
C1 Jantung dan Kulit
C2 Kandungan atau (Bedah dan DokterUtama )
C3 (Bedah dan DokterUtama ) atau (Kandungan dan Asisten)
C4 Jantung dan DokterUtama
C5 Kandungan
Tabel data kondisi • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
39 Tugas Akhir – KI091391 16 Juli 2013
Kondisi Keahlian yang dibutuhkan
C1 Jantung dan Kulit
C2 Kandungan atau (Bedah dan DokterUtama )
C3 (Bedah dan DokterUtama ) atau (Kandungan dan Asisten)
C4 Jantung dan DokterUtama
C5 Kandungan
Tabel data kondisi • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
Keahlian Dokter
Bedah D1,D3,D7
Jantung D1,D4,D5,D6
Kandungan D2,D3,D6,D7
Kulit D2,D5
Koordinator D6
Asisten D2
Dokter utama D2,D3,D5,D6
Pembantu Dokter D1,D4,D7
Tabel hasil pengelompokkan dokter
Berdasarkan keahlian
Kondisi C1
= Jantung dan Kulit
= {D1,D4,D5,D6} ∩ {D2,D5}
= {D5}
.:Permasalahan 1:.
40 Tugas Akhir – KI091391 16 Juli 2013
Kondisi Keahlian yang dibutuhkan
C1 Jantung dan Kulit
C2 Kandungan atau (Bedah dan DokterUtama )
C3 (Bedah dan DokterUtama ) atau (Kandungan dan Asisten)
C4 Jantung dan DokterUtama
C5 Kandungan
Tabel data kondisi • Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
.:Permasalahan 1:.
41 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
Kondisi Dokter yang memenuhi
C1 D5
C2 D2,D3,D6,D7
C3 D2,D3
C4 D5,D6
C5 D2,D3,D6,D7
Tabel dokter yang memenuhi kondisi
.:Permasalahan 1:.
42 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
Kondisi Dokter yang memenuhi
C1 D5
C2 D2,D3,D6,D7
C3 D2,D3
C4 D5,D6
C5 D2,D3,D6,D7
Tabel dokter yang memenuhi kondisi
Dokter Kondisi
C1 C2 C3 C4 C5 D1 10 12 14 5 40 D2 12 40 6 9 19 D3 24 2 14 10 15 D4 2 12 15 9 9 D5 3 14 4 20 10 D6 12 24 4 10 36 D7 12 15 6 16 8
Tabel data jarak
• Jarak dokter yang tidak memenuhi kondisi di-set maksimal, yaitu 100
.:Permasalahan 1:.
43 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
Dokter Kondisi
C1 C2 C3 C4 C5 D1 10 12 14 5 40 D2 12 40 6 9 19 D3 24 2 14 10 15 D4 2 12 15 9 9 D5 3 14 4 20 10 D6 12 24 4 10 36 D7 12 15 6 16 8
Tabel data jarak
• Jarak dokter yang tidak memenuhi kondisi di-set maksimal, yaitu 100
.:Permasalahan 1:.
44 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang memenuhi kondisi dengan model GB
1. inisialisasi data
2. keahlian dan dokter direpresentasikan sebagai graf bipartite
3. dokter dikelompokkan berdasarkan keahliannya menggunakan algortima Ford Fulkerson
4. dokter yang memenuhi kondisi ditentukan menggunakan operasi himpunan union dan intersection
5. jarak baru ditentukan
Dokter Kondisi
C1 C2 C3 C4 C5 D1 100 100 100 100 100 D2 100 40 6 100 19 D3 100 2 14 100 15 D4 100 100 100 100 100 D5 3 100 100 20 100 D6 100 24 100 10 36 D7 100 15 100 100 8
Tabel data jarak
.:Permasalahan 1:.
45 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
Dokter Kondisi
C1 C2 C3 C4 C5 D1 100 100 100 100 100 D2 100 40 6 100 19 D3 100 2 14 100 15 D4 100 100 100 100 100 D5 3 100 100 20 100 D6 100 24 100 10 36 D7 100 15 100 100 8
Tabel data jarak
• Fungsi tujuan: Z=
100xD1C1+100xD1C2+100xD1C3+100xD1C4+100xD1C5
+100xD2C1+40xD2C2+6xD2C3+100xD2C4+19xD2C5
+100xD3C1+2xD3C2+14xD3C3+100xD3C4+15xD3C5
+100xD4C1+100xD4C2+100xD4C3+100xD4C4+100xD4C5
+3xD5C1+100xD5C2+100xD5C3+20xD5C4+100xD5C5
+100xD6C1+24xD6C2+100xD6C3+10xD6C4+36xD6C5
+100xD7C1+15xD7C2+100xD7C3+100xD7C4+8xD7C5
.:Permasalahan 1:.
46 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
Dokter Kondisi
C1 C2 C3 C4 C5 D1 100 100 100 100 100 D2 100 40 6 100 19 D3 100 2 14 100 15 D4 100 100 100 100 100 D5 3 100 100 20 100 D6 100 24 100 10 36 D7 100 15 100 100 8
Tabel data jarak
• Batasan 1:
- tiap-tiap dokter ditugaskan dengan tepat satu
kondisi
Dokter D1: xD1C1+xD1C2+xD1C3+xD1C4+xD1C5 =1
Dokter D2: xD2C1+xD2C2+xD2C3+xD2C4+xD2C5 =1
Dokter D3: xD3C1+xD3C2+xD3C3+xD3C4+xD3C5 =1
Dokter D4: xD4C1+xD4C2+D4C3+xD4C4+xD4C5 =1
Dokter D5: xD5C1+xD5C2+xD5C3+xD5C4+xD5C5 =1
Dokter D6 xD6C1+xD6C2+xD6C3+xD6C4+xD6C5 =1
Dokter D7 xD7C1+xD7C2+xD7C3+xD7C4+xD7C5 =1
.:Permasalahan 1:.
47 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
• Batasan 2:
- tiap-tiap kondisi ditugaskan dengan tepat
satu dokter
Kondisi C1: xD1C1+xD2C1+xD3C1+xD4C1+xD5C1+xD6C1+xD7C1=1
Kondisi C2: xD1C2+xD2C2+xD3C2+xD4C2+xD5C2+xD6C2+xD7C2=1
Kondisi C3: xD1C3+xD2C3+xD3C3+xD4C3+xD5C3+xD6C3+xD7C3=1
Kondisi C4: xD1C4+xD2C4+xD3C4+xD4C4+xD5C4+xD6C4+xD7C4=1
Kondisi C5: xD1C5+xD2C5+xD3C5+xD4C5+xD5C5+xD6C5+xD7C5=1
.:Permasalahan 1:.
48 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
b_L = 1
b_U = 1
x_L = 0
x_U =1
IntVars = 1
.:Permasalahan 1:.
49 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
• Tujuan meminimalkan total jarak
Hasil optimal permasalahan 1, dengan total jarak = 29
.:Permasalahan 1:.
50 Tugas Akhir – KI091391 16 Juli 2013
• Proses untuk menentukan dokter yang ditugaskan dengan model IP
1. inisialisasi data
2. fungsi tujuan, seluruh batasan, dan variabel keputusan digunakan pada model
3. inisialisasi nilai b_L dan b_U
4. inisialisasi nilai x_L dan x_U
5. inisialisasi IntVars
Dokter Kondisi
C1 C2 C3 C4 C5 D1 100 100 100 100 100 D2 100 40 6 100 19 D3 100 2 14 100 15 D4 100 100 100 100 100 D5 3 100 100 20 100 D6 100 24 100 10 36 D7 100 15 100 100 8
Tabel data jarak
.:Permasalahan 1:.
Kondisi Dokter Jarak C1 D5 3 C2 D3 2 C3 D2 6 C4 D6 10 C5 D7 8
Total jarak 29
51
Tabel Dokter yang ditugaskan
Gambar Penugasan dokter untuk permasalahan 1
Tugas Akhir – KI091391 16 Juli 2013
analisa simpulan beda
.:Beda konfigurasi:.
52
Setelah dilakukan
optimasi
Tugas Akhir – KI091391 16 Juli 2013
53
.:Permasalahan 2:.
Pada permasalahan ini, akan dilakukan untuk mengamati jumlah
kemungkinan dokter yang memenuhi kondisi berpengaruh terhadap
performa model.
Percobaan dilakukan sebanyak 7 kali dengan data yang berbeda-beda.
16 Juli 2013 Tugas Akhir – KI091391
54
.:Permasalahan 2:.
• Langkah-langkah yang dilakukan seperti permasalahan 1.
• Data yang digunakan setiap percobaan:
• 5 macam keahlian
• 40 dokter
• 18 kondisi
• jarak 40 dokter ke 18 lokasi kondisi
16 Juli 2013 Tugas Akhir – KI091391
55
.:Permasalahan 2:.
• Hasil optimal permasalahan 2
16 Juli 2013 Tugas Akhir – KI091391
Percobaan Jarak
1 715
2 530
3 116
4 119
5 219
6 142
7 129
Tabel hasil optimal permasalahan 2
56
.:Permasalahan 2:.
16 Juli 2013 Tugas Akhir – KI091391
Grafik running time permasalahan 2
• Estimasi running time
analisa simpulan
170
309
430
420
387
391
381
1 2 3 4 5 6 7
Waktu proses 1 0.017 0.020 0.020 0.020 0.015 0.016 0.016
Waktu proses 2 0.088 0.089 0.083 0.085 0.087 0.086 0.092
Waktu total 0.105 0.109 0.103 0.105 0.102 0.102 0.108
0.000
0.020
0.040
0.060
0.080
0.100
0.120
Wa
ktu
(de
tik
)
Total rata-rata running time pada uji coba 2 Jumlah kemungkinan dokter yang memenuhi kondisi
Percobaan 1 = Percobaan 2 = Percobaan 3 = Percobaan 4 = Percobaan 5 = Percobaan 6 = Percobaan 7 =
.:Analisa Permasalahan(1):.
1. Pada permasalahan 1, menunjukkan bahwa model GB dapat digunakan dalam proses menentukan dokter yang memenuhi kondisi karena memberikan hasil yang akurat.
2. Selain itu, model IP dapat digunakan dalam proses menentukan dokter yang ditugaskan karena menghasilkan suatu hasil optimal berupa total jarak.
3. Data keluaran dari model GB menjadi data masukan dari model IP sehingga model IP bergantung model GB. Penentuan dokter yang ditugaskan, bergantung pada faktor dokter yang memenuhi kondisi.
16 Juli 2013 Tugas Akhir – KI091391 57
58
.:Analisa Permasalahan(2):.
16 Juli 2013 Tugas Akhir – KI091391
Grafik running time permasalahan 2
• Pada percobaan 3 menunjukkan bahwa jumlah kemungkinan dokter yang memenuhi kondisi paling banyak, yaitu 430 dan total running time-nya tidak menunjukkan waktu yang tertinggi, yaitu 0.103 detik.
170
309
430
420
387
391
381
1 2 3 4 5 6 7
Waktu proses 1 0.017 0.020 0.020 0.020 0.015 0.016 0.016
Waktu proses 2 0.088 0.089 0.083 0.085 0.087 0.086 0.092
Waktu total 0.105 0.109 0.103 0.105 0.102 0.102 0.108
0.000
0.020
0.040
0.060
0.080
0.100
0.120
Wa
ktu
(de
tik
)
Total rata-rata running time pada uji coba 2
Jumlah dokter yang memenuhi kondisi
Percobaan 1 = Percobaan 2 = Percobaan 3 = Percobaan 4 = Percobaan 5 = Percobaan 6 = Percobaan 7 =
59
.:Analisa Permasalahan(2):.
16 Juli 2013 Tugas Akhir – KI091391
Grafik running time permasalahan 2
• Pada percobaan 1 menunjukkan bahwa jumlah kemungkinan dokter yang memenuhi kondisi paling sedikit, yaitu 170 namun total running time-nya tidak menunjukkan waktu yang terendah, yaitu 0.105 detik.
170
309
430
420
387
391
381
1 2 3 4 5 6 7
Waktu proses 1 0.017 0.020 0.020 0.020 0.015 0.016 0.016
Waktu proses 2 0.088 0.089 0.083 0.085 0.087 0.086 0.092
Waktu total 0.105 0.109 0.103 0.105 0.102 0.102 0.108
0.000
0.020
0.040
0.060
0.080
0.100
0.120
Wa
ktu
(de
tik
)
Total rata-rata running time pada uji coba 2
Jumlah dokter yang memenuhi kondisi
Percobaan 1 = Percobaan 2 = Percobaan 3 = Percobaan 4 = Percobaan 5 = Percobaan 6 = Percobaan 7 =
60
.:Analisa Permasalahan(2):.
16 Juli 2013 Tugas Akhir – KI091391
Grafik running time permasalahan 2
• Pada percobaan 2 menunjukkan bahwa total running time-nya menunjukkan waktu yang tertinggi, yaitu 0.109 detik namun jumlah kemungkinan dokter yang memenuhi kondisi adalah 309.
170
309
430
420
387
391
381
1 2 3 4 5 6 7
Waktu proses 1 0.017 0.020 0.020 0.020 0.015 0.016 0.016
Waktu proses 2 0.088 0.089 0.083 0.085 0.087 0.086 0.092
Waktu total 0.105 0.109 0.103 0.105 0.102 0.102 0.108
0.000
0.020
0.040
0.060
0.080
0.100
0.120
Wa
ktu
(de
tik
)
Total rata-rata running time pada uji coba 2
Jumlah dokter yang memenuhi kondisi
Percobaan 1 = Percobaan 2 = Percobaan 3 = Percobaan 4 = Percobaan 5 = Percobaan 6 = Percobaan 7 =
61
.:Analisa Permasalahan(2):.
16 Juli 2013 Tugas Akhir – KI091391
Grafik running time permasalahan 2
• Pada percobaan 6 menunjukkan bahwa total running time-nya menunjukkan waktu yang terrendah, yaitu 0.102 detik namun jumlah kemungkinan dokter yang memenuhi kondisi tidak menunjukkan jumlah yang terendah adalah 391.
170
309
430
420
387
391
381
1 2 3 4 5 6 7
Waktu proses 1 0.017 0.020 0.020 0.020 0.015 0.016 0.016
Waktu proses 2 0.088 0.089 0.083 0.085 0.087 0.086 0.092
Waktu total 0.105 0.109 0.103 0.105 0.102 0.102 0.108
0.000
0.020
0.040
0.060
0.080
0.100
0.120
Wa
ktu
(de
tik
)
Total rata-rata running time pada uji coba 2
Jumlah dokter yang memenuhi kondisi
Percobaan 1 = Percobaan 2 = Percobaan 3 = Percobaan 4 = Percobaan 5 = Percobaan 6 = Percobaan 7 =
.:BackUp:.
16 Juli 2013 Tugas Akhir – KI091391 62
Graf Bipartite (GB)
• Graf bipartite adalah graf 𝐺(𝑉, 𝐸) yang himpunan atau node 𝑉-nya dapat dipartisi menjadi dua subhimpunan 𝑉1 dan 𝑉2
sedemikian sehingga setiap edge dalam 𝐸 insiden pada satu vertek di 𝑉1 dan satu vertek di 𝑉2.
16 Juli 2013 Tugas Akhir – KI091391 63
v1
v2
v3
v4
v5
Contoh graf bipartite
Graf Bipartite (GB)
• Menurut Thomas H. et all [6], dalam suatu permasalahan pemasangan maksimal dalam graf bipartite dapat menggunakan metode Ford Fulkerson.
• Oleh karena itu permasalahan pemasangan dimodelkan sebagai suatu jaringan karena Metode Ford Fulkerson digunakan untuk menyelesaikan permasalahan network flow.
16 Juli 2013 Tugas Akhir – KI091391 64
v1
v2
v3
v4
v5
v1
v2
v3
v4
v5
st
Contoh graf bipartite
yang dibentuk sebagai
jaringan
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 65
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 66
1
3
2
6
5
4
0/16
0/13
0/12
0/10
0/14
0/4 0/9 0/7
0/20
0/4
Contoh graf awal yang akan
diselesaikan dengan
algoritma Ford Fulkerson
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 67
1
3
2
6
5
4
0/16
0/13
0/12
0/10
0/14
0/4 0/9 0/7
0/20
0/4
Contoh graf awal yang akan
diselesaikan dengan
algoritma Ford Fulkerson
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 68
Lintasan 1-2-4-3-5-6
1
3
2
6
5
4
16
13
12
10
14
4 9 7
20
4
𝒄𝒇 𝒑 = 4
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 69
Lintasan 1-2-4-3-5-6
1
3
2
6
5
4
16
13
12
10
14
4 9 7
20
4
1
3
2
6
5
4
4/16
13
4/12
10
4/14
4 4/9 7
20
4/4
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 70
Lintasan 1-2-3-5-4-6
1
3
2
6
5
4
13
8
10
10
4 7
20
4
412
4
45
4
𝒄𝒇 𝒑 = 7
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 71
Lintasan 1-2-3-5-4-6
1
3
2
6
5
4
13
8
10
10
4 7
20
4
412
4
45
4
1
3
2
6
5
4
11/16
13
4/12
7/10
11/14
4 4/9 7/7
7/20
4/4
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 72
Lintasan 1-3-2-4-6
𝒄𝒇 𝒑 = 8
1
3
2
6
5
4
13
8
3
3
11 7
13
4
54
45
11
11 7
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 73
Lintasan 1-3-2-4-6
1
3
2
6
5
4
13
8
3
3
11 7
13
4
54
45
11
11 7
1
3
2
6
5
4
11/16
8/13
12/12
10
11/14
1/4 4/9 7/7
15/20
4/4
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 74
Lintasan 1-3-4-6
𝒄𝒇 𝒑 = 4
1
3
2
6
5
4
5
11
3
3 7
5
4
5
12
45
11
11 15
8
Algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 75
Lintasan 1-3-4-6
1
3
2
6
5
4
5
11
3
3 7
5
4
5
12
45
11
11 15
8
1
3
2
5
4
11/16
12/13
12/12
10
11/14
1/4 9 7/7
19/20
4/4
6
Algoritma Ford Fulkerson
• Setelah tidak ditemukan lagi lintasan augmenting, maka pencarian berhenti.
• Graf tersebut memiliki 4 jalur yaitu:
o 1-2-4-3-5-6 dengan maksimal flow 4,
o 1-2-3-5-4-6 dengan maksimal flow 7,
o 1-3-2-4-6 dengan maksimal flow 8, dan
o 1-3-4-6 dengan maksimal flow 4
16 Juli 2013 Tugas Akhir – KI091391 76
Operasi Himpunan Union
• Union merupakan gabungan dari dua himpunan 𝐴 dan 𝐵 atau himpunan yang terdiri dari semua elemen yang menjadi anggota 𝐴 atau menjadi anggota 𝐵.
• Definisi formal dari union 𝑨 ∪ 𝑩 = *𝒙|𝒙 ∈ 𝑨 ∨ 𝒙 ∈ 𝑩+
• Contoh union dari himpunan {1,3,5} dan {1,2,3} adalah {1,2,3,5}
16 Juli 2013 Tugas Akhir – KI091391 77
Operasi Himpunan Intersection
• intersection merupakan irisan dari dua himpunan 𝐴 dan 𝐵 adalah himpunan yang terdiri dari semua elemen persekutuan dari himpunan 𝐴 dan 𝐵.
• Definisi formal dari intersection 𝑨 ∩ 𝑩 = *𝒙|𝒙 ∈ 𝑨 ∧ 𝒙 ∈ 𝑩+
• Contoh intersection dari himpunan {1,3,5} dan {1,2,3} adalah {1,3}
16 Juli 2013 Tugas Akhir – KI091391 78
Langkah-langkah yang digunakan untuk merubah ke model GB
menjadi bentuk jaringan dalam penugasan dokter
1. Jika setiap edge-nya dimulai dari 𝑢 ke 𝑣 dan 𝑐(𝑢, 𝑣) adalah kapasitas maka 𝑐 𝑢, 𝑣 ditandai dengan
angka 1.
2. Sebuah source dan edge-edge dari source ke masing-masing node yang mewakili keahlian dokter dengan 𝑐 𝑢, 𝑣 = 𝑗𝑢𝑚𝑙𝑎ℎ 𝑑𝑜𝑘𝑡𝑒𝑟
ditambahkan.
3. Sebuah sink dan edge-edge dari
masing-masing node yang mewakili dokter ke sink dengan 𝑐 𝑢, 𝑣 =𝑗𝑢𝑚𝑙𝑎ℎ 𝑘𝑒𝑎ℎ𝑙𝑖𝑎𝑛 ditambahkan.
16 Juli 2013 Tugas Akhir – KI091391 79
Langkah-langkah yang digunakan untuk merubah ke model
GB menjadi bentuk jaringan dalam penugasan dokter
Keahlian Dokter
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 80
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
O/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
O/8
O/8
O/8
O/8
O/8
O/8
O/8
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 81
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-9-16
𝒄𝒇 𝒑 = 1
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
O/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
O/8
O/8
O/8
O/8
O/8
O/8
O/8
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 82
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-9-16
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
1/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
1/8
O/8
O/8
O/8
O/8
O/8
O/8
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
1/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
1/8
O/8
O/8
O/8
O/8
O/8
O/8
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 83
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-11-16
𝒄𝒇 𝒑 = 1
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
2/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
1/8
O/8
1/8
O/8
O/8
O/8
O/8
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 84
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-11-16
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
0
16
2/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
1/8
O/8
1/8
O/8
O/8
O/8
O/8
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 85
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-15-16
𝒄𝒇 𝒑 = 1
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
9
10
11
15
14
13
12
1
2
3
4
5
6
7
8
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
1/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
O/1
1/1
O/1
0
16
3/7
O/7
O/7
O/7
O/7
O/7
O/7
O/7
1/8
O/8
1/8
O/8
O/8
O/8
1/8
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 86
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson Keahlian Dokter
Lintasan 0-1-15-16
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
1. Set 𝑓 𝑢, 𝑣 ← 0 dan 𝑓 𝑣, 𝑢 ← 0 untuk semua edge 𝑢, 𝑣
2. Perulangan selama terdapat sebuah aliran 𝑝 dari 𝑠 menuju 𝑡, di mana kapasitas tersisa 𝑐𝑓 𝑢, 𝑣 > 0 untuk
semua 𝑢, 𝑣 ∈ 𝑝:
o Temukan
𝑐𝑓 𝑝 = min 𝑐𝑓 𝑢, 𝑣 𝑢, 𝑣 ∈ 𝑝 ]
o Untuk setiap edge 𝑢, 𝑣 ∈ 𝑝
f 𝑢, 𝑣 ← 𝑓 𝑢, 𝑣 + 𝑐𝑓 𝑝
f 𝑣, 𝑢 ← −𝑓 𝑢, 𝑣
16 Juli 2013 Tugas Akhir – KI091391 87
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson
Keahlian Dokter
Bedah D1,D3,D7
Jantung D1,D4,D5,D6
Kandungan D2,D3,D6,D7
Kulit D2,D5
Koordinator D6
Asisten D2
Dokter utama D2,D3,D5,D6
Pembantu Dokter D1,D4,D7
Tabel hasil pengelompokkan dokter
Berdasarkan keahlian
Langkah-langkah yang digunakan untuk mengelompokkan dokter
berdasarkan keahliannya dengan algoritma Ford Fulkerson