• Tidak ada hasil yang ditemukan

graph 3/12/2013 struktur data by andi arfian 1

N/A
N/A
Protected

Academic year: 2021

Membagikan "graph 3/12/2013 struktur data by andi arfian 1"

Copied!
36
0
0

Teks penuh

(1)
(2)

3/12/2013 struktur data by andi arfian 2

Graph

Graph adalah kumpulan dari simpul dan

busur yang secara matematis dinyatakan

sebagai :

G = (V, E)

Dimana

G = Graph

V = Simpul atau Vertex, atau Node, atau Titik

(3)

Contoh sebuah graph

B A C D E Simpul=Titik.node,vortex(V) V=v1,v2,,,,,v5 v1 v2 v3 v5 v4

Busur =arc,egde (E) E1,e2,,,,e7 e1 e2 e3 e4 e5 e6 e7

(4)

3/12/2013 struktur data by andi arfian 4

Karakter graph

Sebuah graph mungkin hanya terdiri dari satu simpul.

Sebuah graph belum tentu semua simpulnya terhubung

dengan busur

Dalam sebuah graph kemungkinan ada simpul yg tak

terhubung

(5)

GRAPH adalah suatu struktur data yang berbentuk network/jaringan dimana hubungan antara elemen-elemennya adalah many-to-many.

BU :

G = (V,E)

V = NODE (VERTICE), E = ARC (EDGE) SUBGRAPH :

Adalah GRAPH yang merupakan suatu subset/bagian dari GRAPH.

Terminologi

PATH

Adalah sequence dari kumpulan node-node dimana tiap node dengan node berikutnya dihubungkan dengan EDGE

(6)

3/12/2013 struktur data by andi arfian 6

Terminologi

SIMPLE PATH

Jika node dalam path tersebut hanya muncul 1 kali.

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

(7)

Terminologi

CYCLE GRAPH

Jika node pertama dan node terakhir dalam GRAPH adalah sama.

B

A

(8)

3/12/2013 struktur data by andi arfian 8

Directed GRAPH (DiGraph)/ berarah

Undirected GRAPH/tidak berarah

Connected GRAPH

Unconnected GRAPH

Weighted GRAPH/berbobot

Unweighted GRAPH

(9)

Jika sepasang node yg membentuk edge dalam GRAPH mempunyai arah/arti

Directed Graph

Directed Graph B C A

(10)

3/12/2013 struktur data by andi arfian 10

Contoh direct graph

a

b

c

d e

Busur ab adalah satu busur.

Busur b->a dengan busur lainnya

(11)

Jika sepasang node yang membentuk edge dalam

GRAPH tidak terarah./ urutan simpul dalam busur tidak dipentingkan

Ex.a b,b->a

Undirected Graph/tak berarah

Undirected Graph

B

C A

(12)

3/12/2013 struktur data by andi arfian 12

Connected Graph/terhubung

Bila setiap pasang node punya hubungan di antara keduanya dalam GRAPH.

Connected Graph B A D F C E

(13)

Full Connected Graph/Terhubung

penuh

Suatu graph terhubung penuh jika setiap

simpul saling berhubungan

b

d

c

e a

Pada full conneted berlaku : m=n(n-1) /2

Dimana m=jumlah busur N=jumlah simpul Terlihat : untuk simpul n=5,

(14)

3/12/2013 struktur data by andi arfian 14

Unconnected Graph

Bila terdapat SubGraph yang terisolasi.

Unconnected Graph B A C D F E

(15)

Weighted Graph A C B D

Weighted Graph

3 5 4 2

Jika semua edge dalam GRAPH diberi nilai.

Apabila setiap busur mempunyai nilai yang menyatakan hubungan antara dua buah simpul ,maka busur tersebut dikatakan mempunyai bobot,dan graph disebut graph berbobot, bobot sebuah busur dapat menyatakan panjang sebuah jalan anatara dua titik

