Penentuan Path Terpendek Dengan Algoritme Dekomposisi Jarvis-Tufekci

PENENTUAN PATH TERPENDEK DENGAN ALGORITME
DEKOMPOSISI JARVIS-TUFEKCI

Oleh:
DWI ADE RACHMA PUTRI
G05400050

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

1

ABSTRAK

DWI ADE RACHMA PUTRI. Penentuan Path Terpendek dengan Algoritme Dekomposisi
Jarvis-Tufekci. Dibimbing oleh FARIDA HANUM dan PRAPTO TRI SUPRIYO.
Salah satu masalah arus dalam suatu network adalah penentuan path terpendek. Masalah
path terpendek ini merupakan masalah pengoptimuman, karena dengan diperolehnya path

terpendek diharapkan dapat mengoptimumkan faktor yang lain (misalkan: waktu dan biaya).
Secara umum, masalah path terpendek dalam suatu network ini terbagi menjadi 3 tipe, yakni
menentukan
(1) path terpendek antara suatu simpul dan simpul lainnya,
(2) path terpendek antara suatu simpul dengan semua simpul lainnya, dan
(3) path terpendek antara semua pasang simpul yang terdapat pada network tersebut.
Salah satu algoritme yang dapat digunakan untuk menentukan path terpendek tipe (1)
yakni path terpendek antara suatu simpul dan simpul lainnya adalah algoritme dekomposisi JarvisTufekci. Dalam karya ilmiah ini kedua simpul tersebut masing-masing adalah simpul source
(sumber) dan sink (tujuan). Tahapan yang dilakukan dalam algoritme ini adalah mendekomposisi
suatu network yang diberikan menjadi beberapa buah subnetwork yang bertindih secara linear
(linearly overlapping). Lima tahap utama akan dilakukan dalam menyelesaikan masalah path
terpendek dengan algoritme dekomposisi Jarvis-Tufekci ini. Berdasarkan seluruh tahapan
algoritme dekomposisi Jarvis-Tufekci ini juga akan dilakukan penghitungan kompleksitasnya.

2

PENENTUAN PATH TERPENDEK DENGAN ALGORITME
DEKOMPOSISI JARVIS-TUFEKCI

Oleh:

DWI ADE RACHMA PUTRI
G05400050

Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Sains
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

3

Judul Skripsi
Nama
NIM


: Penentuan Path Terpendek dengan Algoritme Dekomposisi Jarvis-Tufekci
: Dwi Ade Rachma Putri
: G05400050

Menyetujui:

Pembimbing I,

Pembimbing II,

Dra. Farida Hanum, M.Si.
NIP. 131 956 709

Drs. Prapto Tri Supriyo, M. Kom.
NIP. 131 878 952

Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor


Prof.Dr.Ir. Yonny Koesmaryono, MS.
NIP. 131 473 999

Tanggal Lulus :

4

PRAKATA

Alhamdulillaahirabbil’aalamin, Puji dan Syukur khadirat Allah SWT atas rahmat dan
karunia-Nya penulis dapat menyelesaikan penulisan karya ilmiah ini. Pada kesempatan ini penulis
ingin mengucapkan terima kasih kepada:
1. Dra. Farida Hanum, M.Si., dan Drs. Prapto Tri Supriyo, M. Kom. selaku dosen pembimbing
yang telah banyak membantu, membimbing, memberi saran, kritik, serta kepercayaan dan
kesabarannya selama penulis menyelesaikan tugas akhir ini.
2. Drs. Siswandi, M. Si. selaku dosen penguji, terima kasih.
3. Bapak, Mamah, Mbak Ria, Mas Yudi, Atin, Sitta, Athaya, Mas Iwan, dan seluruh keluarga
atas do’a, dukungan, kasih sayang dan kesabarannya.
4. Mas Deni, Ibu Susi, Ibu Ade, Mas Yono, seluruh dosen dan staf Departemen Matematika IPB.
5. Nina, Ida, Nia, Echi, Ribut, Choi, Mbak Nine, dan semua teman ’37 yang masih selalu

memberikan semangat dukungan, dan persahabatan.
6. Lilis, Sri, Marlin, Indah, Hikmah, Desi, adik-adik angkatan terima kasih atas bantuannya.
7. Seluruh staf dan pengajar Bimbingan Belajar dan Les Privat Bina Ilmu Plus Depok.

Bogor, Januari 2007

Dwi Ade Rachma Putri

5

RIWAYAT HIDUP

Penulis dilahirkan di Jakarta pada tanggal 1 Juli 1982 dan merupakan putri kedua dari
empat bersaudara pasangan bapak Aris Sunaryo dan ibu Dyah Septi Sumarsiasih.
Pada tahun 2000 penulis menyelesaikan pendidikan di Sekolah Menengah Umum Negeri
I Bogor. Pada tahun yang sama, penulis diterima di Institut Pertanian Bogor, Departemen
Matematika melalui jalur Ujian Masuk Perguruan Tinggi Negeri (UMPTN).
Selama menjadi mahasiswa, penulis pernah menjadi pengajar di Bimbingan Belajar dan
Les Privat Bina Ilmu Plus Depok.


vi

DAFTAR ISI

Halaman
DAFTAR GAMBAR ...................................................................................................................... vii
PENDAHULUAN
Latar Belakang......................................................................................................................
Tujuan ...................................................................................................................................

1
1

LANDASAN TEORI
Graf .......................................................................................................................................
Network.................................................................................................................................
Kompleksitas Algoritme ......................................................................................................
Algoritme Dekomposisi Hu .................................................................................................

1

5
9
9

PEMBAHASAN
Dekomposisi Network .......................................................................................................... 10
Contoh penerapan algoritme dekomposisi Jarvis-Tufekci untuk menentukan path
terpendek .............................................................................................................................. 14
Penghitungan Kompleksitas Algoritme Dekomposisi Jarvis-Tufekci ................................ 18
SIMPULAN..................................................................................................................................... 20
DAFTAR PUSTAKA ..................................................................................................................... 21

vii

DAFTAR GAMBAR

1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

25

Halaman
Graf dengan 4 simpul dan 5 sisi .............................................................................................. 1
G’ subgraf dari G ..................................................................................................................... 2
Graf dengan 2 komponen......................................................................................................... 2
Digraf ....................................................................................................................................... 2
(a) Walk 1−2−3−4−5 adalah contoh walk berarah................................................................. 3
(b) Walk 1−2−3−4−5 adalah contoh walk tidak berarah........................................................ 3
Path .......................................................................................................................................... 3
Contoh subpath ........................................................................................................................ 3
(a) Cycle 1−2−3−1 adalah cycle berarah................................................................................ 3
(b) Cycle 1−2−3−1 adalah cycle tidak berarah ...................................................................... 3
(a) Digraf terhubung............................................................................................................... 4
(b) Digraf takterhubung.......................................................................................................... 4
Digraf terboboti........................................................................................................................ 4
Digraf yang mengandung cycle ............................................................................................... 5
Network .................................................................................................................................... 5
Contoh network yang longgar.................................................................................................. 6
(a) Network dengan cut set..................................................................................................... 6

(b) Network takterhubung setelah cut set dihilangkan........................................................... 6
Contoh minimal cut set pada suatu network............................................................................ 7
Contoh path dengan 3 simpul .................................................................................................. 7
Contoh path dengan 5 simpul .................................................................................................. 7
Ilustrasi m buah subnetwork yang bertindih secara linear (linearly overlapping) ................. 8
Contoh network dengan 3 buah subnetwork............................................................................ 8
Network yang telah terdekomposisi......................................................................................... 8
Ilustrasi hasil akhir tahap dekomposisi pada suatu network menjadi m buah subnetwork
yang bertindih secara linear ..................................................................................................... 11
Contoh network N’ yang terbentuk.......................................................................................... 12
Contoh path dalam network terdekomposisi ........................................................................... 13
Network yang akan didekomposisi .......................................................................................... 15
Subnetwork N 1 ........................................................................................................................ 15

