Anda di halaman 1dari 19

BAB II

KAJIAN PUSTAKA

A. Pengertian Graf

Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E) , dengan V

adalah himpunan tak kosong dari simpul-simpul (vertices) pada G. Sedangkan E

adalah himpunan rusuk (edge) pada G yang menghubungkan sepasang simpul.

Himpunan simpul pada G dinotasikan sebagai V, dan himpunan rusuk pada G

dinotasikan sebagai E. Jadi G=(V, E) (Harju, 2012:4).

Menurut Siang (2002:187), suatu graf G terdiri dari 2 himpunan yang

berhingga, yaitu himpunan simpul-simpul tidak kosong (V(G)) dan himpunan garis-

garis (E(G)). Jadi, suatu graf G adalah pasangan himpunan V dan E, dituliskan G =

(V,E), dengan V adalah suatu himpunan berhingga dan E adalah suatu himpunan

rusuk yang bersisian dengan V.

Berikut adalah beberapa istilah yang sering digunakan dalam graf.

1. Gelang (Loop)

Menurut Munir (2005), suatu rusuk dikatakan gelang apabila ujung

rusuknya berawal dan berakhir pada simpul yang sama.

2. Rusuk Ganda (Multiple Edges)

Pada sebuah graf, terdapat kemungkinan bahwa terdapat lebih dari satu

rusuk yang bersisian dengan sepasang simpul. Rusuk tersebut dinamakan

rusuk ganda.

7
3. Bertetangga (Adjacent)

Dua buah simpul pada graf tak berarah G dikatakan bertetangga bila

keduanya terhubung langsung dengan sebuah rusuk. (Harju, 2012). Dengan

kata lain, u bertetangga dengan v jika (u, v) adalah sebuah rusuk pada graf.

Gambar 2.1 Graf A

Pada Gambar 2.1, simpul v1 bertetangga dengan simpul v2, e1

merupakan gelang, dan antara v1 dan v3 terdapat rusuk ganda e5 dan e4.

4. Bersisian (Incident)

Untuk sembarang rusuk e = (u, v), rusuk e dikatakan bersisian dengan

simpul u dan simpul v. Pada Gambar 2.1 rusuk e7 bersisian dengan v4 dan v5.

Sedangkan e2 tidak bersisiang dengan v1 maupun v2.

5. Graf Kosong (Null Graph atau Empty Graph)

Graf kosong adalah graf yang himpunan rusuknya merupakan

himpunan kosong. Graf kosong dapat dinotasikan dalam Nn, dimana n adalah

banyaknya simpul.

Gambar 2.2 Contoh Graf N3

8
6. Perjalanan (Walk)

Perjalanan u-v di G dengan u,v merupakan simpul-simpul pada graf G

adalah barisan berganti-ganti antara simpul dan rusuk dari G, diawali

dengan simpul u dan diakhiri dengan simpul v.

b d

a
c

e
f
Gambar 2.3 Graf D

Barisan a, ab, b, bf, f, fc, c, ce, e merupakan sebuah contoh perjalanan

dari graf pada Gambar 2.3.

7. Lintasan (Path)

Menurut Munir (2005), lintasan yang panjangnya n dari simpul awal v0

ke simpul tujuan vn di dalam graf D ialah barisan berselang-seling simpul-

simpul dan rusuk-rusuk yang berbentuk v0, e1, v1, e2, v2, ..., vn-1, en, vn

sedemikian sehingga e1 = (v0, v1), e2 = (v1, v2), ..., en = (vn-1,vn) adalah rusuk-

rusuk dari graf D. Barisan c, cb, b, bf, f, pada Gambar 2.3 merupakan sebuah

lintasan.

8. Siklus (Cycle) atau Sirkuit (Circuit)

Sirkuit atau siklus adalah lintasan yang berawal dan berakhir pada

simpul yang sama. Sebuah sirkuit dikatakan sirkuit sederhana (simple sirkuit)

jika setiap rusuk yang dilalui berbeda. Contoh sirkuit dari graf pada Gambar

2.3 ,adalah a-b-c-d-e-f-a.

9
9. Terhubung (Connected)

