Anda di halaman 1dari 34

Pertemuan : 2

Dosen : Nesi Syafitri, S.Kom, M.Cs

Graph Graph
Graph digunakan untuk merepresentasikan

objek-objek diskrit dan hubungan antara


objek-objek tersebut.
Gambar berikut ini sebuah graph yang
menyatakan peta jaringan jalan raya yang
menghubungkan sejumlah kota di Provinsi
Jawa Tengah.

Graph
Brebes

Tegal

Rembang
Pemalang

Kroya

Kudus

Purbalingga

Blora

Temanggung
Wonosobo

Banjarnegara

Cilacap

Semarang

Demak

Pekalongan

Slawi

Purwokerto

Kendal

Kebumen

Boyolali

Solo

Sragen

Sukoharjo

Magelang
Purworejo

Purwodadi

Salatiga

Klaten
Wonogiri

Komponen dalam Graph:


Simpul (vertex) menyatakan titik/node/
kota
Sisi (edge) menyatakan jalur / jalan

Definisi Graph
Graph G = (V, E), yang dalam hal ini:
V = himpunan tidak-kosong dari simpulsimpul
(vertices)
= { v1 , v2 , ... , vn }
E = himpunan sisi (edges) yang
menghubungkan sepasang simpul
= {e1 , e2 , ... , en }

Contoh Graph
1

1
e1

e2

2
e5

G1
G3

e3

e4
3

e6
e7
4

e1
e2

2
e5

e3
e6

3
e7

G2

e4
e8

Menentukan Simpul dan Sisi pada


Graph
Graph G1
1

G1 adalah graph dengan


Simpul(V) = { 1, 2, 3, 4 }
Sisi(E) = { (1, 2), (1, 3),
(2, 3),
(2, 4), (3, 4) }

Graph
Graph G2
1
e1
e2

e3

e4
3

e6

e5

e7
4

G2 adalah graph dengan


V = { 1, 2, 3, 4 }
E = { (1, 2), (2, 3), (1, 3),
(1, 3), (2, 4), (3, 4),
(3, 4) }
= { e1, e2, e3, e4, e5,
e6, e7}

Graph
Graph G3
1
e

1
e

2
e

e
e

2
e

6
e

G3 adalah graph dengan


V = { 1, 2, 3, 4 }
E = { (1, 2), (2, 3), (1, 3),
(1, 3), (2, 4), (3, 4),
e
(3, 4), (3, 3) }
8
= { e1, e2, e3, e4, e5,
e6,
e7, e8}

Graph
Graph G2
1
e1
e2

e3

e4
3

e6

e5

e7
4

Pada G2, sisi e3 = (1, 3)


dan sisi e4 = (1, 3)
dinamakan sisi-ganda
(multiple edges atau
paralel edges) karena
kedua sisi ini
menghubungi dua buah
simpul yang sama, yaitu
simpul 1 dan simpul 3.

Graph
Graph G3
1
e

1
e

2
e

e
e

e
e

6
e

Pada G3, sisi e8 = (3, 3)


dinamakan gelang
atau kalang (loop)
karena ia berawal dan
berakhir pada simpul
yang sama.

Jenis-Jenis Graph
a. Berdasarkan ada tidaknya gelang atau sisi

ganda pada suatu graph, maka graph


digolongkan menjadi dua jenis:
1. Graph sederhana (simple graph).
2. Graph tak-sederhana (unsimple-graph).

Graph sederhana (simple


graph)
Graph yang tidak mengandung gelang maupun
sisi-ganda dinamakan graph sederhana. G1
adalah contoh graph sederhana
1

Graph tak-sederhana
(unsimple-graph)
Graph yang mengandung sisi ganda atau
gelang dinamakan graph tak-sederhana
(unsimple graph). G2 dan G3 adalah contoh
graph tak-sederhana
1

1
e1
e2

2
e5

e3
e6

e4
3
e7

e4
e1
e3
e2
e6
3
e5
e7
4

e8

Jenis-Jenis Graph
b. Berdasarkan jumlah simpul pada suatu
graph, maka secara umum graph dapat
digolongkan menjadi dua jenis:
1. Graph berhingga (limited graph)
2. Graph tak-berhingga (unlimited graph)

Graph berhingga (limited graph)


Graph berhingga adalah graph yang jumlah
simpulnya, n, berhingga.

Graph tak-berhingga
(unlimited graph)
Graph yang jumlah simpulnya, n, tidak
berhingga banyaknya disebut graph takberhingga.

Jenis-Jenis Graph
c. Berdasarkan orientasi arah pada sisi, maka
secara umum graph dibedakan atas 2 jenis:
1. Graph tak-berarah (undirected
graph)
2. Graph berarah (directed graph atau
digraph)

Graph tak-berarah
(undirected graph)
Graph yang sisinya tidak mempunyai
orientasi arah disebut graph tak-berarah.
Graph G1, G2, dan G3 adalah graph takberarah.
1

