Struktur Data Materi X POHON v Pohon Tree

  • Slides: 27
Download presentation
Struktur Data Materi X POHON v Pohon (Tree) merupakan graph terhubung tidak berarah dan

Struktur Data Materi X POHON v Pohon (Tree) merupakan graph terhubung tidak berarah dan tidak mengandung circuit. Contoh: (Bukan)

Struktur Data Materi X v Hutan (Forrest) merupakan kumpulan dari beberapa pohon yang tidak

Struktur Data Materi X v Hutan (Forrest) merupakan kumpulan dari beberapa pohon yang tidak saling terhubung. Contoh: Hutan yang terdiri dari 4 pohon

Struktur Data Materi X v Pohon berakar (rooted tree) adalah pohon dengan salah satu

Struktur Data Materi X v Pohon berakar (rooted tree) adalah pohon dengan salah satu vertex- nya diperlakukan sebagai akar dan semua garis (edge) lainnya diarahkan menjauh dari akarnya. Contoh: Terminologi: A D B E F C H I J G 1. 2. 3. 4. 5. 6. 7. 8. A memiliki 3 anak (children) yaitu B, C dan D B memiliki 1 anak (children) yaitu E C memiliki 2 anak (children) yaitu H dan I A adalah orang tua (parent) dari B, C dan D D adalah orang tua (parent) dari F dan G B, C dan D adalah saudara kandung (sibling) A disebut juga sebagai akar (root) Vertex yang tidak memiliki anak lagi disebut dengan daun (leaf). Contoh E, F, G, I dan J 9. Vertex yang masih memiliki anak disebut cabang (internal vertex). Contoh B, C, D dan H 10. A adalah ancestor dari J 11. J adalah descendant dari A

Struktur Data Materi X v Pohon berakar biner (binary tree) adalah pohon berakar dengan

Struktur Data Materi X v Pohon berakar biner (binary tree) adalah pohon berakar dengan sifat setiap vertex memiliki anak maksimum dua Contoh: Root A Sub tree kiri Sub tree kanan B C D F E G H I J K L Terminologi: 1. 2. 3. 4. 5. 6. B adalah anak kiri dari A C adalah anak kanan dari A D adalah anak kiri dari B E adalah anak kiri dari C F adalah anak kanan dari C B tidak memiliki anak kanan

Struktur Data Materi X POHON TELUSUR BINER (PTB) v Pohon Telusur Biner (Binary Search

Struktur Data Materi X POHON TELUSUR BINER (PTB) v Pohon Telusur Biner (Binary Search Tree) adalan pohon berakar biner dengan sifat pada setiap node (vertex) menyimpan data yang lebih besar dari semua node pada sub tree kiri tetapi lebih kecil dari semua node pada sub tree kanan. Perhatikan pohon di bawah ini: A Penjelasan: B C F D E G H I 1. A adalah akar (root) 2. B, C, D dan E adalah sub tree kiri dari A 3. F, G, H dan I adalah sub tree kanan dari A 4. Nilai A lebih besar dari B, C, D, E tetapi lebih kecil dari F, G, H, I 5. Nilai B lebih besar dari C tetapi lebih keci dari D dan E

Struktur Data Materi X Contoh: 50 50 20 10 60 80 70 40 60

Struktur Data Materi X Contoh: 50 50 20 10 60 80 70 40 60 30 80 Benar 70 90 60 40 20 90 75 Benar 10 70 30 Salah

Struktur Data Materi X OPERASI-OPERASI PADA PTB 1. Membuat PTB berdasarkan urutan data yang

Struktur Data Materi X OPERASI-OPERASI PADA PTB 1. Membuat PTB berdasarkan urutan data yang diketahui 2. Menyisipkan node baru pada PTB 3. Menelusuri semua node pada PTB 4. Membuat PTB berdasarkan hasil penelusuran 5. Menghapus node pada PTB

Struktur Data Materi X 1. Membuat PTB Berdasarkan Urutan Data yang Diketahui Caranya adalah

Struktur Data Materi X 1. Membuat PTB Berdasarkan Urutan Data yang Diketahui Caranya adalah sebagai berikut: 1. Ambil data yang paling kiri jadikan akar 2. Ambil data urutan berikutnya bandingkan dengan akar jika lebih kecil bandingkan dengan anak kiri tetapi jika lebih besar bandingkan dengan anak kanan sampai ditemukan daun. Kerjakan sampai semua data selesai. Contoh: 35 50 20 5 45 30 60 55 10

Struktur Data Materi X 2. Menyisipkan Node Baru Caranya hampir sama dengan membuat pohon,

Struktur Data Materi X 2. Menyisipkan Node Baru Caranya hampir sama dengan membuat pohon, yaitu: Bandingkan node baru dengan akar jika lebih kecil bandingkan dengan anak kiri tetapi jika lebih besar bandingkan dengan anak kanan sampai ditemukan daun. Bila ditemukan daun buat node baru. Contoh: 25 Sisip. Node(25) 35 Sisip. Node(50) 50 20 10 60 30 40 70

Struktur Data Materi X v Catatan: 1. Jangan pernah menyisipkan node pada PTB ditengah,

Struktur Data Materi X v Catatan: 1. Jangan pernah menyisipkan node pada PTB ditengah, node yang disisipkan selalu menjadi daun. 2. Jika urutan data berbeda maka bentuk PTB yang dihasilkan juga berbeda. Latihan : Buatlah PTB untuk data berikut ini : 1) 70 50 35 20 10 90 75 80 30 2) 10 90 20 80 30 75 35 70 50 3) 90 10 80 20 75 30 70 35 50 Setelah itu sisipkan node 45