26 Subnetwork N 2 ........................................................................................................................ 16
27 Subnetwork N 3 ........................................................................................................................ 17
28 Network N’ yang terbentuk ...................................................................................................... 18

1


PENDAHULUAN
Latar Belakang
Salah satu masalah arus dalam suatu network
adalah penentuan path terpendek. Masalah
path terpendek ini merupakan masalah
pengoptimuman, karena dengan diperolehnya
path
terpendek
diharapkan
dapat
mengoptimumkan faktor yang lain (misalkan:
waktu dan biaya).
Secara umum, masalah path terpendek dalam
suatu network ini terbagi menjadi 3 tipe,
yakni:
(1) path terpendek antara suatu simpul dan
simpul lainnya,
(2) path terpendek antara suatu simpul
dengan semua simpul lainnya, dan
(3) path terpendek antara semua pasang
simpul yang terdapat pada network
tersebut.
Pada karya ilmiah ini, yang menjadi masalah
utama adalah masalah tipe (1), yaitu mencari
path terpendek antara suatu simpul, yaitu
source dan suatu simpul lainnya, yaitu sink.
Terdapat beberapa algoritme yang dapat
digunakan untuk mencari path terpendek,
salah satunya adalah algoritme dekomposisi.
Algoritme dekomposisi dibahas di dalam [Hu,
1981], [Yen, 1968], dan [Shier et al., 1973].

Namun, tiap prosedur yang diperkenalkan
memiliki keuntungan yang berbeda. Prosedur
yang diperkenalkan oleh Hu akan tepat bila
diaplikasikan pada network yang memiliki
struktur linear. Prosedur yang diperkenalkan
oleh Shier akan tepat bila diaplikasikan pada
network dengan struktur tree. Ada pula
prosedur yang akan tepat bila diaplikasikan
pada network berbentuk star, yaitu algoritme
dekomposisi yang diperkenalkan oleh Land
dan Stairs [Land & Stairs, 1967].
Dalam karya ilmiah yang merupakan
rekonstruksi dari tulisan Jarvis dan Tufekci
[Jarvis & Tufekci, 1982] ini, algoritme yang
banyak
diterapkan
adalah
algoritme
dekomposisi yang diperkenalkan oleh Hu [Hu,
1981]. Dalam karya ilmiah ini juga dilakukan
penghitungan kompleksitas dari algoritme
dekomposisi yang digunakan.

Tujuan
Tujuan penulisan karya ilmiah ini adalah
mempelajari penyelesaian masalah path
terpendek antara simpul source (s) dan sink (t)
dalam sebuah network dengan menggunakan
Algoritme Dekomposisi Jarvis-Tufekci.

LANDASAN TEORI

Dalam mencari path terpendek antara source
(s) dan sink (t) dalam sebuah network dengan
algoritme dekomposisi, diperlukan beberapa
konsep sebagai berikut:

Graf
Definisi 1 (Graf)
Suatu graf adalah pasangan terurut (V,E)
dengan V adalah himpunan berhingga dan
takkosong dari elemen-elemen graf, yang
disebut simpul (node, verteks), dan E adalah
himpunan pasangan takterurut dari simpulsimpul di V. Setiap {p,q}∈E (dengan p,q∈V)
dan
dikatakan
disebut
sisi
(edge)

menghubungkan simpul p dan simpul q. Sisi
{p,q} dapat pula dituliskan dengan pq.
(Foulds, 1992)
Ilustrasi:
G:
v1

e1

v2

e3

e2
v3

e4
e5

v4

Gambar 1. Graf dengan 4 simpul
dan 5 sisi.

Graf G pada Gambar 1 mempunyai himpunan
simpul V={v1, v2, v3, v4} dan himpunan sisi
E={e1, e2, e3, e4, e5}.

Ilustrasi:
G:

Definisi 2 (Incident)
Misalkan diberikan graf G=(V,E). Jika sisi
e={p,q}∈E, maka simpul p dan q masingmasing dikatakan incident dengan sisi e.
Dapat pula dikatakan bahwa sisi e incident
dengan simpul p dan q.
(Foulds, 1992)

3

5

2

4

6

Gambar 3. Graf dengan 2 komponen.
Graf G pada Gambar 3 memiliki 2 buah
komponen,
yaitu
komponen
yang
mengandung himpunan simpul {1,2,3,4} dan
yang mengandung himpunan simpul {5,6}.

Ilustrasi:
Berdasarkan graf pada Gambar 1, maka
e1 incident dengan simpul v1 dan v2,
e2 incident dengan simpul v1 dan v3,
e3 incident dengan simpul v2 dan v3,
dan seterusnya.

Definisi 5 (Digraf)
Suatu graf berarah/digraf (directed graph) D
adalah pasangan terurut (V,A) dengan V
adalah himpunan takkosong dan hingga, dan A
adalah himpunan pasangan terurut elemenelemen di V. Elemen dari A biasa disebut sisi
berarah (arc).

Definisi 3 (Subgraf)
Suatu graf G’=(V’,E’) adalah suatu subgraf
dari G=(V,E) jika V’⊆ V dan E’⊆ E.

Jika (u,v) (seringkali dituliskan dengan uv)
adalah suatu sisi berarah pada digraf, maka u
dikatakan predecessor dari v, dan v adalah
suatu successor dari u.
(Foulds, 1992)

(Ahuja et al., 1993)
Ilustrasi:

G:

1

1
Ilustrasi:
D:

6
2
5

3

2

4

3

5

1

4

Gambar 4. Digraf.

G’:
Untuk digraf pada Gambar 4, V={1,2,3,4,5}
dan A={(1,2), (1,3), (2,3), (2,4), (2,5), (3,5),
(4,5)}.

1
6
2
5

Pada sisi berarah (1,2), maka simpul 1 adalah
predecessor bagi simpul 2, dan simpul 2
adalah successor bagi simpul 1. Hal yang
sama berlaku bagi sisi berarah lainnya.

3

Gambar 2. G’ subgraf dari G.

Definisi 4 (Komponen)
Suatu subgraf maksimum yang terhubungkan
dari graf G disebut komponen dari G.
(Foulds, 1992)

Definisi 6 (Walk)
Suatu walk pada suatu digraf D=(V,A) adalah
suatu subgraf dari D=(V,A) yang berupa suatu
barisan dari simpul dan sisi berarah i1−a1−i2−
a2−…−ir−1−ar−1−ir dan untuk semua 1≤ k ≤ r−1
berlaku ak=(ik , ik+1)∈A atau dapat ditulis
ak=(ik+1, ik) ∈A.

2

Dapat pula dikatakan bahwa walk adalah
suatu himpunan (barisan) dari sisi berarah
atau simpul-simpul.

Definisi 8 (Subpath)
Suatu subpath dari path v0−v1−v2−.....−vk
adalah barisan simpul vi−vi+1−......−vj yang
terdapat dalam path tersebut sedemikian
sehingga 0 ≤ i ≤ j ≤ k.
(Cormen et al., 1990)

Walk dapat dibedakan menjadi 2, yakni:
a) Walk berarah yaitu suatu walk yang
memiliki satu arah, sehingga untuk
sembarang 2 buah simpul ik dan ik+1 yang
berurutan pada walk tersebut, (ik , ik+1)∈A.
b) Walk tidak berarah yaitu suatu walk yang
tidak memenuhi definisi walk berarah.
(Ahuja et al., 1993)

Ilustrasi:
Dengan menggunakan path pada Gambar 6
dapat diperoleh contoh subpath, yakni:
2

Ilustrasi:

1
2

3

5

Gambar 7. Contoh subpath.

1
3

4
Definisi 9 (Cycle)
Suatu cycle adalah suatu path i1−i2−...−ir dan
mengandung (i1, ir) atau (ir,i1), atau dapat
dituliskan sebagai i1−i2−...−ir−i1. Suatu cycle
dapat pula didefinisikan sebagai path yang
tertutup.

Gambar 5(a). Walk 1−2−3−4−5 adalah
contoh walk berarah.
2

