Anda di halaman 1dari 10

EULERIAN DAN HAMILTONIAN GRAPH

Masalah “Jembatan Konisberg” menampilkan suatu kasus bagaimana suatu graph


dilalui sedemikian hingga setiap kali melakukan perlintasan sampai kembali ke titik awal,
setiap edge dihindari untuk dilintasi sebanyak lebih dari satu kali. Dengan kata lain, jika
graph G seperti Gambar 2.1, apakah setiap edge dapat dilewati dengan tepat satu kali (vertex-
nya dapat lebih dari sekali) dalam sekali perlintasan untuk Kembali ke vertex awal?

Untuk menjawab persoalan ini, diperlukan beberapa konsep mengenai Eulerian


Graph yang akan dibahas sebagai berikut.
2.1 EULERIAN GRAPH
Konsep pertama yang akan dibahas dalam tulisan ini adalah Eulerian Graph.
Definisi 2.1.1 (Setiadji) suatu connected disebut Eulerian graph jika dapat
ditemukan suatu path tertutup yang memuat semua edge dari graph G, sehingga juga
memuat semua vertex dari graph G. path yang demikian disebut Eulerian path. Jika
tidak terdapat path tertutup, tetapi dapat ditemukan path yang tidak tertutup, maka
graph tersebut dinamakan semi Eulerian. Suatu graph yang tidak dapat ditemukan
sedikitnya satu path disebut non Eulerian.
Berikut diberikan contoh Eulerian graph, semi Eulerian, dan non Eulerian.
Contoh 2.1.2 Diperhatikan graph G seperti pada Gambar 2.2.

Dari graph G, dapat ditemukan barisan edge:


v1  v2  v3  v4  v5  v6  v7  v5  v3  v7  v2  v6  v1.
Barisan edge tersebut melalui semua edge dari graph G, yaitu merupakan Eulerian
path. Dari sini maka graph G dinamakan Eulerian graph.
Contoh 2.1.3 Diperhatikan graph G seperti pada Gambar 2.3.
Dari graph G, tidak terdapat path tertutup, tetapi dapat ditemukan barisan
edge:
v1  v2  v3  v4  v5  v6  v3  v5  v1  v6  v2.
Barisan edge tersebut merupakan path yang tidak tertutup, tetapi melalui semua edge
dari graph G. dengan demikian graph G merupakan semi Eulerian.
Contoh 2.1.4 Diperhatikan graph G seperti pada Gambar 2.4.

Dari graph G, tidak dapat ditemukan path yang memuat semua edge maupun
semua vertex dari graph G. dengan demikian, graph G merupakan non Eulerian.
Berikut diberikan lemma yang menyatakan syarat cukup bagi suatu graph
yang memiliki paling sedikit satu circuit.
Lemma 2.1.5 (Setiadji) Jika G suatu graph dengan degree setiap vertex-nya genap,
maka G mempunyai sekurang-kurangnya satu circuit.
Bukti. Jika G terdiri dari loop-loop atau multiple edges maka diperoleh penyelesaian
yang trivial.
Misalkan G adalah simple graph dan misalkan v adalah sembarang vertex dari grapj
G, maka akan dapat ditemukan edge sequence: v  v1  v2 … , dimana v1 dipilih
sedemikian sehingga berlainan dengan v sebab degree dari setiap vertex genap.
Karena graph G adalah berhingga maka suatu waktu pasti diperoleh suatu vertex yang
sama dengan vertex sebelumnya. Jadi pasti terdapat circuit dalam graph G.
Teorema berikut merupakan teorema yang sangat penting karena menyatakan
krakterisasi dari Eulerian graph, yaitu syarat cukup dan syarat perlu dari suatu
connected graph untuk menjadi Eulerian graph.
Teorema 2.1.6 (Setiadji) suatu connected graph G adalah eulerian graph jika dan
hanya jika degree dari setiap verteksnya genap.
Bukti. (=>) Misalkan P adalah Eulerian path dari graph G. pasti P melalui sembarang
vertex, dimana vertex tersebut memberikan dua degree kepada vertex itu. Karena
setiap edge ada pada P tepat satu kali, maka setiap vertex mempunyai degree genap.
(<=) Digunakan bukti dengan induksi matematik. Ambil sebarang connected graph G,
setiap vertex dari G mempunyai degree sekurang-kurangnya dua. Dan menurut
Lemma 2.1.5, G pasti mempunyai circuit C. jika C memuat setiap edge dari G, maka
persoalan selesai. Tetapi jika tidak, laluilah dalam G edge-edge dari C¸buat graph H
dimana jumlah edge-nya lebih kecil dari jumlah edge dalam G dan setiap vertex dari
H mempunyali degree genap. Karena induksi hipotesa, setiap komponen dari H
mempunyai Eulerian path. Mulailah dari salah satu komponen, misalnya H2. Pilihlah
komponen yang lain (missal H1) untuk memperoleh Eulerian path P1 yang memuat
komponen H2 dan H1. Demikian seterusnya (lihat Gambar 2.5) sampai diperoleh
Eulerian path yang memuat semua vertex dan berakhir di vertex mula-mula (initial
vertex).

