PENYELESAIAN MASALAH LINTASAN TERPENDEK FUZZY DENGAN MENGGUNAKAN ALGORITMA CHUANG β KUNG DAN ALGORITMA FLOYD 1
Anik Musfiroh, 2Lucia Ratnasari, 3Siti Khabibah
1.2.3
Jurusan Matematika Universitas Diponegoro Jl. Prof> Soedharto, SH, Tembalang Semarang 54275 Email : 1
[email protected], 2
[email protected]
Abstract : In the classic graph, shortest path problem is related problem with determination of the which are connected in a graph that form the shortest distance between source node and the destination node. This idea is extended to solve the fuzzy shortest path problem. In this paper, will be discussed about Chuang - Kung algorithm and Floyd algorithm to solve shortest path problem. Chuang - Kung algorithmβs steps is to determine all pass possible path from source node to destination node, then compute value of similarity degree π πΏπππ , πΏπ with πΏπππ is the fuzzy shortest length and πΏπ is length of possible path. While for Floyd algorithm, the first step is to determine the initial distance matrix π·0 and the matrix of the initial order π0 , then check this elements. If in matrix π·π element is πππ + πππ < πππ so πππ replaced with πΏπππ πππ , πππ + πππ . Then replace elements matrix ππ with π. Changes π ππ in matrix ππ following to changes πππ on matrix π·π . Keywords : Fuzzy shortest path, Chuang β Kung algorithm, Floyd algorithm. 1.
Pendahuluan
Masalah lintasan terpendek berkaitan dengan pencarian lintasan pada graf berbobot yang menghubungkan dua buah titik sedemikian hingga jumlah bobot sisi β sisi yang terpilih merupakan bobot minimum. Salah satu manfaat penggunaan graf adalah untuk memudahkan gambaran ilustrasi dan perhitungan dalam menyelesaikan masalah lintasan terpendek. Graf dapat didefinisikan sebagai kumpulan titik yang dihubungkan dengan garis. Graf biasanya digunakan untuk memodelkan obyek-obyek diskrit dan hubungan antar obyek-obyek tersebut. Ide dasar menentukan masalah lintasan terpendek pada graf klasik diperluas untuk penyelesaian masalah lintasan terpendek fuzzy. Algoritma yang digunakan untuk menyelesaikan masalah lintasan terpendek fuzzy adalah dengan menggunakan algoritma Chuang β Kung[8] dan algoritma Floyd[7]. Langkah β langkah algoritma Chuang β Kung adalah dengan menentukan lintasan yang mungkin dilalui dari titik sumber ke titik tujuan dan menghitung panjang lintasan tersebut. Kemudian menentukan panjang terpendek fuzzy πΏπππ dengan menggunakan metode panjang terpendek fuzzy serta menghitung ukuran kesamaannya untuk menghasilkan derajat kesamaan π πΏπππ , πΏπ antara πΏπππ dan πΏπ . Lintasan terpendek pada algoritma Chuang β Kung adalah nilai tertinggi dari derjat kesamaan tersebut. Sedangkan untuk langkah - langkah algoritma Floyd adalah dengan menentukan matriks jarak awal π·0 dan matriks urutan awal π0 kemudian memeriksa elemen β elemennya. Jika πππ + πππ < πππ maka πππ pada matrik π·π diubah menjadi πΏπππ πππ , πππ + πππ . Elemen π ππ pada matriks ππ diubah mengikuti perubahan πππ pada matrik π·π .
22
2.
Dasar Teori
Definisi 2.1 [2] Diberikan π΄ dan π΅ merupakan himpunan tidak kosong. Cartesian product dari dua buah himpunan π΄ dan π΅ dinotasikan dengan π΄ Γ π΅ adalah himpunan semua pasangan berurutan π, π dengan π β π΄ dan π β π΅. Secara matematis dituliskan π΄ Γ π΅ = π, π π β π΄, π β π΅ . Definisi 2.2 [6] Fungsi karakteristik dari suatu himpunan tegas π΄ dalam semesta π dapat dinyatakan dengan fungsi karakteristik ππ΄ βΆ π β 0,1 yang didefinisikan dengan aturan : 1, π₯βπ΄ ππ΄ π₯ = 0, π₯βπ΄ Dari definisi diatas, ππ΄ π₯ = 1 artinya derajat keanggotaan π₯ pada π΄ adalah 1 dan ππ΄ π₯ = 0 artinya derajat keanggotaan π₯ pada π΄ adalah 0. Definisi 2.3 Fungsi keanggotaan dari suatu himpunan fuzzy π΄ dalam semesta π adalah pemetaan ππ΄ dari π ke selang 0, 1 , yaitu ππ΄ : π β 0, 1 . Nilai fungsi ππ΄ π₯ menyatakan derajat keanggotaan unsur π₯ β π. Definisi 2.4 [6] Komplemen dari suatu himpunan fuzzy π΄ dalam semesta π adalah himpunan fuzzy π΄, dengan fungsi keanggotaan : π΄ π₯ = 1βπ΄ π₯ βπ₯ β π. Definisi 2.5 [6] Irisan dari himpunan fuzzy π΄ dan π΅ dengan notasi π΄ β© π΅, dengan fungsi keanggotaan : π΄ β© π΅ π₯ = inf π΄ π₯ , π΅ π₯ βπ₯ β π Definisi 2.6 [6] Gabungan dua buah himpunan fuzzy π΄ dan π΅ dengan notasi π΄ βͺ π΅, dengan fungsi keanggotaan : π΄ βͺ π΅ π₯ = π π’π π΄ π₯ , π΅ π₯ βπ₯ β π. Definisi 2.7 [4] Penjumlahan dua buah himpunan fuzzy π΄ dan π΅ adalah himpunan fuzzy π΄ + π΅, yang didefinisikan dengan fungsi keanggotaan : π΄ + π΅ π§ = π π’ππ§=π₯ +π¦ min π΄ π₯ , π΅ π¦ , βπ₯, π¦ β π dengan π§ = π₯ + π¦. Definisi 2.8 [9] Suatu graf πΊ terdiri atas dua himpunan yaitu himpunan tidak kosong π(πΊ) yang elemen-elemennya disebut titik (vertex) dan himpunan (boleh kosong) πΈ πΊ yang elemen-elemennya disebut sisi (edge) sedemikian sehingga setiap elemen π dalam πΈ(πΊ) merupakan pasangan tak berurutan dari titik-titik di π(πΊ). Graf πΊ yang didefinisikan sebagai pasangan himpunan (π, πΈ) dapat ditulis dengan notasi πΊ = (π, πΈ).
Definisi 2.9 [3] Graf berbobot adalah graf yang setiap sisi diberikan sebuah harga (bobot). Bobot pada setiap sisinya dapat menyatakan jarak antara dua buah kota, biaya perjalanan, waktu tempuh, ongkos produksi, dan sebagainya. 23
Definisi 2.10 [9] Suatu jalan (walk) yang panjangnya π dalam graf πΊ2 adalah urutan π sisi yang berbentuk
uv1 ,v1v2 ,v2 v3 ,...,vk-1v ο±ο΄ο΄ο΄ο²ο΄ο΄ο΄ο³ k
Walk ini dinotasikan dengan uv1v2v3...vkο1v, dan disebut walk antara π’ dan π£. Semua sisi dan titik dalam walk tidak perlu berbeda (boleh sama). Definisi 2.11 [9] Jika semua sisi (tetapi tidak perlu semua titik) dalam walk tersebut berbeda, maka walk itu disebut jejak (trail). Jika semua titiknya juga berbeda, maka trail itu disebut lintasan (path). Panjang lintasan adalah banyak sisi dalam lintasan tersebut. Definisi 2.12 [9] Suatu walk tertutup dalam graf πΊ adalah walk yang titik sumbernya sama dengan titik akhirnya. Jika semua sisi berbeda, maka walk itu disebut trail tertutup (closed trail). Jika titik β titiknya juga berbeda kecuali pada titik sumber dan titik akhirnya maka trail itu disebut sikel (cycle). Definisi 2.13 [9] Jarak (distance) dari titik π£ ke titik π’ pada graf πΊ, yang dinotasikan dengan π(π£, π’) adalah panjang lintasan terpendek dari π£ ke π’. Definisi 2.14 [3] Suatu graf berarah (directed graph atau digraf) adalah graf yang setiap sisinya memiliki orientasi arah. Pada graf berarah π£π , π£π β π£π , π£π . Definisi 2.15 [10] Dimisalkan π adalah himpunan titik, suatu graf fuzzy yang dinotasikan dengan πΊ: π, π adalah sepasang fungsi dimana : i. π: π β 0, 1 ii. π: π Γ π β 0, 1 Sedemikian hingga π π₯π¦ β€ π π₯ β§ π π¦ , βπ₯, π¦ β π, dengan π π₯ β§ π π¦ adalah πππ π π₯ , π π¦ , dimana π derajat keanggotaan titik dan π adalah derajat keanggotaan sisi.
Algoritma Djikstra Algoritma ini mencari panjang lintasan (path) terpendek dari suatu titik sumber ke titik yang lain dalam digraf berbobot. Langkah β langkah algoritma : Diberikan label permanen untuk titik sumber : 0, β . Diambil π = 1. 1. Didefinisikan label sementara π’π + πππ , π untuk setiap titik π yang diperoleh langsung dari π dan belum mempunyai label permanen. 2. Dipilih titik π β yang mempunyai π’π + πππ , π terpendek, beri label permanen. 3. Jika semua mempunyai label permanen, iterasi berhenti. Jika tidak, ambil π = π β , kembali ke langkah 1. Dengan π’π = lintasan terpendek dari titik sumber ke titik π, πππ = panjang busur π, π , π’π , π = lintasan terpendek dari titik sumber ke titik π melalui titik π.
24
Algoritma Floyd Algoritma Floyd adalah algoritma yang digunakan untuk menentukan lintasan terpendek antara setiap pasang titik dalam graf. Langkah β langkah algoritma : Didefinisikan matriks π·0 dan π0 . Jika π dan π tidak terhubung langsung, didefinisikan πππ = β. 1. Diambil π = 1 Didefinisikan baris π dan kolom π sebagai baris dan kolom pivot. 2. Untuk setiap πππ dalam π·πβ1 , jika πππ + πππ < πππ , (π β π, π β π, dan π β π) : ο· π·π diubah dengan mengganti πππ dalam π·πβ1 dengan πππ + πππ . ο· ππ diubah dengan mengganti π ππ dalam ππβ1 dengan π. Jika π = π, iterasi berhenti. Jika π < π, didefinisikan π = π + 1, kembali ke langkah 1. Dengan πππ = jarak dari titik π ke titik π, π ππ = suatu titik yang dilewati oleh suatu lintasan dari π ke π, π·0 = matriks jarak awal, π·π = matriks jarak pada iterasi π, π0 = matriks urutan awal, dan ππ = matriks urutan pada iterasi π.
3.
Hasil dan Pembahasan
Metode Panjang Terpendek Fuzzy Dalam graf klasik, panjang lintasan terpendek fuzzy dari titik π’ ke titik π£ adalah lintasan terpendek dari titik π’ ke titik π£. Diberikan dua panjang lintasan dalam jaringan adalah π1 = 5 dan π2 = 6. Dalam himpunan fuzzy,π1 = 5 dapat dituliskan dengan πΏ1 = 1.0/5 , dapat diartikan bahwa nilai keanggotaan dari 5 adalah 1.0. Demikian pula dengan π2 = 6 dapat dituliskan dengan πΏ2 = 1.0/6 , yang artinya nilai keanggotaan dari 6 adalah 1.0. Kemudian digeneralisasi untuk menghitung πΏπππ pada π panjang lintasan fuzzy πΏ1 , πΏ2 , β¦ , πΏπ . Notasi πΏπ π₯ β π₯ menyatakan bahwa elemen π₯ pada πΏπ yang memiliki nilai keanggotaan πΏπ π₯ . Untuk menentukan πΏπππ , langkah awal adalah menghitung ππΏπ π₯ dimana seperti panjang pada himpunan tegas, π₯ adalah panjang terpendek jika tidak ada panjang lain yang lebih pendek atau sama dengan π₯ tersebut. Oleh karena itu, πΏπ π₯ = πΏπ β§ πΏπβ² untuk π, π = 1, 2, 3, β¦ π dan π β π atau dapat dinyatakan sebagai berikut : ππΏ1 π₯ = πΏ1 π₯ β§ πΏβ²2 π₯ β§ πΏβ²3 π₯ β§ β¦ β§ πΏβ²π π₯ = πππ πΏ1 π₯ , πΏβ²2 π₯ , πΏβ²3 π₯ , β¦ , πΏβ²π π₯ = πππ πΏ1 π₯ , minπβ 1 πΏβ²π π₯ πΏβ²π
............................. 1
π¦<π₯ π₯ = 1 β πππ₯ πΏπ π¦ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 π¦ β πΏπ
Substitusikan (2) ke pers (1) dihasilkan
π¦<π₯ SπΏ1 π₯ = πππ πΏ1 π₯ , minπβ 1 1 β πππ₯ πΏπ π¦ . . . . . . . . . . . . . . . . . . . . . . 3 π¦ β πΏπ Dengan cara yang sama, dapat diperoleh nilai keanggotaan ππΏπ‘ π₯ pada π₯ dalam πΏπ‘ adalah 25
π¦<π₯ ππΏπ‘ π₯ = πππ πΏπ‘ π₯ , minπβ π‘ 1 β πππ₯ πΏπ π¦ π¦ β πΏπ
...................... 4
Sehingga: πΏπππ π₯ = ππΏ1 π₯ β¨ ππΏ2 π₯ β¨ ππΏ3 π₯ β¨ β¦ β¨ ππΏπ
π π₯ = πππ₯ ππΏπ‘ π₯ π‘=1
π = πππ₯ πππ πΏπ‘ π₯ , ππππβ π‘ πΏβ²π π₯ = max π‘ π‘=1 π¦<π₯ = 1π πππ πΏπ‘ π₯ , ππππβ π‘ 1 β πππ₯ πΏπ π¦ ............ 5 π¦ β πΏπ
Definisi 3.1 Ukuran kesamaan berikut untuk mengukur derajat kesamaan antara dua panjang fuzzy: π π π΄, π΅ = β 1 β π΄ π₯π β π΅ π₯π /π . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 π=1 Ukuran kesamaan didefinisikan dalam pers 6 yang akan membantu mengambil keputusan untuk menentukan lintasan mana yang terpendek. Ukuran kesamaan π: πΉ 2 β 0, β harus memenuhi beberapa sifat dibawah ini : (P1) π π΄, π΅ = π π΅, π΄ untuk semua π΄, π΅ β πΉ; (P2) π πΈ, πΈ = 0, jika πΈ adalah himpunan crisp dan πΈ adalah complement dari πΈ; (P3) π π», π» β₯ π π΄, π΅ untuk semua π΄, π΅, π» β πΉ; (P4) Jika π΄ β π΅ β πΆ untuk semua π΄, π΅, πΆ β πΉ maka π π΄, πΆ β€ π π΄, π΅ dan π π΄, πΆ β€ π π΅, πΆ .
Algoritma Chuang β Kung Menentukan lintasan yang mungkin dari titik sumber π ke titik tujuan π dan menghitung panjang lintasan πΏπ yang sesuai. Untuk π = 1,2, β¦ , π pada π lintasan yang mungkin. Langkah 2: Menentukan panjang terpendek fuzzy πΏπππ dengan menggunakan metode panjang terpendek fuzzy. Langkah 3: Menghitung Ukuran kesamaan fuzzy yang didefinisikan pada persamaan 8 untuk menghasilkan derajat kesamaan π πΏπππ , πΏπ antara πΏπππ dan πΏπ untuk π = 1,2, β¦ , π. Langkah 4: Memilih lintasan terpendek dengan derajat kesamaan π πΏπππ , πΏπ yang tertinggi. Langkah 1:
Contoh 1: Jaringan sederhana dengan panjang busur fuzzy ditunjukkan pada Gambar 3.1 dimana panjang busur fuzzy di π = 0.5/2 , 1.0/3 , π = 0.4/1, 1.0/3 , π
= 1.0/2, 0.2/3, 0.1/4 , π = 1.0/2, 0.6/4 , π = 1.0/3, 0.5/4 , π = 1.0/4, 0.7/5 , π = 0.6/4, 1.0/5, 0.5/6 ,dan πΊ = 1.0/3, 0.4/5 , berturut β turut.
26
2
P
Q
4
Y
W
R
1
U
3
5 V Graf Berarah Tidak Siklik
6 G
Langkah 1 : Lintasan yang mungkin yaitu : Lintasan (1) : 1 + 2 + 4 + 5 + 6 = {0.5/11, 0.6/12, 1.0/13, 0.6/14, 0.6/15, 0.5/16, 0.4/17, 0.4/18} Lintasan (2) : 1 + 2 + 4 + 6 = 0.5/8, 1.0/9, 0.7/10, 0.6/11, 0.6/12 Lintasan (3) : 1 + 2 + 3 + 5 + 6 = {0.5/10, 1.0/11, 0.5/12, 0.4/13, 0.4/14, 0.2/15, 0.1/16} Lintasan (4) : 1 + 3 + 5 + 6 = 0.4/7, 0.4/8, 1.0/9, 0.5/10, 0.4/11, 0.4/12 Langkah2 : Didapat nilai panjang terpendeknya adalah 0.4/7, 0.5/8, 0.6/9 atau πΏπππ = 0.4/7, 0.5/8, 0.6/9 . Langkah 3 : Dengan ukuran kesamaan, didapat nilai π πΏπππ , πΏπ antara πΏπππ dan πΏπ . π πΏπππ , πΏ1 = 0.49 π πΏπππ , πΏ2 = 0.77 π πΏπππ , πΏ3 = 0.62 π πΏπππ , πΏ4 = 0.85 Langkah 4 : Dipilih lintasan 1-3-5-6 sebagai lintasan terpendek dengan panjang fuzzy πΏ4 merupakan derajat kesamaan tertinggi (=0.85) untuk πΏπππ panjang terpendek fuzzy.
Lintasan Terpendek Fuzzy dengan Algoritma Floyd Berikut ini Algoritma Floyd akan digunakan untuk menghitung lintasan terpendek fuzzy. Langkah awal dengan menentukan matriks jarak awal π·π dan matriks urutan awal ππ . Jika πππ + πππ < πππ maka πππ pada matriks π·π diganti dengan πΏπππ πππ , πππ + πππ pada matriks π·π . Untuk matriks ππ atau ππ , perubahan elemen matriksnya mengikuti perubahan elemen pada matriks π·π atau π·π . Langkah β langkah algoritma : Didefinisikan matriks π·0 dan π0 . Jika π dan π tidak terhubung langsung, definisikan πππ = β. 3. Diambil π = 1. 4. Didefinisikan baris π dan kolom π sebagai baris dan kolom pivot. 5. Untuk setiap πππ dalam π·πβ1 , jika πππ + πππ < πππ , (π β π, π β π, dan π β π). ο· π·π diubah dengan mengganti πππ dalam π·πβ1 dengan πππ + πππ . ο· ππ diubah dengan mengganti π ππ dalam ππβ1 dengan π. 6. Jika π = π, iterasi berhenti. Jika π < π, definisikan π = π + 1, kembali ke langkah 1.
27
Dengan πππ = jarak dari titik π ke titik π, π ππ = suatu titik yang dilewati oleh suatu lintasan dari π ke π yang mempunyai jarak πππ , π·0 = matriks jarak awal, π·π = matriks πΏπππ pada iterasi π, π0 = matriks urutan awal, dan ππ = matriks urutan pada iterasi π. Contoh 3.6 Jaringan sederhana dengan panjang busur fuzzy ditunjukkan pada Gambar 3.1 dimana panjang busur fuzzy di π = 0.5/2 , 1.0/3 , π = 0.4/1, 1.0/3 , π
= 1.0/2, 0.2/3, 0.1/4 , π = 1.0/2, 0.6/4 , π = 1.0/3, 0.5/4 , π = 1.0/4, 0.7/5 , π = 0.6/4, 1.0/5, 0.5/6 ,dan πΊ = 1.0/3, 0.4/5 , berturut β turut. Didefinisikan matriks jarak awal π·0 dan matriks urutan awal π0 , yaitu
1
1
2
3
π
5
π
_
0.5/2, 1.0
0.4/1, 1.0
β
β
β
1.0/2, 0.6
β
β
1.0/3, 0.5
β
/3
2
β
/3 1.0/2, 0.2
_
/3, 0.1/4
3
β
β
/4
β
_
/4
π
β
β
β
0.6/4, 1.0
_
/5, 0.5/6
5
β
β
β
β
_
1.0/4, 0.7 /5 1.0/3, 0.4 /5
π
β
β
β
β
β
_
Matriks π·0
1
2
3
π
5
π
1
_
2
3
4
5
6
2
1
_
3
4
5
6
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π0
28
Iterasi 1 : 1) Diambil π = 1. Menentukan baris 1 dan kolom 1 dari matriks π·0 sebagai baris dan kolom pivot.
1
0.5/2, 1.0
_
1
/3
β
2
3
π
5
π
0.4/1, 1.0
β
β
β
1.0/2, 0.6
β
β
1.0/3, 0.5
β
2 /3
1.0/2, 0.2
_
/3, 0.1/4
β
3
β
/4
β
_
/4
π
β
β
β
_
0.6/4, 1.0 /5, 0.5/6
β
5
β
β
β
1.0/4, 0.7 /5 1.0/3, 0.4
_
/5
π
β
β
β
β
β
_
Matriks π·0 dengan baris 1 dan kolom 1 sebagai baris dan kolom pivot 1
2
3
π
5
π
1
_
2
3
4
5
6
2
1
_
3
4
5
6
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π0 dengan baris 1 dan kolom 1 sebagai baris dan kolom pivot
29
2) 3) 4)
Pada matriks π·0 , elemen πππ < πππ + πππ maka tidak ada elemen yang diubah untuk matriks π·0 . Matriks π·1 = π·0 pada iterasi berikutnya. Tidak ada elemen π ππ yang diubah dari matriks π0 . Karena perubahan ππ mengikuti perubahan pada π·π , maka matriks π1 = π0 pada iterasi berikutnya. Karena π < 6 maka untuk iterasi berikutnya didefinisikan π = 2 dan kembali ke langkah 1.
Iterasi 2 1)
Diambil π = 2. Menentukan baris 2 dan kolom 2 dari matriks π·0 sebagai baris dan kolom pivot. 1 1
_
2 0.5
0.4
/2, 1.0/3 2
β
_
π
5
π
β
β
β
β
β
3
/1, 1.0/3 1.0
1.0
/2, 0.2
/2, 0.6/4
/3, 0.1/4 3
β
β
_
β
1.0
β
/3, 0.5/4 π
β
β
β
_
0.6
1.0
/4, 1.0
/4, 0.7/5
/5, 0.5/6 5
β
β
β
β
_
1.0 /3, 0.4/5
π
β
β
β
β
β
_
Matriks π·1
30
1
2
3
π
5
π
1
_
2
3
4
5
6
2
1
_
3
4
5
6
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π1
2) 3) 4)
Pada matriks π·1 , elemen π14 > π12 + π24 maka elemen π14 pada matriks π·1 diubah menjadi 0.4/3, 1.0/5, 0.6/7 sehingga diperoleh matriks π·2 pada iterasi berikutnya. Untuk elemen π 14 matriks π1 diubah menjadi 2 sehingga diperoleh matriks π2 pada iterasi berikutnya. Karena π < 6 maka untuk iterasi berikutnya didefinisikan π = 3 dan kembali ke langkah 1.
Iterasi 3 1)
Diambil π = 3. Menentukan baris 3 dan kolom 3 dari matriks π·1 sebagai baris dan kolom pivot.
1
1
2
3
π
5
π
_
0.5/2, 1.0
0.4/1, 1.0
0.4/3, 1.0
β
β
β
β
1.0/3, 0.5
β
/3
2
β
/3
_
/5, 0.6/7
1.0/2, 0.2 /3, 0.1/4
3
β
β
_
1.0/2, 0.6 /4
β
/4
π
β
β
β
_
0.6/4, 1.0 /5, 0.5/6
5
β
β
β
β
_
1.0/4, 0.7 /5 1.0/3, 0.4 /5
31
π
β
β
β
β
β
_
Matriks π·2
1
2
3
π
5
π
1
_
2
3
1
5
6
2
1
_
3
4
5
6
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π2 2) Pada matriks π·2 , elemen π15 > π13 + π35 maka elemen π15 pada matriks π·2 diubah menjadi 0.4/4, 0.4/5, 1.0/6, 0.5/7 dan elemen π25 > π23 + π35 maka elemen π25 pada matriks π·2 diubah menjadi 1.0/5, 0.5/6, 0.2/7, 0.1/8 sehingga diperoleh matriks π·3 pada iterasi berikutnya. 3) Untuk elemen π 15 dan π 25 pada matriks π2 diubah menjadi 3 sehingga diperoleh matriks π3 pada iterasi berikutnya. 4) Karena π < 6 maka untuk iterasi berikutnya didefinisikan π = 4 dan kembali ke langkah 1.
Iterasi 4 1)
Diambil π = 4. Menentukan baris 4 dan kolom 4 dari matriks π·2 sebagai baris dan kolom pivot.
32
1
1
2
3
π
5
π
_
0.5/2, 1.0
0.4/1, 1.0
0.4/3, 1.0
0.4/4, 0.4
β
/3
/3
/5, 0.6/7
/5, 1.0 /6, 0.5/7
2
β
1.0/2, 0.2
_
/3, 0.1/4
1.0/2, 0.6 /4
1.0/5, 0.5
β
/6, 0.2 /7, 0.1/8
3
β
β
1.0/3, 0.5
β
_
β
/4
π
β
β
β
0.6/4, 1.0
_
/5, 0.5/6
5
β
β
β
β
1.0/4, 0.7 /5 1.0/3, 0.4
_
/5
π
β
β
β
β
β
_
Matriks π·3
1
2
3
π
5
π
1
_
2
3
1
3
6
2
1
_
3
4
3
6
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π3 33
2)
3) 4)
Pada matriks π·3 , elemen π16 > π14 + π46 maka elemen π16 pada matriks π·3 diubah menjadi 0.4/7, 0.4/8, 1.0/9, 0.7/10, 0.6/11, 0.6/12 , elemen π25 > π24 + π45 maka elemen π25 pada matriks π·3 diubah menjadi 1.0/5, 0.5/6, 0.2/7 , dan elemen π26 > π24 + π46 maka elemen π26 pada matriks π·3 diubah menjadi 1.0/6, 0.7/7, 0.6/8, 0.6/9 sehingga diperoleh matriks π·4 pada iterasi selanjutnya. Untuk elemen π 16 , π 25 , dan π 26 pada matriks π3 diubah menjadi 4 pada matriks π4 . Karena π < 6 maka untuk iterasi berikutnya didefinisikan π = 5 dan kembali ke langkah 1.
Iterasi 5 1)
Diambil π = 5. Menentukan baris 5 dan kolom 5 dari matriks π·3 sebagai baris dan kolom pivot.
1
1
2
3
π
5
π
_
0.5/2, 1.0
0.4/1, 1.0
0.4/3, 1.0
0.4/4, 0.4
0.4/7, 0.4
/3
/3
/5, 0.6/7
/5, 1.0
/8, 1.0
/6, 0.5/7
/9, 0.7 /10, 0.6 /11, 0.6/12
2
β
_
1.0/2, 0.2 /3, 0.1/4
1.0/2, 0.6 /4
1.0/5, 0.5 /6, 0.2/7
1.0/6, 0.7 /7, 0.6 /8, 0.6/9
3
β
β
β
_
1.0/3, 0.5
β
/4
π
β
β
β
_
0.6/4, 1.0 /5, 0.5/6
5
β
β
β
β
_
1.0/4, 0.7 /5 1.0/3, 0.4 /5
π
β
β
β
β
β
_
Matriks π·4
34
1
2
3
π
5
π
1
_
2
3
1
3
4
2
1
_
3
4
4
4
3
1
2
_
4
5
6
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π4
2)
3) 4)
Pada matriks π·4 , elemen π16 > π15 + π56 maka elemen π16 pada matriks π·4 diubah menjadi 0.4/7, 0.4/8, 0.6/9 , elemen π26 > π25 + π56 maka elemen π26 pada matriks π·4 diubah menjadi 1.0/6, 0.7/7, 0.6/8 , dan elemen π36 > π35 + π56 maka elemen π36 pada matriks π·4 diubah menjadi 1.0/6, 0.5/7, 0.4/8, 0.4/9 sehingga diperoleh matriks π·5 pada iterasi berikutnya. Untuk elemen π 16 , π 26 , dan π 36 pada matriks π4 diubah menjadi 5 sehingga diperoleh matriks π5 pada iterasi berikutnya. Karena π < 6 maka untuk iterasi berikutnya didefinisikan π = 6 dan kembali ke langkah 1.
Iterasi 6 1)
Diambil π = 6. Menentukan baris 6 dan kolom 6 dari matriks π·5 sebagai baris dan kolom pivot.
1
1
2
3
π
5
π
_
0.5/2, 1.0
0.4/1, 1.0
0.4/3, 1.0
0.4/4, 0.4
0.4/7, 0.4
/3
/3
/5, 0.6/7
/5, 1.0
/8, 0.6/9
/6, 0.5/7
2
β
_
1.0/2, 0.2 /3, 0.1/4
3
β
β
_
1.0/2, 0.6 /4
1.0/5, 0.5 /6, 0.2/7
β
1.0/3, 0.5 /4
1.0/6, 0.7 /7, 0.6/8 1.0/6, 0.5 /7, 0.4 /8, 0.4/9
35
π
β
β
β
0.6/4, 1.0
_
/5, 0.5/6
5
β
β
β
β
1.0/4, 0.7 /5 1.0/3, 0.4
_
/5
π
β
β
β
β
β
_
Matriks π·5
1
2
3
π
5
π
1
_
2
3
1
3
5
2
1
_
3
4
4
5
3
1
2
_
4
5
5
π
1
2
3
_
5
6
5
1
2
3
4
_
6
π
1
2
3
4
5
_
Matriks π5
1)
Pada matriks π·5 , elemen πππ < πππ + πππ maka tidak ada elemen pada matriks π·4 dan π4 yang diubah. Karena π = π maka iterasi berhenti.
Dari iterasi 6 didapat hasil akhir untuk lintasan terpendek dari titik 1 ke titik 6 adalah π 16 = 5
π 15 = 3 π 56 = 6
π 13 = 3 π 35 = 5
Jadi, lintasan terpendeknya adalah 1 β 3 β 5 β 6 dengan menggunakan metode Floyd.
36
4.
Kesimpulan
Dari pembahasan yang telah diuraikan sebelumnya, untuk menentukan lintasan terpendek fuzzy dapat diselesaikan dengan menggunakan algoritma Chuang β Kung dan algoritma Floyd. Dalam algoritma Chuang β Kung, dapat diselesaikan dengan menentukan semua lintasan yang mungkin dilalui dari titik awal ke titik tujuan. Kemudian digunakan metode panjang terpendek fuzzy dan ukuran kesamaan fuzzy untuk menyelesaikannya. Dengan metode panjang terpendek fuzzy didapat nilai dari πΏπππ . Kemudian ukuran kesamaan digunakan untuk menentukan derajat kesamaan π πΏπππ , πΏπ antara dua panjang fuzzy. Nilai πΏπ yang terbesar merupakan panjang terpendek lintasan tersebut. Dalam algoritma Floyd, langkah awal adalah dengan menentukan matriks jarak awal π·0 dan matriks urutan awal π0 kemudian memeriksa elemen β elemennya. Jika πππ + πππ < πππ maka πππ pada matrik π·π diubah menjadi πΏπππ πππ , πππ + πππ . Elemen π ππ pada matriks ππ diubah mengikuti perubahan πππ pada matrik π·π . Dari hasil simulasi pada graf (Gambar 3.1) dengan menggunakan kedua algoritma tersebut didapat lintasan terpendeknya adalah 1 β 3 β 5 β 6. 5.
Referensi [1]
Arifin, Achmad. 2000. Aljabar. ITB
[2]
Bartle, Robert G. dan Donald R. Sherbert. 2000. Introduction to Real Analysis Third Edition. New York : John Willey and Sons.
[3]
Aini, Yusra Dewi. 2010. Analisis Algoritma A Star π΄β dan Implementasinya dalam Pencarian Jalur Terpendek pada Jalur Lintas Sumatera dari Provinsi Sumatera Utara. Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
[4]
Seblyanry, Roland. 2012. Kajian Tentang Ruang Tapologi Fuzzy. Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
[5]
Sunitha, M.S. and Vijaya Kumar, A. 2001. Complement of A Fuzzy Graphs. Indian J. pure applied Mathematical, Vol. 33, No. 9.
[6]
Susilo, Frans. 2006. Himpunan dan Logika Kabur serta Aplikasinya. Yogyakarta : Graha Ilmu.
[7]
Taha, Hamdy A. 1997. Operation Research ; An Introduction third edition. New York.
[8]
Tzuang-Nan Chuang and Jung-Yuan Kung. 2006. A New Algorithm for the discrete fuzzy shortest path problem in a network, Applied Matematics and Computation 174.
[9]
Wilson, J. Robin and John J. Watskin. 1990. Graphs An Introductory Approach. New York : University Course Graphs, Network, and Design.
[10]
Zadeh, A. Lotfi, dkk. 1974. Fuzzy Sets and Their Applications to Cognitive and Decision Process. California : The University of California.
37