Dua buah simpul dalam graf, simpul u dan simpul v dikatakan

terhubung jika terdapat lintasan dari u ke v. Jika dua buah simpul terhubung

maka pasti simpul yang pertama dapat dicapai dari simpul yang kedua. Jika

setiap simpul di dalam graf terhubung, maka graf tersebut disebut sebagai

graf terhubung (Siang:2002). Definisi mengenai graf terhubung dibagi

menjadi dua, yaitu untuk graf tak berarah dan untuk graf berarah.

a. Menurut Munir (2005), graf tak berarah G disebut graf terhubung

(connected graph) jika untuk setiap pasang simpul u dan v di dalam

himpunan V terdapat lintasan dari u ke v (yang juga harus berarti

ada lintasan dari v ke u). Jika tidak, maka G disebut graf tak

terhubung (disconnected graph). Gambar 2.4 adalah contoh dari

graf tak berarah yang terhubung.

Gambar 2.4 Graf Tak Berarah Yang Terhubung

b. Graf berarah G dikatakan terhubung jika graf tak berarahnya

terhubung (graf tak berarah dari G diperoleh dengan

menghilangkan arahya) (Munir, 2005). Pada graf berarah,

keterhubungan dua buah simpul dibedakan menjadi dua, yaitu

terhubung kuat dan terhubung lemah.

10
Gambar 2.5 Graf Berarah Terhubung

Graf pada Gambar 2.5 (a) merupakan graf terhubung kuat, karena

untuk sembarang sepasang simpul di dalam graf tersebut terdapat

lintasan. Sedangkan graf pada Gambar 2.5 (b) merupakan graf

terhubung lemah, karena tidak semua pasangan simpul mempunyai

lintasan arah.

10. Graf Berbobot (Weighted Graph)

Graf berbobot adalah graf yang setiap rusuknya diberi sebuah harga

(bobot) (Munir, 2005:376). Bobot pada tiap rusuk dapat berbeda-beda,

tergantung pada masalah yang dimodelkan dengan graf. Bobot pada graf

berbobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antar

dua buah kota, ongkos produksi, dan lain sebagainya.

Gambar 2.6 Contoh Graf Berbobot

11
B. Jenis-Jenis Graf

Graf dapat dikelompokkan menjadi beberapa jenis sesuai dengan sudut

pandang pengelompokannya. Pengelompokan graf dapat dipandang berdasarkan

ada tidaknya rusuk ganda, berdasarkan jumlah simpul, atau berdasarkan orientasi

arah pada rusuk (Munir, 2005:357).

Berdasarkan ada tidaknya gelang (loop) yaitu rusuk yang menghubungkan

sebuah simpul dengan dirinya sendiri atau rusuk ganda pada suatu graf, maka secara

umum graf dapat digolongkan menjadi dua jenis, graf sederhana dan graf tak

sederhana.

1. Graf Sederhana (Simple Graph)

Graf sederhana adalah graf yang tidak mempunyai rusuk ganda dan

atau, gelang. Pada graf sederhana, rusuk adalah pasangan tak terurut

(unordered pairs) (Harju:2012). Jadi rusuk (u, v) sama dengan (v, u). Menurut

Munir (2005) graf sederhana juga dapat didefinisikan sebagai G = (V, E),

terdiri dari V, himpunan tidak kosong simpul-simpul dan E, himpunan

pasangan tak terurut yang berbeda yang disebut rusuk. Berikut adalah contoh

graf sederhana.

Gambar 2.7 Contoh Graf Sederhana

12
Menurut Siang (2002) beberapa graf sederhana khusus yang sering digunakan

adalah sebagai berikut.

a. Graf Lengkap (Complete Graph)

Graf lengkap adalah graf sederhana yang setiap dua simpulnya

bertetangga. Graf lengkap dengan n buah simpul dilambangkan dengan

Kn. Setiap simpul pada Kn berderajat n – 1. Banyaknya rusuk pada graf

lengkap yang terdiri dari n buah simpul adalah n(n – 1)/2.

Gambar 2.8 Graf Lengkap (Complete Graph)

