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

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

Binary Search Tree (BST)

Penambahan Simpul (Node)

Dinamik Linked List. hari bulan tahun

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

Binary Tree kosong Gambar 1. Binary Tree dalam kondisi kosong

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

MODUL PRAKTIKUM STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA

Stack. Pointer ke node pertama dari stack. Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama stack.

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

Algoritma dan Struktur Data. Tree

Pemrograman Algoritma Dan Struktur Data

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Politeknik Elektronika Negeri Surabaya

STRUKTUR POHON (TREE) Pohon atau Tree adalah salah satu bentuk Graph terhubung yang tidak mengandung sirkuit.

Membuat Binary Search Tree Menggunakan STL Vector C++

Algoritma dan Struktur Data. Ramos Somya

Pertemuan 9 STRUKTUR POHON & KUNJUNGAN POHON BINER

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

BAB IX TREE (POHON) ISTILAH DASAR

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

Organisasi Berkas Sekuensial Berindeks

IT234 Algoritma dan Struktur Data. Tree

Algoritma dan Struktur Data. Linear & Binary Search Tree

SENARAI BERANTAI (LINK LIST)

Algoritma Pemrograman & Struktur Data

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II

Tree (Struktur Data) Nisa ul Hafidhoh, MT

KUM 6 IMPLEMENTASI BINARY TREE

Senarai berantai. linked list. Pertemuan keenam Struktur data st3telkom.ac.id. by : tenia wahyuningrum & Sisilia Thya Safitri

Algoritma Pemrograman & Struktur Data

POHON CARI BINER (Binary Search Tree)

ANALISIS ALGORITMA BINARY SEARCH

STRUKTUR POHON & KUNJUNGAN POHON BINER

BINARY SEARCH TREE. TUJUAN UMUM Mahasiswa memahami binary search Tree

Algoritma dan Struktur Data. Linked List

LIST. Dewi Sartika, M.Kom

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Pertemuan 8 Doubly Linked List

TREE STRUCTURE (Struktur Pohon)

Soal Pendahuluan Modul 3

13/12/2013. Binary Tree. Contoh Tree

Struktur Data dan Algoritma

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

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

MAKALAH DESAIN DAN ANALISIS ALGORITMA BINARY TREE DISUSUN OLEH : 1. Nadim Achmad ( ) 2. Dzurratul Ulya ( )

DOUBLY LINKED LIST PROGRAM : DOUBLY LINKED LIST (TAMBAH SIMPUL DI BELAKANG)

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

Buku Ajar Struktur Data

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Pohon Biner (Bagian 1)

Studi Digital Tree dan Aplikasinya pada Kamus

//membuat sebuah tipe data baru yang terdiri dari. //field data bertipe integer //field next merupakan pointer dari list

A B C E F G K Contoh Tree

Algoritma dan Struktur Data. Pertemuan 9 Circular Linked List

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

Tree. Perhatikan pula contoh tree di bawah ini : Level. Level 2. Level 3. Level 4. Level 5

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan

Gambar 13.1 Ilustrasi proses algoritma sorting

1. Traversing Untuk algoritma traversing sama seperti pada single Link List

Struktur Data II. Single Linked List - Non circular

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

Kode : IF2121 NIM :... Matakuliah : Algoritma dan Struktur Data Nama :... Hari, Tanggal : Senin, 13 November 2017 Waktu : 150 Menit

BAB IV Antrian(Queue)

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Review : Sifat Implementasi Linear List dengan Array

Struct Lanjutan: Studi Kasus

Tugas Studi Kasus. Linked List SLLNC dengan Head & Tail

Struktur Data Tree/Pohon dalam Bahasa Java

Pohon dan Pohon Biner

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

MODUL 6 SINGLE & DOUBLE LINKED LIST

6. TREE / BINARY TREE

STRUKTUR DATA (2) Single Linked List

Algoritma dan Struktur Data. Click to edit Master subtitle style Konsep Tree

STRUKTUR DATA single linked list non circular

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

Modul Praktikum Algoritma dan Struktur Data BAB 6 LINKED LIST

STRUKTUR DATA Pertemuan 1 s.d 8

DIG1G3 Implementasi Struktur Data

PERTEMUAN KE 11. Linked List. Apa Itu Linked List?

PENCARIAN KITAB BESERTA PASAL PADA ALKITAB BERDASARKAN KATA DENGAN MENGGUNAKAN STRUKTUR DATA TRIE

PRAKTIKUM ALGORITMA DAN STRUKTUR DATA DOUBLE LINKED LIST CIRCULAR

KONSEP POINTER DAN LINKED LIST

Linked List 6.3 & 7.3 NESTED LOOP

BAB IX LINKED LIST (SENARAI BERANTAI)

04. Single Linked List

ALGORITMA DAN STRUKTUR DATA

Struktur Data & Algoritma

SINGLE LINKED LIST (NON CIRCULAR)

Pemodelan dan Pengelolaan Data Klasifikasi Tanaman Menggunakan Pohon

Algoritme dan Pemrograman

Hari : Rabu Pertemuan : 4 Tanggal Praktikum : 28 November 2001 Shift : 4

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014

BAB IV POHON. Diktat Algoritma dan Struktur Data 2

Ringkasan mengenai Tree (Dari beberapa referensi lain) Nina Valentika

Transkripsi:

