Anda di halaman 1dari 5

NIM : 1711522015 Tanggal : Kamis, 29 Maret 2018

Nama : Vicky Ariga Elsayrafl Asisten :


Mata Kuliah : Praktikum Struktur Data 1. Tenti Atika Putri
Modul :2 2. Vedo Alfarizi
Kelas : 02

Resume *Tree

A. Ringkasan Materi
PENGERTIAN TREE
Kumpulan node yang saling terhubung satu sama lain dalam suatu
kesatuan yang membentuk layakya struktur sebuah pohon. Struktur
pohon adalah suatu cara merepresentasikan suatu struktur hirarki
(one-to-many) secara grafis yang mirip sebuah pohon, walaupun
pohon tersebut hanya tampak sebagai kumpulan node-node dari atas
ke bawah. Suatu struktur data yang tidak linier yang menggambarkan
hubungan yang hirarkis (one-to-many) dan tidak linier antara elemen-
elmennya.

JENIS-JENIS TREE

BINARY TREE
Tree dengan syarat bahwa tiap node hanya boleh memiliki maksimal
dua sub pohon dan kedua subpohon harus terpisah.
Kelebihan struktur Binary Tree :
- Mudah dalam penyusunan algoritma sorting
- Searching data relatif cepat
- Fleksibel dalam penambahan dan penghapusan data

FULL BINARY TREE


Semua node, kecuali leaf pasti memiliki 2 anak dan tiap subpohon
memiliki panjang path yang sama.

Praktikum Struktur Data & Algoritma


COMPLETE BINARY TREE
Tree yang mirip dengan full binary tree, tapi tiap subtree boleh
memiliki panjang path yang berbeda dan tiap node (kecuali leaf)
memiliki 2 anak.

SKEWED BINARY TREE


Binary tree yang semua nodenya (kecuali leaf) hanya memiliki satu
anak.

OPERASI
Create: membentuk sebuah tree baru yang kosong.
Insert: menambah node ke dalam Tree.
Jika data yang akan dimasukkan lebih besar daripada elemen root,
maka akan diletakkan di node sebelah kanan, sebaliknya jika lebih
kecil maka akan diletakkan di node sebelah kiri. Untuk data pertama
akan menjadi elemen root.
PreOrder: cetak node yang dikunjungi, kunjungi left, kunjungi right
InOrder: kunjungi left, cetak node yang dikunjungi, kunjungi right
PostOrder: kunjungi left, kunjungi right, cetak node yang dikunjungi

B. Contoh Program
#include <cstdlib>
#include <iostream>

using namespace std;

struct kentang{
int berat;
kentang *kiri;
kentang *kanan;
};
kentang *akar = NULL;
Praktikum Struktur Data & Algoritma
void addNode(kentang **akar, int berat){
if((*akar) == NULL){
kentang *baru;
baru = new kentang;
baru->berat = berat;
baru->kanan = NULL;
baru->kiri = NULL;
(*akar) = baru;
}
}

void preOrder (kentang *akar){


if(akar !=NULL){
cout<<akar->berat<< " ";
preOrder(akar->kiri);
preOrder(akar->kanan);
else if(databaru<(*akar)->data)
tambah(&(*akar)->kiri,databaru);
}
}

void inOrder (kentang *akar){


if(akar !=NULL){
inOrder(akar->kiri);
cout<<akar->berat<< " ";
inOrder(akar->kanan);
}
}

void postOrder (kentang *akar){


if(akar !=NULL){
Praktikum Struktur Data & Algoritma
postOrder(akar->kiri);
postOrder(akar->kanan);
cout<<akar->berat<< " ";
}
}

int main(int argc, char *argv[])


{
addNode(&akar, 90);
addNode(&akar->kiri, 70);
addNode(&akar->kanan, 100);
addNode(&akar->kanan->kiri, 80);
addNode(&akar->kanan->kanan, 100);
addNode(&akar->kanan->kanan->kanan, 210);
addNode(&akar->kanan->kiri->kanan, 100);

cout<<"secara preOrder data akan tampil sbb : "<<endl;


preOrder(akar);
cout<<endl;

cout<<"secara inOrder data akan tampil sbb : "<<endl;


inOrder(akar);
cout<<endl;

cout<<"secara postOrder data akan tampil sbb : "<<endl;


postOrder(akar);
cout<<endl;

system("pause");
return 0;
}

Praktikum Struktur Data & Algoritma


C. Kesimpulan
Tree merupakan salah satu bentuk struktur data tidak linear yang
menggambarkan hubungan yang bersifat hirarkis (hubungan one to many)
antara elemen-elemen. Tree bisa di defenisikan sebagai kumpulan
simpul/node dengan satu elemen khusus yang disebut Root dan node
lainnya. Tree juga adalah suatu graph yang acyclic, simple, connected yang
tidak mengandung loop.

Praktikum Struktur Data & Algoritma

Anda mungkin juga menyukai