Powered By Blogger Submit Your Site To The Web's Top 50 Search Engines for Free! Online Marketing

Subscribe Now

Saturday, April 25

Laporan Akhir Pointer pada Pascal


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.


Related Posts


1 Comments:

nice info gan..... terimakasih... gw lagi nyari tugas kuliah...

Post a Comment

Popular Posts This Months

Related Posts Plugin for WordPress, Blogger...