Social Icons

Pages

Minggu, 06 Januari 2013

konsep pemograman
pratikum ke 12
program C++ menggunakan pointer

list :

#include <stdio.h>
#include <conio.h>
void main()
{
int index, nilai[10];
clrscr();

printf("Input nilai 10 mahasiswa : \n");
for(index=0; index < 10; index++)
{ printf("Mahasiswa %i : ", index+1);
scanf("%i", &nilai[index]);
}

printf("Nilai mahasiswa yang telah diinput");
for(index=0; index < 10; index++)
{
printf("%5.0i", nilai[index]);
}
getch();
}


output :



logika :

pada C++, pointer merupakan tipe yang diusung dari bahasa C. secara bahasa awam, pointer ini mengacu kepada alamat memory dari variabel tertentu. Kalau pake bahasa veteran yang saya adobsi dari sini  pointer ini berguna untuk menginterpretasikan `stream of instruction`. Mungkin ini yang tepatnya,  dimana pointer `mengalirkan` isi berdasarkan alamat yang diinisialkan.
Adapun operator yang digunakan pada pointer adalah operator referensi `&`, dimana operator ini merujuk kepada `alamat` dari memori. Juga ada operator dereferensi `*` . yang secara kasar menunjuk kepada `nilai` yang terisi pada variabel. Misal :
x = 100;
y = x;
z = &x;
zi = *z;

disana nilai x adalah 100, sedangkan nilai y sama dengan x maka bernilai 100 juga. z mengacu kepada alamat memori yang ditunjukkan melalui x, misalkan alamat memori dari x bernilai 1232 [ ini asumsi pribadi, kenyataannya jauh berbeda. , jadi z = 1232, untuk nilai zi, akan merujuk kepada nilai yang ditunjuk oleh z, dimana z mereferensikan diri kepada &x. sedangkan nilai dari &x adalah 100. jadi zi = 100.

konsep pemograman
pratikum ke 12ogram pascal
program pascal menggunakan pointer

list :

uses Crt;

var

x,y,z : longint;

lagi : char;

namak : string[20];



begin

lagi := 'y';

while (lagi = 'y') or (lagi = 'Y') do

begin

clrscr;

write('Siapa Nama Anda..?'); ReadLn(namak);

writeLn;

write('Hallo ',namak,', Coba kamu');

WriteLn(' masukan nilai x,y dan z ');

writeLn('pada operasi matematika ini.');

writeLn;

writeLn('Operasi matematika X^2 + y^2 + z =..... ');

write('masukan nilai x..= '); ReadLn(x);

write('masukan nilai y..= '); ReadLn(y);

write('masukan nilai z..= '); ReadLn(z);

writeLn;

writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);

writeLn;

write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');

readLn(lagi);

end;

end.


output :





logika : 


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.
 


Var P : pointer;
Dipergunakan sebagai buffer sementara (tidak permanen). Sehingga kita bisa melepasnya untuk suatu saat tidak diperlukan. Untuk itu pointer sangat bagus karena sifatnya yang dinamis. Tetapi, generic pointer tidak sama dengan typed pointer. Typed pointer menggunakan “new” untuk menampung memori dan “dispose” untuk melepasnya.  Generic pointer menggunakan “getmem” untuk mendapatkan memori dan “freemem” untuk melepasnya. Pada pointer dengan tipe tertentu, program Pascal mengetahui ukuran dari memori yang harus dilaokasikan, sedangkan tipe umum (generic pointer) Pascal tidak bisa, karena Pascal tidak mengetahui variabel apa yang akan dipakai. Sehingga dengan getmem kita perlu untuk menentukan berapa besar memori yang akan kita alokasikan. Ukuran terbesar adalah 65532 bytes (hampir 64K).
 

Sample text

Sample Text


Sample Text