bahan ajar algoritma dan struktur data lanjutan …adalah binary search tree yang memiliki perbedaan...
TRANSCRIPT
BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN
T R E E
1
Pertemuan 14
Kode Mata Kuliah : SI-303
Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman
menggunakan Tree.
Substansi Materi : Binary Search Tree, AVL Tree
Tabulasi Kegiatan Perkuliahan
No Tahap
Kegiatan
Kegiatan Pengajar Kegiatan
Mahasiswa
Media & Alat
1 Pendahuluan 1. Membuka pertemuan 2. Mengulang materi pertemuan
sebelumnya
Menyimak Bertanya
Papan Tulis
2 Penyajian Materi
1. Binary Search Tree 2. AVLTree
Menyimak Bertanya Menjawab Pertanyaan
Papan Tulis
3 Penutup 1. Menyimpulkan materi pertemuan 2. Memberikan tugas kecil 3. Menutup pertemuan
Menyimak Papan tulis
M A T E R I K U L I A H
Binary Search Tree
Binary Search Tree adalah Binary Tree dengan sifat bahwa semua left child harus lebih
kecil daripada right child dan parentnya. Juga semua right child harus lebih besar dari left
child serta parentnya. Binary search tree dibuat untuk mengatasi kelemahan pada binary
tree biasa, yaitu kesulitan dalam melakukan searching / pencarian node tertentu dalam
binary tree. Contoh binary search tree umum adalah:
BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN
T R E E
2
3
0
18
10 23
5 14 21 3
3 7 17 4
Gambar 2. Binary Search Tree secara umum
Pada dasarnya operasi dalam Binary Search Tree adalah sama dengan Binary Tree biasa,
kecuali pada operasi insert, update dan delete.
• Insert
yang tepat.
: Pada Binary Search Tree, insert dilakukan setelah ditemukan lokasi
• Update
: Seperti
pada Binary Tree biasa, namun
jika update berpengaruh
pada posisi node tersebut, sehingga menyebabkan Tree bukan Binary Search Tree
lagi, maka harus dilakukan perubahan pada
tree dengan cara melakukan rotasi
supaya tetap menjadi Binary Search Tree kembali.
• Delete
: Seperti halnya update, delete dalam binary search tree juga turut
mempengaruhi struktur dari tree tersebut.
AVLTree
Adalah binary search tree yang memiliki perbedaan tinggi /level antara subtree kiri dan
subtree kanan maksimal adalah 1. Avl tree muncul untuk menyeimbangkan binary search
tree. Dengan avl
disederhanakan
tree waktu pencarian dan bentuk tree
dapat dipersingkat
dan
Selain avl tree terdapat pula height balanced n tree , yakni binary search tree yang
memiliki perbedaan level antara subtree kiri dan subtree
sehinga avl tree adalah height balanced 1 tree
kanan maksimal adalah n
BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN
T R E E
3
0
Untuk mempermudah menyeimbangkan tree, maka digunakan symbol‐simbol bantu.
• ‐ (tanda minus) : digunakan apabila subtree kiri lebih pan‐jang dari subtree kanan
• + (tanda plus): digunakan apabila subtree kanan lebih panjang dari subtree kiri
• 0 (nol) : digunakan apabila subtree kiri dan subtree kanan mempunyai height yang
sama.
Contoh AVLTree
20 0
12 0 33 +
5 ‐ 16 0 26 0 67 0
4 0 13 0 18 0 44 0 89 0
Contoh Operasi Insert pada AVLTree
78 0
4 ‐ 81 0
12 0 79 0 99 0
Keadaan AVLTree mulamula
Insert (5)
40
12 ‐
78 0
‐ 81 0
79 0 99 0
Bukan AVLTree
5 0
3