Struktur Data Materi X 3. Penelusuran Node PTB Ada tiga metode penelusuran node pada

Struktur Data Materi X 3. Penelusuran Node PTB Ada tiga metode penelusuran node pada PTB yaitu: A. Preorder B. Inorder C. Postorder Pre, In dan Post pada metode penelusuran di atas menunjukkan kapan akar dikunjungi. - Preorder artinya kunjungan terhadap akar dilakukan pada awal, prosesnya adalah kunjungi akar, anak kiri kemudian anak kanan. - Inorder artinya kunjungan terhadap akar dilakukan ditengah, prosesnya adalah kunjungi anak kiri, akar kemudian anak kanan. - Postorder artinya kunjungan terhadap akar dilakukan terakhir, prosesnya adalah kunjungi anak kiri, anak kanan kemudian akar.

Struktur Data Materi X 3. 1. Preorder (Akar – Kiri – Kanan) Proses penelusuran

Struktur Data Materi X 3. 1. Preorder (Akar – Kiri – Kanan) Proses penelusuran preorder adalah sebagai berikut: 1. Kunjungi akar (root) 2. Kunjungi anak kiri (sub tree kiri) 3. Kunjungi anak kanan (sub tree kanan) 4. Kerjakan secara rekursif Contoh: Hasil penelusuran Preorder: 35 20 5 50 30 10 45 60 55

Struktur Data Materi X 3. 2. Inorder (Kiri – Akar – Kanan) Proses penelusuran

Struktur Data Materi X 3. 2. Inorder (Kiri – Akar – Kanan) Proses penelusuran preorder adalah sebagai berikut: 1. Kunjungi anak kiri (sub tree kiri) 2. Kunjungi akar (root) 3. Kunjungi anak kanan (sub tree kanan) 4. Kerjakan secara rekursif Contoh: Hasil penelusuran Inorder: 35 20 5 50 30 10 45 60 55

Struktur Data Materi X 3. 3. Postorder (Kiri – Kanan – Akar) Proses penelusuran

Struktur Data Materi X 3. 3. Postorder (Kiri – Kanan – Akar) Proses penelusuran preorder adalah sebagai berikut: 1. Kunjungi anak kiri (sub tree kiri) 2. Kunjungi anak kanan (sub tree kanan) 3. Kunjungi akar (root) 4. Kerjakan secara rekursif Contoh: Hasil penelusuran Postorder: 35 20 5 50 30 10 45 60 55