5

1
3

Berdasarkan definisi path, maka cycle dapat
dibedakan menjadi 2, yakni:
1) Cycle berarah yaitu path berarah
i1−i2−...−ir dan mengandung sisi berarah
(ir,i1).
2) Cycle tidak berarah yaitu path tidak
berarah i1−i2−...−ir dan mengandung sisi
berarah (ir,i1).
(Ahuja et al., 1993)

4

Gambar 5(b). Walk 1−2−3−4−5 adalah
contoh walk tidak berarah.

Definisi 7 (Path)
Suatu path dalam suatu digraf adalah suatu
walk dengan semua simpulnya berbeda (tidak
ada yang berulang).

Ilustrasi:
1

Berdasarkan definisi walk, maka path dapat
pula dibedakan menjadi 2, yakni path berarah
dan path tidak berarah.
(Ahuja et al., 1993)

2

3

Gambar 8(a). Cycle 1−2−3−1 adalah
cycle berarah.

Ilustrasi:
2
1

1
3

5

Gambar 6. Path.

2

Path 1−2−3−5 pada Gambar 6 merupakan
contoh path yang dimiliki oleh digraf pada
Gambar 4. Path ini merupakan contoh path
berarah.

3

Gambar 8(b) Cycle 1−2−3−1 adalah
cycle tidak berarah.

3

didefinisikan pula bahwa d(u,u)=0, dan
d(u,v)=∞ (takhingga) jika tidak ada sisi
berarah yang menghubungkan simpul u dan v
tersebut.
(Cormen et al., 1990)

Definisi 10 (Digraf Terhubungkan)
Suatu digraf D=(V,A) dikatakan terhubungkan
(connected), jika terdapat paling sedikit satu
buah path yang menghubungkan setiap pasang
simpul pada digraf tersebut. Jika tidak, maka
digraf tersebut dikatakan takterhubung.
(Foulds, 1992)

Ilustrasi:
Bardasarkan digraf terboboti pada Gambar 10,
maka dapat diperoleh:
d(1,1)=0
d(2,3)=1
d(1,2)=1
d(2,4)=5
d(1,3)=3
d(3,3)=0
d(1,4)=∞
d(3,4)=1
d(2,2)=0
d(4,4)=0.

Ilustrasi:
1

2

4

3

5

Gambar 9(a). Digraf terhubung.
1

2

4

3

5

Definisi 13 (Panjang path)
Misalkan diberikan path p, v0−v1−v2−.....−vk.
Panjang path p adalah jumlah semua panjang
sisi berarah yang terdapat pada path tersebut,
atau dapat dituliskan sebagai:
k

d ( p ) = d (v 0 , v k ) = ∑ d (v i −1 , v i ) .
i =1

Gambar 9(b). Digraf takterhubung.

(Cormen et al., 1990)
Ilustrasi:
Pada Gambar 10, terdapat beberapa path.
Berikut ini panjang path-path yang
menghubungkan simpul 1 dan simpul 4 pada
digraf pada Gambar 10 tersebut:
Panjang path 1−2−4 =d(1,4)
=d(1,2)+d(2,4)
=1+5
=6
Panjang path 1−3−4 =d(1,4)
=d(1,3)+d(3,4)
=3+1
=4
Panjang path 1−2−3−4 =d(1,4)
=d(1,2)+d(2,3)+d(3,4)
=1+1+1
=3.

Definisi 11 (Graf terboboti)
Suatu graf G=(V,E) atau digraf D=(V,A)
dikatakan terboboti jika terdapat fungsi
d:E→R atau d:A→R (dengan R adalah
himpunan bilangan real) yang memetakan
setiap bilangan real (yang disebut bobot)
untuk setiap sisi di E (atau A). Setiap bobot
d(uv) dengan uv ∈ E (atau uv ∈ A) biasa
dituliskan dengan duv.
(Foulds, 1992)
Ilustrasi:
2
1
1

5
1

4
1

3
3

Definisi 14 (Path terpendek)
Path u−v dikatakan sebagai path terpendek
jika path yang menghubungkan simpul u dan
simpul v tersebut memiliki panjang minimum
di antara path-path u−v lainnya.
(Hu, 1981)

Gambar 10. Digraf terboboti.

Definisi 12 (Panjang sisi berarah)
Misalkan diberikan suatu digraf terboboti
dengan fungsi yang memetakan tiap sisi
berarah dengan suatu bilangan real. Maka,
bobot ini dapat pula dikatakan sebagai
panjang sisi berarah. Panjang sisi berarah
yang menghubungkan simpul u dengan v
duv=d(u,v),
dan
dinotasikan
dengan

Ilustrasi:
Berdasarkan digraf terboboti pada Gambar 10,
dan panjang path-path yang menghubungkan
simpul 1 dan 4 pada Ilustrasi Definisi 13,
maka dapat ditentukan path terpendek yang
menghubungkan simpul 1 dan 4 adalah path

4

Berdasarkan Gambar 11, cycle 2−4−3−2
merupakan cycle negatif karena memiliki
panjang cycle:
d(c) = d(2,4) + d(4,3) + d(3,2)
= (−11) + 2 +8
= −1 < 0.
Sedangkan cycle 1−3−2−1 merupakan cycle
taknegatif (dapat pula dikatakan positif),
karena memiliki panjang cycle:
d(c) = d(1,3) + d(3,2) + d(2,1)
= 5 + 8 + (−10)
= 3 ≥ 0.

1−2−3−4, karena memiliki panjang minimum
di antara path-path 1−4 lainnya, yaitu 3.
Dalam karya ilmiah ini, definisi “panjang”
dapat pula diartikan sebagai “jarak”.

Definisi 15 (Matriks jarak)
Misalkan D=(V,A) adalah suatu digraf dengan
V = {v1 , v 2 ,...., v n } dan A = {a1 , a 2 ,...., a m } .
Matriks jarak M didefinisikan dengan M=(mij)
dengan mij=d(vi,vj).
(Chartrand & Oellermann, 1993)
Ilustrasi:
Dengan menggunakan digraf terboboti pada
Gambar 10, maka dapat diperoleh matriks
jarak dari digraf tersebut, yakni sebagai
berikut:

Network
Definisi 17
Kasus khusus digraf terboboti adalah network
(jaringan kerja). Beberapa konsep pada
network adalah sebagai berikut:
1. Jika a = (vi,vj) adalah suatu sisi berarah
pada digraf D=(V,A), maka a dikatakan
sebagai sisi berarah yang menjauhi vi dan
mendekati vj.
2. Suatu simpul sehingga tidak ada sisi
berarah yang mendekati dirinya disebut
dengan sumber (source), sedangkan suatu
simpul sehingga tidak ada sisi berarah
yang menjauhi dirinya disebut dengan
sink
3. Suatu network adalah suatu digraf yang
mempunyai tepat satu source dan tepat
satu sink.

1⎡ 0
1
3 +∞ ⎤

2 +∞ 0
1
5 ⎥⎥ .
M= ⎢
3 ⎢ +∞ +∞ 0
1 ⎥


4 ⎣ +∞ +∞ +∞ 0 ⎦
Definisi 16 (Panjang cycle)
Misalkan diberikan suatu cycle berarah c,
yaitu v0−v1−v2−.....−vk dengan v0 = vk. Panjang
cycle berarah c adalah jumlah panjang seluruh
sisi berarah yang terdapat pada cycle tersebut,
atau dapat dituliskan sebagai:
k

d (c) = ∑ [d (vi −1 , vi ) − d (vi , vi −1 )] .
i =1

Pada banyak aplikasi network, paling sedikit
terdapat satu aliran/flow yang bergerak dari
source ke sink. Flow pada network merupakan
bobot pada digraf.
(Foulds, 1992)

Panjang cycle dapat dibedakan sebagai
berikut:
• Panjang cycle dikatakan negatif jika d(c)< 0
• Panjang cycle dikatakan taknegatif jika
d(c) ≥ 0
• Panjang cycle dikatakan positif jika d(c) >0.
(Ahuja et al., 1993)

