Praktikum Algoritma dan Setruktur Data

dokumen-dokumen yang mirip
Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

Struktur Data Tree/Pohon dalam Bahasa Java

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

Soal Pendahuluan Modul 3

Politeknik Elektronika Negeri Surabaya

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

Tenia Wahyuningrum, S.Kom. MT Sisilia Thya Safitri, S.T.,M.T.

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

Tree (Struktur Data) Nisa ul Hafidhoh, MT

KUM 6 IMPLEMENTASI BINARY TREE

IT234 Algoritma dan Struktur Data. Tree

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

TREE STRUCTURE (Struktur Pohon)

JURUSAN SISTEM INFORMASI

Pohon dan Pohon Biner

13/12/2013. Binary Tree. Contoh Tree

Praktikum Algoritma dan Setruktur Data

Algoritma dan Struktur Data. Linear & Binary Search Tree

MODUL III ARRAYLIST TUGAS PENDAHULUAN

6. TREE / BINARY TREE

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

Struktur Data & Algoritma

B C D E F G H I J K L M N O P Q R S T. Tinaliah, S.Kom POHON BINER

TREE ALGORITMA & STRUKTUR DATA. Materi ASD Fakultas Teknik Elektro & Komputer UKSW ( Download Dari :

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

POHON CARI BINER (Binary Search Tree)

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Pohon Biner (Bagian 1)

BAB VII Tujuan 7.1 Deskripsi dari Binary Tree

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Syarif Abdullah (G )

Binary Search Tree (BST)

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

Struktur Kontrol Pemrograman Java : PERCABANGAN

ALGORITMA DAN STRUKTUR DATA

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Pembuatan Peta Permainan dengan BSP

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

MODUL PRAKTIKUM STRUKTUR DATA

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Praktikum 6. Konsep Rekursi Perbandingan Perulangan biasa dan Rekursi Implementasi Rekursi dalam Bahasa C

Metode Binnary Searching di Java Console

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

Modul Praktikum 6 Pemograman Berorientasi Objek

Struktur Data dan Algoritma

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 10 & 11

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Struktur Data & Algoritma

ANALISA RUNNING TIME

Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

ANALISIS ALGORITMA BINARY SEARCH

Politeknik Elektronika Negeri Surabaya

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

Pemrograman Algoritma Dan Struktur Data

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

Dasar Pemrograman Java

OBJECT ORIENTED PROGRAMMING (OOP)

1 Bagian 1: Mencetak isi binary tree

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL)

ADT Graph. Disusun untuk Memenuhi Laporan Praktikum Algoritma dan Struktur Data. Oleh: NIM : Asisten:

Algoritma dan Struktur Data. Tree

Dasar-Dasar OOP di Java

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Tree (Pohon)

BAB VII POHON BINAR POHON

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Modul 4: Iteratif & Rekursif, Binary Tree

Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Binary Tree. Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Pointer ke akar (root) dari tree

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

Konsep Pohon (Tree) Binary Tree Penyajian Tree dengan Array Penyajian Tree dengan Linked List Metode Traversal (Kunjungan Node pada Tree)

Perulangan / Looping

Percabangan & Perulangan

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

Belajar Rekursif di Java

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK (PBO) MODUL 5 INTERFACE

Politeknik Elektronika Negeri Surabaya

Membuat dan Menggunakan Class

Buku Ajar Struktur Data

Pohon Biner Bagian 2 (Pohon Seimbang, Pohon Biner Terurut, Pembangunan Pohon Biner dari Pita Karakter/String)

BAB XI Manipulasi Binary Tree

Praktikum KPLBO Class dan Object I

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

SOAL TUGAS STRUKTUR DATA

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

LAMPIRAN A : LISTING PROGRAM

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

B. DASAR TEORI AlGORITMA TRAVERSAL GRAPH Terdapat beberapa perbedaan Tree dan Graph dijelaskan pada tabel Tabel 31.1 Perbedaan Tree dan Graph

Aplikasi Algoritma Brute Force Pada Knight s Tour Problem

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

Transkripsi:

Praktikum Algoritma dan Setruktur Data Binary Tree Oleh: Sukarjo (115090613111001) Asisten: Dwi Saputro Ilham Yuliantoro PROGRAM TEKNOLOGI INFORMATIKA DAN ILMU KOMPUTER UNIVERSITAS BRAWIJAYA MALANG - 2012

Pendahuluan Binary Tree ialah Kumpulan node yang saling terhubung satu sama lain dalam suatu kesatuan yangmembentuk layakya struktur sebuah pohon. Struktur pohon adalah suatu caramerepresentasikan suatu struktur hirarki (one-to-many) secara grafis yang miripsebuah pohon, walaupun pohon tersebut hanya tampak sebagai kumpulan node-node dari atas ke bawah. Suatu struktur data yang tidak linier yangmenggambarkan hubungan yang hirarkis (one-to-many) dan tidak linier antaraelemen-elemennya. JENIS-JENIS TREEBINARY TREE Tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal dua subpohon dan kedua subpohon harus terpisah.kelebihan struktur Binary Tree : Mudah dalam penyusunan algoritma sorting Searching data relatif cepat Fleksibel dalam penambahan dan penghapusan data

