0
JULI, 2019
ALGORITMA PEMROGRAMAN
BINARY TREE
ALGORITMA PEMROGRAMAN
1. Mahasiswa mampu membuat program Binary Tree dari algoritma dan flowchart yang ada
menggunakan bahasa pemrograman Java.
MATERI PRAKTIKUM
1. Binary Tree
Binary Tree merupakan Tree yang diurutkan berdasarkan properti berikut ini :
Sebagai tipe data abstrak, Binary Tree merupakan spesialisasi yang mendukung metode
penambahan aksesor.
T.left (p) : Mengembalikan posisi yang mewakili left child dari p, atau tidak ada jika p tidak
memiliki left child.
T.right (p) : Mengembalikan posisi yang mewakili right child dari p, atau tidak ada jika p
tidak memiliki right child.
Tree Travelsals
• PreOrder
Saat menggunakan algoritma preorder, yang pertama kali dikunjungi adalah root terlebih
dahulu, lalu melewati subtree sebelah kiri setelah itu akan melewati subtree sebelah kanan.
1. algorithm Preorder(root)
2. Pre: root is the root node of the BST
3. Post: the nodes in the BST haae been aisited in preorder
4. if root ≠ ∅
5. yield root.Value
6. Preorder(root.Left)
7. Preorder(root.Right)
8. end if
9. end Preorder
• PostOrder
Algoritma ini sangat mirip dengan yang dijelaskan pada algoritma preorder, namun nilai
dari node dihasilkan setelah melewati kedua subtree.
1. algorithm Postorder(root)
2. Pre: root is the root node of the BST
3. Post: the nodes in the BST haae been aisited in postorder
4. if root ≠ ∅
5. Postorder(root.Left)
6. Postorder(root.Right)
7. yield root.Value
8. end if
9. end Postorder
• InOrder
Variasi lain dari algoritma traversal yang didefnisikan yaitu algoritma inorder, dimana nilai
dari node dihasilkan di antara traaersing subtree sebelah kiri dan subtree sebelah kanan.
1. algorithm Inorder(root)
2. Pre: root is the root node of the BST
3. Post: the nodes in the BST haae been aisited in inorder
4. if root ≠ ∅
5. Inorder(root.Left)
6. yield root.Value
7. Inorder(root.Right)
8. end if
9. end Inorder
Untuk penjelasan lebih lengkap mengenai materi ini, dapat dipelajari pada video berikut ini :
https://www.youtube.com/watch?v=oSWTXtMglKE
LEMBAR KERJA
KEGIATAN PRAKTIKUM
Memahami konsep Binary Tree berdasarkan Algoritma dan Flowchart berikut ini :
1. Algoritma
2. Flowchart
3. Program
1. Buatlah kelas Node.java untuk mendeklarasikan node-node yang akan dipakai dan ketikkan
source code seperti berikut.
2. Buatlah kelas BinaryTree.java untuk memproses node menjadi urutan binary tree sesuai
dengan 3 algoritma traversal (pre order, in order, dan post order). Ketikkan source code
seperti berikut.
3. Membuat kelas utama DriverBT.java untuk mengisi nilai dari node dan menampilkan hasil
binary tree.
TUGAS PRAKTIKUM
1. Melakukan modifikasi program di atas dengan mengganti inputan node menjadi sebuah kata inputan
user sehingga akan menampilkan output seperti berikut :
2. Menambah fitur yang dapat mengkonversi inputan kata dari user menjadi urutan kode ascii decimal
dari masing-masing huruf dan melakukan algoritma traversal seperti berikut :
RUBRIK PENILAIAN
1. Pemahaman terhadap materi yang telah dipelajari. (25 poin)
2. Menyelesaikan tugas praktikum 1 & 2 sesuai dengan ketentuan. (40 poin)
3. Menjelaskan program yang telah dibuat. (30 poin)
4. Kerapihan program yang dibuat. (5 poin)