Ilustrasi:
1
3

5

1
8

−10

2

5

3
2

−11

2

2

3

s

Ilustrasi:

2

1

3

t
2

Gambar 12. Network.

4
Definisi 18 (Kerapatan network)
Kerapatan suatu network adalah perbandingan
banyaknya sisi berarah sebenarnya pada
network dengan banyaknya sisi berarah

Gambar 11. Digraf yang mengandung cycle.

5

maksimum yang mungkin terdapat pada
network tersebut.

Ilustrasi:
N:

s

Jika suatu network N = (V,A) terdiri atas n
buah simpul dan n(n−1) buah sisi berarah,
maka network seperti itu dikatakan memiliki
kerapatan sebesar 100%. Namun, jika suatu
network memiliki nilai kerapatan yang lebih
kecil dari 0,20 maka network tersebut
dikatakan longgar.
(Jarvis & Tufekci, 1982)

2

3

4

5

Ilustrasi:
N:

6

7

a1

s

a2

1

X

8
2

a3

t

3

a5

1

a4

Gambar 14(a). Network dengan cut set.

t
4

a6

5

a7

s

Gambar 13. Contoh network yang longgar.
1

Network N pada Gambar 13 memiliki n=7
buah simpul yaitu {s,1,2,3,4,5,t}, dan 7 buah
sisi berarah yaitu {a1,a2,a3,a4,a5,a6,a7).
Banyaknya sisi berarah maksimum yang
mungkin terdapat pada network tersebut
adalah n(n−1)=7(7−1) =42 buah sisi berarah.
Maka, kerapatan network tersebut adalah
7 = 0,17 . Nilai kerapatan yang kurang dari
42
0,20 tersebut menunjukkan bahwa network
tersebut merupakan network yang longgar.

8

t
Gambar 14(b). Network takterhubung setelah
cut set dihilangkan.
Pada network N pada Gambar 14(a),
himpunan simpul X ={2,3,4,5,6,7} merupakan
cut set dari himpunan simpul {s,1}, atau cut
set dari himpunan simpul {8,t}. Sedangkan
Gambar 14(b) menunjukkan network tersebut
menjadi takterhubung, jika himpunan simpul
yang merupakan cut set tersebut dihilangkan.

Definisi 19 (Cut set)
Misalkan diberikan suatu network terhubung
N=(V,A) dan misalkan B dan X merupakan
himpunan bagian dari V dengan X ≠ B.
Himpunan X dikatakan sebagai cut set dari B
jika memenuhi kondisi-kondisi berikut:
(a) Jika X dan semua sisi berarah yang
incident dengan X dihilangkan, maka
network N=(V,A) tersebut menjadi
takterhubung,
(b) Semua simpul pada B berada pada satu
komponen yang sama dan tidak terdapat
simpul lain yang bukan anggota B pada
komponen ini.
(Hu & Torres, 1969)

Definisi 20 (Minimal cut set)
Misalkan X adalah cut set dari N. Maka, X
dikatakan sebagai minimal cut set jika tidak
terdapat himpunan bagian sejati dari X yang
juga merupakan cut set.
(Hu & Torres, 1969)

6

di k ← min {dik , dij + djk}
= min {6,3+2}
= min {6,5}
=5
∴ di k ← 5.

Ilustrasi:

s
1
2

3

4

5

Secara umum, operasi tripel dapat digunakan
untuk lebih dari 3 simpul.

X1

Ilustrasi:
1
6

7

X2

1
2

8

3

2

1
4

4

5
3

Gambar 17. Contoh path dengan 5 simpul
Untuk menentukan jarak terpendek antara
simpul 1 dan simpul 5, maka dilakukan
operasi tripel sebagai berikut:
• d15 ← min {d15, d12 + d25}
• d15 ← min {d15, d13 + d35}
• d25 ← min {d25, d24 + d45}
= min {+∞, 4 + 3}
= min {+∞, 7}
=7
• d35 ← min {d35, d34 + d45}
= min {2, 1 + 3}
= min {2, 4}
=2
• d15 ← min {d15, d13 + d35}
= min {+∞, 3 + 2}
= min {+∞, 5}
=5
• d15 ← min {d15, d12 + d25}
= min {5, 1 + 7}
= min {5, 8}
= 5.

t
Gambar 15. Contoh minimal cut set
pada suatu network.
Berdasarkan Gambar 15, terlihat bahwa
X1={2,3} dan X2={6,7} adalah minimal cut
set pada network tersebut.
Berbeda halnya dengan cut set pada Gambar
14(a) yang tidak dapat dikatakan sebagai
minimal cut set karena masih memiliki
himpunan bagian sejati yang juga merupakan
cut set.

Definisi 21 (Operasi tripel)
Misalkan dij menyatakan panjang/jarak antara
simpul i dan simpul j pada digraf D. Maka,
didefinisikan operasi tripel sebagai berikut:
dik ← min {dik, dij + djk} untuk i ≠ j ≠ k
dengan lambang “←” menyatakan “digantikan
oleh”.
(Hu, 1981)

∴ d15 ← 5.
Definisi 22 (Network terdekomposisi)
Misalkan Xi adalah himpunan simpul dan
diketahui Xi ≠ ∅, untuk setiap i. Suatu
network N=(V,A) dikatakan terdekomposisi
menjadi
m
buah
subnetwork
N 1 , N 2 , N 3 ,..... , N m yang bertindih secara
linear (linearly overlapping) jika memenuhi
kondisi-kondisi berikut:
; i≠ j
(1) X i I X j = Ø

Ilustrasi:

j
3
2

i
6

3

k

Gambar 16. Contoh path dengan 3 simpul.

m

Untuk menentukan jarak terpendek antara
simpul i dan k pada Gambar 16, maka
dilakukan operasi tripel, yakni:

(2) U N i = N
i =1

7

⎧ X i −1
; j =i −1

(3) N i I N j = ⎨ X i
; j =i +1
⎪ Ø

; j ≠ (i −1),i,(i +1).
(Jarvis & Tufekci, 1982)

N1

N2

X1

Nm

N3

X2

..............

X3

Xm−1

Gambar 18. Ilustrasi m buah subnetwork yang bertindih
secara linear (linearly overlapping).

subnetwork yang bertindih secara linear
(linearly overlapping).

Berikut ini merupakan ilustrasi sebuah
network yang terdekomposisi menjadi 3 buah

Ilustrasi:
N:

1

3

5

7

2

4

6

t

X1

X2

s

Gambar 19. Contoh network dengan 3 buah subnetwork.

Network pada Gambar 19, terdekomposisi
menjadi 3 buah subnetwork N 1 , N 2 , N 3

Ilustrasi:
Misalkan diberikan suatu network N=(V,A)
yang terdekomposisi menjadi 2 buah
subnetwork sebagai berikut:

dengan himpunan simpul di N 1 = {s,1,2,3,4},
N 2 = {3,4,5,6}, dan N 3 = {5,6,7,8}, dengan
X1 = {3,4} dan X2 = {5,6}.

N:

Definisi 23 (Persamaan minisumasi)
Misalkan diberikan suatu network N=(V,A)
yang terdekomposisi menjadi 2 buah
subnetwork N 1 dan N 2 , maka N=N1∪X∪N2
dengan X adalah cut set pada network N.
menyatakan jarak
Misalkan pula d uv*

2

1
2

s

1

2

4

t
3

5

3
3

1

4

X

terpendek antara simpul u dan simpul v.

Gambar 20. Network yang telah
terdekomposisi.

Persamaan minisumasi didefinisikan sebagai
berikut:
min *
d ik* =
{d ij + d *jk }
j
dengan i∈N1, j∈X, dan k∈N2.
(Hu & Torres, 1969)

Network N pada Gambar 20 mempunyai 2
buah subnetwork dengan N1={s,1}, X={2,3},
dan N2={4,t}.

8

