POINTER

Untuk kelas 1 RPL pelajari tentang pointer ini
Kerjakan evaluasinya!

Pada pembahasan sebelumnya telah dijelaskan mengenai variable array, suatu tipe data yang sifatnya statis. Ruang memori yang digunakan tidak dapat dihapus bila variable bertipe array tersebut tidak digunakan lagi pada saat program dijalankan. Untuk memecahkan masalah tersebut kita dapat menggunakan variable pointer. Tipe data pointer bersifat dinamis, variable akan dialokasikan hanya pada saat dibutuhkan dan sesudah tidak dibutuhkan dapat didealokasikan kembali.


Deklarasi pointer
Bentuk umum

Type pengenal=^simpul;

simpul =tipe;

Senarai berantai

Apabila anda ingin menambah data, maka selalu dengan menggunakan variable pointer yang baru, anda akan membutuhkan banyak sekali variable pointer(penunjuk).

Oleh karena itu ada baiknya jika anda hanya menggunakan satu variable pointer saja untuk menyimpan banyak data dengan metode yang disebut linked list (senarai berantai).

Contoh 1:

Deklarasi dan procedure tambah di bawah ini digunakan untuk contoh 1 dan 2

type

penunjuk=^p;

p=record

nilai:integer;

berikut:penunjuk;

end;

var

baru, awal, akhir, bantu:penunjuk;

procedure tambah(nilaibaru:integer);

begin

new(baru);

baru^.nilai:=nilaibaru;

baru^.berikut:=nil;

end;

begin

awal:=nil;

tambah(5);

awal:=baru;

tambah(7);

akhir:=baru;

tambah(4);

bantu:=baru;

tambah(2);

tambah(3);

awal:=bantu;

baru^.berikut:=akhir;

bantu^.berikut:=akhir;

tambah(8);

baru^.berikut:=awal;

tambah(10);

akhir^.berikut:=baru;

tambah(6);

baru^.berikut:=awal;

awal:=baru;

tambah(5);

baru^.berikut:=akhir;

bantu^.berikut:=baru;

while(awal<>nil) do

begin

writeln(awal^.nilai);

awal:=awal^.berikut;

end;

end.



Output :

6

4

5

7

10

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

aktivitas dan permainan anak

misteri halaman belakang

Uno paling senang diajakin mainan ini, caranya....
ambil keranjang mainan, petik berbagai macam daun yang
dari tanaman yang ada di sekeliling rumah...
setelah terkumpul banyak, diskusikan bersama anak anda...

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS