BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN …Adalah binary search tree yang memiliki perbedaan...

4
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:

Transcript of BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN …Adalah binary search tree yang memiliki perbedaan...

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 mula­mula

Insert (5)

40

12 ‐

78 0

‐ 81 0

79 0 99 0

Bukan AVLTree

5 0

3

BAHAN AJAR ALGORITMA dan STRUKTUR DATA LANJUTAN

T R E E

4

1

Supaya menjadi AVL Tree perlu dilakukan Single Rotation

78 0

12 0

5 0 40 0

8 0

79 0 99 0

AVLTree

5

4