membutuhkan waktu cnm untuk beberapa
konstanta c. Pernyataan ini ekuivalen dengan
pernyataan
bahwa
algoritme
tersebut
membutuhkan waktu O(nm). Secara formal
dapat didefinisikan sebagai berikut:
“Suatu algoritme dikatakan bekerja dalam
waktu O(f(n)) jika untuk beberapa bilangan c
dan no, maka waktu yang diperlukan oleh
algoritme tersebut paling banyak adalah cf(n)
untuk semua n ≥ no”.
(Ahuja et al., 1993)

Untuk mengetahui jarak terpendek dari N1 ke
N2 dapat ditentukan dengan menggunakan
persamaan minisumasi berikut:
*
*
d s*4 = min[( d s*2 + d 24
), ( d s*3 + d 34
)]
= min [(7 + 7), (3 + 1)]
= min [14, 4]
=4
d st* = min[( d s*2 + d 2*t ), ( d s*3 + d 3*t )]
= min [(7 + 1), (3 + 5)]
= min [8, 8]
=8
*
*
d 14* = min[( d 12* + d 24
), (d 13* + d 34
)]
= min [(6 + 7), (2 + 1)]
= min [13, 3]
=3
d 1*t = min[( d 12* + d 2*t ), (d 13* + d 3*t )]
= min [(6 + 1), (2 + 5)]
= min [7, 7]
= 7.

Algoritme Dekomposisi Hu

Hu adalah salah seorang tokoh yang
memperkenalkan algoritme dekomposisi.
Dalam karya ilmiah ini algoritme dekomposisi
yang diperkenalkan oleh Hu berperan dalam
penyelesaian masalah path terpendek pada
suatu network yang diberikan.
Misalkan diberikan suatu network N=(V,A)
yang longgar dan memiliki banyak simpul
yang cukup besar (berskala besar). Untuk
menyelesaikan masalah path terpendek dalam
network tersebut, Hu menggunakan algoritme
dekomposisi.
Langkah
pertama
pada
algoritme dekomposisi Hu ini adalah
mendekomposisi network N=(V,A) yang
diberikan menjadi m buah subnetwork
N 1 , N 2 , N 3 ,..... , N m yang bertindih secara
linear (linearly overlapping).

Kompleksitas Algoritme
Definisi 24 (Algoritme)
Algoritme adalah suatu tahapan/prosedur
untuk menyelesaikan suatu masalah.

Langkah-langkah dari suatu algoritme
dibedakan sebagai berikut:
1) Langkah penetapan.
Contoh: menetapkan beberapa nilai untuk
suatu variabel.
2) Langkah aritmatika/penghitungan.
Contoh: penjumlahan, pengurangan,
perkalian, dan pembagian.
3) Langkah logika.
Contoh:
membandingkan
2
buah
bilangan.
(Ahuja et al., 1993)

Tahapan yang perlu dilakukan dalam
mendekomposisi network N=(V,A) tersebut
adalah:
1) Suatu himpunan simpul yang merupakan
himpunan bagian dari V ditandai sebagai
N1.
2) Menentukan himpunan simpul yang
merupakan minimal cut set dari N1.
3) Menandai himpunan simpul berikutnya
yang merupakan cut set (tidak harus
merupakan minimal cut set) dari (N1∪X1)
sebagai N2.
4) Menentukan himpunan simpul yang
merupakan minimal cut set dari
(N1∪X1∪N2) sebagai X2.
5) Hal yang sama dilakukan hingga network
tersebut
terdekomposisi seluruhnya
menjadi
m
buah
subnetwork
N 1 , N 2 , N 3 ,..... , N m dengan
N 1 = N1 U X 1 ,

Definisi 25 (Kompleksitas Algoritme)
Fungsi kompleksitas waktu untuk suatu
algoritme adalah fungsi dari ukuran masalah
dan waktu yang diperlukan oleh algoritme
tersebut untuk menyelesaikan masalah yang
diberikan.
Untuk
selanjutnya,
fungsi
kompleksitas waktu ini disebut dengan
kompleksitas algoritme.
(Ahuja et al., 1993)

Definisi 26 ( Notasi “big O”)
Notasi “big O” adalah suatu ekspresi yang
menyatakan
bahwa
suatu
algoritme

N 2 = X1 U N 2 U X 2 ,
N 3 = X 2 U N 3 U X 3 , seterusnya hingga

9

N m −1 = X m − 2 U N m −1 U X m −1 ,dan

dilakukan
hingga
operasi
tripel
diaplikasikan pada subnetwork N m . Pada
akhir tahap (1) ini diperoleh:
M N* N ( N 1 ) , M * ( N 1 U N 2 ) , .......,

N m = X m−1 U N m .
Jadi, N=N1∪X1∪N2∪....∪Xm−1∪Nm.

1

Misalkan didefinisikan N i = N i − ( X i −1 U X i ) ,
dan misalkan M N N menyatakan matriks jarak
i

dari Ni ke Nj, sedangkan M ( N k ) menyatakan
matriks jarak terpendek dari Ni ke Nj yang
terletak pada N k . Tahapan yang dilakukan
dalam algoritme dekomposisi Hu adalah
sebagai berikut:
(1) Operasi tripel diaplikasikan pada m buah
subnetwork
N 1 , N 2 , N 3 ,..... , N m −1 , N m
secara bertahap. Jarak terpendek yang
subnetwork
diperoleh
dari
suatu
menggantikan jarak aslinya pada
subnetwork berikutnya (yang akan
dikenai operasi tripel), misalkan:
yang
diperoleh
akan
M X* X ( N 1 )

m −1 m −1

M X* m −1X m−1 ( N − N m ) . Pada akhir tahap (2)

ini dapat diperoleh: M N* N ( N ) ,......,
m −1 m −1
M N* 2 N 2 ( N ) , M N* 1 N 1 ( N ) .

(3) Jarak terpendek antara pasangan simpul
yang tidak terdapat pada subnetwork
yang
sama
ditentukan
dengan
menggunakan persamaan minisumasi.
(Hu & Torres, 1969)

1 1

jarak

M X1 X1

N2 N2

(2) Operasi tripel diaplikasikan pada m−1
buah subnetwork N m −1 , N m − 2 ....., N 2 , N 1
secara bertahap. Jarak yang diperoleh
pada suatu subnetwork menggantikan
jarak pada subnetwork selanjutnya (yang
akan dikenai opersi tripel), misalkan:
M *X X ( N ) akan menggantikan jarak

j

*
ij

menggantikan

1

M N* m−1 N m−1 ( N 1 U N 2 U .... U N m −1 ) , M N* m N m ( N ) .

sebelum

operasi tripel dilakukan pada subnetwork
N 2 =N1∪X1∪N2. Hal yang sama

PEMBAHASAN

Berikut ini adalah prosedur yang digunakan
dalam algoritme dekomposisi Jarvis-Tufekci
dalam menyelesaikan masalah path terpendek
pada suatu network.

Dekomposisi Network

Dalam bab ini akan diberikan beberapa
asumsi yang diperlukan dan prosedur yang
digunakan dalam algoritme dekomposisi
Jarvis-Tufekci untuk dapat menyelesaikan
masalah path terpendek antara source (s) dan
sink (t) pada suatu network. Selain itu, akan
diberikan pula contoh penerapan algoritme
dekomposisi tersebut dalam suatu network
yang diberikan. Pada akhirnya akan diuraikan
penghitungan kompleksitas dari algoritme
dekomposisi ini.

Misalkan diberikan suatu network berskala
besar yang longgar N=(V,A) dengan
V={v1,v2,....,vn} dan A adalah himpunan sisi
berarah yang terdapat pada network tersebut,
dengan tiap sisi berarah yang menghubungkan
simpul vi dan simpul vj memiliki panjang yang
dinotasikan dengan dij=d(vi,vj).
Misalkan network N=(V,A) yang diberikan
terdekomposisi menjadi m buah subnetwork
N 1 , N 2 , N 3 ,..... , N m yang bertindih secara
linear (linearly overlapping). Tahapan yang
dilakukan dalam mendekomposisi network N
yang diberikan tersebut tidak berbeda dengan
tahapan yang dilakukan oleh algoritme Hu,
sehingga pada akhir tahap diperoleh
N=N1∪X1∪N2∪....∪Xm−1∪Nm yang dapat pula
diilustrasikan sebagai berikut:

