Program ini saya posting kan karna saya mendapat tugas dari dari dosen saya,
dan Alhamdulillah saya bisa menyelesaikan Program Pohon (Tree) Dinamis ini.
Berikut ini adalah script programmnya menggunakan turbo pascal :
uses wincrt;
Type pohon=^node;
node=record
data:integer;
kiri,kanan:pohon;
end;
var
T:pohon;
info:integer;
{--------------------------------------------------------------------}
Procedure Buat_BST(info :integer;var T:pohon);
var
b:pohon;
begin
if T=nil then
begin
new(b);b^.data:=info;b^.kiri:=nil;b^.kanan:=nil;
T:=b;
end
else
begin
if T^.data<info then
Buat_Bst(info,T^.kanan);
if T^.data>info then
Buat_Bst(info,T^.kiri);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_pre(b:pohon);
begin
if (b<>nil) then
begin
write(b^.data);
Baca_BST_pre(b^.kiri);
Baca_BST_pre(b^.kanan);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_in(b:pohon);
begin
if (b<>nil) then
begin
Baca_BST_in(b^.kiri);
write(b^.data);
Baca_BST_in(b^.kanan);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_post(b:pohon);
begin
if (b<>nil) then
begin
Baca_BST_post(b^.kiri);
Baca_BST_post(b^.kanan);
write(b^.data);
end;
end;
{--------------------------------------------------------------------}
begin
clrscr;
new(T);T^.kiri:=nil;T^.kanan:=nil;
writeln('Memasukkan data ke dalam tree');
repeat
write('Nilai data : ');readln(info);
if info<>0 then Buat_BST(info,T);
until info=0;
writeln;
readln;
writeln('Pembacaan secara Pre order');
baca_BST_pre(T);
writeln;
readln;
writeln('Pembacaan secara In order');
baca_BST_in(T);
writeln;
readln;
writeln('Pembacaan secara Post order');
baca_BST_post(T);
end.
dan Alhamdulillah saya bisa menyelesaikan Program Pohon (Tree) Dinamis ini.
Berikut ini adalah script programmnya menggunakan turbo pascal :
uses wincrt;
Type pohon=^node;
node=record
data:integer;
kiri,kanan:pohon;
end;
var
T:pohon;
info:integer;
{--------------------------------------------------------------------}
Procedure Buat_BST(info :integer;var T:pohon);
var
b:pohon;
begin
if T=nil then
begin
new(b);b^.data:=info;b^.kiri:=nil;b^.kanan:=nil;
T:=b;
end
else
begin
if T^.data<info then
Buat_Bst(info,T^.kanan);
if T^.data>info then
Buat_Bst(info,T^.kiri);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_pre(b:pohon);
begin
if (b<>nil) then
begin
write(b^.data);
Baca_BST_pre(b^.kiri);
Baca_BST_pre(b^.kanan);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_in(b:pohon);
begin
if (b<>nil) then
begin
Baca_BST_in(b^.kiri);
write(b^.data);
Baca_BST_in(b^.kanan);
end;
end;
{--------------------------------------------------------------------}
Procedure Baca_BST_post(b:pohon);
begin
if (b<>nil) then
begin
Baca_BST_post(b^.kiri);
Baca_BST_post(b^.kanan);
write(b^.data);
end;
end;
{--------------------------------------------------------------------}
begin
clrscr;
new(T);T^.kiri:=nil;T^.kanan:=nil;
writeln('Memasukkan data ke dalam tree');
repeat
write('Nilai data : ');readln(info);
if info<>0 then Buat_BST(info,T);
until info=0;
writeln;
readln;
writeln('Pembacaan secara Pre order');
baca_BST_pre(T);
writeln;
readln;
writeln('Pembacaan secara In order');
baca_BST_in(T);
writeln;
readln;
writeln('Pembacaan secara Post order');
baca_BST_post(T);
end.
Semoga Program Pohon (Tree) Dinamis ini dapat bermanfaat,



