Langsung ke konten utama

POINTER

Terdapat dua jenis variabel menurut kebutuhan program untuk menyimpan data, yaitu variabel statis dan variabel dinamis. Variabel statis adalah variabel yang harus dipesan dahlu sebelum digunakan dan banyaknya tidak dapat diubah saat program dieksekusi. Variabel dinamis adalah variabel yang dapat dipesan (dibuat) saat dibutuhkan waktu program dieksekusi, namun dapat pula dihancurkan (atau dikembalikan ke sistem operasi) saat tidak dibutuhkan.
Cara mendeklarasikan variabel dinamis cukup menambahkan tanda * di antara tipe data dan nama variabelnya. Sebagai contoh :
int *P;
adalah pernyataan yang mendeklarasikan variabel pointer yang menunjuk data yang bertipe int. Data ini bisa saja ditandai oleh variabel statis.
int x = 5;
Pernyataan P = &x; berarti bahwa pointer P digunakan untuk menunjuk data bertipe int yaitu 5 yang disimpan pada variabel x.
Dalam penggunaannya, variabel dinamis dapat menunjuk ke manapun, asal tipe data yang ditunjuk sesuai dengan tipe pointer ketika dideklarasikan. Tentu saja kita tidak bisa pernyataan :
char C = ‘x’; P = &C;
akan merupakan pernyataan yang tidak valid, oleh karena variabel C menyimpan data bertipe char, sadangkan P adalah pointer yang menunjuk data bertipe int.

Program di bawah ini memberikan cara memindahkan pointer :

#include <iostream>
using namespace std;

int main() {
int A = 5;
int B = 3;
cout << "Nilai A : " << A << endl;
cout << "Nilai B : " << B << endl;
int *Pa = &A;
cout << "Nilai yang ditunjuk pointer Pa (var. A) : " << *Pa << endl;
int *Pb = &B;
cout << "Nilai yang ditunjuk pointer Pb (var. B) : " << *Pb << endl;
Pa = Pb; // ekivalen dengan Pa = &B
cout << "Setelah tugas Pa diubah : \n";
cout << "Nilai yang ditunjuk pointer Pb (var. B) : " << *Pb << endl;
cout << "Nilai yang ditunjuk pointer Pa (var. B) : " << *Pa << endl;
}


Komentar

Postingan populer dari blog ini

linear searching

SEARCHING DAN SORTING A.  Pencarian Linier (Linear search) Andaikan terdapat array aray dengan banyak data sebanyak ukuran. Misalkan kita ingin mencari data kunci dalam array aray. Prinsip pada pencarian linier, setiap data pada aray akan dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk). Bila pada posisi ke-i data sama dengan kunci , berarti data ditemukan pada posisi ke-i. Bila sampai akhir data, data tidak juga ditemukan berarti kunci tidak ada pada  aray.   berikut adalah algoritma dari pencarian searching function pencarianLinier(input aray : larik; kunci, ukuran : integer) : integer Deklarasi ketemu : boolean i, n : integer Deskripsi ketemu €  false; n €  1 while ((n < ukuran) and (not ketemu)) do if (aray[n] = kunci) then ketemu  €  true { data ketemu } i  €  n { pada posisi ke-i } endif else n  €  n+1 { cek data berikutnya } endwhile if ketemu then pe...