Anda di halaman 1dari 7

11-Sep-23

PROGRAM STUDI S1 TEKNIK INFORMATIKA


UNIVERSITAS PAMULANG

POINTER

Algoritma dan
Pemrograman 2
InfoTI_unpam informatika.unpam.ac.id agus heri yunial Agus Heri Yunial,S.Kom, M.Kom.

Tujuan Pembelajaran
• Mahasiswa diharapkan mampu mengerti definisi pointer dan dapat
menggunakan dalam program sederhana.

Program Studi Teknik Informatika, Universitas Pamulang

1
11-Sep-23

Definisi

• Tiap variabel yang didefinisikan di program akan diberikan satu tempat di memori. Nilai
variabel disimpan di lokasi tersebut.
• Untuk melihat di lokasi mana nilai ini disimpan, dapat dipakai operator & atau reference,
yaitu mendapatkan alamat dari variabel tersebut.
• Contoh:
int NilaiUjian = 75; 0x22fe4c
cout << &NilaiUjian;
• Kita dapat menyimpan alamat ini dalam suatu variabel lain. Variabel tempat kita
menyimpan alamat variabel lain disebut pointer.
• Dengan kata lain, pointer adalah suatu variable yang berisi alamat memori dari suatu
variable lain.
Program Studi Teknik Informatika, Universitas Pamulang

Pointer
• Bentuk umum deklarasi variabel pointer menggunakan operator *
atau dereference. Bentuk umumnya sebagai berikut.
tipe_data* namaVariabel
• Contoh :
int* pNilai;
• Ada tiga cara penulisan deklarasi pointer. Perbedaan ada pada
penulisan spasi.
int* pNilai, int *pNilai, int * pNilai;
• Variabel dan pointernya harus mempunyai tipe data yang sama.
Program Studi Teknik Informatika, Universitas Pamulang

2
11-Sep-23

Contoh 1
#include <iostream>
using namespace std; Output:
int main() {
0x22fe4c
int NilaiUjian = 75; 0x22fe60
int *pNilai; 0x22fe4c
pNilai=&NilaiUjian; 75

cout << &NilaiUjian<<endl;


cout << &pNilai<<endl;
cout << pNilai<<endl;
cout << *pNilai<<endl;
}

Program Studi Teknik Informatika, Universitas Pamulang

Contoh 2
#include <iostream>
using namespace std;
int main(void)
Output:
{
int A=25; // deklarasi integer A = 25
int* pA; // deklarasi pointer ke integer &A = 0x22fe3c
pA=&A; // pointer ke alamat A pA = 0x22fe3c
cout<<"A = "<<A<<endl; // tampilkan nilai A &pA = 0x22fe30
cout<<"&A = "<<&A<<endl; // tampilkan alamat A *pA = 25
cout<<"pA = "<<pA<<endl; //tampilkan nilai pA
cout<<"&pA = "<<&pA<<endl; //tampilkan alamat pA
cout<<"*pA = "<<*pA<<endl; //nilai yang ditunjuk pA
}

Program Studi Teknik Informatika, Universitas Pamulang

3
11-Sep-23

Contoh 3
#include <iostream>
using namespace std;
int main(void)
{ Output:
int A=25; // deklarasi integer
int* pA; // deklarasi pointer ke integer A=25
pA=&A; // mengarahkan pointer ke alamat A *pA=25
cout<<"A="<<A<<endl; // tampilkan nilai A A=35
cout<<"*pA="<<*pA<<endl; //nilai yang ditunjuk pA *pA=35
A=35; // nilai A diubah menjadi 35 A=45
cout<<"A="<<A<<endl; // tampilkan nilai A *pA=45
cout<<"*pA="<<*pA<<endl; //nilai yang ditunjuk pA
*pA+=10; // nilai A ditambah 10
cout<<"A="<<A<<endl; // tampilkan nilai A
cout<<"*pA="<<*pA<<endl; //nilai yang ditunjuk pA
}

Program Studi Teknik Informatika, Universitas Pamulang

Contoh 4
#include <iostream>
using namespace std;
int main(void)
{
string makanan = "Bakso"; // Tipe string Output:
string* ptr = &makanan; // variabel pointer
cout << makanan << endl; // tampilkan nilai Bakso
cout << *ptr << endl; // tampilkan nilai Bakso
cout << &makanan << endl; // tampilkan alamat 0x22fe20
0x22fe20
cout << ptr << endl; // tampilkan alamat
}

Program Studi Teknik Informatika, Universitas Pamulang

4
11-Sep-23

Latihan 1
int panjang=25, lebar=11, A=10; Ditanya :
int* pA;
pA = &panjang; 1. Apa tampilan yang dihasilkan oleh potongan program
cout<<"Nilai: "<<*pA<<endl;
di samping?
pA = &lebar;
2. Jelaskan mengapa 4 perintah yang sama cout<<"Nilai:
cout<<"Nilai: "<<*pA<<endl;
"<<*pA<<endl; dapat menghasilkan tampilan yang
pA = &A;
berbeda-beda!
cout<<"Nilai: "<<*pA<<endl;
A = panjang * lebar;
cout<<"Nilai: "<<*pA<<endl;

Program Studi Teknik Informatika, Universitas Pamulang

Latihan 2
• Source A : Ditanya :

double panjang=25;
int *pA; 1. Apakah ada kesalahan penulisan code pada source A
pA = &panjang; atau source B? Jika ada tuliskan code yang benar!
2. Tulis source A dan B secara lengkap sehingga
• Source B: menampilkan output *pA, pA, panjang dan &panjang!

int panjang=25;
int* pA, pB;
pA = &panjang;
pB = &panjang;

Program Studi Teknik Informatika, Universitas Pamulang

10

5
11-Sep-23

Kesimpulan
• Pointer adalah suatu variable yang berisi alamat memori dari
suatu variable lain.
• Bentuk umum deklarasi variabel pointer menggunakan operator
* atau dereference. Bentuk umumnya sebagai berikut.
tipe_data* namaVariabel
• Ada tiga cara penulisan deklarasi pointer. Perbedaan ada pada
penulisan spasi.
int* pNilai, int *pNilai, int * pNilai;
• Variabel dan pointernya harus mempunyai tipe data yang sama.

Program Studi Teknik Informatika, Universitas Pamulang

11

TERIMA KASIH, MAHASISWA TEKNIK INFORMATIKA UNGGUL, ANDA SUDAH BELAJAR DENGAN LUAR BIASA

Program Studi Teknik Informatika, Universitas Pamulang

12

6
11-Sep-23

Tugas
Buatlah contoh penggunaan pointer dalam C++!

Program Studi Teknik Informatika, Universitas Pamulang

13

Anda mungkin juga menyukai