Anda di halaman 1dari 9

Modul 5 Pointer

MODUL 5
POINTER
A. Tujuan
1. Mahasiswa dapat memahami definisi dan kegunaan pointer.
2. Mahasiswa dapat mengatahui bagaimana mengimplementasikan pointer dalam
program.
B. Dasar Teori
1. Pengertian pointer
Pointer adalah suatu variabel penunjuk berisi nilai yang menuju kalimat suatu lo
kasi memori tertentu. Jadi pointer tidak berisi nilai data melainkan berisi suatu alam
at memori. Lokasi memori tersebut bisa diwakili sebuah variabel atau juga alamat
memori secara langsung.

2. Deklarasi pointer
Jika terdapat sebuah variabel dengan tipe data tertentu maka untuk mendpatkan
alamat dari variabel tersebut adalah dengan menggunakan operator “&”. Alamat ini
lah yang kemudian akan disimpan kedalam variabel yang bertipe pointer. Untuk
mendeklarasikan variabel sebagai pointer, hanya perlu menambahkan tanda asterisk
(*) di depan nama variabel. Bentuk umum dari pendeklarasian pointer:

Tipe_data nama_variabel
Atau
Tipe_data* nama_variabel

Pada pointer, terdapat beberapa operator yang dapat digunakan yaitu:


a. Deference (*)
Suatu operator yang berfungsi menyatakan satu variabel adalah variabel
pointer. Sama halnya dengan operator reference, peletakan symbol operator
deference diawal variabel. Operator deference ini akan membuat suatu variabel
pointer untuk menampung alamat. Contoh dari operator deference sebagai
berikut:

#include <iostream>
Using namespace std;
Int main(){

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 1


Modul 5 Pointer
Int a=5;
Int *b;
b=&a;
Cout<< “nilai variabel adalah :” <<a<<endl;
Cout<< “alamat variabel a adalah<<&a<<endl;
Cout<< “isi dari variabel b adalah <<b<<endl;
Cout<< “nilai yang tertampung pada variabel b: <<*b<<endl;
Return 0;
}

b. Reference (&)
Suatu operator yang berfungsi untuk menanyakan alamat dari suatu
variabel. Apabila anda memberikan symbol “&” pada awal variabel dan
mencetak hasilnya, maka yang akan tercetak adalah alamat dari variabel
tersebut bukan nilai yang ditampung oleh variabel tersebut. Bentuk contoh
programnya sebagai berikut :

#include <iostream>

Using namespace std;