Penentuan path terpendek antara simpul
source dan sink pada suatu network berskala
besar dengan menggunakan algoritme
dekomposisi Jarvis-Tufekci memerlukan
beberapa asumsi berikut:
1) Network yang akan didekomposisi
merupakan network yang longgar/tidak
rapat.
2) Network tersebut tidak memuat cycle
yang negatif.

10

N:
N1

N1

N2

Nm

N3

X1 N2 X2 N3 X3

..............

Xm−1 Nm

Gambar 21. Ilustrasi hasil akhir tahap dekomposisi pada suatu network
menjadi m buah subnetwork yang bertindih secara linear.
Misalkan didefinisikan Ni = Ni − ( X i −1 U X i ).
Matriks jarak yang terbentuk pada N1 adalah
M N N = ( mN N ) dengan tiap elemennya yaitu
1 1

simpul di Ni dengan simpul di Nj. Oleh sebab
itu, semua elemen matriks jarak M N N adalah
i

1 1

mN1N1 menyatakan panjang path berarah yang

menghubungkan simpul di N1 dengan simpul
di N1 pula. Matriks jarak dari N1 ke N2 adalah
dengan
tiap
m N1 N 2
M N1 N 2 = (m N1N 2 )
menyatakan panjang path berarah yang
menghubungkan antara simpul di N1 dengan
simpul lainnya di N2. Namun, seperti terlihat
dalam ilustrasi pada Gambar 21, maka
Ni∩Nj=∅, untuk i ≠ j dengan i, j = 1,2,3,...,m.
Hal itu menunjukkan bahwa untuk i ≠ j, tidak
ada path berarah yang menghubungkan
N1
M N1N1
M N1 X 1 M N1 N 2 M N1 X 2 ......

j

∞ (takhingga). Matriks jarak dari N1 ke X1
adalah M N X = (m N X ) dengan tiap m N X
1 1
1 1
1 1
menyatakan panjang path berarah yang
menghubungkan antara simpul di N1 dengan
simpul di X1. Hal yang sama dilakukan hingga
M N m N m , sehingga pada akhirnya diperoleh
matriks jarak dari seluruh subnetwork yang
dapat dinyatakan dengan:

M N1 X m − 2

M N 1 N m −1

M N1 X m −1

M N1 N m

X1

M X 1 N1

M X1 X1

M X1N 2

M X1 X 2

......

M X1 X m −2

M X 1 N m −1

M X 1 X m −1

M X1N m

N2

M N 2 N1

M N 2 X1

M N2N2

M N2 X 2

......

M N2 X m−2

M N 2 N m −1

M N 2 X m −1

M N2Nm

X2

M X 2 N1

M X 2 X1

M X 2N2

M X2X2

......

M X 2 X m−2

M X 2 N m −1

M X 2 X m −1

M X 2Nm

......

Nm

M Nm Nm

N1

X1

N2

X2

.......

N m− 1

Xm−1

Nm

(finite) dan ditunjukkan oleh daerah yang
diarsir, sedangkan daerah yang tidak diarsir
menyatakan matriks jarak yang memiliki
elemen takhingga (infinite).

Berdasarkan matriks jarak dari seluruh
subnetwork tersebut, maka dapat terlihat
bahwa hanya matriks jarak M N N dengan
i

Xm−2

i

i=1,2,....,m yang memiliki elemen hingga

11

subnetwork N 2 =N1∪X1∪N2. Hal yang
sama dilakukan hingga operasi tripel
diaplikasikan pada subnetwork N m ,
sehingga pada akhir Tahap I ini diperoleh
matriks-matriks jarak terpendek berikut:
M N* N ( N 1 ) , M * ( N 1 U N 2 ) , ....,

Berikut ini adalah langkah-langkah yang
dilakukan algoritme dekomposisi JarvisTufekci untuk menyelesaikan masalah path
terpendek.
ƒ Tahap I:
Langkah pertama pada algoritme
dekomposisi
Jarvis-Tufekci
adalah
menggunakan tahap pertama dari
algoritme dekomposisi Hu, yakni:
Operasi tripel diaplikasikan pada m buah
subnetwork
N 1 , N 2 , N 3 ,..... , N m −1 , N m
secara bertahap. Jarak terpendek yang
diperoleh
dari
suatu
subnetwork
menggantikan jarak aslinya pada
subnetwork berikutnya (yang akan
dikenai operasi tripel). Sebagai contoh,
matriks jarak M X* X ( N 1 ) yang diperoleh

1

N2 N2

1

M N* m−1 N m−1 ( N 1 U N 2 U .... U N m −1 ) , M N* m N m ( N ) .

ƒ

1 1

akan menggantikan matriks jarak M X X
1 1

Tahap II:
Misalkan dij* ( N k ) menyatakan jarak
terpendek antara simpul i dan simpul j
yang terletak pada N k . Berdasarkan
matriks jarak terpendek yang diperoleh
pada Tahap I, maka dapat didefinisikan
matriks jarak M’=(mij) dengan elemenelemennya sebagai berikut:

sebelum operasi tripel dilakukan pada


d sj* ( N 1 )
⎪ *
⎪d ( N 1 U .... U N k )
mij = ⎨ ij
d it* ( N )





; untuk i = s ; j ∈ X 1 ,
; untuk i ∈ X k −1 ; j ∈ X k ,
; untuk i ∈ X m −1 ; j = t
; selainnya.

dengan mij adalah elemen dari matriks jarak
M’ pada baris ke−i, dan kolom ke−j.
ƒ

(Xi,Xj), (Xm−1,{t}) dengan j=i+1 untuk
i=1,2,3,....,m−2. Namun, A’ tidak
mengandung himpunan sisi dengan arah
sebaliknya, yakni (X1,{s}), (Xj,Xi),
(t,Xm−1) dengan j=i+1, sehingga network
N’ tidak akan memuat cycle berarah.

Tahap III:
Berdasarkan matriks jarak M’, maka
terbentuk network N’=(V’,A’) dengan
V’={s}∪X1∪X2∪...∪Xm−1∪{t} dan A’
merupakan himpunan sisi berarah
({s},X1), (X1,X2), ....., (Xm−2,Xm−1),
(Xm−1,{t}), atau dapat pula didefinisikan
A’ adalah himpunan sisi berarah ({s},X1),

Berikut ini akan diberikan contoh network N’
yang terbentuk:

N’:

8

1
5

s

9

2

12

t

6
3

10

13

7
4

X1

11

X2

X3

X4

Gambar 22. Contoh network N’ yang terbentuk.

12

Pada network N’ pada Gambar 22, maka
terlihat bahwa himpunan simpul X1={1,2,3,4},
X2={5,6,7}, X3={8,9,10,11}, dan X4={12,13}.
ƒ

simpul i dan simpul j. Misalkan pula wu
menyatakan jarak terpendek simpul
source ke simpul u. Penentuan jarak
terpendek antara simpul source (s) dan
simpul sink (t) dapat dilakukan dengan
menggunakan algoritme A [Jarvis &
Tufekci, 1982] berikut:

Tahap IV:
Berdasarkan jarak dari tiap sisi berarah
pada network N’, maka misalkan d ij*

menyatakan

jarak

terpendek

antara

Algoritme A
Tahap awal
: ws = 0 : wi = d si* ; i∈Xk , k = 1

: (1) Untuk k ⇐ k + 1, jika k = m,
Lanjutkan ke (3)
min
(2) wq =
wi + d iq*
; untuk setiap q∈Xk,
i ∈ X k −1
lanjutkan ke (1)
min
(3) wt =
w + d it*
i ∈ X m −1 i
selesai.
Jarak terpendek dari s ke t telah diperoleh.

Tahap utama