(16)

3/12/2013 struktur data by andi arfian 16

Graph berlabel

hubungan

dengan jarak dan diameter

Graph berbobot adalah graph yang diberikan bobot

disetiap garisnya.bobot tersebut bisa merupakan

pengambaran suatu besaran mengenai jarak,biaya atau apa saja(Sesuai aplikasi yang akan dibahas)

4 f a b d e 5 3 5 4 7 6

Jarak antara dua titik didalam graphadalah jalur

terpendek yg menghubungkan kedua simpul tersebut

Diameter Graph (Terhubung) adalah nilai maksimum dari jarak(antara dua titik) yang ada didalam graph Ex, dari titik D menuju titik F minimal dapat dilakukan sebayak 2 langkah(sehingga,jarak D ke F adalah 2) begitu juga dari titik e ke f, sedankan dari titik A atau Bketitik F sama-sama dapat dilakukan dengan sekali langkah ( jarak=1),

maka diameter graph adalah maksimal dari jarak-jarak tersebut.

(17)

Unweighted Graph

Jika semua edge dalam GRAPH tidak ada nilai.

Weighted Graph

A C

(18)

3/12/2013 struktur data by andi arfian 18

Sub graph

Sub graph adalah bagian dari graph ,bahkan

graph itu sendiri merupakan sub graph dari

dirinya sendiri,

Contoh (hanya untuk graph sederhana tak

berbobot dan tak berarah)

Graph G Graph G1 Graph G2

Graph G1 adalah subgraph dari G

(19)

Multi graph

Sebuah multi graph hampir serupa dengan graph,tetapi

tidak dapat dikatakan graph karena didalamnya

mengandung lebih dari satu garis yang menghubungkan dua buah titik / simpul atau menghubungkan garis yang menghubungkan titik yang sama (Loop)

d a c e8 e6 e4 e7 e2 Contoh,

Sebuah multigraph karena ada garis e1dan e2 yang menghubungkan titik A dan B atau terdapat Loop e5 di titik C

(20)

3/12/2013 struktur data by andi arfian 20

Walk ,trail,path

WALk adalah suatu perjalanan yang melintasi barisan titikdan barisan garis yang ada ada dalam graf yang dimulai dari titik awal tertentu(V1) menuju titik

akhir(Vn),banyaknya ruas yang dilalui disebut sebagai panjang WALK, Walk (Cyle) dikatakan tertutup bila titik awal juga merupakan titik akhirnya.

Trail adalah walk yang tidak memiliki garis atau ruas yang sama didalam barisannya.

Path adalah walk yang semua titik dalam barisanya

berbeda, path sudah pasti trail.panjang(Leght) dari sebuah path adalah banyaknya garis yang dilalui

(21)

Jkt

Smr

Bdg Yog

Sby Walk terbuka ,path dan trail

•Titik Jkt,Bdg,Yog,Smr dan S by

Walk Tebuka

Walk tertutup dan Trail

Graph lengkap /complete bila setiap titik memiliki hubungan dengan seluruh titik yang ada didalam graph, N(N-1)/2 maka 5(5-1)2= 10

(22)

3/12/2013 struktur data by andi arfian 22

Diskusi

B A D F C E

Apakah tree tersebut juga merupakan Graph ?

(23)

Representasi

ADJACENCY MATRIX

 Direpresentasikan dengan Array 2 dimensi

 Tipe komponen dari Array bisa digunakan

BOOLEAN atau INTEGER (untuk

WEIGHTED GRAPH).

ADJACENCY LIST

(24)

3/12/2013 struktur data by andi arfian 24

Adjacency

Adjacency Matrix 0 0 0 1 1 0 A 0 1 1 1 0 1 B 0 1 0 0 1 1 C F E D NODE 0 0 0 A 0 1 1 0 0 1 0 1 1 1 1 1 0 0 1 F E D C B Adjacency List B C A A C D E B A B E C F E D NODE D E B C D F B E F EDGE LIST Undirected Graph B A D F C E