Sourcode package praktikum8; import java.util.random; class Node{ int data; Node nodekiri; Node nodekanan; public Node left; public Node(int dt){ data = dt; nodekiri = nodekanan = null; public void sisipdt (int dtsisip){ if (dtsisip < data){ if (nodekiri == null) nodekiri = new Node (dtsisip); else nodekiri.sisipdt(dtsisip); else if (dtsisip > data){ if (nodekanan == null) nodekanan = new Node (dtsisip); else nodekanan.sisipdt(dtsisip); public class Tree { private Node root; private int daun=0; public Tree(){ root=null; public void sisipdtnode(int dtsisip){ if (root == null) root = new Node (dtsisip); else root.sisipdt(dtsisip); public void preordertraversal(){

preorder(root); private void preorder(node node){ if (node==null) return; System.out.printf("%d ", node.data); preorder(node.nodekiri); preorder(node.nodekanan); public void inordertraversal(){ inorder(root); private void inorder(node node){ if (node == null) return; inorder(node.nodekiri); System.out.printf("%d ", node.data); inorder(node.nodekanan); public void postordertraversal(){ postorder(root); private void postorder(node node){ if (node==null) return; postorder(node.nodekiri); postorder(node.nodekanan); System.out.printf("%d ", node.data); public int maxdepth() { return(maxdepth(root)); private int maxdepth(node node) { if (node==null) { return(0); else {

int ldepth = maxdepth(node.nodekiri); int rdepth = maxdepth(node.nodekanan); return(math.max(ldepth, rdepth) +1); public int size() { return(size(root)); private int size(node node) { if (node == null) return(0); else { 1 + size(node.nodekanan)); return(size(node.nodekiri) + public void banyakdaun(node node){ if (node==null) return; if ((node.nodekiri==null)&&(node.nodekanan==null)){ daun++; banyakdaun(node.nodekiri); banyakdaun(node.nodekanan); public void daun(){ banyakdaun (root); System.out.println("\nBanyak Daun\n"+daun); public static void main (String args[]){ Tree Tree = new Tree(); int nilai; Random randomnumber = new Random(); System.out.println("Sisip nilai data berikut: "); //sisipdt 10 bilangan acak dari 0-99 ke dalam Tree

for (int i =1; i <= 10; i++){ nilai = randomnumber.nextint(100); System.out.print(nilai + " "); Tree.sisipDtNode(nilai); System.out.println("\n\nPreorder Traversal" ); Tree.preorderTraversal(); System.out.println("\n\nInorder Traversal" ); Tree.inorderTraversal(); System.out.println("\n\nPostorder Traversal" ); Tree.preorderTraversal(); System.out.println("\n\nTinggi Traversal\n" +Tree.maxDepth()); System.out.println("\n\nLevel Traversal\n" +(Tree.maxDepth()-1)); System.out.println("\n\nbanyaknya node Traversal\n" +Tree.size()); Tree.daun(); System.out.println();

Output

Analisa Import java.util.random; ini digunakan untuk fungsi random dalam program. public Node(int dt) ini digunakan untuk bemberi nilai-nilai pada variabeldata, kiri dan kanan. public void sisipdt (int dtsisip) digunakan untuk memasukan nilai pada tree. public class Tree class bernama Tree public Tree() constructor yang digunakan untuk memberi nilai null pada node root. public void sisipdtnode(int dtsisip) digunakan untuk memasukan nilai pada tree. public void preordertraversal() digunakan untuk memanggil method preorder() dengan input parameter node(root). private void preorder(node node) method rekursif yang digunakan untuk mencari nilai preorder. public void inordertraversal() digunakan untuk memanggil method inorder() dengan input parameter node(root). private void inorder(node node) method rekursif yang digunakan untuk mencari nilai inorder. public void postordertraversal()digunakan untuk memanggil method postorder() dengan input parameter node(root). private void postorder(node node) method rekursif yang digunakan untuk mencari nilai postorder. public int maxdepth() ialah method untuk mencari dari tinggi Tree. public void banyakdaun(node node) method ini untuk mencari dari nilai dari banyaknya daun pada Tree. public int size() method ini berfungsi untuk mencari banyaknya node pada Tree.

Kesimpulan Dari pembahasan laporan di atas maka dapat disimpulkan bahwa : 1. T r e e m e r u p a k a n s a l a h s a t u b e n t u k s t r u k t u r d a t a t i d a k l i n e a r y a n g m e n g g a m b a r k a n hubungan yang bersifat hierarkis (hubungan one to many) antara elemen-elemen. Tree merupakan salah satu struktur data yang paling penting, karena banyak aplikasimenggunakan informasi dan data yang secara alami memiliki struktur hi rarkis berguna dalam membantu memecahkan banyak masalah algoritmis. 2. U n t u k m e m b a n g u n l o g i k a b e r p i k i r d a n m e n g i m p l e m e n t a s i k a n s e t i a p p e r m a s a l a h a n m e n g e n a i a l g o r i t m a t r e e d a p a t d i s e l e s a i k a n s e c a r a l o g i s d a l a m b e n t u k b a h a s a pemrograman Java. Twitter facebook E-Mail @arjosarilah Sukarjo Sarilah Putra sukarjosarilah@gmail.com