ƒ

{

}

{

}

Tahap V:
Jarak terpendek antara simpul source dan
sink pada network N’ yang diperoleh dari
algoritme A pada Tahap IV merupakan
panjang path terpendek P’ dalam network
N’. Path terpendek P’ tersebut adalah
s−x1−x2−......−xm−1−t, dengan xi∈Xi, atau
dapat dikatakan bahwa xi merupakan
salah satu simpul pada Xi. Path terpendek
P’ dalam network N’ ini berpadanan
dengan path terpendek sebenarnya dalam
network N aslinya. Hal ini sesuai dengan
teorema berikut:

Bukti:
Misalkan path P yaitu s−i1−i2−.....−iq−t,
merupakan path terpendek dalam network N
sebenarnya.
Path
P
tersebut
harus
mengandung paling sedikit satu buah simpul
dari setiap Xi dengan i=1,2,3,...,m−1.

Misalkan
path
P’
s−j1−j2−....−jm−1−t
merupakan subpath dari path P sedemikian
sehingga simpul jk merupakan simpul pertama
pada path P yang juga merupakan anggota Xk.
Berikut ini merupakan contoh path dalam
suatu network terdekomposisi.

Teorema 1
Jarak terpendek pada network N’=(V’,A’)
berpadanan dengan jarak terpendek pada
network sebenarnya yaitu N=(V,A).
(Jarvis & Tufekci, 1982)
Ilustrasi:

1

2

3

s
8

9

10

4
6

11

7

15

12

5

13

X1

16

X2

X3

13

14

X4

X5

t

Gambar 23. Contoh path dalam network terdekomposisi.
Berdasarkan contoh path pada Gambar 23,
terletak pada ( N 1 U .... U N i ). Pada langkah
misalkan diperoleh path P yaitu s−1−2−3−4−
akhir, dengan cara yang sama pula, maka
5−6−7−8−9−10−11−12−13−14−15−16−t, dan
jarak terpendek antara simpul jm−1 ke simpul
path P’ yaitu s−1−3−8−10−16−t.
sink (t)
pada subnetwork N m dapat
ditentukan, sehingga terbentuklah path P’
Hal yang ingin ditunjukkan adalah bahwa
yang termuat dalam network N’. Path P’
path P’ mengandung informasi yang
s−j1−j2−....−jm−1−t tersebut merupakan path
diperlukan untuk menentukan path P dalam
terpendek pada network N’.

network N sebenarnya.
Berdasarkan Tahap I algoritme dekomposisi
Hu, maka jarak terpendek antara simpul
source (s) dan simpul j1 yang terletak pada
subnetwork N 1 dapat ditentukan. Penentuan
jarak terpendek antara simpul s dan simpul j1
tersebut menggunakan operasi tripel pada
subnetwork N 1 . Simpul j2 merupakan simpul
pertama pada path P yang juga merupakan
anggota X2, maka subpath dari path P yang
menghubungkan simpul j1 ke simpul j2 akan
terletak pada ( N 1 U N 2 ). Dengan mengganti
jarak antara simpul-simpul di X1 sebenarnya
dengan jarak terpendek yang diperolehnya
pada subnetwork N 1 , maka jarak terpendek
antara simpul j1 ke simpul j2 pada ( N 1 U N 2 )
dapat
ditentukan,
yakni
dengan
mengaplikasikan
operasi
tripel
pada
subnetwork N 2 . Dengan menggunakan cara
yang sama, maka jarak terpendek antara
simpul ji−1 ke simpul ji pada subnetwork N i
dapat ditentukan. Subpath tersebut akan
Algoritme B
Langkah 1

Langkah 2

Jadi, berdasarkan informasi dari path
terpendek P’ dalam network N’, maka path
terpendek P dapat ditentukan. Path P’
merupakan subpath dari path P dalam
network N sebenarnya. Oleh karena itu,
dengan memadankan path terpendek P’
tersebut dalam network N akan diperoleh path
terpendek P.
Berdasarkan
tahapan-tahapan
algoritme
dekomposisi Jarvis-Tufekci, maka seluruh
tahapan tersebut dapat pula dinyatakan dengan
algoritme B [Jarvis & Tufekci, 1982].
Misalkan diberikan network N=(V,A) yang
terdekomposisi menjadi m buah subnetwork
N 1 , N 2 , N 3 ,..... , N m yang bertindih secara
linear, maka penentuan path terpendek antara
simpul source dan simpul sink dapat
dilakukan dengan algoritme B berikut:

: Operasi tripel diaplikasikan pada tiap subnetwork N 1 , N 2 , N 3 ,..... , N m secara
berurutan. Jarak terpendek yang dihasilkan pada suatu subnetwork akan
menggantikan jarak sebenarnya pada subnetwork berikutnya.
: Network N’=(V’,A’) dikonstruksi seperti yang telah dijelaskan pada Tahap III
algoritme dekomposisi Jarvis-Tufekci. Algoritme A digunakan pada simpulsimpul yang terdapat pada network N’ untuk menentukan jarak terpendek antara
simpul s ke simpul t. Jarak ini akan berpadanan dengan jarak sebenarnya pada
network N yang asli, sehingga path terpendek pada network N dapat ditentukan.
Pada bagian ini akan diberikan contoh
penerapan algoritme dekomposisi JarvisTufekci untuk menentukan path terpendek
antara source (s) dan sink (t) pada suatu
network N=(V,A) yang diberikan.

Berdasarkan algoritme B tersebut, maka
penghitungan kompleksitas dari algoritme
dekomposisi
Jarvis-Tufekci
ini
dapat
dilakukan. Penghitungan kompleksitas akan
dibahas pada bab selanjutnya.

Contoh penerapan algoritme dekomposisi Jarvis-Tufekci

14

untuk menentukan path terpendek
Misalkan diberikan suatu network N=(V,A)
dengan 15 buah simpul. Simpul 1 pada
network N merupakan source, dan simpul 13
merupakan sink.

Berikut ini diberikan contoh penyelesaian
masalah path terpendek antara simpul source
dan sink pada suatu network dengan
menggunakan algoritme dekomposisi JarvisTufekci.
N:
-3

3
-3

1

100

3

6

2

1

3

4

1

15

1

1

7

100

9

10

11

40

1

1

15

d ij*

14

100

13

1
100
1

5

1

-2

8

12

X1

X2

Gambar 24. Network yang akan didekomposisi.

Misalkan: N1 = {1,2}, X1 = {3,4,5}, N2 =
{6,7,8}, X2 = {9,15,12}, dan N3 = {10,11,14,
13}.
ƒ

Langkah pertama adalah operasi tripel
diaplikasikan pada subnetwork N 1 = N 1 U X 1 ,
dan matriks jarak terpendeknya ditunjukkan
oleh matriks M * ( N1 ).

Tahap I:
Operasi tripel diaplikasikan pada m buah
subnetwork N 1 , N 2 , N 3 ,..... , N m secara
bertahap.

N1 N1

Berikut ini adalah subnetwork N 1 dan matriks
jarak terpendek yang diperoleh berdasarkan
operasi tripel pada subnetwork tersebut.

N1:

3

−3
1

1

2

100

4

1

100

5
Gambar 25. Subnetwork N 1 .
1

2

3

4

5

1 ⎡ 0 100 − 3 + ∞ 100 ⎤
2 ⎢⎢+ ∞ 0 + ∞ + ∞ 1 ⎥⎥
M N* N ( N 1 ) = 3 ⎢+ ∞ + ∞ 0 + ∞ + ∞ ⎥.
1 1


2 ⎥
4 ⎢+ ∞ 1 + ∞ 0
5 ⎢⎣+ ∞ + ∞ + ∞ + ∞ 0 ⎥⎦

15

yang akan digantikan oleh jarak pada matriks
jarak M X* X ( N 1 ) berikut:

Sebelum mengaplikasikan operasi tripel pada
N 2 , maka jarak pada M X X pada subnetwork
1

N 2 diganti dengan M

*
X1 X1

