SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
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
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).
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) 
{
*T=Nil; 
} 
typedef enum {FALSE=0, TRUE=1} BOOL; 
BOOL PokokKosong(POKOK *T) 
{ 
return ((BOOL) (T==Nil)); 
} 
void TambahNod(NOD **p, char item) 
{ 
NOD *n; 
n=NodBaru(item); 
*p=n; 
} 
void preOrder(POKOK *T) 
{ 
if(!PokokKosong(T)) 
{ 
cout<<" "<<T->data; 
preOrder(T->left); 
preOrder(T->right); 
} 
} 
void inOrder(POKOK *T) 
{ 
if (!PokokKosong(T)) 
{ 
inOrder(T->left); 
cout<<" "<<T->data; 
inOrder(T->right); 
} 
} 
void postOrder(POKOK *T) 
{ 
if(!PokokKosong(T)) 
{ 
postOrder(T->left); 
postOrder(T->right); 
cout<<" "<<T->data; 
} 
} 
int main() 
{ 
POKOK *kelapa; 
char buah; 
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'); 
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 :
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
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 .

Contenu connexe

Tendances

Laporan praktikum web ke 5
Laporan praktikum web ke 5Laporan praktikum web ke 5
Laporan praktikum web ke 5sunubismel13
 
Pertemuan 12
Pertemuan 12Pertemuan 12
Pertemuan 12beiharira
 
Pelatihan Python Dasar Part 2 - POSS UPI
  Pelatihan Python Dasar Part 2 - POSS UPI  Pelatihan Python Dasar Part 2 - POSS UPI
Pelatihan Python Dasar Part 2 - POSS UPIRidwan Fadjar
 
02 struktur-kendali-program
02 struktur-kendali-program02 struktur-kendali-program
02 struktur-kendali-programimman qori
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard LibraryRidwan Fadjar
 
Tugas modul praktikum pemrograman web
Tugas modul praktikum pemrograman  webTugas modul praktikum pemrograman  web
Tugas modul praktikum pemrograman webWayan Suntara
 

Tendances (8)

Python Programming Basic
Python Programming BasicPython Programming Basic
Python Programming Basic
 
Laporan praktikum web ke 5
Laporan praktikum web ke 5Laporan praktikum web ke 5
Laporan praktikum web ke 5
 
Pertemuan 12
Pertemuan 12Pertemuan 12
Pertemuan 12
 
Pelatihan Python Dasar Part 2 - POSS UPI
  Pelatihan Python Dasar Part 2 - POSS UPI  Pelatihan Python Dasar Part 2 - POSS UPI
Pelatihan Python Dasar Part 2 - POSS UPI
 
02 struktur-kendali-program
02 struktur-kendali-program02 struktur-kendali-program
02 struktur-kendali-program
 
Pelatihan Python Standard Library
Pelatihan Python Standard LibraryPelatihan Python Standard Library
Pelatihan Python Standard Library
 
Tugas modul praktikum pemrograman web
Tugas modul praktikum pemrograman  webTugas modul praktikum pemrograman  web
Tugas modul praktikum pemrograman web
 
Binary search
Binary searchBinary search
Binary search
 

Similaire à LAPORAN PRAKTIKUM RESMI TREE

Similaire à LAPORAN PRAKTIKUM RESMI TREE (13)

Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)Laporan Resmi BAB 1 (Tree)
Laporan Resmi BAB 1 (Tree)
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Modul 3 strukdat
Modul 3 strukdatModul 3 strukdat
Modul 3 strukdat
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Modul 2
Modul 2Modul 2
Modul 2
 
11
1111
11
 
Algoritma&Pemrograman C++ Pertemuan 11
Algoritma&Pemrograman C++ Pertemuan 11Algoritma&Pemrograman C++ Pertemuan 11
Algoritma&Pemrograman C++ Pertemuan 11
 
teori Struktur data full
teori Struktur data fullteori Struktur data full
teori Struktur data full
 
Tugas kelompok mi d3_sore
Tugas kelompok mi d3_soreTugas kelompok mi d3_sore
Tugas kelompok mi d3_sore
 
Tistrukdat8 2
Tistrukdat8 2Tistrukdat8 2
Tistrukdat8 2
 
Resume praktikum 5__linked_list
Resume praktikum 5__linked_listResume praktikum 5__linked_list
Resume praktikum 5__linked_list
 

LAPORAN PRAKTIKUM RESMI TREE

  • 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) {
  • 4. *T=Nil; } typedef enum {FALSE=0, TRUE=1} BOOL; BOOL PokokKosong(POKOK *T) { return ((BOOL) (T==Nil)); } void TambahNod(NOD **p, char item) { NOD *n; n=NodBaru(item); *p=n; } void preOrder(POKOK *T) { if(!PokokKosong(T)) { cout<<" "<<T->data; preOrder(T->left); preOrder(T->right); } } void inOrder(POKOK *T) { if (!PokokKosong(T)) { inOrder(T->left); cout<<" "<<T->data; inOrder(T->right); } } void postOrder(POKOK *T) { if(!PokokKosong(T)) { postOrder(T->left); postOrder(T->right); cout<<" "<<T->data; } } int main() { POKOK *kelapa; char buah; BinaPokok(&kelapa); TambahNod(&kelapa, buah='M');
  • 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 .