I. DEFINISI JARINGAN
Sebuah jaringan terdiri dari sekelompok node yang dihubungkan oleh busur atau
cabang. Suatu jenis arus tertentu berkaitan dengan setiap busur. Notasi standar untuk
menggambarkan sebuah jaringan G adalah G = (N,A), dimana N adalah himpunan node
dan A adalah himpunan busur. Suatu jenis arus tertentu berkaitan dengan setiap
jaringan. Pada umumnya, arus dalam sebuah busur dibatasi oleh kapasitasnya, yang
dapat terbatas atau tidak terbatas. Sebuah busur dikatakan terarah atau terorientasi
jika busur tersebut memungkinkan arus positif dalam satu arah dan arus nol dalam arah
yang berlawanan. Karena itu, jaringan yang terarah adalah jaringan dengan semua
busur yang terarah.
Jalur adalah urutan busur-busur tertentu yang menghubungajan dua node tanpa
bergantung pada orientasi busur-busur tersebut secara individual. Jalur akan
membentuk sebuah loop atau siklus jika jalur itu menghubungkan sebuah node dengan
dirinya sendiri. Sebuah loop yang terarah (atau sebuah sirkuit) adalah sebuah loop di
mana semua busur-busurnya memiliki arah atau orientasi yang sama.
Jaringan yang berhubungan adalah sebuah jaringan dimana setiap dua node
dihubungkan dengan sebuah jalur. Pohon adalah sebuah jaringan yang berhubungan
yang dapat hanya melibatkan sebagian dari node dan sebuah pohon perentangan
adalah sebuah jaringan yang berhubngan yang mencakup semua node dalam jaringan
tersebut tanpa loop.
1
II. MASALAH POHON PERENTANGAN
Model yang dihasilkan adalah model khas dari masalah pohon perentangan minimal,
dimana kita menginginkan pohon perentangan yang menghasilkan jumlah terkecil dari
busur-busur penghubung. Akibatnya pohon perentangan minimal menangani penemuan
yang paling “efisien” diantar semua node dalam jaringan, yang berdasarkan definisinya,
tidak dapat mencakup loop atau siklus apapun.
Algoritma pohon perentangan minimal memerlukan awal dari salah satu node manapun
dan menghubungkannya dengan node terdekat dalam jaringan tersebut. Dua node yang
dihasilkan lalu membentuk himpunan yang dihubungkan, C, dengan node sisanya
membentuk node yang tidak dihubungkan, C. Selanjutnya, kita memilih sebuah node
dari himpunan yang tidak dihubngkan yang terdekat (memiliki panjang busur
terpendek) ke salah satu node dalam himpunan yang dihubungkan. Node yang dipilih
tersebut lalu disingkirkan dari himpunan yang tidak dihubungkan dan dimasukkan ke
dalam himpunan yang dihubungkan. Proses ini diulangi sampai himpunan yang tidak
dihubungkan kosong (atau dengan kata lain, sampai semua node dipindahkan dari C ke
himpunan C). Jarak terdekat yang sama dapat dipilih secara sembarang. Tetapi, jarak
yang sama tersebut menunjukkan adanya pemecahan alternatif.
2
perawatan. Masalah ini dapat direpresentasikan dengan sebuah jaringan sebagai berikut.
Setiap tahun diwakili dengan sebuah node. “Panjang” sebuah busur yang
menghubungkan dua node sama dengan biaya penggantian yang bersangkutan seperti
yang diberikan dalm tabel 1. Gambar 1 memperlihatkan jaringan ini. Masalahnya jadi
menemukan “rute” terdekat dari node 1 ke node 5.
”Rute” terdekat dapat ditentukan dengan menggunakan algoritma yang akan kami
sajikan dalam bagian selanjutnya.
1 2 3 4 5
4,8 7,1 3
4,9 4
A. ALGORITMA ASIKLIS
Algoritma Asiklis didasari oleh penggunaan perhitungan rekursif, yang
merupakan dasar dari perhitungan pemrograman dinamis. Langkah-langkah dari
algoritma ini diterangkan melaui contoh numerik.
Contoh
Node 1 adalah node awal (sumber atau asal) dan node 7 adalah titik terminal
(tujuan). Jarak dij antara node i dan j diberikan secara lagsung untuk setiap busur.
Misalnya d12 = 2. Jaringan ini bersifat asiklis karena mencakup loop.
Anggaplah
uj = jarak terdekat dari node 1 ke node j
2 5
[2, 1] 5 [7, 2]
1 4 7
3
3 6
2 11 8 6
[0, -] 10 [7, 3] [13, 5]
4 3 7 9
1
[4, 1] [5, 3]
= min { ui + dij }
Tabel berikut memberikan urutan perhitungan yang mengarah pada pemecahan akhir.
4
Node j Perhitungan uj Label
1 u1 = 0 [0, -]
2 u2 = u1 + d12 = 0 + 2 = 2, dari 1 [2, 1]
3 u3 = u1 + d13 = 0 + 4 = 4, dari 1 [4, 1]
4 u4 = min { u1 + d14, u2 + d24, u3 + d34}
= min {0 + 10, 2 + 11, 4 + 3} = 7 dari 3 [7, 3]
5 u5 = min { u2 + d25, u4 + d45 }
= min {2 + 5, 7 + 8} = 7 dari 2 [7, 2]
6 u6 = min { u3 + d36, u4 + d46 }
= min {4 + 1, 7 + 7} = 5, dari 3 [5, 3]
7 u7 = min { u5 + d57, u6 + d67 }
= min {7 + 6, 5 + 9} = 13, dari 5 [13, 5]
Rute optimum tersebut diperoleh dengan dimulai dari node 7 dan menelusuri ke
belakang dengan menggunakan informasi label. Urutan berikut ini memperlihatkan
prosedur tersebut:
(7) → [13,5] → (5) → [7,2] → (2) → [ 2,1] → (1)
Algoritma ini pada kenyataannya memberikan jarak terdekat antara node 1 dan setiap
node lainnya dalam jaringan ini.
5
hanya dapat diubah jika label baru tersebut menghasilkan jarak d yang lebih
dekat.
6
9
5
4 7
7 1 10
8
2 23
9 5 10
8 1
6 2
8 5
2 2 2 3
2 8 4
3 9
4 8 3
5
1 11
Gambar 8-12