slide minggu 3 pertemuan 1 (struktur data1) [repariert]
TRANSCRIPT
![Page 1: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/1.jpg)
STRUKTUR DATA 2
TREE DAN GRAPH
![Page 2: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/2.jpg)
Struktur Data
Struktur Data
Sederhana
Record
Array
Majemuk
Linier
Stack
Queue
List
Non linier
Tree
Graph
![Page 3: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/3.jpg)
Struktur Data Majemuk
Struktur Data Majemuk
Linier
Linked List
Stack
Queue
Non Linier
Tree
Graph
![Page 4: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/4.jpg)
TREE
![Page 5: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/5.jpg)
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
![Page 6: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/6.jpg)
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
![Page 7: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/7.jpg)
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
![Page 8: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/8.jpg)
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
![Page 9: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/9.jpg)
TREE
![Page 10: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/10.jpg)
Kamus Data Pohon Biner
Type Btree = record <
Kiri : Btree
Info : char
Kanan : Btree>
P : BTree
Kiri InfoKana
n
![Page 11: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/11.jpg)
Fisik Pohon Biner
![Page 12: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/12.jpg)
FISIK POHON BINER
![Page 13: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/13.jpg)
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
![Page 14: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/14.jpg)
BUAT POHON BINER TERURUT Struktur Data Pohon
2, 3, 4, 5, 50, 10,
15, 13, 20, 12, 10,
5, 7
![Page 15: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/15.jpg)
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
![Page 16: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/16.jpg)
SEARCH
Tujuan : memahami proses tracing algoritma
pencarian.
Jenis algoritma searching :
Sequential search
Indexed sequential search
Binary search
![Page 17: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/17.jpg)
BINARY SEARCH TREE
Nilai Parent
lebih besar dari subtree sebelah kiri
lebih kecil dari subtree sebelah kanan
X > Y
X < Z
X
ZY
![Page 18: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/18.jpg)
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 )
![Page 19: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/19.jpg)
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
![Page 20: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/20.jpg)
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)
![Page 21: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/21.jpg)
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.
![Page 22: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/22.jpg)
Contoh penyisipan
Insert ( 20 )
5
10
30
2 25 45
10 < 20, right
30 > 20, left
25 > 20, left
Insert 20 on left
20
![Page 23: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/23.jpg)
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
![Page 24: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/24.jpg)
Contoh hapus
Delete ( 25 )
5
10
30
2 25 45
10 < 25, right
30 > 25, left
25 = 25, delete
5
10
30
2 45
![Page 25: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/25.jpg)
GRAPH
![Page 26: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/26.jpg)
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)
![Page 27: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/27.jpg)
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
![Page 28: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/28.jpg)
Graph Berarah dan Tak Berarah
![Page 29: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/29.jpg)
Weighted/ non weighted graph
![Page 30: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/30.jpg)
Graph Data Contoh implementasi : rute penerbangan,rute jaringan komputer,
rangkaian listrik
Contoh Rute penerbangan
Bandung
Jakarta
Semarang
Surabaya
JogjaDenpasar
![Page 31: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/31.jpg)
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
![Page 32: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/32.jpg)
contoh
a
c
e
d
b
2
45
9
5
4
5
6
![Page 33: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/33.jpg)
Keterangan ada 5 komputer terhubung
Kapasitas trafik dinyatakan dalam edge
Carilah MST dari jaringan ini
![Page 34: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/34.jpg)
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
![Page 35: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/35.jpg)
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
![Page 36: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/36.jpg)
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
![Page 37: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/37.jpg)
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
![Page 38: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/38.jpg)
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
![Page 39: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/39.jpg)
b
5
Vertex Parent
e -
b e
c d
d e
a d
Vertex Parent
e -
b e
c d
d e
a d
![Page 40: Slide minggu 3 pertemuan 1 (struktur data1) [repariert]](https://reader030.vdocuments.net/reader030/viewer/2022020301/58eecd361a28abda548b46ed/html5/thumbnails/40.jpg)
Hasil MST
a
c
e
d
b
2
45
9
6
4
5
5