You are on page 1of 9

LAPORAN PRAKTIKUM RESMI

BAB III
THREE PART 3





Disusun oleh :
Analis Hasby Azizah
201301043

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

A. PROSES INISIALISASI
Menurut YM Kusuma Ardhana dalam bukunya yang berjudul Structur Data dalam Ilustrasi
Eclipse Indigo C++ inisialisasi merupakan pemberian nilai awal pada suatu variabel atau
kondisi yang dapat digunakan sebagai ciri suatu kondisi.
Instruksi dasar untuk inisialisasi
Root = NULL;
P=NULL;
Inisialisasi bila ditulis dalam sebuah fungsi.
Void Inisialisasi(){
Root=NULL;
P=NULL;
}
Fungsi ini harus dilaksanakan sebelum oprasi yang lain. Pointer root ketika dideklarasikan
isinya sudah ada, tapi nilainya tidak diketahui. Pointer root perlu dididi dengan NULL karena
pointer root ini akan dijadikan tanda. Bila isisnya NULL, berarti tree belum ada. Bila isinya
bukan NULL berarti isinya sudah ada, dimana node akar sedang ditunjuk oleh pointer root.
Oprasi lain :
1. Pembuatan Sebuah Node
2. Menjadikan Sebuah Node Sebagai Node Akar
Sebelum membuat tree, pertama kali (node akar) perlu diperiksa terlebih dahulu apakah
tree memang belum ada. Ciri tree yang belum ada adalah Root = NULL.
3. Insert Sebuah Node ke Tree yang sudah ada.
Ada dua macam proses insert, yaitu :
a. Insert urut node, atau insert level per level.
b. Insert pada nomor node tertentu.
4. Insert Urut Nomer Node, atau Insert Level
5. Insert pada Nomer Node Tertentu
6. Insert Level per Level
3

B. Insert pada Nomer Node Tertenntu


Contoh kasus 1 :
Tuliskan instruksi untuk menempatkan pointer Q, sehingga menunjuk node akar!
Jawab :
Q=Root;

Contoh 2 :
Tuliskan instruksi untuk menempatkan pointer Q, sehingga menunjuk node no.2!
Jawab : Q=Root->Left;
atau
Q=Root;
Q=Q->Leaft;
Penjelasan :
Tempatkan di simpul akar, kemudian geser ke kiri.

Contoh kasus 3 :
Tulis intruksi untuk menempatkan pointer Q, sehingga menunjukkan node no13!
Jawab :
Q=Root->Right->Left->Right;
atau
Q=Root;
Q=Q->Right;
Q=Q->Leaft;
Q=Q->Right;

4

Contoh Kasus 4 :
Tuliskan instruksi untuk menempatkan pointer Q sehingga menunjuk node paling
kiri!
Jawab :
Q=Root;
While (Q->Left !=NULL)
{Q=Q->Left;}

Contoh kasus 5 :
Tulis intruksi yang mencetak nilai INFO node yang paling kiri!
Jawab :
Q=Root;
While(Q->Left !=NULL)
{Q=Q-> Left;}
Printf(%c, Q->INFO);

Contoh kasus 6 :
Bila dipastikan simpul no.50 itu ada, maka susunan algoritma untuk
menempatkan pointer Q, sehingga menunjuk no. 50 tersebut!
Gunakan : While (Top > -1)
Jawab :
N = 50;
Top=-1;
hasil = n;
while (hasil>1)
{
sisa = hasil %2;
Top++; S[Top]=sisa;
hasil=hasil/2;
}
Q=Root;
while (Top>-1)
{
arah=S[Top];Top--;
if (arah == 0)
Q;=Q->Left;
else
Q=Q->Right;

5


BAB II
PENJELASAN PROGRAM

A. Latihan Praktikum
Listing Program 3.1
/*
* tree3.cpp
*
* Created on: Oct 2, 2014
* Author: analis
*/


#include <iostream>
#include <conio.h>
#include <malloc.h>
using namespace std;
struct Node
{
struct Node *Left;
char INFO;
struct Node *Right;
};
typedef struct Node Simpul;
Simpul *Root, *P; char X;
void Inisialisasi()
{
Root=NULL;P=NULL;
}
Void BuatSimpul(char X)
{
P=(Simpul*)malloc(sizeof(Simpul));
P->INFO=X;
P->Left=NULL;
P->Right=NULL;
}
void BuatAkar()
{ Root=P;}
void Insert(int n,char X)
{
int S[20];
int Top;
int hasil;
int sisa,arah;
Simpul *Q;
Top=-1;hasil=n;
while(hasil>1)
6

{
sisa=sisa%2;
Top++;S[Top]=sisa;
sisa=sisa/2;

}
Q=Root;
while(Top>0)
{
arah=S[Top];Top--;
if(arah==0)
Q=Q->Left;
else
Q=Q->Right;
}
arah=S[Top];Top--;
if(arah==0)
Q->Left=P;
else
Q->Right=P;
}
void BacaUrutNomor()
{
int i,j;
Simpul *Q[129],*Current;
i=1;j=1;
Q[i]=Root;
while(Q[i]!=NULL)
{
Current=Q[i];
cout<<Current->INFO;
if(Current->Left!=NULL)
{
j++;Q[j]=Current->Left;
}
if(Current->Right!=NULL)
{
j++;Q[j]=Current->Right;

}
i++;
}
}
int main()
{
int i, n;
char X;
int
char INFOx[20]="0ABCDEFJKU";
Inisialisasi();
X=INFOx[1];
BuatSimpul(X);
BuatAkar();
for(i=2;i<=9;i++)
{
7

n=nom[i];X=INFOx[i];
BuatSimpul(X);
Insert(n,X);
}
BacaUrutNomor();
return 0;

}



Output Program 3.1
Hasil output dari Program 3.1 adalah sebagai berikut :

Penjelasan Program 3.1
Berukut penjelasan dari Listing Program 3.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. Iostream digunakan untuk menampilkan deklarasi yang ada pada cout.
4. Conio digunakan untuk menampilkan fungsi gech
5. Malloc merupakan fungsi standart untuk mengalokasikan memori.
6. Using namespace std; digunakan untuk menampilkan perintah perintah yang ada pada
library standard.
7. Fungsi Main adalah nama judul fungsi.
8. Struct merupakan tipe data abstrak
9. Cout (character out) dipakai untuk menampilkan text di layar monitor anda.
10. Tanda <<, yang diketahui sebagai operator pemasukan (insertion operators).
8

11. Tanda { pada fungsi main() menyatakan awal eksekusi program. Adapun } pada fungsi
main() menyatakan akhir eksekusi program.
12. Tanda semicolon ; digunakan untuk mengakhiri sebuah pernyataan.























9

BAB III
KESIMPULAN
Inisialisasi merupakan pemberian nilai awal pada suatu variabel atau kondisi yang dapat
digunakan sebagai ciri suatu kondisi, proses inisialisasi harus dilakukan terlebih dahulu sebelum
melakukan oprasi lain seperti contohnya insert pada node tertentu.

You might also like