Struktur Data Materi X 4. Membuat PTB Berdasarkan Hasil Penelusuran Untuk membuat PTB ada

Struktur Data Materi X 4. Membuat PTB Berdasarkan Hasil Penelusuran Untuk membuat PTB ada tiga aturan yang berlaku, yaitu: 1. Jika yang diketahui hasil penelusuran preorder dan inorder, maka PTB dapat dibuat karena bentuk PTB tunggal. 2. Jika yang diketahui hasil penelusuran postorder dan inorder, maka PTB dapat dibuat karena bentuk PTB tunggal. 3. Jika yang diketahui hasil penelusuran preorder dan postorder, maka PTB tidak dapat dibuat karena bentuk PTB tidak tunggal.

Struktur Data Materi X 4. 1. Membuat PTB Berdasarkan Penelusuran Preorder dan Inorder Bila

Struktur Data Materi X 4. 1. Membuat PTB Berdasarkan Penelusuran Preorder dan Inorder Bila yang diketahui hasil penelusuran preorder dan inorder maka gunakan preorder untuk membuat PTB karena letak akar dapat diketahui yaitu data yang paling kiri dari urutan data yang ada. Contoh: Preorder : 50 30 20 40 35 70 60 90 80 Inorder : 20 30 35 40 50 60 70 80 90 Caranya: 1. Ambil hasil preorder untuk dianalisa, urutan data paling kiri jadikan akar Preorder : 50 30 20 40 35 70 60 90 80 2. Pisahkan data, data yang lebih keci dari akar merupakan anak kiri dan lebih besar merupakan anak kanan. (anak kiri) 30 20 40 35 50 70 60 90 80 (anak kanan) 3. Misalkan yang diselsaikan lebih dulu anak kiri, maka node berikutnya di bawah akar, ambil node paling kiri dari anak kiri yaitu 30, kemudian pisah datanya yang lebih kecil dari 30 ada di kiri dan lebih besar ada di kanan. Lakukan secara berulang hingga selesai. Perhatikan ilustrasi berikut ini !

Struktur Data Materi X Rekonstruksi PTB Berdasarkan Penelusuran Preorder: 50 30 20 40 35

Struktur Data Materi X Rekonstruksi PTB Berdasarkan Penelusuran Preorder: 50 30 20 40 35 70 60 90 80 20 40 35 60 35 Inorder 90 80 80 : 20 30 35 40 50 60 70 80 90 Postorder: 20 35 40 30 60 80 90 70 50

Struktur Data Materi X 4. 2. Membuat PTB Berdasarkan Penelusuran Inorder dan Postorder Bila

Struktur Data Materi X 4. 2. Membuat PTB Berdasarkan Penelusuran Inorder dan Postorder Bila yang diketahui hasil penelusuran inorder dan postorder maka gunakan postorder untuk membuat PTB karena letak akar dapat diketahui yaitu data yang paling kanan dari urutan data yang ada. Contoh: Inorder : 20 30 35 40 50 60 70 80 90 Postorder : 20 35 40 30 60 80 90 70 50 Caranya: 1. Ambil hasil postorder untuk dianalisa, urutan data paling kanan jadikan akar Postorder : 20 35 40 30 60 80 90 70 50 2. Pisahkan data, data yang lebih keci dari akar merupakan anak kiri dan lebih besar merupakan anak kanan. (anak kiri) 20 35 40 30 50 60 80 90 70 (anak kanan) 3. Misalkan yang diselsaikan lebih dulu anak kiri, maka node berikutnya di bawah akar, ambil node paling kanan dari anak kiri yaitu 30, kemudian pisah datanya yang lebih kecil dari 30 ada di kiri dan lebih besar ada di kanan. Lakukan secara berulang hingga selesai. Perhatikan ilustrasi berikut ini !

Struktur Data Materi X Rekonstruksi PTB Berdasarkan Penelusuran Postorder: 20 35 40 30 60

