"Wellcome to my blog....."

Rabu, 08 Desember 2010

POINTER

Posted by Nurmalita 06.24, under | No comments


POINTER
Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori. Lokasi memori tersebut bisa diwakili sebuah variabel atau juga berupa alamat memori secara langsung. (address variable).

 Pointer VS Variabel Biasa

Variabel Biasa
Pointer
Berisi data/nilai
Berisi alamat memori dari suatu variabel
tertentu
Operasi yang bisa dilakukan seperti
layaknya operasi biasa: +, -, *, /

Membutuhkan operator khusus: “&” yangmenunjuk alamat dari suatu variabel tertentu. Operator “&” hanya dapat dilakukan kepada variabel dan akan mengahasilkan alamat dari variabel itu.
Contoh: p = &n
Yang kedua : Operator “*”. Operator ini
bersifat menggunakan nilai dari alamat
variabel yang ditunjuk oleh pointer tersebut.
Contoh: int *p;
Bersifat statis
Bersifaat dinamis
Deklarasi : int a;
Deklarasi : int *a



Operator Pointer
Terdapat 2 buah operator pointer, yaitu:
Operator *
Mendapatkan nilai data dari variabel pointer

Contoh:
int *alamat;
int nilai = 10;
alamat = &nilai;
printf(“%d”,*alamat);
Hasil:
10

Operator &
Mendapatkan alamat memori dari variabel pointer

Contoh:
int *alamat;
int nilai = 10;
alamat = &nilai;
printf(“%p”,alamat);
Hasil:
FFCCDD


Deklarasi Pointer
   Variabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterisk.
Bentuk umum :
Tipe_data *nama_variabel_pointer;
Contoh :      Int *data;     berarti data adalah sebuah pointer yang menunjuk ke jenis data integer.
Variabel pointer dapat dideklarasikan dengan tipe data apapun. Pendeklarasian variabel pointer dengan tipe data tertentu digunakan untuk menyimpan alamat memori tertentu, bukan untuk berisi nilai tertentu. Misalnya jika suatu variabel pointer dideklarasikan dengan tipe float, berarti variabel pointer tersebut hanya bisa digunakan untuk menunjuk alamat memori yang berisi nilai bertipe float.

Penggunaan Pointer dalam Array
   Salah satu penggunaan pointer adalah untuk membuat suatu array yang dinamis (banyaknya data yang bisa ditampung sesuai keperluan).
Pada array, pointer hanya perlu menunjuk pada alamat elemen pertama saja
karena letak alamat array sudah berurutan pada memori.

Contoh:
#include <stdio.h>
void main(){
int a[5] = {1,2,3,4,5};
int *p;
p=a;
printf("%d",*p);
}

Hasil : 1
Penjelasan:
- Pernyataan p=a artinya pointer p menyimpan alamat array a, yang
alamatnya diwakili alamat elemen pertama, yaitu a[0]
- Kita juga dapat menuliskan baris p=a diganti dengan p=&a[0]

Array Pointer
Pointer dapat di-array seperti tipe data lain dalam C++ integer
 contoh :
               Int *pi[10];

Contoh Program array pointer
//Program :pointer6. cpp
#include <iostream.h>
int main()
{
Int numbers[5];
Int *p;
p = numbers; *p = 10;
p++; *p =20;
p = &numbers[2];  *p = 30;
p = numbers + 3;  *p = 40;
p = numbers;  *(p+4) = 50;
for  (int n=0; n<5; n++)
   cout << numbers[n] << “, “;
return 0;
}
Output : 10, 20, 30, 40, 50,

Contoh program pointer
//Program :pointer1. cpp
#include <iostream.h>
// cetak p dan *p
Void main(void)
{
int v = 7, *p;
p = &v;
cout << “Nilai v = “ << v << “ dan *p = “ << *p
<< “ \nAlamatnya = “ <<  p << ‘n’;
}

Hasil dari program adalah sebagai berikut :
Nilai v = 7 dan *p = 7
Alamatnya = efffb24





0 komentar:

Posting Komentar

POINTER


