Program pointer pascal
Listing program
Program ini bernama program pointer, pointer
adalah sebuah variabel yang isi datanya adalah alamat memori atau variabel
lain. Sehingga pointer dapat juga disebut sebagai variabel alamat (address
variable).
contoh
listing programnya:
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.
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, pada listing
tersebut digunakaan array dan record :
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.
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.
Output program
Listing program sebelum diRun pada pascal:
Kemudian
diRun, masukan identitas anda sesuai isi perintah
data yang keluar lalu tekan enter maka
akan muncul
tampilan seperti di bawah ini :
Program
pointer c++
Listing program
Sama saja halnya
dengan program pointer pada pascal tadi yaitu merupakan variabel khusus yang
berisi suatu address (alamat) di lokasi lain didalam memory. Suatu variabel
yang points(menunjuk) ke sesuatu sehingga disebut pointer.
Langsung saja,mari kita lihat listing
programnya :
#include "stdio.h"
#include "conio.h"
void main()
{
int *point;
int a=7, b=15;
printf(" Nilai a : %d \n", a);
printf(" Alamat a : %p \n\n", &a);
point=&a;
printf(" Nilai point = %p \n", point);
printf(" Alamat point = %p \n", &point);
printf(" nilai rujukan point = %d \n\n", *point);
printf(" Nilai point = %p \n", point);
printf(" Alamat point = %p \n", &point);
printf(" nilai rujukan point = %d \n\n", *point);
printf(" Nilai a : %d \n", a);
printf(" Alamat a : %p \n\n", &a);
printf(" Nilai B : %d \n", b);
printf(" Alamat B : %p \n\n", &b);
printf(" Nilai point = %p \n", point);
printf(" Alamat point = %p \n", &point);
printf(" nilai rujukan point = %d \n\n", *point);
getch();
}
Logika Program
Pendeklarasian pointer kita harus
menyertakan tanda bintang di depan nama pointernya. Tanda bintang tersebut yang
akan membedakan antara pointer dan variabel.
Perlu diketahui jika kita mendeklarasikan pointer, maka isi dari pointer tersebut nantinya adalah alamat memori. Sehingga jika kita ingin mengisi pointer tersebut dengan data, maka kita harus mendefinisikan alamat memorinya terlebih dahulu. Pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of". Contoh : ted = &input;
Perlu diketahui jika kita mendeklarasikan pointer, maka isi dari pointer tersebut nantinya adalah alamat memori. Sehingga jika kita ingin mengisi pointer tersebut dengan data, maka kita harus mendefinisikan alamat memorinya terlebih dahulu. Pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompiler dan operating sysem pada saat run-time. Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable , yang berarti "address of". Contoh : ted = &input;
Output program
Listing program sebelum diRun pada c++:
Kemudian
diRun, masukan identitas anda sesuai isi perintah
data yang keluar lalu tekan enter maka
akan muncul
tampilan seperti di bawah ini :
Kemudian
program pun selesai
“””””””””selamat
mencoba”””””””””
Tidak ada komentar:
Posting Komentar