Slide minggu 3 pertemuan 1 (struktur data1) [repariert]

Post on 22-Jan-2018

567 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

Transcript

STRUKTUR DATA 2

TREE DAN GRAPH

Struktur Data

Struktur Data

Sederhana

Record

Array

Majemuk

Linier

Stack

Queue

List

Non linier

Tree

Graph

Struktur Data Majemuk

Struktur Data Majemuk

Linier

Linked List

Stack

Queue

Non Linier

Tree

Graph

TREE

Definisi Tree

Struktur data yang terdiri dari akar (root), dan

subpohon-subpohon dalam susunan berhirarki

A

B C

D E HGF

I J

ROOT

Simpul/

Node/V

ertex

Node root dalam sebuah tree adalah suatu node yang memiliki hiarki tertinggi dandapat juga memiliki node-node anak. Semua node dapatditelusuri dari node root tersebut.

Node-node lain di bawah node root saling terhubung satusama lain dan disebutsubtree/Simpul/Node/Vertex

Tingkat (Level) dan Kedalaman (Depth) pada

Tree

Tingkat dimulai dari 0, 1, 2 dst

Kedalaman dimulai dari 1, 2, 3, dst (tingkat + 1)

A

B C

D E HGF

I J

Level 0

Level 1

Level 2

Level 3

ROOT

Simpul/

Node/V

ertex

Derajat Simpul Pada Tree

Derajat = jumlah anak yang dimiliki sebuah simpul

A

B C

D E HGF

I J

Level 0

Level 1

Level 2

Level 3

Derajat

2

Derajat

2

Setiap node hanya punya satu parent

Node Internal dan Node Eksternal

Node Internal = node yang memiliki anak

Node eksternal = node yang tidak memiliki anak (daun)

A

B C

D E HGF

I J

Level 0

Level 1

Level 2

Level 3

Node

Internal

Node

Internal

Setiap node dapat memiliki atau tidak children

TREE

Kamus Data Pohon Biner

Type Btree = record <

Kiri : Btree

Info : char

Kanan : Btree>

P : BTree

Kiri InfoKana

n

Fisik Pohon Biner

FISIK POHON BINER

POHON BINER TERURUT

Procedure SisipUrutBTree(input/output P:BTree, input N:integer)

If EmptyTree(P) then

CreateTree(P)

InsertTree(P,N) {untuk info(P)}

Else If N < info(P) then

SisipUrutBTree(P.kiri,N)

else

SisipUrutBTree(P.kanan,N)

Endif

Endif

menyisipkan simpul dgn aturan : simpul yang lebih kecil

diletakkan di sebelah kiri simpul

BUAT POHON BINER TERURUT Struktur Data Pohon

2, 3, 4, 5, 50, 10,

15, 13, 20, 12, 10,

5, 7

LATIHAN NOTASI POHONStruktur Data Pohon

2

2, 3, 4, 5, 50, 10, 15,

13, 20, 12, 10, 5, 7

3

4

5

5

01

0 1

5

1

3

2

0

1

21

0

5

7

SEARCH

Tujuan : memahami proses tracing algoritma

pencarian.

Jenis algoritma searching :

Sequential search

Indexed sequential search

Binary search

BINARY SEARCH TREE

Nilai Parent

lebih besar dari subtree sebelah kiri

lebih kecil dari subtree sebelah kanan

X > Y

X < Z

X

ZY

Contoh Binary Search Tree

5

10

30

2 25 45

5

10

30

2

25

45

10 > 2, left

5 > 2, left

2 = 2, found

5 > 2, left

2 = 2, found

Find ( root, 2 )

Contoh Binary Searches

Find (root, 25 )

5

10

30

2 25 45

5

10

30

2

25

45

10 < 25, right

30 > 25, left

25 = 25, found

5 < 25, right

45 > 25, left

30 > 25, left

10 < 25, right

25 = 25, found

Operasi Dasar Tree

Insert: menambah node ke dalam Tree secara rekursif. Jika data yang akan dimasukkan lebih besar daripada elemen root, maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih kecil maka akan diletakkan di node sebelah kiri. Untuk data pertama akan menjadielemen root.