b. Graf Lingkaran

Graf lingkaran adalah graf sederhana yang setiap simpulnya

berderajat dua. Graf lingkaran dengan n simpul dilambangkan dengan

Cn.

Gambar 2.9 Graf Lingkaran C3 dan C4

13
c. Graf Teratur (Regular Graph)

Graf teratur adalah graf yang setiap simpulnya mempunyai derajat

yang sama. Apabila derajat setiap simpul adalah r, maka graf tersebut

disebut sebagai graf teratur derajat r.

Gambar 2.10 Graf Teratur Derajat 3

d. Graf Bipartit (Bipartite Graph)

Graf G yang himpunan simpulnya dapat dikelompokkan menjadi

dua himpunan bagian V1 dan V2, sedemikian sehingga setiap rusuk di

dalam G menghubungkan sebuah simpul di V1 ke sebuah simpul di V2

disebut graf bipartit dan dinyatakan sebagai G (V1, V2).

Gambar 2.11 Graf Bipartit (Bipartite Graph)

2. Graf Tak Sederhana (Unsimple Graph)

Graf yang mengandung rusuk ganda atau gelang dinamakan graf tak

sederhana (unsimple graph) (Harju:2012). Ada dua macam graf tak

sederhana, yaitu graf ganda (multigraph) atau graf semu (pseudograph). Graf

ganda adalah graf yang mengandung rusuk ganda. Graf semu adalah graf

yang mengandung gelang (loop).

14
Gambar 2.12 Contoh Graf Tak Sederhana (Graf Ganda dan Graf Semu)

Selain berdasarkan ada tidaknya rusuk ganda dan jumlah simpul pada suatu

graf, graf juga dapat dikelompokkan berdasarkan orientasi arah pada

rusuknya.Pengelompokan berdasarkan orientasi arah pada rusuknya digolongkan

menjadi dua yaitu graf tak berarah dan graf berarah (Bondy, Murty :1982).

1. Graf Tak Berarah (Undirected Graph)

Graf tak berarah adalah graf yang rusuknya tidak mempunyai orientasi

arah. Urutan pasangan simpul yang dihubungkan oleh rusuk tidak

diperhatikan (Siang, 2002:194). Jadi (V1, V2) = (V2, V1) adalah rusuk yang

sama.

Gambar 2.13 Contoh Graf Tak Berarah

2. Graf Berarah (Directed Graph) (Harju, 2012:5)

Graf berarah adalah graf yang setiap rusuknya memiliki orientasi arah.

Rusuk pada graf berarah disebut busur (arc). Pada graf berarah, (u, v) dan (v,

15
u) menyatakan dua buah busur yang berbeda. Jadi (u, v) ≠ (v, u). Untuk busur

(u, v), simpul u dinamakan simpul asal (initial vertex) dan simpul v

dinamakan simpul terminal (terminal vertek). Graf berarah ini seringkali di

jadikan dasar dalam pembentukan model mengenai aliran proses, peta lalu

lintas, sistem jaringan listrik, jaringan telepon, analisis jejaring sosial, dan lain

sebagainya. Pada graf berarah, adanya gelang diperbolehkan, tetapi rusuk

ganda tidak.

Gambar 2.14 Graf Berarah

C. Traveling Salesman Problem

Traveling salesman problem (TSP) adalah mencari rute untuk salesman yang

dimulai dari lokasi awal, mengunjungi serangkaian kota kemudian kembali ke

lokasi semula sedemikian sehingga jarak total yang ditempuh adalah jarak minimal

dan setiap kota dikunjungi tepat satu kali. (Gutin, 2006 : 1)

Menurut Radolp W Hall (2003: 423), tiga tujuan (kriteria) yang paling

penting dalam penyelesaian program rute tersingkat adalah.

1. Meminimalkan jumlah kendaraan.

2. Meminimalkan waktu tempuh total.

3. Memastikan setiap rute seimbang dalam syarat waktu pelaksanaan rute.

16
Traveling salesman problem dapat di modelkan dalam graf tak berarah dan

berbobot. Berikut representasi banyaknya sirkuit TSP dalam graf .