Akibat 2.1.7 (Wilson, 1996) Suatu connected graph G merupakan Eulerian jika dan
hanya jika keluarga edge-nya dapat dipisah-pisahkan atas circuit-circuit yang saling
asing.
Bukti. (=>) Diketahui connected graph G adalah Eulerian graph yang non-trivial.
Berdasarkan Teorema 2.1.6, setiap vertex dari G memiliki degree genap. Jadi, degree
terkecil dari G adalah dua. Dari Lemma 2.1.5, maka G pasti mempunyai circuit,
katakana circuit Z. penghapusan edge-edge dari Z menghasilkan spanning subgraph
G1 dan settiap vertex dalam G1 mempunyai degree genap. Jika G1 tidak mempunyai
edge, maka terbukti. Jika sebaliknya ulangi proses diatas sehingga menghasilkan
spanning subgraoh G2 dimana setiap vertex-nya mempunyai degree genap. Dan
seterusnya, proses terus diulangi sampai diperoleh titally disconnected graph Gn dan
mempunyai partisi-partisi terdiri atas edge-edge dari G yang merupakan n-circuit.
(<=) Diketahui connected graph G yang keluarga edge-nya dapat dipisah-pisahkan
atas ciruit-circuit yang saling asing. Karena circuit dapat dipandang sebagai cycle,
maka G dapat dipandang terpartisi ke dalam cycle-cycle yang saling asing.
Misal Z1 adalah salah satu cycle dari partisi. Jika G hanya memuat Z1, bukti selesai
yaitu G Eulerian. Jika tidak, yaitu terdapat cycle lain katakan Z2 dengan vertex v
dalam Z2 yang juga sekaligus merupakan vertex dari Z1, maka path dari G dimulai dari
v serta memuat cycle Z1 dan Z2. Teruskan proses diatas untuk semua cycle dalam G
sehingga akhir dari proses diperoleh path tertutup yang memuat semua edge dari G.
dengan demikian, G merupakan Eulerian.
Akibat 2.1.8 (Wilson, 1996I) Suatu connected graph G adalah semi Eulerian jika
dan hanya jika G mempunyai tepat dua vertex dengan degree ganjil.
Bukti. (=>) Diketahui connected graph G adalah semi Eulerian. Berarti terdapat path
P yang tidak tertutup dari graph G, dimana P melalui setiap edge dengan tepat satu
kali dan dengan demikian P melalui setiap vertex dari G. Misalkan v dan w
merupakan vertex awal dan vertex akhir dari P. karena setiap edge pada P dilalui
dengan tepat satu kali, maka setiap kali melalui vertex dalam G, harus ada dua edge
yang dilalui. Ini berlaku untuk semua vertex dalam G, kecuali v dan w. Ini berarti
setiap vertex dari G memiliki degree genap, kecuali v dan w. Selain edge awal dan
edge akhir, terdapat dua edge setiap kali melalui vertex v maupun w. Dengan
demikian, vertex yang memiliki degree ganjil hanya v dan w.
(<=) Diketahui connected graph G yang mempunyai tepat dua vertex dengan degree
ganjil. Katakana dua vertex dengan degree ganjil tersebut dengan u dan v. Misalkan H
graph baru yang diperoleh dari G dengan menambahkan vertex baru w dan
menghubungkannya dengan vertex u dan v. Dari sini maka diperoleh H merupakan
connected graph dengan semua vertex memiliki degree genap. Berdasarkan Teorema
2.1.6, maka H merupakan Eulerian graph. Misalkan P Eulerian path dari H dengan
vertex w sebagai initial point. Dari sini maka dengan menghapus Kembali w, terdapat
path yang tidak tertutup P’ yang memuat semua edge dari G, dengan u sebagai vertex
awal dan v sebagai vertex akhir. Dengan demikian, G merupakan semi Eulerian
graph.
Jika dalam semi Eulerian graph mempunyai tepat dua vertex dengan degree
ganjil, maka pasti ada semi Eulerian path yang dimulai dari salah satu vertex dengan
degree ganjil dan diakhiri pada vertex dengan degree ganjil yang lain. Dengan
menggunakan Handshaking Lemma, suatu graph tidak dapat dengan tepat mempunyai
suatu vertex dengan degree ganjil. Sebab jumlah degree dari seluruh vertex harus
genap. Dari sini maka diambil suatu kesimpulan yang kemudian dapat diangkat
menjadi sebuah teorema, tetapi sekaligus dapat dipandang sebagai algoritma untuk
mendapatkan Eulerian path dalam graph G. Algoritma ini sering pula disebut sebagai
Algoritma Fleury.
Teorema 2.1.9 (Setiadji) Misal G adalah connected graph, maka kalimat-kalimat
berikut ekuivalen:
(i) G adalah Eulerian
(ii) Setiap vertex dari G mempunyai degree genap
(iii) Himpunan edge dari G dapat digolong-golongkan (dipisah-pisahkan) menjadi
cycle-cycle yang saling asing.
Bukti. (i) => (ii) Misalkan P adalah Eulerian path dari graph G. Pasti P melalui
sembarang vertex, dimana vertex tersebut memberikan dua degree kepada vertex itu.
Karena setiap edge ada pada P tepat satu kali, maka setiap vertex mempunyai degree
genap.
(ii) => (iii) Pandang G connected graph yang non-trivial, dan setiap vertex
mempunyai degree genap. Jadi, degree terkecil adalah dua. Selanjutanya G pasti
mempunyai cycle katakana Z. Penghapusan edge-edge dari Z menghasilkan spanning
subgraph G1 dan setiap vertex dalam G1 mempunyai degree genap. Jika G1 tidak
mempunyai edge, maka (iii) terbukti. Jika sebaliknya ulangi proses diatas sehingga
menghasilkan spanning subgraph G2 dimana setiap vertex-nya mempunyai degree
genap. Dan seterusnya, proses terus diulangi sampai diperoleh totally disconnected
graph Gn dan mempunyai partisi-partisi terdiri atas edge-edge dari G yang merupakan
n-cycle.
(iii) => (i) Misal Z1 adalah salah satu cycle sari partisi. Jika G hanya memuat Z1, bukti
selesai yaitu G Eulerian. Jika tidak, yaitu terdapat cycle lain katakana Z2 dengan
vertex v dalam Z2 yang juga sekaligus merupakan vertex dari Z1, maka path dari G
dimulai dari v serta memuat cycle Z1 dan Z2. Jadi terdapat path tertutup dimana semua
edge-nya adalah cycle-cyle Z1 dan Z2. Teruskan proses diatas untuk semua cycle dalam
G sehingga akhir dari proses diperoleh path tertutup yang memuat semua edge dari G.
Dengan demikian, G merupakan Eulerian.
Berikut diberikan contoh sebagai penerapan untuk Teorema 2.1.9
Contoh 2.1.10 Diperhatikan graph G seperti pada Gambar 2.6.

