Tampilan Koding Window pascal :
Tampilan Output Pointer :
KODING
SELENGKAPNYA:
uses crt;
type
pointer = ^cell;
cell = record
value :
integer;
next:
pointer;
end;
var last, belakang, q, p: pointer;
angka,nomor : integer;
jawab :
char;
found :
boolean;
procedure printlist;
begin
last:=belakang;
while
last <> nil do
begin
writeln (last^.value);
last:=last^.next;
end;
end;
procedure look;
begin
writeln ('Masukkan Angka yang Akan Dicari: ');
readln
(angka);
last:=belakang;
found:=false;
while
(last<>nil) and (found<>true) do
begin
if
last^.value=angka then
begin
found:=true;
writeln ('Angka Ditemukan ');
writeln (last^.value);
found:=true;
end
else
last:=last^.next;
end;
end;
procedure delete;
begin
writeln
('Angka Lain Dihapus? ');
readln
(angka);
last:=belakang;
found:=false;
while
(last<>nil) and (found<>true) do
begin
last:=last^.next;
if
q^.value=angka then
begin
dispose (q);
found:=true;
end
else
if
last^.value=angka then
begin
writeln (last^.value,' ','Ditemukan dan Dihapus');
q^.next:=last^.next;
dispose (last);
found:=true;
end;
end;
end;
begin
clrscr;
belakang:=nil;
nomor:=1;
writeln('Nomor: ',nomor);
jawab:='y';
while
(jawab<>'t') do
begin
writeln ('Masukkan Angka: ');
readln (angka);
new
(last);
last^.value:=angka;
last^.next:=belakang;
belakang:=last;
nomor:=nomor+1;
writeln ('Nomor: ',nomor);
writeln ('Terus? Y/T');
readln (jawab);
end;
printlist;
look;
delete;
printlist;
readln;
end.
|
Cara kerja Program:
Uses CRT;
|
Digunakan untuk menentukan jenis monitor yang akan kita
gunakan dan juga untuk mengaktifkan fungsi CLRSCR;
Pointer : ^Cell
|
Digunakan untuk menentukan variable pointer yang akan kita
pakai.
Cell : record
|
Untuk menjadikan pointer Cell sebagai record.
Value : integer;
|
Untuk mengidentifikasi jenis variable dari value disini
digunakan Integer.
Next : pointer;
|
Untuk mendefinisikan variable Next sebagai pointer.
var last, belakang, q, p: pointer;
angka,nomor : integer;
jawab :
char;
found : Boolean;
|
untuk menentukan variable last, belakang, q, dan p sebagai
pointer.
Angka, nomor sebagai integer.
Jawab sebagai character
Found sebagai Boolean.
procedure printlist;
begin
last:=belakang;
while
last <> nil do
begin
writeln
(last^.value);
last:=last^.next;
end;
end;
|
membuat prosedur printlist.
Dimana last sebagai belakang,
Lalu jika last tidak sama dengan nol program akan melakukan
penulisan last^.value artinya akan menuliskan pointer last dengan value sebagai
datanya.
procedure look;
begin
writeln ('Masukkan Angka yang Akan Dicari: ');
readln
(angka);
last:=belakang;
found:=false;
while
(last<>nil) and (found<>true) do
begin
if
last^.value=angka then
begin
found:=true;
writeln ('Angka Ditemukan ');
writeln (last^.value);
found:=true;
end
else
last:=last^.next;
end;
end;
|
memasuki prosedur look.
Program akan menuliskan pada layar “masukkan angka yang akan
dicari”
Lalu jika kita memasukkan angka lalu program akan mengingat
angka yang telah kita masukkan.
Jika angka ada, maka aka nada tullisan “angka ditemukan”
procedure delete;
begin
writeln
('Angka Lain Dihapus? ');
readln
(angka);
last:=belakang;
found:=false;
while
(last<>nil) and (found<>true) do
begin
last:=last^.next;
if
q^.value=angka then
begin
dispose (q);
found:=true;
end
else
if
last^.value=angka then
begin
writeln (last^.value,' ','Ditemukan dan Dihapus');
q^.next:=last^.next;
dispose (last);
found:=true;
end;
end;
end;
|
memasuki prosedur delete.
Program akan menulis “angka lain dihapus?”
Maksudnya angka yang akan dihapus berapa?
Jika kita masukkan angka yang akan dihapus dari program,
maka program akan menuliskan angka – angka yang telah kita input sebelumnya
dengan tidak memunculkan angka yang telah dihapus..
begin
clrscr;
belakang:=nil;
nomor:=1;
writeln('Nomor: ',nomor);
jawab:='y';
while
(jawab<>'t') do
begin
writeln ('Masukkan Angka: ');
readln (angka);
new
(last);
last^.value:=angka;
last^.next:=belakang;
belakang:=last;
nomor:=nomor+1;
writeln ('Nomor: ',nomor);
writeln ('Terus? Y/T');
readln (jawab);
end;
printlist;
look;
delete;
printlist;
readln;
end.
|
Memasuki koding program sebenarnya.
Program akan menghapus layar dengan perintah clrscr.
Lalu program akan menulis nomor-nomor yang kita masukkan.
Jika jawab tidak sama dengan t maka program akan melakukan
penulisan “masukkan angka”, lalu akan menginput angka yang telah kita masukkan,
lalu kita akan di minta untuk memasukkan input pilihan dimana inputnya Y untuk
terus, dan T untuk tidak melanjutkan
penginputan.
Lalu program akan memanggil prosedur prinlist, look, delete,
printlist secara berurutan.
Subscribe Now