Gambar 2.15 Graf K


Dari Graf K berbobot dicari banyaknya sirkuit dari simpul A kembali lagi

ke simpul A. Terdapat 6 sirkuit pada Graf K yaitu, A-B-C-D-A, A-D-C-B-A, A-C-

D-B-A, A-B-D-C-A, A-D-B-C-A, dan A-C-B-D-A, sehingga banyaknya sirkuit (s)

dapat dicari dengan

‫ ݏ‬ൌ ሺ݊ െ ͳሻǨ 2.1


Rusuk-rusuk dalam graf K tidak berarah sehingga w A, B w B, A , sehingga

banyaknya sirkuit menjadi

ሺ௡ିଵሻǨ
‫ݏ‬ൌ

2.2

karena sirkuit A-B-C-D-A = A-D-C-B-A, A-C-D-B-A= A-C-D-B-A, dan A-C-B-

D-A = A-D-B-C-A. Jadi banyaknya semua kemungkinan sirkuit ditentukan dengan

rumus (2.2). Pada Skripsi ini, sirkuit dalam permasalahan TSP disebut dengan rute

perjalanan.

Menurut Gutin (2006: 16). Secara matematis, permasalahan TSP dapat

diformulasikan sebagai.

17
௡ ௡

݉݅݊݅݉݅‫ ݁ݖ‬෍ ෍ ܿ௜௝ ‫ݔ‬௜௝


௜ୀଵ ௝ୀଵ

dengan kendala

෍ ‫ݔ‬௜௝ ൌ ͳǡ ݆ ൌ ͳǡ ʹǡ ǥ ǡ ݊
௜ୀଵ

෍ ‫ݔ‬௜௝ ൌ ͳǡ ݅ ൌ ͳǡ ʹǡ ǥ ǡ ݊
௝ୀଵ

‫ݔ‬௜௝  ‫ א‬ሼͲǡͳሽǡ݅ǡ ݆ ൌ ͳǡ ʹǡ ǥ ǡ ݊

Jika disajikan dalam bentuk tabel

Tabel 2.1. Tabel Permasalahan TSP


v1 v2 ... vn ෍ ‫ݔ‬௜௝ 
௝ୀଵ

v1 c11x11 c12x13 ... c1nx1n 1

v2 c21x21 c22x22 ... c2nx2n 1

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

vn cn1xn1 cn2xn2 ... cnnxnn 1

෍ ‫ݔ‬௜௝  1 1 1 n
௜ୀଵ

cij pada tabel tersebut merepresentasikan waktu dari simpul i ke simpul j.

Sedangkan xij merepresentasikan ada tidaknya jalur dari simpul i ke simpul j. Sesuai

dengan kendala, xij bernilai 0 jika tidak ada jalur yang menghubungkan simpul i ke

j dan xij bernilai 1 jika ada jalur dari yang menghubungkan simpul i ke j.

18
D. Algoritma

1. Pengertian algoritma (Wahid, 2004:2)

Algortima adalah urutan langkah-langkah yang dinyatakan dengan jelas

dan tidak rancu untuk memecahkan suatu masalah (jika ada pemecahannya)

dalam rentang waktu tertentu sedemikian rupa sehingga didapatkan hasil

yang paling optimal.

2. Syarat algoritma (Wahid, 2004: 4)

Karakteristik atau syarat algoritma memenuhi sebagai berikut.

a. Algoritma harus tidak ambigu (unambiguous).

b. Algoritma harus tepat (precise).

c. Algoritma harus pasti (definite).

d. Algortima harus berhingga (finite).

3. Cara penulisan algoritma (Wahid, 2004: 10-11)

Algoritma sebagai langkah-langkah pemecahan masalah dapat

dituliskan dalam beberapa cara sebagai berikut.

a. Uraian deskriptif.

b. Pseudocode.

c. Bagan alir (flow chart).

Uraian deskriptif merupakan suatu algoritma yang menggunakan

bahasa sehari-hari. Algoritma juga dapat dituliskan dalam kode-kode yang

disepakati dan mempunyai arti sendiri. Kode-kode seperti ini disebut dengan