Binary Tree Pendahuluan Binary Tree adalah struktur data yang hampir mirip juga dengan Linked List untuk menyimpan koleksi dari data. Linked List dapat dianalogikan sebagai rantai linier sedangkan Binary Tree bisa digambarkan sebagai rantai tidak linier. Binary Tree dikelompokkan menjadi unordered Binary Tree (tree yang tidak berurut) dan ordered Binary Tree (tree yang terurut). Binary Tree dapat digambarkan berdasarkan kondisinya, sebagai berikut: Binary Tree kosong Pointer ke akar (root) dari tree Binary Tree sebagai root sekaligus sebagai daun (leaf) Gambaran dari Binary Tree yang terdiri dari (tiga) node: Pointer ke root dari tree Root dari tree Leaf dari tree Struktur Data 1

Binary Search Tree (BST) Binary Search Tree adalah tree yang terurut (ordered Binary Tree). Aturan yang harus dipenuhi untuk membangun sebuah BST adalah sebagai berikut: Semua data dibagian kiri sub-tree dari node t selalu lebih kecil dari data dalam node t itu sendiri. Semua data dibagian kanan sub-tree dari node t selalu lebih besar atau sama dengan data dalam node t. Pembentukan BST Bila diketahui sederetan data,,, 1, 4, 6, 8, 9 maka proses inserting (memasukkan) data tersebut dalam algoritma BST langkah per langkah adalah sebagai berikut. Langkah 1: Pemasukan data sebagai root Langkah 2: Pemasukan data disebelah kiri simpul karena <. Struktur Data 2

Langkah : Pemasukan data disebelah kanan simpul karena >. Langkah 4: Pemasukan data 1. Karena data 1 lebih kecil dari data di root yaitu maka penelusuran dilanjutkan kesebelah kiri root. Kemudian karena disebelah kiri sudah ada daun dengan nilai dan data 1 lebih kecil dari data maka data 1 disisipkan disebelah kiri simpul. 1 Struktur Data

Langkah : Pemasukan data 4. 1 4 Langkah 6: Pemasukan data 6. Karena data 6 lebih besar dari data di root yaitu maka penelusuran dilanjutkan kesebelah kanan root. Kemudian karena disebelah kanan sudah ada simpul dengan nilai dan data 6 lebih kecil dari data maka data 6 disisipkan disebelah kiri simpul. 1 4 6 Langkah : Pemasukan data 8. Karena data 8 lebih besar dari data di root yaitu maka penelusuran dilanjutkan kesebelah kanan root. Kemudian karena disebelah kanan sudah ada simpul dengan nilai dan karena data 8 lebih besar dari data maka data 8 disisipkan disebelah kanan simpul. Struktur Data 4

1 4 6 8 Langkah 8: Pemasukan data 9. Karena data 9 lebih besar dari data di root yaitu maka penelusuran dilanjutkan kesebelah kanan root. Kemudian karena disebelah kanan bukan merupakan daun yaitu simpul dengan nilai dan karena data 9 lebih besar dari data penelusuran terus dilanjutkan kesebelah kanan. Selanjutnya ditemukan daun dengan nilai 8, karena data 9 lebih besar dari 8 maka data 9 disisipkan disebelah kanan simpul 8. 1 4 6 8 9 Struktur Data

Implementasi BST berikut ini. Diskusikan secara kelompok implementasi dari algoritma Binary Search Tree typedef struct intbstnode * IntBSTNodePtr; typedef struct intbstnode { int data; IntBSTNodePtr left, right; IntBSTNode; typedef struct root { IntBSTNodePtr root; unsigned size; IntBSTree; Bagian Deklarasi int MakeIntBST(IntBSTree *); int InsertBST(IntBSTree *, int); void freebst(intbstnode *); void inorder(intbstnode *); Bagian deklarasi di atas kita asumsikan disimpan menjadi sebuah header file dengan nama bst.h. Fungsi-fungsi di bawah ini kita asumsikan disimpan dalam bst.c /* file bst.c */ #include "bst.h" #include <stdio.h> #include <stdlib.h> int MakeIntBST(IntBSTree * pbst) { pbst->root = NULL; pbst->size = 0; return EXIT_SUCCESS; int InsertBST(IntBSTree * pbst, int data) { IntBSTNodePtr current, previous, new; previous = NULL; current = pbst->root; while(current!= NULL) { previous = current; if (data < current->data) { current = current->left; else { Struktur Data 6

current = current->right; new = malloc(sizeof(intbstnode)); if (new == NULL) { return EXIT_FAILURE; new->data = data; new->left = NULL; new->right = NULL; (pbst->size)++; if (previous == NULL) { pbst->root = new; return EXIT_SUCCESS; if (data < previous->data) { previous->left = new; else { previous->right = new; return EXIT_SUCCESS; void freebst(intbstnode * pbst) { if(pbst!=null) { freebst(pbst->left); free(pbst); freebst(pbst->right); free(pbst); void inorder(intbstnode * pbst) { if(pbst!=null) { inorder(pbst->left); printf("%d->",pbst->data); inorder(pbst->right); printf("\n"); Struktur Data

/* Program utama */ int main(void) { IntBSTree ibst; MakeIntBST(&ibst); /* silahkan anda lanjutkan */ inorder(ibst.root); freebst(ibst.root); return EXIT_SUCCESS; Struktur Data 8