1. LAPORAN PRAKTIKUM RESMI
TREE (BAGIAN 2)
Disusun oleh :
Nama Lengkap : Citra Aidha Kapindo
NIM : 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)
Kunjungan Pada Pohon Biner
1. PreOrder
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).
3. BAB II
PENJELASAN PROGRAM
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.2
Listing Program 1.2
/*
* Prak2.cpp
*
* Created on: Sep 19, 2014
* Author: STIKOM109
*/
#include <iostream>
#include <malloc.h>
#include <conio.h>
#define Nil NULL
using namespace std;
struct nod
{
struct nod *left;
char data;
struct nod *right;
};
typedef struct nod NOD;
typedef NOD POKOK;
NOD *NodBaru(char item)
{
NOD *n;
n=(NOD *)malloc(sizeof(NOD));
if (n != Nil)
{
n->data=item;
n->left=Nil;
n->right=Nil;
}
return n;
}
void BinaPokok(POKOK **T)
{
5. TambahNod(&kelapa->left, buah='E');
TambahNod(&kelapa->left->right, buah='I');
TambahNod(&kelapa->right, buah='L');
TambahNod(&kelapa->right->left, buah='O');
TambahNod(&kelapa->right->left->right, buah='D');
cout<<"Tampilan secara PreOrder :";
preOrder(kelapa);
cout<<endl;
cout<<"Tampilan secara InOrder :";
inOrder(kelapa);
cout<<endl;
cout<<"Tampilan secara PostOrder :";
postOrder(kelapa);
cout<<endl;
cout<<endl;
//return 0;
getch();
}
Output Program 1.2
Hasil output dari Program 1.2 adalah sebagai berikut :
6. Left
Left ->Right
Right
Right -> Left
Right -> Left -> Right
Penjelasan Program 1.2
Berukut penjelasan dari Listing Program 1.2 :
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. Merupakan nilai baru yang ditampilkan.
4. Preorder, inorder dan postorder merupakan kunjungan pada pohon biner.
5. BinaPokok(&kelapa);
TambahNod(&kelapa, buah='M');
TambahNod(&kelapa->left, buah='E');
TambahNod(&kelapa->left->right, buah='I');
TambahNod(&kelapa->right, buah='L');
TambahNod(&kelapa->right->left, buah='O');
TambahNod(&kelapa->right->left->right, buah='D');
Program diatas menerangkan tentang :
Maka hasilnya akan muncul tulisan MEILOD
KELAPA
M
E
I
L
O
D
7. 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.
1. PreOrder
Pada kunjungan ini dimulai dari sebelah kiri dan berlanjut di sebelah kanan .
2. InOrder
Pada kunjungan ini dimulai dari sebelah kiri lalu cetak ke simpul akar dan terakhir di sebelah kanan.
3. PostOrder
Pada kunjungan ini dimulai dari sebelah kiri lalu ke sebelah kanan dan terakhir cetak ke simpul akar .