Dari graph G, himpunan edge dari G dapat digolong-golongkan (dipisah-


pisahkan) menjadi cycle-cycle yang saling asing. Dengan demikian, graph G
merupakan Eulerian.
Penyelesaian bagi masalah “Jembatan Konisberg” diberikan dalam contoh
2.1.11 berikut.
Contoh 2.1.11 Diperhatikan graph G seperti pada Gambar 2.7.

Dari graph G, himpunan edge dari G tidak dapat digolong-golongkan (dipisah-


pisahkan) menjadi cycle-cycle yang saling asing. Selain itu, terdapat vertex yang
berderajat ganjil, yaitu p(v1) = p(v3) = p(v4) = 3 dan p(v2) = 5.
Dari sini, maka graph G merupakan Eulerian.
Dengan demikian, berdasarkan contoh 2.1.11, diperoleh jawaban untuk kasus:
“Apakah ‘Jembatan Konisberg’ dapat dilalui dengan tepat satu kali dan kembali lagi
ke tempat semula?”, yakni tidak dapat. Hal ini dikarenakan “Jembatan Konisberg”
tidak memenuhi syarat cukup sebagai Eulerian graph.
Berikut diperhatikan suatu kasus yang sering disebut sebagai masalah
“Perjalanan Salesman”. Seseorang berkunjung ke suatu provinsi dan berharap dapat
mengunjungi setiap kota dengan biaya seminimal mungkin. Hal ini hanya dapat
dimungkinkan jika dia melakukan perjalanan dengan melalui semua kota tepat satu
kali, dan secara langsung melalui hanya tepat satu jalan penghubung kota. Dalam
Bahasa teori graph, maka masalah ini adalah apakah terdapat graph yang mana setiap
vertex-nya dapat dilalui dengan tepat satu kali saja, untuk dapat kembali ke vertex
awal. Sudah tentu tidak semua graph memiliki sifat seperti ini, sehingga menuntun
pada suatu kajian mengenai Hamiltonian Graph.
2.2. HAMILTONIAN GRAPH

