Steven – 2201730910
LA46
a. (Bobot 15 point) Gambarkan pergerakan struktur dari Binary Search Tree jika dilakukan
i. Insert node 1000 vii. Insert node 300
ii. Insert node 1200 viii. Insert node 240
iii. Insert node 1250 ix. Insert node 350
iv. Insert node 500 x. Insert node 375
v. Insert node 400 xi. Insert node 380
vi. Delete node 1000 xii. Delete node 1200
Insert node
1000
1000
Insert node
500 Insert node
0500 1200
1200
Insert node 1250 Insert node
0400 1250
400
Delete node
1000
Dilakukan delete node 1200
0500 jadi 1200 nya hilang
1250
0400
Insert node
300 0300
Insert node
0240 0350
240
0375
0380
b. (Bobot 2 point) Sampai saat ini berapakah height dari tree yang sudah terbentuk?
Answer : 5 height yang sudah terbentuk
c. (Bobot 2 point) Berapakah jumlah node maksimum yang terdapat dalam height ini?
Answer : 2 x h = 2 x 5 = 10 node
1d. Bobot 2 point) Berapakah jumlah maksimum node yang dimiliki oleh BST ini, jika semua node
terpenuhi?
Answer : 2 x (h+1)-1 = 2 x (5+1)-1 = 11 node
e. (Bobot 4 point) Dalam kondisi terburuk apakah jumlah Langkah pencarian sebuah node terjadi?
Berapa Langkah dalam kasus sebuah tree yang memiliki height 4?
Answer : O (log n) 4 langkah pencarian
a. (Bobot 15 point) Simulasikan pergerakan struktur dari AVL Tree Langkah per langkah, jika:
i. Insert node 600
ii. Insert node 700
iii. Insert node 675
iv. Insert node 800
v. Insert node 850
vi. Insert node 875
vii. Delete node 900
viii. Delete node 850
ix. Delete node 1200
0900
0500 1000
0250 0750 0950 1200
0100 0650 0970
Setelah insert node 600, 700, 675, 800, 850, 875
0900
Insert node
700
0700 1000
0500 0950 1200
0800
0250 0650 0970
0800 0850
Insert node
0600 0675
0100 0850
0875
Insert node Insert node
600 Insert node Insert node
675
0800 0875
Setelah delete node 900, 850, 1200
0900 hilang dan digantikan 0700
0700
0850 hilang
0500 0875
1200 hilang
0970
0250 0650 0800
0900
0900 0900
0100 0600 0675 0750 0950 1000
0900 0900 0900
0900 0900 0900
b. (Bobot 5 point) AVL adalah salah satu balanced tree, apakah yang dimaksud dengan balanced
tree disini apakah tujuan utama sebuah tree mengalami balancing?
Answer :
Yang dimaksud dengan balanced tree adalah sebuah tree yang memiliki upapohon kiri dan kanan
dari setiap simpul memiliki tinggi yang sama.
tujuan utama sebuah tree mengalami balancing adalah agar memiliki banyak operasi seperti
operasi pencarian, penambahan dan penghasupan elemen yang dapat dilakukan dalam waktu O
(log n). Selain itu balancing tree juga dapat digunakan untuk menentukan tree yang memiliki
nilai tertinggi dan tree yang memiliki nilai terendah
a. (Bobot 20 point) Gambarkan pergerakan struktur treenya jika diberikan angka berikut ini:
i. Insert node 1000 viii. Insert node 200
ii. Insert node 500 ix. Insert node 225
iii. Insert node 250 x. Insert node 175
iv. Insert node 150 xi. Insert node 215
v. Insert node 100 xii. Insert node 140
vi. Insert node 50 xiii. Delete node 50
vii. Insert node 75 xiv. Delete node 150
0150 0225
0075 0200 0500
050 0100 0140 0175 0215 0250 1000
Setelah delete node 50 dan 150
0225
0140 0200 0500
0140 0200 0175 0215 0215 0250 1000
b. (Bobot 5 point) Jelaskan perbedaan antara 2-node dan 3-node, aturan yang bagaimanakah yang
harus ditaati dalam 2-3 jika berkaitan dengan posisi elemen.
2-node memiliki 2 anak dan 1 elemen, sedangkan 3-node memiliki 3 anak dan 2 elemen
3-node
2-node V
A
B C X Y Z
a. Gambarkan pergerakan struktur dari heap tree jika :
i. Insert node 12 vi. Delete min
ii. Insert node 13 vii. Delete min
iii. Insert node 34 viii. Insert 5
iv. Insert node 10 ix. Delete min
v. Delete min
insert node 12,13,34 dan 10
0015
0019
0037
0026 0025 0038
0040
0050 0041 0028 0012 0013 0034 0010
Pergerakan insert node 12
0012
0015 0037
0026 0019 0040 0038
0050 0041 0028 0025 0013 0034 0010
Pergerakan insert node 13
0012
0013
0015
0026 0019 0037 0038
0050 0041 0028 0025 0040 0034 0010
Pergerakan insert node 34
0012
0015 0013
0026 0019 0034 0038
0050 0041 0028 0040 0037 0010
0025
Pergerakan insert node 10
0010
0015 0012
0026 0019 0034 0013
0050 0041 0028 0025 0040 0037 0038
Delete min, delete min, delete min
0015
0034
0019
0026 0025 0038
0050 0041 0028 0040 0037
Insert 5
0005
0015 0034
0019
0025 0038
0050 0026 0041 0028 0040 0037
Delete min
0015
0019 0034
0025 0026 0037 0038
0028 0050 0041
a. Upheapmin
Dilakukan perbandingan nilai dari node dengan nilai dari grandparentnya. Apabila node lebih
kecil dari grandparentnya, maka tukar nilai antara node dengan parent, kemudian dilakukan
upheapmin grandparent
9
Contoh upheapmin
11 13
29
17 35 23
43 45 39 24
11 13
17 24 23 29
43 45 39 35
b. Upheapmax
Dilakukan perbandingan nilai dari node dengan nilai dari grandparentnya. Apabila node besar
dair parentnya, maka tijar nilai antara node dengan parent, kemudai dilakukan upheapmin
grandparent
c. Downheapmin
Dilakukan perbandingan antara node dengan kedua childnya. Apabila node lebih besar daripada
child, maka dilakukan penukaran posisi antara node dengan child yang paling kecil, lalu loop
hingga node lebih kecil
Contoh downheapmin 5
15 10
20 30 25 35
40 45 50 55
55
15 10
20 30 25 35
40 45 50
d. Downheapmax
Dilakukan perbandingan antara node dengan kedua childnya. Apabila node lebih kecil daripada
child, maka dilakukan pertukaran posisi antara node dengan child yang paling besar, lalu loop
hingga node lebih besar
a. Minimum spanning tree
Answer :
Pemeliharaan jalur kereta api, dengan menggunakan minimum spanning tree sebuah
perusahaan-perusahaan kereta api dapat memodelkan alokasi dana secara optimal dengan cara
menggunakan pencarian jalur pemeliharaan dengan bobot biaya yang minimum.
b. Shortest path
Ketepatan waktu pengiriman adalah salah satu hal penting dalam pendistribusian paket. Saat ini
usaha logistik dituntut supaya cepat dalam pengiriman paket ke pelanggan. Karena itu
dibutuhkan solusi untuk penentuan rute terpendek dalam pengiriman paket yaitu dengan
memanfaatkan teknologi informasi. Fast app merupakan salah satu aplikasi pencarian rute
distribusi paket. Dengan adanya aplikasi tersbut dapat memudahkan logistik dalam mengatur
pengiriman paket. Pencarian jalur distribusi tersebut merupakan bagian dari shortest path.
Untuk membuat solusi tersebut dibutuhkan algoritma Floyd Warshall yang merupakan bagian
dari algoritma shortest path. Algoritma ini dapat menentukan rute terpendek mana saja yang
dapat ditempuh untuk menuju ke tempat pelanggan sehingga Fast app dapat mengelola data
logistik, mengelola data pelanggan, mengelola data pengiriman paket termasuk data muatan,
kapasitas, berat dan jumlah bahan bakar yang digunakan. Selain itu Fast app juga dapat
menampilkan rute terdekat serta tracking pada kurir yang mengirimkan paket. Dengan adanya
Fast app maka usaha logistik dapat menjadi efiesien dalam waktu dan modal.