3
BAB 2
PEMBAHASAN
A. Materi Pendukung
1. Graf dan Digraf
Definisi 1 (Graf)
Graf G adalah adalah himpunan tidak kosong dan berhingga dari obyek-obyek yang
disebut sebagai titik dan himpunan pasangan (mungkin kosong) tak berurutan dari
titik-titik berbeda di G yang disebut sebagai sisi. Himpunan titik di G dinotasikan
dengan V(G) dan himpunan sisi-sisi dinotasikan dengan E(G). Banyaknya sisi pada
graf G disebut order dari G dan umumnya dilambangkan dengan n(G), sedangkan
banyaknya sisi pada graf G disebut ukuran dari G dan dilambangkan dengan m(G).
(Chartrand dan Lesniak, 1986:1)
Perhatikan graf G1 di bawah ini
Gambar 2.1 Graf G1
Pada gambar 2.1 graf G1 memuat himpunan titik V(G1) dan himpunan sisi E(G1)
seperti berikut:
V(G1) = {v1, v2, v3, v4}
E(G1) ={( v1, v2) , (v1, v3) , (v1, v4) , (v2, v3) , (v2, v4) , (v3, v4)}
Graf G1 memiliki 4 titik dan memiliki 6 sisi sehingga order dari G1 adalah n(G1) = 4
dan ukuran dari G1 adalah m(G1) = 6.
v2
v4 v3
v1
4
Definisi 2 (Graf berarah/ Digraf)
Graf berarah atau digraf (directed graph) D adalah himpunan tak kosong dan
berhingga dari obyek-obyek yang disebut sebagai titik-titik dengan himpunan
pasangan berurutan (mungkin kosong) dari titik-titik pada D yang disebut arcs atau
sisi berarah. Seperti pada graf, himpunan titik-titik pada digraf D dinotasikan dengan
V(D) dan himpunan sisi-sisi berarah pada D dinotasikan dengan E(D).
(Chartrand dan Lesniak, 1986:25)
Contoh:
Gambar 2.2 Digraf D1
Pada Gambar 2.2 Digraf D1 memuat himpunan titik-titik dan himpunan sisi berarah
seperti berikut:
V(D1) = {a, b, c, d}
E(D1) = {(a,b) , (b,c) , (c,b) , (c,d) , (d,a)}
Definisi 3 (Adjacent/ Incident)
Jika e = (u,v) adalah sisi di graf G yang menghubungkan titik u dan v, maka u dan v
dikatakan adjacent. Sedangkan e dan u serta e dan v disebut incident. Jika dua sisi
berbeda, misal e dan f incident dengan titik yang sama, maka e dan f adalah sisi yang
adjacent.
(Vasudev, 2006:2)
Contoh: graf G1 Pada gambar 2.1 dapat kita ubah presentasi graf tersebut menjadi
b
d c
a
5
Gambar 2.3 Graf G2 dengan sisi-sisi e
Titik-titik yang adjacent antara lain v1 dan v2, v1 dan v3, v1 dan v4, v2 dan v3, v2 dan v4,
v3 dan v4.
Sisi dan titik yang incident antara lain v1 dan e1, v1 dan e4, v1 dan e7, v2 dan e1, v2 dan
e2, dan seterusnya.
2. Derajat suatu Titik
Definisi 4 (Derajat/ Degree)
Derajat suatu titik v adalah banyaknya sisi yang incident pada titik v, dan dinotasikan
dengan degG(v) atau deg v atau d(v).
(Vasudev, 2006:5)
Misalnya pada gambar 2.1 maka d(v1)=3, d(v2)=3, d(v3)=3, dan d(v4)=3.
Definisi 5 (Derajat masuk/ indegree)
Pada graf berarah atau digraf, indegree suatu titik v adalah banyaknya sisi berarah
yang berakhir di titik v.
(Lipschutz & Lipson, 2008:174)
Indegree dari titik v dinotasikan dengan (v). Pada digraf D1 gambar 2.2 dapat
diketahui bahwa (a) = 1, (b) = 2, (c) = 1, dan (d) = 1
Definisi 6 (Derajat keluar/ outdegree)
Pada graf berarah atau digraf, outdegree suatu titik v adalah banyaknya sisi berarah
yang keluar dari titik v.
(Lipschutz & Lipson, 2008:174)
e1
e4 e2
v2
v4 v3
v1
e7
e3
e6
6
Outdegree dari titik v dinotasikan dengan d+(v). Pada digraf gambar 2.2 dapat
diketahui bahwa d+(a) = 1, d
+(b) = 1, d
+(c) = 2, dan d
+(d) = 1
3. Subgraf
Definisi 7 (Subgraf)
Graf H disebut subgraf dari graf G jika himpunan titik di H adalah subset dari
himpunan titik di G dan himpunan sisi di H adalah subset dari himpunan sisi di G.
Dengan kata lain V(H) V(G) dan E(H) E(G). Jika H adalah subgraf G maka
dapat ditulis H G. Subgraf dari suatu graf minimal adalah graf itu sendiri.
(Chartrand dan Lesniak, 1986:4)
Perhatikan graf G3 dibawah ini
Gambar 2.4 Graf G3
Graf G3 tersebut memuat himpunan titik dan himpunan sisi seperti berikut:
V(G3) = {v1, v2, v3, v4, v5}
E(G3) ={( v1, v2) , (v1, v5) , (v2, v3) , (v2, v4) , (v3, v4) , (v4, v5)}
Graf-graf di bawah ini adalah subgraf dari G3
Gambar 2.5 (a) Gambar 2.5 (b) Gambar 2.5 (c)
v2 v1
v5
v3
v4
v2
v3
v4
v2 v1
v5 v4
v2 v1
v5
v3
v4
7
Gambar 2.5 (a) mempunyai himpunan titik yang merupakan subset dari himpunan
titik pada graf G3 dan memliki himpunan sisi yang merupakan subset dari himpunan
sisi pada graf G3, maka gambar 2.5 (a) merupakan subgraf dari G3. Begitu pula
dengan gambar 2.5 (b) dan gambar 2.5 (c) merupakan subgraf dari graf G3.
Definisi 8 (Spanning subgraph)
Sebuah subgraf H dari graf G adalah sebuah spanning subgraph dari graf G jika H
memuat semua titik-titik pada graf G.
(Vasudev, 2006:25)
Contoh graf G4 :
Gambar 2.6 Graf G4
Beberapa spanning subgraph dari graf G yang diperoleh dengan menghilangkan satu
atau lebih sisi dari graf G adalah sebagai berikut:
Gambar 2.7 (a)
Gambar 2.7 (b)
Gambar 2.7 (c)
Gambar 2.7 (d)
Gambar 2.7 Spanning subgraph dari graf G4
v2 v1
v4 v3
v2 v1
v5 v4
v1
v4
44
v3
v2 v1
v4 v3
v2 v2 v1
v4 v3
8
4. Jalan, Jejak, CycleSirkuit
Definisi 9 (Jalan)
Suatu jalan W pada graf G adalah barisan bergantian antara titik dan sisi yang dimulai
dan diakhiri dengan titik. Jalan yang dimulai dari vo dan berakhir di vn disebut jalan
vo-vn dan jalan W mempunyai panjang n karena melalui n sisi (tidak harus berbeda).
(Chartrand & Oellermann, 1993)
Contoh:
Diberikan graf G5 :
Gambar 2.8 Graf G5
Contoh jalan adalah W = v1 e1 v2 e7 v4 e3 v3 e2 v2 e7 v4 dengan panjang sama dengan 5.
Definisi 10 (Jalan berarah)
Jalan pada suatu digraf D adalah jalan yang sisi-sisinya memiliki orientasi arah.
(Chartrand & Oellermann, 1993)
Contoh: diberikan digraf D2
Gambar 2.9 Digraf D2
Contoh jalan berarah WB = v1 e1 v2 e8 v5 e4 v4 e7 v2e8 v5 dengan panjang 5
e1
e4
e2
e7
e6
e5
v6
e8
e9
e10
v2 v1
v5
v3
v4
e3
e3
e1
e4
e2
e7
e6
e5
v6
e8
e9
e10
v2 v1
v5
v3
v4 v5
9
Definisi 11 (Jejak)
Jejak adalah sebuah jalan yang semua sisinya berbeda.
(John Clark dan Derek Allan, 1995:25)
Ilustrasi jejak dapat dilihat pada gambar 2.8 yaitu T1 = v1 e1 v2 e7 v4 e3 v3 e2 v2 e8 v5 atau
jejak pada gambar 2.9 yaitu T2 = v1 e1 v2 e8 v5 e4 v4 e7 v2e2 v3
Definisi 12 (Cycle)
Cycle adalah jejak tertutup (non trivial) yang memiliki titik awal dan titik-titik
internal yang berbeda.
(John Clark dan Derek Allan, 1995:29)
Definisi 13 (Sirkuit)
Sirkuit adalah jejak tertutup, artinya jejak tersebut dimulai dan diakhiri dengan titik
yang sama.
(Chartrand & Oellermann, 1993:207)
Ilustrasi sirkuit pada gambar 2.8 yaitu C1 = v1 e1 v2 e7 v4 e4 v5 e5 v6 e6 v1 atau pada
gambar 2.9 yaitu C2 = v1 e1 v2 e8 v5 e5 v6 e6 v1.
Definisi 14 (Sirkuit Euler)
Sirkuit Euler adalah sirkuit dari graf terhubung yang melewati semua sisi pada graf G
tepat satu kali.
(Chartrand & Oellermann, 1993:207)
Gambar 2.10 Graf G6
Sirkuit Euler dari graf G6 adalah a e4 d e2 b e3 c e1 a.
e1 e2
e3
e4
a
c d
b
10
Definisi 15 (Underlying Graph)
Jika suatu graf G didapat dengan cara menghapus semua arah dari sisi berarah pada
digraf D maka graf G tersebut adalah underlying graph dari digraf D.
(Vasudev, 2006:428)
Ilustrasi underlying graph bisa dilihat dari gambar 2.8 dan gambar 2.9. Graf pada
gambar 2.8 merupakan underlying graph dari digraf pada gambar 2.9.
Definisi 16 (Semisirkuit)
Pada suatu digraf, semisirkuit adalah sirkuit pada underlying graph D, tetapi bukan
merupakan sirkuit berarah pada digraf D tersebut.
(Vasudev, 2006:436)
Ilustrasi semisirkuit bisa dilihat pada gambar 2.9 yaitu C = v1 e6 v6 e5 v5 e8 v2 e1 v1.
5. Graf Terhubung
Definisi 17 (Graf Terhubung)
Suatu graf G = (V,E) dikatakan terhubung jika untuk setiap pasang titik u dan v di G,
maka ada lintasan yang menghubungkan u dan v. jika terdapat pasangan titik u – v di
G sehingga tidak ada lintasan u – v, maka graf tersebut dikatakan tak terhubung.
(Chartrand & Oellermann, 1993)
Definisi 18 (Tree/ Pohon)
Tree adalah graf tak berarah terhubung yang tidak mengandung cycle.
(John Clark dan Derek Allan, 1995:46)
Gambar 2.11 Tree
11
Definisi 19 (Spanning Tree)
Spanning tree adalah spanning subgraph yang merupakan tree.
(Vasudev, 2006:193)
Gambar 2.12 Spanning tree dari Graf G5
Definisi 20 (Digraf Terhubung/ terhubung lemah)
Suatu digraf D dikatakan terhubung jika underlying graph-nya terhubung.
(John Clark dan Derek Allan, 1995:232)
6. Arborescence
Definisi 21 (Arborescence)
Suatu digraf D disebut arborescence jika:
a. D tidak memiliki sirkuit berarah maupun semisirkuit
b. D memiliki satu titik vr yang indegree-nya bernilai 0 atau d –
(vr)= 0
Titik vr disebut akar arborescence.
(Vasudev, 2006:434)
Gambar 2.13 Arborescence
Titik v1 disebut akar arborescence.
v5
v
6
v2 v1
v3
v4
v2 v4
v3
v1
12
Definisi 22 (Spanning arborescence)
Spanning arborescence pada digraf terhubung D adalah spanning tree yang berupa
arborescence.
(Vasudev, 2006:435)
Ilustrasi spanning arborescence dapat dilihat pada gambar di bawah ini :
Gambar 2.14 (a) Gambar 2.14 (b)
Gambar 2.14 (a) dan 2.14 (b) di atas merupakan contoh spanning arborescence dari
digraf D2 pada gambar 2.9. Pada gambar 2.14 (a) dan 2.14 (b) titik v5 merupakan akar
arborescence karena d – (v5)= 0
7. Graf dan Digraf Euler
Berikut adalah penjelasan dari beberapa definisi dan teorema yang berkaitan dengan
digraf Euler yang akan digunakan dalam makalah ini.
Definisi 23 (Graf Euler)
Suatu graf yang memiliki sirkuit Euler disebut graf Euler.
(Vasudev, 2006:62)
Graf G5 dan graf G6 merupakan contoh graf Euler.
Graf G5 Graf G6
v6
v2 v1
v5
v3
v4
e
3
e1
e4
e2
e7
e6
e5
v6
e8
e9
e10
v2 v1
v5
v3
v4 v5
e1 e2
e3
e4
a
c d
b
v6
v2 v1
v5
v3
v4
13
Definisi 24 (Digraf Euler)
Suatu digraf terhubung disebut digraf Euler jika memuat jejak tertutup (sirkuit) yang
melewati semua sisi berarah pada digraf D tepat satu kali.
(Aldous & Wilson, 1943:97)
Gambar 2.15 Digraf D3
Sirkuit Euler dari digraf D3 misalnya E = a e1 c e3 b e2 d e4 a.
Terdapat sirkuit Euler lain, misalnya E’ = d e4 a e1 c e3 b e2 d.
Dua buah sirkuit Euler dikatakan sama jika salah satunya merupakan permutasi siklik
dari sirkuit lainnya. Dari sirkuit E dan E’ yang kita peroleh kita tahu bahwa E’
merupakan permutasi siklik dari E. Sehingga sirkuit E sama dengan sirkuit E’. Akan
tetapi, keberadaan sirkuit Euler tidaklah tunggal, hal ini bergantung pada bentuk
digrafnya.
Pada beberapa literatur, sirkuit Euler biasa dituliskan dengan komponen titik-titiknya
saja.
Teorema 1
Suatu digraf terhubung dikatakan sebagai digraf Euler jika dan hanya jika untuk
setiap titik, nilai outdegree sama dengan nilai indegree.
(Aldous & Wilson, 1943:99)
Bukti:
→ (Jika suatu digraf D merupakan digraf Euler, maka setiap titik dalam digraf
tersebut mempunyai nilai outdegree sama dengan nilai indegree-nya)
a
c d
b
e1 e2
e3
e4
14
Suatu digraf merupakan digraf Euler, artinya digraf tersebut mempunyai sirkuit Euler.
Jika sebuah sirkuit melewati suatu titik, maka dua buah sisi berarah digunakan, yaitu
sisi berarah menuju ke titik dan sisi berarah lainnya keluar dari titik tersebut.
Sehingga setiap sisi yang melewati titik, untuk sisi yang menuju titik tersebut akan
terhitung sebagai indegree dan sisi yang keluar dari titik tersebut akan terhitung
sebagai outdegree. Jadi, adanya sirkuit Euler, yaitu sirkuit yang memuat semua sisi
berarah menunjukkan bahwa indegree dari setiap titik sama dengan outdegree-nya.
← (Jika setiap titik pada digraf mempunyai indegree yang sama dengan outdegree-
nya maka digraf tersebut merupakan digraf Euler.)
Misalkan D adalah suatu digraf terhubung dengan m sisi berarah dimana setiap titik
mempunyai indegree yang sama dengan outdegree-nya. Akan dibuktikan dengan
induksi m bahwa digraf tersebut merupakan digraf Euler.
Untuk maka dapat diketahui bahwa digraf tersebut merupakan digraf Euler.
Hal ini dapat dijelaskan melalui gambar berikut:
Dari gambar tersebut dapat diketahui bahwa digraf dengan merupakan digrar
Euler dengan sirkuit Euler v1 e1 v2 e2.
Kemudian asumsikan bahwa teorema ini benar untuk semua digraf dengan
atau lebih sedikit sisi berarah dimana outdegree sama dengan indegree untuk setiap
titiknya.
Selanjutnya akan ditunjukkan bahwa digraf D merupakan digraf Euler dengan sisi
berarah.
v1
e1
v2
e2
15
Misalkan D adalah suatu digraf dengan outdegree sama dengan indegree untuk setiap
titik dalam D. Misalkan pula T adalah suatu jejak dari sebarang titik u ke titik lain v
dalam digraf D. Akan terdapat sedikitnya satu sisi berarah yang incident dari v tetapi
bukan merupakan sisi berarah pada T. Artinya, untuk setiap digraf dengan
atau lebih sedikit sisi berarah memungkinkan kita untuk memperpanjang jejak yang
telah kita buat dari u ke v dengan menambahkan jejak baru (satu atau lebih sisi
berarah) yang berakhir di titik u. Penambahan jejak baru ini akan menyebabkan
terbentuknya jejak baru yang tertutup.
(i) Kasus pertama
Jika jejak baru tersebut memuat semua sisi berarah pada digraf D, maka kita akan
mendapatkan suatu sirkuit Euler, yaitu jejak tertutup dari titik u kembali ke u.
Misalkan jejak yang terbentuk adalah T = u a b ……… v dan perpanjangan jejak
yang diperoleh adalah T1’ = u a b c d …………… u dimana semua sisi berarah
telah termuat dalam jejak baru tersebut. Maka kita tahu bahwa T1’ adalah suatu
sirkuit Euler dari digraf D.
(ii) Kasus kedua
Jika jejak baru tersebut tidak memuat semua sisi berarah pada digraf D maka
adanya sirkuit Euler akan dijelaskan sebagai berikut:
Misalkan jejak baru yang terbentuk adalah T2’ = u a b ……… u dimana ada sisi
dalam D yang belum termuat pada T2’. Dengan demikian kita tahu bahwa T2’
bukanlah sirkuit Euler karena ada sisi di D yang bukan elemen T2’.
Sekarang dari digraf D, hapus semua sisi berarah pada T2’ sehingga titik-titiknya
menjadi titik yang terisolasi (isolated vertex) yaitu titik yang mempunyai derajat
sama dengan 0. Setiap komponen hasil dari penghapusan digraf D ini, yaitu D’
adalah digraf yang terhubung dengan outdegree sama dengan indegree untuk
setiap titiknya.
16
Dari hipotesis induksi matematika, yaitu untuk digraf dengan atau lebih
sedikit sisi berarah merupakan digraf Euler, maka setiap komponen pada D’
memiliki sirkuit Euler. Karena D’ terhubung, setiap komponen D’ memiliki titik-
titik bersama dengan jejak tertutup T’, sehingga sirkuit Euler dari digraf D ini
dapat diperoleh dengan cara menyisipkan sirkuit Euler dari setiap komponen
dari D’ pada titik bersama. Dengan demikian, kita tahu bahwa digraf ini memiliki
sirkuit Euler, sehingga digraf ini merupakan digraf Euler.
(Balakhrishnan, 1997:73)
Berdasarkan pembuktian dua arah di atas, maka dapat disimpulkan bahwa suatu
digraf terhubung dikatakan sebagai digraf Euler jika dan hanya jika untuk setiap titik,
nilai outdegree sama dengan nilai indegree.
8. Algoritma van Aardenne Ehrenfest de & Bruijn
Algoritma van Aardenne Ehrenfest de & Bruijn (Eiselt, 1994) adalah salah satu
algoritma yang digunakan untuk mencari sirkuit Euler pada suatu digraf Euler.
Berikut langkah-langkah algoritma Aardenne Ehrenfest de & Bruijn :
Langkah 1. Bentuk sebuah spanning arborescence yang berakar di vr
Langkah 2. Labeli semua sisi berarah seperti berikut: urutkan dan labeli sisi-sisi
berarah yang keluar dari vr dengan sebarang cara; urutkan dan labeli
sisi-sisi berarah yang keluar dari titik lain secara teratur dengan
sebarang cara, sehingga sisi berarah terakhir yang dilabeli adalah sisi
berarah pada spanning arborescence.
Langkah 3. Tentukan sirkuit Euler dengan cara mengikuti sisi-sisi berarah yang
memiliki label terendah yang keluar dari sebarang titik; jika sebuah sisi
berarah menuju ke suatu titik, maka titik ini akan ditinggalkan melalui
sisi berarah yang belum dilewati yang memiliki label lebih rendah.
Prosedur ini berakhir ketika semua sisi berarah telah dilewati.
(Eiselt, 1994)
17
B. Pembahasan
Pada bagian ini akan dibahas mengenai penerapan algoritma van Aardenne Ehrenfest
de & Bruijn untuk menentukan sirkuit Euler pada suatu digraf Euler. Berikut
langkah-langkah algoritma Aardenne Ehrenfest de & Bruijn :
a. Bentuk sebuah spanning arborescence dari digraf balans yang berakar di vr
b. Sisi-sisi berarah yang keluar dari vr dan titik-titik lain diurutkan dan dilabeli
sedemikian hingga sisi berarah terakhir yang dilabeli adalah sisi berarah pada
spanning arborescence.
c. Tentukan sirkuit Euler dengan cara mengikuti sisi-sisi berarah yang memiliki
label terendah yang keluar dari sebarang titik; jika sebuah sisi berarah menuju ke
suatu titik, maka titik ini akan ditinggalkan melalui sisi berarah yang belum
dilewati yang memiliki label lebih rendah. Prosedur ini berakhir ketika semua
sisi berarah telah dilewati.
Contoh 1:
Diberikan suatu digraf seperti pada Gambar 2.9 yaitu digraf D2
Langkah 1 : membangun spanning arborescence graf dari digraf D2
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
e7
e9
e10
e8
e4
e3
e1
e2 e6
e5
v6
v2 v1
v5
v3
v4
Titik v5 merupakan akar arborescence
18
Langkah 2 : mengurutkan dan melabeli semua sisi yang keluar dari titik v5 dan titik-
titik yang lain. Langkah-langkah pelabelan dapat dilihat pada langkah di bawah ini
(1) v5
Ada 2 sisi yang keluar dari v5 yaitu e4 dan e5. Karena e5 merupakan sisi pada
spanning arborescence maka e5 tidak dilabeli dahulu dan e4 dilabeli dengan
L1.
(2) v6
Hanya ada satu sisi yang keluar dari v6 yaitu e6. Karena e6 merupakan sisi
pada spanning arborescence maka e6 tidak dilabeli dahulu.
(3) v1
Ada 2 sisi yang keluar dari v1 yaitu e1 dan e10. Karena e1 merupakan sisi pada
spanning arborescence maka e1 tidak dilabeli dahulu dan e10 dilabeli dengan
L1.
e4
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e4
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
L1
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e4
e10
19
(4) v2
Ada 2 sisi yang keluar dari v2 yaitu e2 dan e8. Karena e2 merupakan sisi pada
spanning arborescence maka e2 tidak dilabeli dahulu dan e8 dilabeli dengan
L1.
(5) v3
Hanya ada satu sisi yang keluar dari v3 yaitu e3, karena e3 merupakan sisi pada
spanning arborescence maka e3 tidak dilabeli dahulu.
(6) v4
Ada 2 sisi yang keluar dari v4 yaitu e7 dan e9 maka e7 dilabeli dengan L1 dan
e9 dilabeli dengan L2.
L1 e7
L2
e4
L1
e8
L1
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e9 e10
e4
L1
e8
L1
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e10
e4
L1
e8
L1
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e10
20
(7) sisi-sisi pada spanning arborescence dilabeli dengan L3.
Langkah 3 : mentukan sirkuit Euler dengan cara mengikuti sisi-sisi berarah yang
memiliki label terendah yang keluar dari sebarang titik; jika sebuah sisi berarah
menuju ke suatu titik, maka titik ini akan ditinggalkan melalui sisi berarah yang
belum dilewati yang memiliki label lebih rendah. Prosedur ini berakhir ketika semua
sisi berarah telah dilewati.
Dalam algoritma ini tidak ada aturan tertentu untuk memilih titik sebagai titik
awal untuk membentuk sirkuit Euler. Meskipun demikian, disarankan pemilihan titik
awal ini adalah titik pada ujung spanning arborescence yang telah dibentuk, yaitu titik
yang memiliki outdegree sama dengan 0. Sebenarnya titik lainpun bisa dijadikan
sebagai titik awal, akan tetapi tidak semua titik lain tersebut bisa dijadikan sebagai
titik awal. Untuk kasus di atas, maka titik pada ujung spanning arborescence, yaitu
titik dengan outdegree sama dengan 0 adalah titik v4. Kemudian kita akan mencari
sirkuit Euler yang berawal dari v4 dengan cara melewati sisi-sisi berarah yang
memiliki label lebih rendah yang keluar dari titik v4 dan titik-titik selanjutnya
sehingga semua sisi berarah telah dilewati. Dengan demikian sirkuit Euler yang
diperoleh yang berangkat dari titik v4 adalah E1 = v4 v2 v5 v4 v1 v5 v6 v1 v2 v3 v4 atau
jika kita menggunakan titik awal yang berbeda, misal dari titik v1, maka sirkuit Euler
yang diperoleh adalah E2 = v1 v5 v4 v2 v5 v6 v1 v2 v3 v4 v1
e7
L2
e4
L1
e8
L1
e5
v6
e3
e1
e2 e6
v2 v1
v5
v3
v4
L1
e9 e10 L1
L3
L3
L3
L3
L3
21
Contoh lain penentuan sirkuit Euler dari digraf D2
Langkah 1 : membangun spanning arborescence graf dari digraf D2
Titik v6 merupakan akar arborescence
Langkah 2 : mengurutkan dan melabeli semua sisi yang keluar dari titik v6 dan titik-
titik yang lain. Langkah-langkah pelabelan dapat dilihat pada langkah di
bawah ini
(1) v6
Hanya ada satu sisi yang keluar dari v6 yaitu e6. Karena e6 merupakan sisi
pada spanning arborescence maka e6 tidak dilabeli dahulu.
(2) v1
Ada 2 sisi yang keluar dari v1 yaitu e1 dan e10. Karena e10 merupakan sisi pada
spanning arborescence maka e10 tidak dilabeli lebih dulu dan e1 dilabeli
dengan L1.
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
22
(3) v5
Ada 2 sisi yang keluar dari v5 yaitu e4 dan e5. Karena e4 merupakan sisi pada
spanning arborescence maka e4 tidak dilabeli dahulu dan e5 dilabeli dengan
L1.
(4) v4
Ada 2 sisi yang keluar dari v4 yaitu e7 dan e9. Karena e7 merupakan sisi pada
spanning arborescence maka e7 tidak dilabeli dahulu dan e9 dilabeli dengan
L1.
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
L1 e5
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
e9 L1 L1
e5
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
23
(5) v2
Ada 2 sisi yang keluar dari v2 yaitu e2 dan e8. Karena e2 merupakan sisi pada
spanning arborescence maka e2 tidak dilabeli dahulu dan e8 dilabeli dengan
L1.
(6) v3
Hanya ada satu sisi yang keluar dari v3 yaitu e3 maka e3 dilabeli dengan L1.
(7) Selanjutnya sisi-sisi pada spanning arborescence dilabeli dengan L2.
L2
L2
L2 L2
L2 L1
e3
L1
e8
e9 L1 L1
e5
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
L1
e8
e9 L1 L1
e5
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
L1
e3
L1
e8
e9 L1 L1
e5
L1
e1
e7 e10 v6
e4
e2 e6
v2 v1
v5
v3
v4
24
Langkah 3 : Mentukan sirkuit Euler yang melintasi setiap sisi berarah yang telah
dilabeli, mulai dari label yang terkecil hingga label yang terbesar. Prosedur ini
dilakukan hingga semua sisi berarah telah dilewati.
Titik ujung pada spanning arborescence yang memiliki outdegree sama
dengan 0 adalah titik v3. Selanjutnya kita akan mencari sirkuit Euler yang berangkat
dari titik v3. Sirkuit Euler yang diperoleh adalah E3 = v3 v4 v1 v2 v5 v6 v1 v5 v4 v2 v3.
Sirkuit Euler lain bisa kita peroleh jika kita berangkat dari titik selain v3, misal kita
berangkat dari titik v4, maka sirkuit Euler yang diperoleh adalah :
Misal E4 = v4 v1 v2 v5 v6 v1 v5 v4 v2 v3 v4.
Bisa juga jika kita berangkat dari titik titik v2, maka sirkuit Euler yang diperoleh
adalah, misalkan E5 = v2 v5 v6 v1 v2 v3 v4 v1 v5 v4 v2.
Dari beberapa sirkuit Euler yang diperoleh, dapat kita ketahui bahwa sirkuit
E4 merupakan hasil susunan permutasi siklik dari sirkuit E3. Oleh karena itu, sirkuit
Euler E3 dan E4 dikatakan sama. Sedangkan sirkuit E5 merupakan sirkuit yang berbeda
dari sirkuit E3 dan E4.
Contoh 2 :
Diberikan digraf D4 seperti di bawah ini. Langkah-langkah penentuan sirkuit Euler
dari digraf D4 ini adalah sebagai berikut:
1 2
3
4 5 6
7
8 9 10
11
25
Langkah 1 : membuat spanning arborescence
Titik v8 merupakan akar arborescence
Langkah 2 : mengurutkan dan melabeli semua sisi yang keluar dari titik v8 dan
titik-titik yang lain sehingga sisi pada spanning arborescence adalah sisi yang
terakhir dilabeli.
(1) mengurutkan dan melabeli semua sisi berarah yang keluar dari setiap titik dan
yang bukan merupakan sisi pada spanning arborescence.
(2) melabeli sisi berarah pada spanning arborescence. Karena label terbesar pada
sisi bukan sisi berarah adalah L2 maka sisi berarah pada spanning
arborescence dilabeli dengan L3.
4 5
1 2
3
6
7
8 9 10
11
8
3
4 5 6
7
9
11
L2
1 2
10
L2
L1 L1
L1
L1
L1
L1
L1
L1
L1 L2
26
Langkah 3 : Mentukan sirkuit Euler yang melintasi setiap sisi berarah yang telah
dilabeli, mulai dari label yang terkecil hingga label yang terbesar. Prosedur ini
dilakukan hingga semua sisi berarah telah dilewati.
Titik ujung pada spanning arborescence yang memiliki outdegree sama dengan 0
adalah titik v3. Selanjutnya kita akan mencari sirkuit Euler yang berangkat dari titik
v3. Sirkuit Euler yang diperoleh adalah:
E6 = v3 v2 v4 v1 v5 v9 v8 v6 v5 v8 v7 v6 v1 v2 v5 v4 v10 v3 v4 v9 v10 v11 v3.
Sirkuit Euler lain bisa diperoleh dengan mengambil titik awal yang lain, misal titik
v4 maka sirkuit Euler yang diperoleh adalah :
E7 = v4 v1 v5 v9 v8 v6 v5 v8 v7 v6 v1 v2 v4 v10 v3 v2 v5 v4 v9 v10 v11 v3 v4.
Contoh lain penentuan sirkuit Euler dari digraf D3
Langkah 1 : membuat spanning arborescence
8
1 2
3
4 5 6
7
9 10
11 L2
L1 L1
L1
L1
L1
L1
L1
L1
L1 L2
L3
L3
L3
L3
L3 L3
L3
L3
L3
L3
L2
4 5
1 2
3
6
7
8 9 10
11
27
Langkah 2 : mengurutkan dan melabeli semua sisi yang keluar dari titik v8 dan
titik-titik yang lain sehingga sisi pada spanning arborescence adalah sisi yang
terakhir dilabeli.
(1) mengurutkan dan melabeli semua sisi berarah yang keluar dari setiap titik dan
yang bukan merupakan sisi pada spanning arborescence.
(2) melabeli sisi berarah pada spanning arborescence. Karena label terbesar pada
sisi bukan sisi berarah adalah L2 maka sisi berarah pada spanning
arborescence dilabeli dengan L3.
Langkah 3 : mentukan sirkuit Euler yang melintasi setiap sisi berarah yang telah
dilabeli, mulai dari label yang terkecil hingga label yang terbesar. Prosedur ini
dilakukan hingga semua sisi berarah telah dilewati.
L1
8
3
4 5 6
7
9
11
L1
1 2
10
L2
L1 L1
L1
L1
L2
L1
L1 L2
L1
L3 L1
8
3
4 5 6
7
9
11
L1
1 2
10
L2
L1 L1
L1
L1
L2
L1
L1 L2
L1 L3
L3
L3
L3
L3
L3
L3
L3
L3
28
Titik ujung pada spanning arborescence yang memiliki outdegree sama dengan 0
adalah titik v6. Selanjutnya kita akan mencari sirkuit Euler yang berangkat dari titik
v6. Sirkuit Euler yang diperoleh adalah:
E8 = v6 v1 v2 v5 v9 v8 v6 v5 v4 v10 v3 v4 v9 v10 v11 v3 v2 v4 v1 v5 v8 v7 v6.
Sirkuit Euler lain bisa kita peroleh jika kita berangkat dari titik selain v6, misal kita
berangkat dari titik v7, maka sirkuit Euler yang diperoleh adalah :
E9 = v7 v6 v1 v2 v5 v9 v8 v6 v5 v4 v10 v3 v4 v9 v10 v11 v3 v2 v4 v1 v5 v8 v7.
Dengan titik yang lain lagi, misal v8 maka sirkuit Euler yang diperoleh adalah
E10 = v8 v6 v1 v2 v5 v9 v8 v7 v6 v5 v4 v10 v3 v4 v9 v10 v11 v3 v2 v4 v1 v5 v8.
Dari beberapa sirkuit Euler yang diperoleh, dapat kita ketahui bahwa sirkuit
E9 merupakan hasil susunan permutasi siklik dari sirkuit E8. Oleh karena itu,
sirkuit Euler E8 dan E9 dikatakan sama. Sedangkan sirkuit E10 merupakan sirkuit
yang berbeda dari sirkuit E8 dan E9.
Dari paparan di atas, dapat diketahui bahwa sirkuit Euler yang diperoleh
dengan menggunakan algoritma van Aardenne Ehrenfest & de Bruijn tidaklah
tunggal, tetapi bergantung kepada spanning arborescence yang dibangun. Dari
contoh 1 dan contoh 2 di atas dapat dilihat bahwa ketika spanning arborescence yang
dibentuk berbeda, maka sirkuit Euler yang diperoleh juga berbeda. Perbedaan
pembentukan spanning arborescence ini tidak akan mempengaruhi banyaknya
langkah selanjutnya yang harus dilakukan karena seperti apapun spanning
arborescence yang dibangun, langkah selanjutnya adalah mengurutkan dan melabeli
semua sisi berarah yang keluar dari titik-titik pada digraf tersebut, kemudian
menentukan sirkuit Euler dengan cara mengambil titik awal kemudian mengurutkan
sisi yang keluar dari setiap titik, dimulai dari label yang terkecil hingga label yang
terbesar.
Disamping itu proses pengurutan dan pelabelan sisi-sisi berarah yang keluar
dari setiap titik juga akan mempengaruhi bentuk sirkuit Euler yang diperoleh.
Artinya, jika terjadi perbedaan dalam proses pelabelan, maka sirkuit Euler yang
29
diperoleh juga berbeda. Hal ini dikarenakan proses pelabelan ini akan mempengaruhi
urutan sisi berarah yang akan dilalui ketika kita mencari sirkuit Euler sehingga sirkuit
Euler yang diperoleh juga akan berbeda. Besarnya label terbesar bergantung kepada
banyaknya sisi berarah yang keluar dari setiap titik.
Perbedaan pemilihan titik awal yang diambil saat pembentukan sirkuit Euler
akan menghasilkan susunan sirkuit Euler yang berlainan, baik itu sirkuit yang sama
atau berbeda. Jika susunan sirkuit yang diperoleh merupakan permutasi siklik dari
sirkuit yang lain, maka kedua sirkuit tersebut dikatakan sama dan sebaliknya. Perlu
juga diperhatikan bahwa tidak semua titik bisa digunakan sebagai titik awal dalam
algoritma ini, tetapi pasti ada titik yang bisa digunakan sebagai titik awal dalam
pembentukan sirkuit Euler. Untuk pemilihan titik awalini disarankan adalah titik pada
ujung spanning arborescence yang memiliki outdegree sama dengan 0.