(N 1 ) .

Berikut ini adalah matriks jarak M X

M X1 X1

1

1

1 X1

3
4
5
3 ⎡ 0 + ∞ + ∞⎤
2 ⎥⎥ ,
M X* 1 X 1 ( N 1 ) = 4 ⎢⎢+ ∞ 0
5 ⎢⎣+ ∞ + ∞ 0 ⎥⎦

:

3
4
5
3 ⎡ 0 + ∞ + ∞⎤
= 4 ⎢⎢+ ∞ 0 + ∞ ⎥⎥
5 ⎣⎢+ ∞ + ∞ 0 ⎥⎦

N 2:

1

sehingga diperoleh subnetwork N 2 berikut,

3

6

-3
1

15
3

4

9

3

1

7

15

2
1

5

8

−2

12

Gambar 26. Subnetwork N 2 .

diperoleh

Dengan mengaplikasikan operasi tripel pada
subnetwork N 2 pada Gambar 25, maka dapat

matriks

jarak

3
4
5
6
7
8
9 12
18 20 − 3 15 21
0 19
3⎡ 0
2
1
19
3
4
1
4 ⎢⎢ + ∞ 0
5 ⎢+ ∞ + ∞ 0 + ∞ + ∞ 1 + ∞ − 1

0
18 24
3
22
6 ⎢ + ∞ 21 23
*

M N 2 N 2 (N 1 U N 2 ) = 7 + ∞ 3
5
4
0
6
7
4

8 ⎢+ ∞ + ∞ + ∞ + ∞ + ∞ 0 + ∞ − 2
9 ⎢+ ∞ 18 20 19 15 21
0 19

12 ⎢+ ∞ + ∞ + ∞ + ∞ + ∞ + ∞ + ∞ 0

15 ⎣+ ∞ 4
6
5
1
7
8
5

2

dahulu

Berikut ini adalah matriks jarak M X
9
12 15

2

dengan

2X2

15
+ ∞⎤
+ ∞⎥⎥
+ ∞⎥

+ ∞⎥
+ ∞⎥

+ ∞⎥
+ ∞⎥

+ ∞⎥

0 ⎦

9 ⎡ 0 + ∞ + ∞⎤
M X 2 X 2 = 12 ⎢⎢+ ∞ 0 + ∞ ⎥⎥
15 ⎢⎣+ ∞ + ∞ 0 ⎥⎦
yang akan digantikan oleh jarak pada matriks
jarak M X* X ( N 1 U N 2 ) berikut:
2 2
9
12 15

Sebelum mengaplikasikan operasi tripel pada
subnetwork N 3 , maka jarak pada M X X
diganti
terlebih
*
M X 2 X 2 (N1 U N 2 ) .

terpendek

M N* 2 N 2 ( N 1 U N 2 ) berikut:

:

16

M

*
X2X2

9 ⎡ 0 19 + ∞ ⎤
( N 1 U N 2 ) = 12 ⎢⎢+ ∞ 0 + ∞ ⎥⎥ ,
5
0 ⎥⎦
15 ⎢⎣ 8

sehingga diperoleh subnetwork N 3 berikut,

N3 :
100

9
1

10
40

8

11

15

1

1

19

100

14

13

5
1

12

Gambar 27. Subnetwork N 3 .

Dengan mengaplikasikan operasi tripel pada
subnetwork N 3 pada Gambar 27, maka dapat

diperoleh matriks jarak M N* N ( N ) terpendek
3 3
berikut:

9
15 12
3
8
9⎡ 0
0
5
15 ⎢⎢ 8

12 + ∞ + ∞ 0

M N* 3 N 3 ( N ) = 10 ⎢+ ∞ + ∞ + ∞
2
7
11 ⎢ 10

1
6
14 ⎢ 9
13 ⎢⎣+ ∞ + ∞ + ∞
ƒ

Setelah diperoleh matriks jarak terpendek dari
seluruh subnetwork, yakni
M * (N1 ) ,

Tahap II:
Berdasarkan
matriks-matriks
jarak
terpendek yang telah diperoleh dari
Tahap I, maka dapat terbentuk matriks
jarak M’=(mij) yang telah didefinisikan
sebelumnya.

1

3

4

10 11 14 13
100 1
2
9⎤
+∞ 9
10 6 ⎥⎥
+∞ +∞ +∞ 1 ⎥.

0 + ∞ + ∞ 40⎥
+∞ 0
1
8⎥

109 10
0
7⎥
+ ∞ + ∞ + ∞ 0 ⎥⎦

N1 N1

*
M N* 2 N 2 ( N 1 U N 2 ) , dan M N 3 N 3 ( N ) , maka dapat

diperoleh matriks jarak M’ sebagai berikut:

5

17

9

15

12

13

− 3 + ∞ + ∞ + ∞ + ∞ + ∞ + ∞⎤
0 + ∞ + ∞ 0 + ∞ 19 + ∞⎥

+ ∞ 0 + ∞ + ∞ + ∞ 1 + ∞⎥
+ ∞ + ∞ 0 + ∞ + ∞ − 1 + ∞⎥

+∞ +∞ +∞ 0 +∞ +∞ 9 ⎥
⎥.
+∞ +∞ +∞ +∞ 0 +∞ 6 ⎥
1 ⎥
+∞ +∞ +∞ +∞ +∞ 0

+∞ +∞ +∞ +∞ +∞ +∞ 0 ⎦

⎡ 0
⎢+ ∞

⎢+ ∞
5 ⎢+ ∞
M '= ⎢
9 ⎢+ ∞
15 ⎢⎢+ ∞
12 ⎢+ ∞

13 ⎣+ ∞
1
3
4

ƒ

Berikut ini akan diberikan ilustrasi network N’
yang terbentuk berdasarkan matriks jarak M’
pada Tahap II.

Tahap III:
Berdasarkan matriks jarak M’, maka
terbentuk network N’.

3

9

0

-3

9

4

1

19

4

6

15

13

1
100

1

-1

5

12

Gambar 28. Network N’ yang terbentuk.
ƒ

terpendek antara simpul 1 sebagai source dan
simpul 13 sebagai sink pada network N’ dapat
ditentukan dengan menggunakan algoritme A.

Tahap IV:
Berdasarkan jarak dari tiap sisi berarah
pada network N’ yang dihasilkan pada
Tahap III, maka jarak terpendek antara
simpul source dan sink dapat ditentukan,
yakni dengan menggunakan algoritme A.

Berikut ini adalah penerapan algoritme A
untuk menentukan path terpendek pada
network N’ tersebut:

Berdasarkan jarak dari tiap sisi berarah pada
network N’ pada Gambar 27, maka path
Algoritme A

Langkah 1: Dari baris pada matriks jarak terpendek

M N* 1 N 1 ( N 1 ) , simpul yang berhubungan

dengan simpul 1 (dan juga terdapat pada network N’) adalah simpul 3, 4, dan
simpul 5, sehingga diperoleh,
w3 = −3,
Langkah 2:

Langkah 3:

Dari baris pada M *
N

w4 = + ∞,
2

N2

w5 = 100

( N 1 U N 2 ) yang berhubungan dengan simpul 3, 4, dan 5 (dan

juga terdapat pada network N’) adalah simpul 9, 15, dan 12, sehingga diperoleh:
w9 = min {−3 + 0, +∞ + 4, 100 + ∞}= −3
w15 = min {−3 + ∞, +∞ + ∞, 100 + ∞}= +∞
w12 = min {−3 + 19, +∞ + 1, 100 – 1}= 16
Dari baris pada M N* N ( N ) yang berhubungan dengan simpul 9, 15, dan 12 (dan
3

3

juga terdapat pada network N’) adalah simpul 13, sehingga diperoleh:
w13 = min {−3+9, +∞+6, 16+1}= 6.

18

Berdasarkan algoritme A yang telah
dilakukan, maka diperoleh path terpendek P’
pada network N’ yakni path 1−3−9−13,
dengan panjang path 6.
ƒ

sebenarnya, se