POINTER
Pointer adalah suatu variabel penunjuk, berisi nilai yang menunjuk alamat suatu lokasi memori tertentu. Jadi pointer tidak berisi nilai data, melainkan berisi suatu alamat memori. Lokasi memori tersebut bisa diwakili sebuah variabel atau juga berupa alamat memori secara langsung. (address variable).

 Pointer VS Variabel Biasa

Variabel Biasa
Pointer
Berisi data/nilai
Berisi alamat memori dari suatu variabel
tertentu
Operasi yang bisa dilakukan seperti
layaknya operasi biasa: +, -, *, /

Membutuhkan operator khusus: “&” yangmenunjuk alamat dari suatu variabel tertentu. Operator “&” hanya dapat dilakukan kepada variabel dan akan mengahasilkan alamat dari variabel itu.
Contoh: p = &n
Yang kedua : Operator “*”. Operator ini
bersifat menggunakan nilai dari alamat
variabel yang ditunjuk oleh pointer tersebut.
Contoh: int *p;
Bersifat statis
Bersifaat dinamis
Deklarasi : int a;
Deklarasi : int *a



Operator Pointer
Terdapat 2 buah operator pointer, yaitu:
Operator *
Mendapatkan nilai data dari variabel pointer

Contoh:
int *alamat;
int nilai = 10;
alamat = &nilai;
printf(“%d”,*alamat);
Hasil:
10

Operator &
Mendapatkan alamat memori dari variabel pointer

Contoh:
int *alamat;
int nilai = 10;
alamat = &nilai;
printf(“%p”,alamat);
Hasil:
FFCCDD


Deklarasi Pointer
   Variabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterisk.
Bentuk umum :
Tipe_data *nama_variabel_pointer;
Contoh :      Int *data;     berarti data adalah sebuah pointer yang menunjuk ke jenis data integer.
Variabel pointer dapat dideklarasikan dengan tipe data apapun. Pendeklarasian variabel pointer dengan tipe data tertentu digunakan untuk menyimpan alamat memori tertentu, bukan untuk berisi nilai tertentu. Misalnya jika suatu variabel pointer dideklarasikan dengan tipe float, berarti variabel pointer tersebut hanya bisa digunakan untuk menunjuk alamat memori yang berisi nilai bertipe float.

Penggunaan Pointer dalam Array
   Salah satu penggunaan pointer adalah untuk membuat suatu array yang dinamis (banyaknya data yang bisa ditampung sesuai keperluan).
Pada array, pointer hanya perlu menunjuk pada alamat elemen pertama saja
karena letak alamat array sudah berurutan pada memori.

Contoh:
#include <stdio.h>
void main(){
int a[5] = {1,2,3,4,5};
int *p;
p=a;
printf("%d",*p);
}

Hasil : 1
Penjelasan:
- Pernyataan p=a artinya pointer p menyimpan alamat array a, yang
alamatnya diwakili alamat elemen pertama, yaitu a[0]
- Kita juga dapat menuliskan baris p=a diganti dengan p=&a[0]

Array Pointer
Pointer dapat di-array seperti tipe data lain dalam C++ integer
 contoh :
               Int *pi[10];

Contoh Program array pointer
//Program :pointer6. cpp
#include <iostream.h>
int main()
{
Int numbers[5];
Int *p;
p = numbers; *p = 10;
p++; *p =20;
p = &numbers[2];  *p = 30;
p = numbers + 3;  *p = 40;
p = numbers;  *(p+4) = 50;
for  (int n=0; n<5; n++)
   cout << numbers[n] << “, “;
return 0;
}
Output : 10, 20, 30, 40, 50,

Contoh program pointer
//Program :pointer1. cpp
#include <iostream.h>
// cetak p dan *p
Void main(void)
{
int v = 7, *p;
p = &v;
cout << “Nilai v = “ << v << “ dan *p = “ << *p
<< “ \nAlamatnya = “ <<  p << ‘n’;
}

Hasil dari program adalah sebagai berikut :
Nilai v = 7 dan *p = 7
Alamatnya = efffb24






Bookmark and Share

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.