Struktur Data Materi X Rekonstruksi PTB Berdasarkan Penelusuran Postorder: 20 35 40 30 60 80 90 70 50 60 80 90 70 20 35 40 30 20 35 40 60 35 80 90 80 Preorder: 50 30 20 40 35 70 60 90 80 Inorder : 20 30 35 40 50 60 70 80 90

Struktur Data Materi X 4. 3. Membuat PTB Berdasarkan Penelusuran Preorder dan Postorder Bila

Struktur Data Materi X 4. 3. Membuat PTB Berdasarkan Penelusuran Preorder dan Postorder Bila yang diketahui hasil penelusuran preorder dan postorder ternyata PTB tidak tunggal sehingga sulit ditentukan. Contoh: Preorder : A B Postorder : B A Bentuk PTB : A A Atau B B

Struktur Data Materi X 5. Penghapusan Node pada PTB Untuk menghapus node pada PTB

Struktur Data Materi X 5. Penghapusan Node pada PTB Untuk menghapus node pada PTB harus memperhatikan kondisi node yang dihapus, apakah daun atau memiliki anak 5. 1. Node yang Dihapus adalah Daun Jika Node yang dihapus adalah daun maka node tersebut langsung dihapus. Contoh: Hapusnode(10) Hapusnode(30) Hapusnode(45) Hapusnode(50) (Punya Anak) 35 20 5 50 30 10 45 60 55

Struktur Data Materi X 5. 2. Node yang Dihapus Memiliki Satu Anak Jika node

Struktur Data Materi X 5. 2. Node yang Dihapus Memiliki Satu Anak Jika node yang dihapus memiliki satu anak, maka node tersebut akan digantikan oleh anaknya dan semua turunan anaknya bentuknya tetap. Contoh: Hapusnode(5) Hapusnode(50) Hapusnode(60) (Punya 2 Anak) 35 20 5 50 30 10 60 55 70

Struktur Data Materi X 5. 3. Node yang Dihapus Memiliki Dua Anak Jika node

Struktur Data Materi X 5. 3. Node yang Dihapus Memiliki Dua Anak Jika node yang dihapus memiliki dua anak, maka node tersebut akan digantikan oleh pendahulunya (node paling kanan subtree kiri) atau penerusnya (node paling kiri subtree kanan). v Misal dipilih untuk menggantikan adalah pendahulunya, caranya : belok kiri satu langkah, lalu belok kanan sejauh mungkin ! Contoh: Hapusnode(35) Hapusnode(80) 50 35 80 40 10 5 60 75 20 30 90 85

Struktur Data Materi X BENTUK-BENTUK POHON BINER 1. Pohon Biner Penuh (Full Binary Tree)

Struktur Data Materi X BENTUK-BENTUK POHON BINER 1. Pohon Biner Penuh (Full Binary Tree) Pohon biner dengan sifat setiap daun memilki ketinggian sama, sehingga banyaknya node untuk tingkat N adalah : 2 N – 1 Contoh: Tingkat …………. . . 1 50 30 20 . ……………. 2 70 40 60 Jumlah node = 7 80 …………. . … 3

Struktur Data Materi X 2. Pohon Biner Lengkap (Complete Binary Tree) Merupakan pohon biner

Struktur Data Materi X 2. Pohon Biner Lengkap (Complete Binary Tree) Merupakan pohon biner penuh atau jika ada daun yang tersisa maka diletakkan pada posisi sekiri mungkin. Contoh: Tingkat …………. . . 1 50 30 20 . ……………. 2 70 40 60 80 10 Pohon Biner Lengkap Tingkat 3 …………. . … 4

Struktur Data Materi X 3. Pohon Biner Miring (Skewed Binary Tree) Pohon biner yang

Struktur Data Materi X 3. Pohon Biner Miring (Skewed Binary Tree) Pohon biner yang jumlah node kiri tidak seimbang dengan jumlah node kanan. Contoh: 50 40 30 20 10 20 30 40 10 50 Pohon Biner Miring ke Kiri (Left Skewed) Pohon Biner Miring ke Kanan (Right Skewed)

Struktur Data Materi X

Struktur Data Materi X