(25)

Traversal

Adalah proses untuk mengunjungi setiap node pada

GRAPH. Dua metode yang digunakan untuk

traversal pada GRAPH :

• Breadth First Traversal (BFT) : adalah proses traversal yang lebih memprioritaskan node-node tetangga atau node pada level yang sama. Setelah itu diteruskan ke level terdalam selanjutnya.

• Depth First Traversal (DFT) : adalah proses traversal yang lebih memprioritaskan langkah penelusuran ke level

(26)

3/12/2013 struktur data by andi arfian 26

Algoritma BFT

Pilih node Awal

1.

Set semua node dengan status siap dikunjungi (status=1)

2.

Enqueue(node Awal), ubah status node awal menjadi

menunggu (status=2)

3.

Dequeue&(node_N), ubahstatus node_N menjadi telah

diproses (status=3)

4.

Enqueue semua node yang adjacent dengan node_N dan

memiliki status=1, ubah status mereka menjadi 2

(27)

Algoritma DFT

Pilih node Awal

1.

Set semua node dengan status siap dikunjungi (status=1)

2.

Push(node Awal), ubah status node awal menjadi

menunggu (status=2)

3.

Pop(node_N), ubahstatus node_N menjadi telah diproses

(status=3)

4.

Push semua node yang adjacent dengan node_N dan

memiliki status=1, ubah status mereka menjadi 2

(28)

3/12/2013 struktur data by andi arfian 28

Contoh Traversal

Undirected Graph B A D F C E Adjacency List B C A A C D E B A B E C F E D NODE D E B C D F B E F EDGE LIST BFT ? DFT ?

(29)

start node A

A-B-C-D 2 2 3 3 3 3 E-F D 10 A-B-C-D 1 2 3 3 3 3 E D 9 A-B-C 1 2 2 3 3 3 D-E C 8 A-B-C 1 2 2 3 3 3 D-E C 7 A-B 1 2 2 2 3 3 C-D-E B 6 A-B 1 1 1 2 3 3 C B 5 A 1 1 1 2 2 3 B-C A 4 A 1 1 1 1 1 3 A 3 Node_N 1 1 1 1 1 2 A 2 1 B 1 C 1 D 1 E 1 A Status Node 1 1 F Hasil QUEUE Langkah

BFT

(30)

3/12/2013 struktur data by andi arfian 30

Selesai

(31)
(32)
(33)
(34)
(35)
(36)

Referensi

Dokumen terkait

Mampu menggunakan data jam kerja produktif dan beban kerja untuk menghitung produktifitas tenaga kerja dan penetapan kebutuhan tenaga kerja standar untuk suatu

Pengusul : Pemerintah Daerah Kabupaten Grobogan, BPSB Jawa Tengah,. Pemerintah Daerah, Prov

Dalam penelitian ini data yang dibutuhkan adalah data jumlah cabe merah keriting yang diminta dan harganya, serta harga beberapa komoditi lainnya yang berhubungan

Jumlah saham yang ditawarkan 600.000.000 Saham Biasa Atas Nama dengan nilai nominal Rp 100,- /saham Penjamin Pelaksana PT MANDIRI SEKURITAS, PT OSK NUSADANA SECURITIES

Jumlah Saham yang ditawarkan Saham Biasa Atas Nama dengan Nilai Nominal Rp.

And best of all, there was plenty of good, healthy food—worms and seeds for the birds, nuts and acorns for the squirrels, grass and dandelions for the rabbits, more than enough ies

Analisis berdasarkan gambaran klinis menunjukkan mereka memiliki gejala dengan onset baru angina berat / terakselerasi memiliki prognosis lebih baik

dalam mewujudkan Desa Sinar Sari dan desa Tanjung Niur sehingga. mendapatkan predikat sebagai