data : string;
lc : ptr;
rc : ptr;
end;
var
choice : char; Deklarasi variable, yaitu:
data,key : string; String/char : data,key,choice
Procedure insert :
prosedur untuk melakukan insert data ke dalam root.
procedure insert(var _root : ptr; _data : string);
begin
new (newNode);
newNode^.data := _data;
if _root = NIL then
begin
newNode^.lc := NIL;
newNode^.rc := NIL;
_root := newNode;
end else
begin
if _data <= _root^.data then
insert(_root^.lc,_data)
else insert(_root^.rc,_data);
end;
end;
proses membandingkan
else begin
nilai _root, jika
if _data <= _root^.data then
nilainya selain dari
insert(_root^.lc,_data)
NIL/NULL maka lakukan
else insert(_root^.rc,_data);
lagi proses pembandingan,
jika data lebih kecil
maka dimasukkan ke node kiri, selain dari kondisi itu data di
masukkan ke node kanan.
Lalu, jika key kecil dari data pada root maka telusuri left
child untuk dicari datanya, sebaliknya telusuri right child jika
data lebih besar.
case choice of
'1':
begin
write('INSERT DATA : ');
readln(data);
insert(root,data);
end;
'2':
begin
display(root);
readkey; menahan tampilan
end;
'3':
begin
write('INSERT NILAI YANG AKAN DICARI : ');
readln(key);
find(root,key);
if ketemu then
writeln('DATA DITEMUKAN')
else writeln('NILAI TIDAK DITEMUKAN');
readkey;
end
end;
until choice = '4';
end.