e1
2

e2

2
e5

e3

e4
3

e6
e7
4

e1
e2

2
e5

e3

e4

e6

3
e7

e8

Graph berarah (directed


graph atau digraph)
Graph yang setiap sisinya diberikan
orientasi arah disebut sebagai graph
berarah.
1
1
2

(a) G4
G5

(a) graph berarah,


berarah

(b)

(b) graph-ganda

Jenis-Jenis Graph
d. Berdasarkan Nilai yang ada pada edge:
Graph Berbobot
yaitu graph yang pada setiap sisinya terdapat
nilai bilangan riil yang menyatakan sebuah
bobot
Graph Tidak berbobot
yaitu graph yang pada setiap sisinya tidak
terdapat sebuah bilangan, sehingga bobot
pada setiap sisi akan dinyatakan dengan nilai
0 atau 1

Lintasan (Path)
Tinjau graph G1:

Panjang lintasan

lintasan 1, 2, 4, 3
adalah lintasan
dengan barisan sisi
(1,2), (2,4), (4,3).
1

adalah jumlah sisi


dalam lintasan
tersebut. Lintasan 1,
2, 4, 3 pada G1
memiliki panjang 3.
2

Siklus (Cycle) atau Sirkuit


(Circuit)
Lintasan yang berawal

dan berakhir pada


simpul yang sama
disebut sirkuit atau
siklus.

Panjang sirkuit

adalah jumlah sisi


dalam sirkuit tersebut.
Sirkuit 1, 2, 3, 1 pada
G1 memiliki panjang 3.

Tinjau graph G1:

1, 2, 3, 1 adalah
1
sebuah sirkuit.

Representasi Graph dalam


Matrik

Sebuah graph dapat direpresentasikan dalam


bentuk Matrik Adjacency, dengan cara sbb:
1.Matrik yang terbentuk adalah matrik bujur
sangkar nxn, sesuai banyaknya simpul / vertex
yang ada.
2.Elemen yang ada pada setiap matrik
diperoleh berdasarkan bobot yang ada pada
masing-masing sisinya dan berdasarkan
orientasi arah darai graph tersebut.

Contoh Graph BerarahBerbobot


v1 v2
v1
v2
v3
v4
v5

v3 v4

v5

Contoh Graph Tidak


Berarah-Tidak berbobot
v1 v2
v1
v2
v3
v4
v5

v3 v4

v5

Pertemuan : 3,4

Pendahuluan
Algoritma greedy merupakan metode yang

paling populer untuk memecahkan persoalan


optimasi.
Persoalan optimasi (optimization problems):
persoalan yang menuntut pencarian solusi
optimum.
Persoalan optimasi ada dua macam:
Maksimasi (maximization)
Minimasi (minimization)

Solusi optimum (terbaik) adalah solusi yang


bernilai minimum atau maksimum dari
sekumpulan alternatif solusi yang mungkin.

Elemen persoalan optimasi:


kendala (constraints)

fungsi objektif(atau fungsi optimasi)


Solusi yang memenuhi semua kendala disebut
solusi layak (feasible solution). Solusi layak
yang mengoptimumkan fungsi optimasi disebut
solusi optimum.

Contoh masalah sehari-hari yang menggunakan


prinsip greedy:
Memilih beberapa jenis investasi (penanaman

modal)
Mencari jalur tersingkat dari kota asal ke kota
yang dituju
Bermain kartu remi

Cara Kerja Algoritma


Greedy
1.
2.
a.
b.

c.

3.

Tentukan node awal dan node


tujuan
Lakukan berulang-ulang:
Menentukan kandidat: Periksa
semua sisi yang terhubung
langsung dengan node awal.
b. Menentukan kandidat solusi
- pilih sisi yang memiliki bobot
paling kecil.
- hitung panjang lintasan
sementara d(i).
Menentukan solusi terpilih
- Cek node akhir <> node
tujuan
- set node awal = node akhir
terpilih
Lakukan tahap no.2 sampai
node tujuan ketemu

Rumus
d(i) = d(i-1) + bobot node
terpilih(i)

1. Tentukan node Awal: A


Tentukan node tujuan: L
2.

Loo
pin
g

Menentuka
n kandidat
:7
:6
:5
:9

Menentukan
kandidat solusi

Node
akhir

Node
Awal

Solusi
terpilih

Jalur : A-D
D(1) = 0 + 5 = 5

A-B
A-C
A-D
A-E

D-H : 9

Jalur: D H
D(2) = 5 + 9 = 14

H J : 10
HK:8

Jalur : H - K
D(3) = 14 + 8 = 22

K L : 11

Jalur : K L
D(4) = 22 + 11 =
3. Jalur terpendek : A D33
HKL
Panjang lintasan : 33

Anda mungkin juga menyukai