• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM 6 ALGORITMA STRUKTUR D (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM 6 ALGORITMA STRUKTUR D (1)"

Copied!
12
0
0

Teks penuh

(1)

LAPORAN PRAKTIKUM XII

TREE

Disusun untuk Memenuhi Matakuliah Praktikum Algoritma Struktur Data Dibimbing oleh Ibu Annisa Puspa Kirana, S. Kom, M. Kom

Oleh:

Dwitha Fajri Ramadhani

160533611410

Ika Damayanti

160533611505

S1 PTI’16

OFF B

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

(2)

TREE

Tujuan

Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :

1. Memahami tipe data abrstrak binary tree.

DASAR TEORI

TREE

1.1Definisi Tree

Struktur pada tree (pohon) tidak linear seperti pada struktur linked list, stack, dan queue. Setiap node pada tree mempunyai tingkatan, yaitu orang tua (parent) dan anak (child). Struktur ini sebenarnya merupakan bentuk khusus dari struktur tree yang lebih umum, setiap orang tua hanya memiliki dua anak sehingga disebut pohon biner (binary tree), yaitu anak kiri dan anak kanan.

1.2Istilah Dasar Tree

Tree merupakan salah satu bentuk struktur data tidak linear yang menggambarkan hubungan yang bersifat hirarkis (hubungan one to many) antara elemen-elemen. Tree dapat didefinisikan sebagai kumpulan simpul/node dengan satu elemen khusus yang disebut root dan node, disebut sub tree/sub pohon atau cabang.

Sehingga secara sederhana pohon bisa didefinisikan sebagai kumpulan elemen yang salah satu elemennya disebut dengan akar (root) dan elemen yang lainnya (simpul), terpecah menjadi sejumlah himpunan yang saling tidak berhubungan satu dengan yang lainnya.

▪ Predecessor : node yang berada di atas node tertentu

▪ Successor : node yang dibawah node tertentu

▪ Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak sesudah pada jalur yang sama

▪ Descendant : seluruh node yang terletak sesudah node tertentu dan terletak sesudah pada jalur yang sama

▪ Parent : predecessor satu level diatas suatu node

(3)

▪ Sibling : node-node yang memiliki parent yang sama dengan suatu node

▪ Subtree : bagian dari tree yang berupa suatu node beserta descendant nya dan memiliki semua karakteristik dari tree tersebut

▪ Size : banyaknya node dalam suatu tree

▪ Height : banyaknya tingkatan/level dalam suatu tree

▪ Root : satu-satunya node khusus dalam tree yang tidak mempunyai predecessor

▪ Leaf : node-node dalam tree yang tidak memiliki successor

▪ Degree : banyaknya child yang dimiliki suatu node

1.3Jenis-Jenis Tree

1.3.1 Binary Tree

adalah tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subtree dan kedua subtree tersebut harus terpisah. Maka tiap node dalam binary tree hanya boleh memiliki paling banyak dua child.

Keterangan :

Left Child : B, D, H, ... Right Child : C, G, J, ... Jenis Binary Tree :

1.3.1.1Full Binary Tree

Binary Tree yang tiap nodenya (kecuali leaf) memiliki dua child dan tiap sub tree harus mempunyai panjang path yang sama.

1.3.1.2Complete Binary Tree

Mirip dengan Full Binary Tree, namun tiap subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf memiliki 0 atau 2 child.

1.3.1.3Skewed Binary Tree

(4)

1.3.2 Operasi Binary Tree berpindah ke parent dari node yang dihapus.

▪ Characteristic: mengetahui karakteristik dari suatu tree, yakni : size, height, serta average lengthnya. Tree tidak boleh kosong.

▪ Traverse : mengunjungi seluruh node pada tree, masing-masing sekali. Hasilnya adalah urutan informasi secara linear yang tersimpan dalam tree. Ada tiga cara traverse : Pre Order, InOrder, dan PostOrder.

Langkah Traverse

(5)

1.3.4 Operasi Binary Tree

Pada dasarnya sama dengan operasi pada binary tree, kecuali pada operasi insert, update, dan delete.

▪ Insert : dilakukan setelah ditemukan lokasi yang tepat, lokasi tidak ditentukan oleh user sendiri.

▪ Update : update akan berpengaruh pada posisi node tersebut selanjutnya. Setelah diupdate mengakibatkan tree tersebut bukan binary search tree lagi, maka harus dilakukan perubahan pada tree dengan melakukan rotasi supaya tetap menjadi binary search tree.

Delete : akan mempengaruhi struktur dari tree.

1.3.5 AVL Tree

Adalah binary search tree yang memiliki perbedaan tingkat tinggi/level antara subtree kiri dan subtree kanan maksimal adalah 1. Dengan AVL Tree, waktu pencarian dan bentuk tree dapat dipersingkat dan disederhanakan.

Selain AVL Tree terdapat juga Height Balanced n tree, yaitu binary search tree yang memiliki perbedaan level antara subtree kiri dan subtree kanan maksimal adalah n. Sehingga AVL Tree adalah Height Balanced 1 Tree.

1.4Simbol Bantu

Untuk mempermudah menyeimbangkan tree, maka digunakan simbol-simbol bantu.

▪ Minus ( - ) : digunakan apabila subtree kiri lebih panjang dari subtree kanan.

▪ 1.4.2 Plus ( + ) : digunakan apabila subtree kanan lebih panjang dari subtree kiri.

(6)

Latihan 1

Pemrograman Java

Nama Program : package P12

Bahasa Pemrogramam : Java

Compiler : NetBeans IDE 8.2

(7)
(8)

Penjelasan Program :

(9)

Latihan 2

Pemrograman Java

Nama Program : package P12_2

Bahasa Pemrogramam : Java

Compiler : NetBeans IDE 8.2

Script program :

Class TreeNode

(10)
(11)

Class BinaryTreeApp

Output Program :

Penjelasan Program :

(12)

KESIMPULAN

Dari praktikum kali ini, kami dapat menyimpulkan bahwa :

▪ Binary Tree adalah sebuah pohon biner, dimana tiap node memiliki tepat 2 sub-tree (memiliki maksimal 2 cabang/degree). Binary sub-tree digunakan untuk data yang terurut secara hirarki.

▪ Binary Tree dapat direpresentasikan dengan menggunakan Array maupun linked list. Contohnya untuk membuat program tingkatan pegawai dalam perusahaan.

▪ Contoh Struktur Data Binary Tree :

DAFTAR RUJUKAN

Annisa Puspa Kirana, S.Kom, M.Kom. 2017. Modul Praktikum Algoritma dan Struktur Data. Malang : Universitas Negeri Malang.

Referensi

Dokumen terkait

However, 7 days feeding of CS at both dosages didn’t have any effect on the weights of testis, seminal vesicle and prostate gland compared to control in immature mice (p >

The knowledge that changes of mating strategy and of territorial male–male aggressiveness rather than altered degrees of paternal care in general were related to the evolution

Nilai t hitung untuk factor assurance sebesar 4,665 lebih besar dari nilai t tabel (1,65) dengan probabilitas sebesar 0,000 lebih kecil dari 0,05, ini menunjukkan

Kondisi ini tidak serta merta diterima begitu saja oleh masyarakat keseluruhan, terbukti dari perhitungan para ahli sejarah bahasa bahwa pada masa itu bahwa “6 juta orang tidak

The experimental results shown in Table 2 – 5 demonstrate the comparison of decisions obtained based on two types of evaluation methods; fuzzy conjoint method and analysis using

Untuk dapat mencapai tujuan kinerja perusahaan yang maksimal, para pegawai di BMT dituntut tidak hanya melaksanakan tugas formal saja, selain itu perlu dikembangkan

[r]

Keuntungan yang didapat bagi pasien dari segi biaya yang lebih murah karena proses penyembuhan luka yang cepat, sedangkan dampak bagi perawat adalah