Di atas telah dibahas adanya path tertutup yang memuat setiap edge dari connected graph G
yang diberikan. Persoalan yang hampir sama seperti di atas, tetapi lebih sulit yaitu adanya path
tertutup yang melalui setiap verteks dari G dengan tepat satu kali. Sekarang akan diberikan kajian
mengenai Hamiltonian Graph, yaitu selain memberikan definisinya, juga akan dinyatakan apa yang
menjadi syarat cukup bagi suatu graph untuk menjadi Hamiltonian Graph.

Definisi 2.2.1 (Setiadji) Diberikan graph G. Circuit dalam graph G yang memuat semua verteks dari
G, yakni circuit tersebut incident dengan setiap verteks dari graph G, dinamakan Hamiltonian circuit.
Graph G yang memiliki Hamiltonian circuit disebut Hamiltonian graph.

Graph yang mempunyai chain yang melalui setiap verteks dari G disebut semi

Hamiltonian graph, chain-nya disebut Hamiltonian chain.


Bipartite graph mempunyai beberapa Hamiltonian chain yang tidak merupakan Hamiltonian
circuit. Tidak ada bipartite graph dengan jumlah verteks ganjil yang mempunyai Hamiltonian circuit
(setiap simple circuit dalam suatu bipartite graph mempunyai jumlah edges genap yang incident
dengan setiap verteks dengan jumlah genap juga). Jadi setiap Hamiltonian graph pasti mempunyai
Hamiltonian chain tetapi tidak sebaliknya. Sehingga setiap Hamiltonian graph pasti semi Hamiltonian
graph. Tidak setiap graph mempunyai Hamiltonian chain maupun Hamiltonian circuit; graph yang
tidak mempunyai Hamiltonian circuit juga tidak mempunyai Hamiltonian chain disebut non
Hamiltonian graph (misalkan tree). Berikut diberikan contoh Hamiltonian Graph, semi Hamiltonian
Graph, dan non Hamiltonian Graph.

