Thursday, October 29, 2009

Contoh Pointer Pada Pascal

Pointer Pada Pascal
wah, karena disini ga ada yang buat tread, saya mau share tentang pointer pada pascal nih...

oke deh, pertama saya jelasin dulu apa itu pointer.

Pointer merupakan variabel khusus yang berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel yang points(menunjuk) ke sesuatu sehingga disebut pointer. Ada dua macam pointer:

-typed(tertentu): merupakan pointer yang menunjuk pada tipe data tertentu pada variable.
-generic(umum): merupakan pointer yang tidak menunjuk pada tipe data tertentu pada variable.

istilahnya tuh, misalkan ada A, B, C... nah si A tuh tau alamat B tapi dia ga tau alamat C, nah A kalau mau ke alamat C, dia harus ke B dulu, karena B tau Alamat C. nah B inilah yang disebut pointer, setau saya sih gini. maaf kalau kurang jelas.

nah sekarang masuk ke listing programnya :

Code:
program pr;
uses crt;
type
Dmhs = ^Rmhs;
Rmhs = record
nm,npm,kls: string;
end;
var
mhs: array [1..5] of Rmhs;
n, i : integer;
begin
textcolor (lightblue+blink);
textbackground (lightgray);
clrscr;
write ('masukkan banyak data : ');
readln (n);
writeln;
for i:= 1 to n do
begin
write('masukkan nama ke-',i,' : ');
readln(mhs[i].nm);
write('masukkan npm ke-',i,' : ');
readln(mhs[i].npm);
write('masukkan kelas ke-',i,' : ');
readln(mhs[i].kls);
writeln;
end;
clrscr;
for i := 1 to n do
begin
writeln('Nama ke-',i,' : ',mhs[i].nm);
writeln('NPM ke-',i,' : ',mhs[i].npm);
writeln('Kelas ke-',i,' : ',mhs[i].kls);
writeln;
end;
readkey;
end.
Logika Program

Program ini menggunakan pointer, array, record, text color dan background, saya akan menjelaskan statment-statment tersebut :

pada listing tersebut digunakaan array dan record :

Code:
program pr;
uses crt;
type
Dmhs = ^Rmhs;
Rmhs = record
nm,npm,kls: string;
end;
var
mhs: array [1..5] of Rmhs;
n, i : integer;
pada baris ke-4 merupakan pointer.

Ketika Dmhs menunjuk ke Rmhs, mengakses Dmhs^ sama dengan mengakses Rmhs. Dalam membuat program, dalam penggunaan pointer kita memerlukan alokasi memori tertentu: Ketika kita mendeklarasikan variabel pointer dalam "var" sehingga merupakan suatu static variable, yang mana Static variable ini dibatasi oleh kapasitas 64KB untuk tiap module. Yang berarti dalam program utama kita hanya bisa menggunakan hanya 64KB dan tiap unit Pascal hanya bisa memakai 64KB. Sehingga kita perlu memecahkan program kebeberapa unit.

Pada baris ke-2 mhs merupakan tanda pengenal nama variabel dari array dan [1..5] merupakan tipe indek dari array, yang menunjukan banyaknya data yang yang mampu disimpan, bertipe Rmhs (nm,npm,kls : string; ). dengan hanya menggunakan satu nama variabel yaitu n dan i mampu menyimpan 5 nilai yang berbeda dengan tipe integer.


source:http://rogaro.web44.net

0 comments:

Post a Comment