gan,program ane buat link list ada errornya tp ane binggung banget
katanya END expected (kuramg END nya) tp dimana ane bingung?
nih programnya
Quote:
program linked_list;
uses crt;
type
tipeinfo = record
char : string;
end;
tipeptr = ^tipenode;
tipelist = tipeptr;
tipenode = record;
info = tipeinfo;
next = tipeptr;
end;
var list : tipelist;
procedure inisialisasi ( var list : tipelist);
begin
new (list);
list := nil;
End;
function jumlah (list : tipelist) : integer;
var A : integer;
begin
A := 0;
while list <> nil do
begin
A := A+1;
list := list^.next;
end;
jumlah := A;
End;
procedure sisipnode (var list : tipelist; IB : tipeinfo);
var NB, ptr : tipeptr;
ketemu : boolean;
begin
new(NB);
NB^.info := IB;
NB^.next := nil;
if list = nil then list := NB
else
if IB.char <= list^.info.char then
begin
NB^.next := list;
list := NB;
end
else
begin
ketemu := false;
ptr := list;
while (ptr^.next <> nil) and not (ketemu) do
begin
if ptr^.next^.info.char >= IB.char then
ketemu := true
else ptr := ptr^.next
end;
NB^.next := ptr^.next;
ptr^.next := NB
End;
End;
Procedure gantinode1 (var list : tipelist; KunciGanti :
String; charbaru : string);
Var ptr : tipeptr;
Begin
New (ptr);
Ptr := lisr;
While (ptr <> nil) and (ptr^.info.char <> KunciGanti) do
Ptr := ptr^.next;
If ptr <> nil then
Ptr^.info.char := charbaru
End;
Procedure gantinode2 (var list : tipelist; clama, cbaru :
string);
Var ptr : tipeptr;
Begin
New(ptr);
Ptr := list;
While (ptr <> nil) do
Begin
If ptr^.info.char := clama then
Ptr^.info.char := cbaru;
Ptr := ptr^.next
End;
End;
Procedure hapusnode var list : tipelist; kunciHapus :
String);
Var ptr1, ptr2 : tipeptr;
Begin
New(ptr1);
New(ptr2);
Ptr1 := nil;
Ptr2 := nil;
While (ptr2^.char <> KinciHapus) do
Begin
Ptr1 := ptr2
Ptr2 := ptr2^.next
End;
If ptr1 = nil then
List := list^.next
Else
Ptr1^.next := ptr2^.next
Dispose(ptr2)
End;
procedure inputchar;
var charbaru : tipeinfo;
begin
writeln('Masukan Data');
write('Masukan Charakter : ');
readln(char);
sisipnode(list,char);
End;
procedure gantichar1;
var char : string;
crb : string;
begin
write('Masukan Charakter : ');
readln(char);
write('Masukan Charakter Baru : ');
readln(crb);
gantinode1(list, char, crb);
End;