Contoh 2.2.2 Diperhatikan graph G seperti pada Gambar 2.8.

Gambar 2.8 Hamiltonian Graph


Dari graph G, dapat ditemukan barisan edge:

v1 → v2 → v3 → v4 → v5 → v6 → v7 → v8 → v1.

Barisan edge tersebut merupakan circuit, dan karena circuit tersebut melalui setiap verteks dari
graph G, maka circuit tersebut dinamakan Hamiltonian circuit, sehingga graph G dinamakan
Hamiltonian graph.
Contoh 2.2.3 Diperhatikan graph G seperti pada Gambar 2.9.

Gambar 2.9 semi Eulerian Graph

Dari graph G, tidak terdapat chain tertutup, tetapi dapat ditemukan barisan edge:

v4 → v6 → v5 → v7 → v3 → v1 → v2.

Barisan edge tersebut merupakan chain yang tidak tertutup, dan melalui semua verteks dari graph G,

sehingga chain tersebut merupakan Hamiltonian chain. Dengan demikian, graph G merupakan semi

Hamiltonian graph. Contoh 2.2.4 Diperhatikan graph G seperti pada Gambar 2.10.

Gambar 2.10 non Hamiltonian graph


Dari graph G, tidak dapat ditemukan chain yang memuat semua verteks dari graph G. Dengan
demikian, graph G merupakan non Hamiltonian. Teorema 2.2.5 (Setiadji) Jika G adalah simple graph

dengan banyak verteks n ≥ 3, dan untuk setiap verteks v, maka G adalah Hamiltonian.

Bukti. Diketahui G adalah simple graph dengan banyak verteks n ≥ 3, dan ρ untuk setiap
verteks v. Diambil k verteks baru yang dihubungkan dengan semua verteks dari G. Misal k adalah
banyak minimum verteks baru sedemikian hingga G = G+G1 Hamiltonian, dengan G1 = {p1,p2,p3,··· ,pk}.
Akan dibuktikan bahwa k = 0. Diandaikan k 6= 0 atau k > 0, maka karena G Hamiltonian, ada
Hamiltonian circuit untuk G, misal :

v → p1 → w → x → y →···→ v.

Maka v atau w tidak ajacent (sebab jika v dan w ajacent, maka p1 tidak diperlukan atau dapat
dihapus. Dalam hal ini, tidak mungkin sebab k = banyak minimum verteks baru sedemikian sehingga
G Hamiltonian). Jika x titik sebarang yang ajacent dengan v, maka x pasti tidak berada di Hamiltonian
circuit di atas, sehingga x tidak ajacent dengan w.

Jadi, (x ajacent dengan v ) =⇒ (x ajacent dengan w).

Sekarang diambil :

α = {x ∈ G0|x ajacent dengan v} β = {x ∈ G0|x tidak


ajacent dengan w}
Sehingga α ⊆ β, yaitu |α|≤|β|.

Diperhatikan sehingga .
Dari sini maka, banyak titik dalam G yang tidak ajacent dengan , dan banyak titik dalam
G yang adjacent dengan .

Sehingga diperoleh banyak titik dalam .


Hal ini merupakan kontradiksi, sehingga pengandaian ditolak dan terbukti

k = 0 atau G = G Hamiltonian. Penerapan dari Teorema 2.2.5 diberikan dalam contoh berikut.

Contoh 2.2.6 Diperhatikan graph G seperti pada Gambar 2.11.

Gambar 2.11 Hamiltonian graph


Dari graph G, diperoleh sejumlah enam verteks, dan 6 = 3 , untuk setiap i =
1,2,...,6. Berdasarkan Teorema 2.2.5, maka graph G merupakan Hamiltonian graph.

Hamiltonian circuit dari graph G: a1, a7, a8, a5, a6, a2,

atau

v1 → v2 → v5 → v3 → v6 → v4 → v1

Anda mungkin juga menyukai