pseudecode. Kode-kode ini dapat dikembangkan sendiri, asalkan arti dari

setiap kode disepakati bersama. Algoritma tersebut juga dituliskan dalam

19
notasi grafik yang setiapnya mempunyai arti tertentu. Notasi-notasi tersebut

digunakan untuk menggambarkan bagan alir (flow chart).

E. Algoritma Koloni Lebah

Algoritma koloni lebah mensimulasikan kebiasaan lebah dalam pencarian

makanan. Lebah madu merupakan contoh khusus dari alam yang menginspirasi

algoritma optimasi. (Karaboga, 2009:2)

Langkah-langkah penyesuaian algoritma koloni lebah.

1. Forage (proses pencarian sumber makanan)

Tahapan ini diberikan pada setiap lebah yang akan mengunjungi

sumber makanan. Aturan diberlakukan ketika lebah dihadapkan pada

beberapa pilhan simpul. Pengambilan simpul selanjutnya ditentukan oleh

nilai peluang yang berdasarkan nilai arc fitness dan waktu tempuh antar

simpul.

Arc fitness dihitung untuk semua kemungkinan antara simpul i dan

simpul j pada transisi ke-n. Nilai fitness yang lebih besar akan diberikan untuk

rute yang menjadi bagian dari preferred path (dinyatakan dengan θ). Arc

fitness dinyatakan oleh persamaan.

‫ۓ‬
ߣ ǡ ݆ ‫݅ܨ א‬ǡ݊ ǡ ห‫݅ܣ‬ǡ݊ ห ൐ ͳ
ۖͳ െ ߣห‫݅ܣ‬ǡ݊ ‫݅ܨ ת‬ǡ݊ ห ൐ ͳ
ߩ௜௝ǡ௡ ൌ  ǡ ݆ ‫݅ܨ ב‬ǡ݊ ǡ ห‫݅ܣ‬ǡ݊ ห ൐ ͳ (2.3)
‫۔‬ ห‫݅ܣ‬ǡ݊ െ ‫݅ܨ‬ǡ݊ ห
ۖ
‫ە‬ ͳ ǡ ห‫݅ܣ‬ǡ݊ ห ൌ ͳ
Keterangan.

20
ρij,n = arc fitness antara simpul i dan j pada transisi ke-n

λ = probabilitas kota yang diikuti pada θ.

Ai,n = himpunan simpul yang bisa dijangkau dari simpul i pada

transisi ke-n.

Fi,n = himpunan berisi satu simpul yang direkomendasikan.

Peluang untuk berpindah dari simpul i dan j pada transisi ke-n

merupakan fungsi dari waktu dan arc fitness. Dapat didefinisikan.


ഀ భ
ൣఘ೔ೕǡ೙ ൧ ቈ೏ ቉
೔ǡೕ
ܲ௜௝ǡ௡ ൌ  ഁ
(2.4)
ഀ భ
σೕ‫א‬ಲ ൣఘ೔ೕǡ೙ ൧ ቈ೏ ቉
೔ೕǡ೙ ೔ǡೕ

ρij = arc fitness antara simpul i dan j.

dij = waktu tempuh antara simpul i dan j.

Pij = peluang percabangan dari simpul i ke simpul j.

α = variabel biner yang menunjukan pengaruh dari arc fitness.

β = variabel yang berfungsi untuk mengontrol signifikasi level untuk

waktu tempuh antar simpul

Persamaan (2.4) menyatakan bahwa Pij berbanding terbalik dengan dij,

sehingga dapat dikatakan semakin singkat waktu tempuh maka semakin besar

kemungkinan rute tersebut akan terpilih.

2. Waggle dance

Ketika lebah telah menemukan sumber makanan, lebah akan menari

dalam rentang waktu tertentu. Lama tarian lebah dipengaruhi oleh kuantitas

nektar yang dikumpulkan lebah ke-i dan rata-rata profitabilitas koloni lebah.

21
Kuantitas nektar dan rata-rata profitabilitas koloni lebah dinotasikan dengan

Pfi dan Pfcolony didefinisikan sebagai berikut.