Find: mencari node di dalam Tree secara rekursif sampainode tersebut ditemukan dengan menggunakan variable bantuan ketemu. Syaratnya adalah tree tidak bolehkosong.

Traverse: yaitu operasi kunjungan terhadap node-node dalam pohon dimana masing-masing node akandikunjungi sekali.

Count: menghitung jumlah node dalam Tree Height : mengetahui kedalaman sebuah Tree Find Min dan Find Max : mencari nilai terkecil dan

terbesar pada Tree Child : mengetahui anak dari sebuah node (jika punya)

Binary Search Tree - Menyisipkan

Algoritma

1. Dicari suatu nilai X

2. Jika X < Y, sisipkan nilai baru sebagai subtree sebelah

kiri

3. Jika X > Y,sisipkan nilai baru sebagai subtree sebelah

kanan

4. Sisipkan nilai X di kiri

Data yang lebih kecil dari data node root akan masuk

dan menempati node kiri dari node root, sedangkan

jika lebih besar dari data node root, akan masuk dan

menempati node di sebelah kanan node root.

Contoh penyisipan

Insert ( 20 )

5

10

30

2 25 45

10 < 20, right

30 > 20, left

25 > 20, left

Insert 20 on left

20

Binary Search Tree – Menghapus

Algoritma

1. Cari Nilai X sebagai Leaf dan hapus

a. Jika X> Y kanan

b. Jika X< Y kiri

c. Jika X= X hapus

Contoh hapus

Delete ( 25 )

5

10

30

2 25 45

10 < 25, right

30 > 25, left

25 = 25, delete

5

10

30

2 45

GRAPH

GRAPH

Perbedaan graf denganpohon :

- graf mungkin terjadisiklus (cycle)

- graf dapat terdiri lebihdari satu sambungan

Graf adalah kumpulan simpul (vertices atau nodes)

yang dihubungkan satu sama lain melalui sisi /

busur (edges)

GRAPH

Graph G terdiri dua himpunan :

Verteks(simpul) : V = himpunan simpul yang

terbatas dan tidak kosong

Edge(sisi/busur): E = himpunan busur yang

menghubungkan sepasang simpul

Jenis : Weighted/ non weighted graph

Directed/ non directed graph

Graph Berarah dan Tak Berarah

Weighted/ non weighted graph

Graph Data Contoh implementasi : rute penerbangan,rute jaringan komputer,

rangkaian listrik

Contoh Rute penerbangan

Bandung

Jakarta

Semarang

Surabaya

JogjaDenpasar

Minimum Spanning Tree ( MST )

• minimum spanning tree adalah subgraph dari

suatu undirected weighted graph G

• Berupa tree

• Meliputi semua node/ vertices V

• total cost dikaitkan dengan tree adalah nilai minimum

yang masih mungkin

contoh

a

c

e

d

b

2

45

9

5

4

5

6

Keterangan ada 5 komputer terhubung

Kapasitas trafik dinyatakan dalam edge

Carilah MST dari jaringan ini

Bagaimana mencari MST

Algoritma Prim:

Initialisasi

a. tentukan vertex r menjadi root

b. Buat D(r) = 0, parent(r) = null

c. Untuk semua vertices v V, v r, atur D(v) =

d. semua vertice menjadi prioritas antrian P,

dengan kapasitas trafik sebagai kunci

e a b c d

0

Vertex Parent

e -

d b c a

4 6 5

Vertex Parent

e -

b e

c e

d e

a c b

2 4 5

Vertex Parent

e -

b e

c d

d e

a d

d b c a

4 6 5

Vertex Parent

e -

b e

c e

d e

a c b

2 4 5

Vertex Parent

e -

b e

c d

d e

a d

c b

4 5

Vertex Parent

e -

b e

c d

d e

a d

c b

4 5

Vertex Parent

e -

b e

c d

d e

a d

b

5

Vertex Parent

e -

b e

c d

d e

a d

b

5

Vertex Parent

e -

b e

c d

d e

a d

Vertex Parent

e -

b e

c d

d e

a d

Hasil MST

a

c

e

d

b

2

45

9

6

4

5

5

top related