Anda di halaman 1dari 11

Materi 02 - Struktur Data

Pointer

Yosep Agus Pranoto, S.T., M.T.


Dr. Agung Panji Sasmito, S.Pd., M.Pd.
Nurlaily Vendyansyah, S.T., M.T.
Teknik Informatika S1 - Institut Teknologi Nasional Malang
Materi 02 - Struktur Data
Pointer

1. Pointer
2. Pointer vs Variabel
3. Deklarasi Pointer
4. Pointer pada Array
Pointer

Pointer merupakan suatu variabel yang menyimpan alamat


memori.

Jika kita mempunyai sebuah variabel dengan tipe data


tertentu, maka untuk mendapatkan alamat dari variabel
tersebut adalah dengan menggunakan operator &
(operator dereference).
Alamat inilah yang kemudian akan disimpan ke dalam
variabel yang bertipe pointer. Untuk mendeklarasikan
variabel sebagai pointer, maka hanya menambahkan tanda
asterik (*) atau operator reference di depan nama variabel.
Pointer

Ilustrasi pointer : Kita memiliki variabel X yang


berisi nilai karakter “a”.
Maka, oleh compiler C++
nilai “a” akan disimpan di
suatu alamat tertentu di
memori.
Alamat variabel X ini dapat
diakses dengan
menggunakan statement &X.
Pointer vs Variabel
Deklarasi Pointer

Berikut ini merupakan bentuk umum dari


pendeklarasian variabel yang bertipe pointer.

tipe_data *nama_pointer;

Tipe data di atas berguna untuk menyatakan bahwa


pointer yang kita deklarasikan tersebut akan ditempati
oleh data dengan tipe tertentu.
Deklarasi Pointer
#include <iostream>
using namespace std;
int main(){
int x, *pointer_x;
pointer_x = &x;

cout<<"Masukkan sebuah nilai : ";


cin>>x;

cout<<"Menggunakan variabel biasa :"<<endl;


cout<<"Nilai dari x = "<< x <<endl;
cout<<"Alamat dari x = "<< &x <<endl<<endl;

cout<<"Dengan menggunakan pointer : "<<endl;


cout<<"Nilai dari x = "<< *pointer_x <<endl;
cout<<"Alamat dari x = "<< pointer_x <<endl<<endl;

return 0;
}
Deklarasi Pointer

Ada cara khusus untuk membuat pointer yang


dideklarasikan tersebut dapat menunjuk ke semua tipe
data, yaitu dengan mendeklarasikan pointer tersebut
sebagai pointer tanpa tipe data atau disebut “void
pointer”

Bentuk umumnya adalah :

void *nama_pointer;
Deklarasi Pointer
#include <iostream>
using namespace std;
int main(){
int x = 11;
float y = 3.3;
void *pointer_bantu;

pointer_bantu = &x;

cout<<"Nilai dari x = "<< x <<endl;


cout<<"Alamat dari x = "<< &x <<endl;
cout<<"Nilai dari pointer bantu = "<< pointer_bantu <<endl;

pointer_bantu = &y;

cout<<"Nilai dari y = "<< y <<endl;


cout<<"Alamat dari y = "<< &y <<endl;
cout<<"Nilai dari pointer bantu = "<< pointer_bantu <<endl;

return 0;
}
Pointer pada Array

Array adalah sebuah variabel yang menyimpan sekumpulan


data yang memiliki tipe data sama. Setiap data tersebut
merupakan elemen array yang menempati lokasi atau
alamat memory yang berbeda-beda.

Elemen array tersebut kemudian dapat kita akses melalui


indeks yang terdapat di dalamnya namun penting sekali
untuk di perhatikan bahwa dalam C++, Indeks array selalu
dimulai dari 0, bukan 1.

Pada array, setiap elemen akan memiliki nilai dan memiliki


alamat memori yang berbeda.
Pointer pada Array

#include<iostream> cout<<"Hasil Pengaksesan Elemen Array


using namespace std; Lewat Pointer";
int main() cout<<endl<<endl;
{ for(i=1;i<=jumlah_array;i++){
int i,jumlah_array; cout<<"Elemen "<<i<<". Nilai
int nilai[jumlah_array]; "<<nilai[i];
int *alamatnilai; cout<<", Menempati Alamat Memori = ";
alamatnilai = nilai; cout<<&almtnilai[i];
cout<<endl;
cout<<"Masukkan Jumlah Array : ";
}
cin>>jumlah_array;
cout<<endl;
for(i=1;i<=jumlah_array;i++){ return 0;
cout<<"Masukan Nilai "<<i<<" = "; }
cin>>nilai[i];
}
cout<<endl;

Anda mungkin juga menyukai