ͳ
݂ܲ௜ ൌ ǡ ‫ݐ‬௜ ൌ ™ƒ–— (2.5)
‫ݐ‬௜

ͳ ே್೐೐
݂ܲ௖௢௟௢௡௬ ൌ  ෍ ݂ܲ௜ (2.6)
ܰ௕௘௘ ௜ୀଵ

Nilai kuantitas nektar dan rata-rata profitabilitas koloni lebah

ditentukan dari setiap lebah yang telah menyelesaikan tur. Kuantitas yang

lebih tinggi akan dikumpulkan jika lebah melakukan perjalanan dengan

waktu yang lebih singkat. Oleh karena itu Pfi berbanding terbalik dengan

waktu tempuh. Durasi tarian dari lebah i yang dinotasikan Di ditentukan oleh

linear fungsi sebagai berikut.

௉௙೔
‫ܦ‬௜ ൌ ‫ ܭ‬௉௙ (2.7)
೎೚೗೚೙೤

K merupakan skala faktor yang mengendalikan besarnya nilai durasi.

Untuk mempermudah dalam pemahaman, berikut disajikan algoritma


koloni lebah dalam bentuk flowchart.

22
Mulai

Input data, Kota Awal,


parameter

Pembangunan rute
secara random

Hitung waktu tempuh,


Simpan waktu tempuh TBest

Pengujian rute dengan


aturan forage

Hitung waktu tempuh baru,


Simpan waktu tempuh T

tidak ya
Simpan TBest T = T Best? Simpan T TBest

Update rute dan TBest

Waggle dance

tidak Kriteria ya Cetak rute


terpenuhi? dan waktu tempuh

Selesai

Gambar 2.16 Flowchart Algoritma Koloni Lebah

23
F. Algoritma Genetika

Algoritma klasik dalam evolusi komputasi dan digunakan untuk

menyelesaikan masalah optimasi adalah Algoritma Genetika. (Pei Wei Tsang

2008:1)

Secara khusus di dalam algoritma genetika istilah kromosom berarti kandidat

solusi dari permasalahan, seringkali dikodekan dalam bit string. Gen baik yang bit

tunggal atau blok pendek dari bit yang berdekatan mengkodekan elemen tertentu

dari kandidat solusi (misal dalam konteks optimasi fungsi multiparameter bit

mengkodekan parameter tertentu yang mungkin diannggap sebagai sebuah gen).

Allel dalam bit string (0 atau 1). Crossover biasanya terbentuk dari pertukaran

material genetika antara dua kromosom tunggal induk haploid. Mutasi terbentuk

dari pembalikan bit pada lokus yang terpilih secara acak. (Mithel Melanie, 1996: 5)

Menurut Kusumadewi (2003:92). Secara umum, proses algoritma genetika

adalah sebagai berikut.

1. Membangkitkan populasi awal secara acak.

2. Membentuk generasi baru dengan menggunakan operasi seleksi, operasi

crossover dan operasi mutasi secara berulang-ulang sehingga diperoleh

kromosom yang cukup untuk membentuk generasi baru sebagai

representasi dari solusi baru.

3. Mengevaluasi setiap populasi dengan menghitung nilai fitness setiap

kromosom hingga terpenuhi kriteria berhenti. Bila kriteria berhenti belum

terpenuhi, maka akan dibentuk lagi generasi baru dengan mengulang

langkah 2. Kriteria berhenti yang digunakan adalah sebagai berikut.

24
a. Berhenti pada generasi tertentu.

b. Berhenti setelah dalam beberapa generasi berturut-berturut

didapatkan nilai fitness tertinggi yang tidak berubah (konvergen).

c. Berhenti bila dalam n generasi berikutnya tidak didapatkan nilai

fitness yang lebih optimal.

Proses algoritma genetika dapat diilustrasikan pada flow chart berikut

Populasi Awal

Evaluasi

ya Terbentuk
Konvergen?
Individu
(mencari fitness terbaik)
Terbaik

tidak

Seleksi

Pindah Silang

Mutasi

Gambar 2.17 Flowchart Algoritma Genetika

25

Anda mungkin juga menyukai