Int main(){

Int a=5;

Cout<< “alamat variabel a adalah :”<<&a<<endl;

Cout<< “nilai variabel a adalah” <<a<<endl;

Return 0;

3. Perbedaan pointer dan variabel biasa


a. Variabel biasa
Variabel biasa merupakan variabel yang berisi data atau nilai dengan operator
dilakukan seperti umumnya seperrti operator aritmatika, bitwise dan lainnya.
Dengan sifat statis maka contoh dari deklarasinya sebagai berikut:

Int a;

b. Pointer

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 2


Modul 5 Pointer

Pointer merupakan berisi alamat memori dari suatu variabel tertentu.


Membutuhkan operator khusus deperti operator deference atau reference dan
bersifat dinamis maka contoh dari deklarasi sebagai berikut:

Int *a;

4. Pemanfaatan pointer
a. “void” pointer
“void” pointer adalah pointer yang dapat menyimak ke semua tipe data, yaitu dengan
mendeklarasikan pointer sebagai pointer tanpa tipe data. Bentuk umum untuk
mendeklarasikan pointer tanpa tipe data adalah sebagai berikut:

Void *nama_pointer;

Berikut contoh program yang menggunakan “void” pointer:

#include <iostream>

#include <cstblib>

Using namespace std;

Int main(){

Void *p;

Int x;

Float y;

Cout<< “masukan nilai x :”; cin>>x;

Cout<< “masukan nilai y :”; cin>>y;

P=&x;

Cout<<endl;

Cout<< “nilai x=”<<*(int*)p<<endl;

Cout<< “alamat y=”<<*(int*)p<<endl;

P=&y;

Cout<< “nilai x=”<<*(float*)p<<endl;

Cout<< “nilai y=”<<*(float*)p<<endl;

Return EXIT_SUCCESS;

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 3


Modul 5 Pointer

b. Operasi aritmatika pada pointer


Pointer dapat berperan sebagai operand dalam operasi aritmatika. Proses
semacam ini sering disebut pointer aromatic. Suatu variabel pointer hanya dapat
dilakukan operasi aritmatika dengan nilai integer saja. Hanya terdpat dua operasi
aritmatikanya yang dapat diterapkan pada pointer, yaitu operasi penjumlahan dan
pengurangan. Berikut contoh operasi aritmatika pada pointer:

#include <iostream>
#include <conio.h>
Void main(){
Int nilai[3], *petunjuk;
Nilai[0]=125;
Nilai[1]=345;
Nilai[2]=750;
Petunjuk=&nilai[0];
Cout<<“nilai”<<*petunjuk<< “ada di alamat memori<<petunjuk;
Cout<<endl;
Cout<<“nilai”<<*(petunjuk+1)<<“ada di alamat memori
<<(petunjuk+1);
Cout<<endl;
Cout<<“nilai”<<*(petunjuk+2)<<“ada di alamat memori
<<(petunjuk+2);
Cout<<endl;
Getch();
}

c. Pointer pada array


Pointer dan array memiliki hubungan yang dekat. Secara internal array juga
menyatakan alamat pada elemenpertama pada array.berikut contoh program pointer
pada array:

#include<iostream>
#include<conio>

void main(){
int i;
int nilai [5], *alamat;
alamat=nilai;
for(i=0;i<5;i++){
cout<<"Masukkan nilai "<<(i+1)<<" = ";
cin>>nilai[i];}
cout<<"\nHasil pengaksesan elemen array lewat pointer : \n";
for(i=1;i<=5;i++){
cout<<"Elemen "<<i<<", Nilai"<<nilai[i];
cout<<", menempati alamat memori= ";
cout<<&nilai[i]<<endl;}
getch();}

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 4


Modul 5 Pointer

d. Pointer pada string


Pointer dapat juga digunakan untuk menampilkan sebuah kata atau kalimat.
Berikut contoh program pointer pada string:
#include <iostream>
#include <cstblib>
Using namespace std;
Int main(){
Char *pstring= “UNIKOM”;
Cout<< “nilai string =”<<pstring<<endl;
Cout<< “alamat string =”<<&pstring<<endl;
Return EXIT_SUCCESS;
}

e. Pointer pada struct


Pointer pada struct akan menunjukan alamat letak dari variabel berikutnya.
Berikut contoh program pointer pada struct
#include<iostream>
#include<conio>

struct mahasiswa {
char nama[20];
char nim[20];
};

void biodata(struct mahasiswa*mahasiswa){


cout<<"Nama : "<<mahasiswa->nama<<endl;
cout<<"NIM : "<<mahasiswa->nim<<endl;}

int main (){


mahasiswa fulan;
strcpy(fulan.nama,"GWS Adam");
strcpy(fulan.nim,"F1D018001");
biodata(&fulan);
getch();}

Adapun perbedaan dot operator dan arrow operator beserta contonya :


1) Dot operator
Dot operator (.) digunakan untuk mengakses elemen struct bsik yang bertipe
pointer maupun tida. Jika elemen (field) harus dalam tanda kurung (*field) . Contoh
operator sebagai berikut:
Z=(*pos_xy).x;

2) Arrow operator
Arrow operator ( ) hanya digunakan untuk mengakses elemen struktur yang

bertipe pointer. Contoh penggunaanya sebagai berikut:

Z=pos_xy x;

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 5


Modul 5 Pointer

f. Pointer pada pointer


