Laporan praktikum ini membahas tentang struktur data tree dan implementasinya dalam bahasa C++. Terdiri dari bab pengenalan tree, penjelasan program yang mengimplementasikan tree, dan kesimpulan tentang ketiga jenis kunjungan pada tree yaitu preorder, inorder, dan postorder.
1. LAPORAN PRAKTIKUM
Nama Lengkap
NIM
RESMI
TREE
Disusun oleh :
: Citra Aidha Kapindo
: 201301055
Dosen pengampu :
Yosef Murya Kusuma Ardhana.S.T., M.Kom
JURUSAN
SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO
PURWOKERTO
2014
2. BAB I
TEORI DASAR
Struktur data dalam bentuk pohon (tree) dapat diartikan sebuah struktur data yang secara
bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian simpul (node) yang saling
berhubungan. Node yang berada di pangkal tree disebut node akar (root), sedangkan node yang
paling ujung pada piramida tree disebut node daun (leaf) .(Struktur Data Dalam Ilustrasi Eclipse
Indigo C++, YM Kusuma Ardhana,ST)
B C D
A Level 0
2
A. Struktur Tree
A
E F
J K L
Node B merupakan superordinat node E dan node F.
Node B mempunyai subordinat, yaitu node E (left child) dan F (right child) .
Node E dan node F merupakan subordinat simpul B .
B. Tingkat (level) dan Kedalaman (depth)
G H I
M N
Kedalaman : 3
B C D
E F
J K L
G H I
M N
Level 1
Level 2
Level 3
3. A
B C D
3
Tingkat (level)
Root dinyatakan berada pada level 0 (namun ada juga di beberapa buku literature
lain menyebutkan level 1).
Kedalaman (depth)
Tree yang mempunyai posisi paling atas atau level teratas.
C. Derajat (degree) Sebuah Node
E F
J K L
Node A : degree = 3
Node B : degree = 2
Node C : degree = 0
Node D : degree = 3
D. Kunjungan Pada Pohon Biner
1. PreOrder
G H I
M N
Kunjungan secara Preorder mempunyai urutan, yaitu cetak isi simpul yang dikunjungi
(simpul akar), kunjungi cabang kiri, dan yang terakhir kunjungi cabang kanan.
2. InOrder
Kunjungan secara InOrder mempunyai urutan, yaitu kunjungan cabang kiri,
kemudian cetak isi simpul (simpul akar), dan terakhir kunjungi cabang kanan.
3. PostOrder
Kunjungan secara PosOrder, mempunyai urutan yaitu kunjungi cabang kiri, kemudian
cabang kanan, lalu cetak isi simpul yang dikunjungi (simpul akar).
4. BAB II
PENJELASAN PROGRAM
4
A. Latihan Praktikum
Pada bab ini akan membahas tentang listing program pada bagian modul yang telah digunakan
untuk latihan pada pertemuan pertama. Latihan yang dilakukan mencakup pada Listing
Program 1.1
Listing Program 1.1
/*
* Praktikum1.cpp
*
* Created on: Sep 11, 2014
* Author: STIKOM109
*/
#include<iostream>
#include<conio.h>
usingnamespace std;
structNode{
intdata;
Node *kiri;
Node *kanan;
};
voidtambah(Node **root,intdatabaru){
if((*root) == NULL){
Node *baru;
baru = new Node;
baru->data = databaru;
baru->kiri = NULL;
baru->kanan = NULL;
(*root) = baru;
(*root)->kiri = NULL;
(*root)->kanan = NULL;
cout<<"Data bertambah!";
}
elseif(databaru< (*root)->data)
tambah(&(*root)->kiri,databaru);
elseif(databaru> (*root)->data)
tambah(&(*root)->kanan,databaru);
elseif(databaru == (*root)->data)
cout<<"Data sudahada!";
}
voidpreOrder(Node *root){
6. 6
}while(pil!=5);
}
Output Program 1.1
Hasil output dari Program 1.1 adalah sebagai berikut :
7. Penjelasan Program 1.1
Berukut penjelasan dari Listing Program 1.1 :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. voidtambah(Node **root,intdatabaru){ adalah inisialisasi bila ditulis dalam sebuah fungsi.
7
Merupakan nilai baru yang ditampilkan.
4. Preorder, inorder dan postorder merupakan kunjungan pada pohon biner.
8. BAB III
KESIMPULAN
Tree merupakan suatu struktur data yang non-linier . Tree merupakan struktur data yang
mempunyai beberapa node atau simpul, setiap simpul dihubungkan oleh garis yang disebut
vector.
8
1. PreOrder
Pada kunjungan ini dimulai dari sebelah kiri dan berlanjut di sebelah kanan . Maka pada
percobaan diatas jika kita memasukan data pertama 5, data kedua 4, maka output yang
akan keluar adalah 5 4.
2. InOrder
Pada kunjungan ini dimulai dari sebelah kiri lalu cetak ke simpul akar dan terakhir di
sebelah kanan. Maka pada percobaan diatas jika kita memasukan data pertama 5, data
kedua 4, maka output yang akan keluar adalah 4 5.
3. PostOrder
Pada kunjungan ini dimulai dari sebelah kiri lalu ke sebelah kanan dan terakhir cetak ke
simpul akar . Maka pada percobaan diatas jika kita memasukan data pertama 5, data
kedua 4, maka output yang akan keluar adalah 4 5.