Pointer dapat menunjukan ke pointer lain yang telah menujuk ke alamat tertentu.
Untuk mendeklarasikan pointer, yaitu menggunakan tanda asterisk sebanyak dua kali
(**). Berikut contoh program pointer pada pointer[2]:
#include <iostream>
Void main(){
Int andhika;
Int *sabirin;
Int **odik;
andhika=75;
cout<< “nilai Andhika :”<<andhika<<endl;
sabirin=&andhika;
odik=&sabirin;
cout<< “nilai sabirin hasil mengakses andhika :”;
cout<<sabirin<<endl;
cout<< “nilai odil hasil mengakses sabirin :”;
cout<<**odik<<endl;
getch();
}

5. Contoh implementasu pointer dalam sebuah program sederhana.


a. Contoh 1
#include <iostream>
Int main(){
Long x;
X=10;
Cout<< “nilai x”<<x<<endl;
Cout<< “nilai *x”<<*x<<endl;
Cout<< “nilai &x”<<&x<<endl;
Return 0;
}

b. Contoh 2
#include <iostream>
Int main(){
Int var=2;
Int *pvar=&var;
Cout<<size of (pvar)<<endl;
Return 0;
}

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 6


Modul 5 Pointer

C. Permasalahan
Lorem ipsum dolor sit amet. Enim quos aut eius asperiores est amet
praesentium qui deleniti quia.

D. Hasil
- Flowchart

- Script
Lorem ipsum
Lorem ipsum
Lorem ipsum
- Hasil Running

E. Analisa
Lorem ipsum dolor sit amet. Enim quos aut eius asperiores est amet
praesentium qui deleniti quia. Qui facilis dolorem eum officiis sit optio velit sed
expedita beatae. Et quam pariatur et asperiores minus hic voluptatem laboriosam qui
quas soluta ad vitae laboriosam. Vel velit quas est cupiditate deserunt et expedita

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 7


Modul 5 Pointer

maiores non galisum omnis. Aut alias doloremque et nostrum dolorem ut quis
temporibus sed Quis itaque ad molestias recusandae 33 modi voluptatibus. Sit voluptas
et error repellat ab iure aspernatur eos ullam consequuntur eos dolores velit sit animi
possimus ut doloremque autem? Ut consequatur dolor non vitae quia ut eligendi quia
qui aliquid exercitationem. Nam quas fuga quo tenetur quae cum eaque nisi qui iste
impedit.

F. Kesimpulan
1. Lorem ipsum dolor sit amet. Enim quos aut eius asperiores est amet praesentium
qui deleniti quia. Qui facilis dolorem eum officiis sit optio velit sed expedita beatae.
Et quam pariatur et asperiores minus hic voluptatem laboriosam qui quas soluta ad
vitae laboriosam. Vel velit quas est cupiditate deserunt et expedita maiores non
galisum omnis. Aut alias doloremque et nostrum dolorem ut quis temporibus sed
Quis itaque ad molestias recusandae 33 modi voluptatibus. Sit voluptas et error
repellat ab iure aspernatur eos ullam consequuntur eos dolores velit sit animi
possimus ut doloremque autem? Ut consequatur dolor non vitae quia ut eligendi
quia qui aliquid exercitationem. Nam quas fuga quo tenetur quae cum eaque nisi
qui iste impedit.
2. Lorem ipsum dolor sit amet. Enim quos aut eius asperiores est amet praesentium
qui deleniti quia. Qui facilis dolorem eum officiis sit optio velit sed expedita beatae.
Et quam pariatur et asperiores minus hic voluptatem laboriosam qui quas soluta ad
vitae laboriosam. Vel velit quas est cupiditate deserunt et expedita maiores non
galisum omnis. Aut alias doloremque et nostrum dolorem ut quis temporibus sed
Quis itaque ad molestias recusandae 33 modi voluptatibus. Sit voluptas et error
repellat ab iure aspernatur eos ullam consequuntur eos dolores velit sit animi
possimus ut doloremque autem? Ut consequatur dolor non vitae quia ut eligendi
quia qui aliquid exercitationem. Nam quas fuga quo tenetur quae cum eaque nisi
qui iste impedit.

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 8


Modul 5 Pointer

DAFTAR PUSTAKA

Praktikum Algoritma dan Pemograman (2022) Modul 5 - 9

Anda mungkin juga menyukai