Pointer pada C++
Assalamu'alaikum Warahmatullahi Wabarakaatuh
Alhoritma dan Pemrograman II
Nama : Tri Fikar Alamsah / 02TPLP016
Nim : 171011401511
Kelas : 02TPLP016
Alhoritma dan Pemrograman II
Nama : Tri Fikar Alamsah / 02TPLP016
Nim : 171011401511
Kelas : 02TPLP016
Operator Pointer :
A. Operator Deference (&)
Deference (&) merupakan suatu
operator yang berfungsi untuk menanyakan alamat dari suatu variabel. Apabila kamu
memberikan simbol & pada awal variabel dan mencetak hasilnya pada jendela CLI,
maka yang akan tercetak adalah alamat dari variabel tersebut bukan nilai yang ditampung
oleh variabel tersebut.
Contoh Program :
#include<iostream>
#include<conio.h>
using namespace std;
main()
{
int fikar,*imam,amir;
fikar=90;
imam=&fikar; /*Nilai
variabel imam adalah merupakan alamat memori dari nilai fikar*/
amir=fikar;
cout<<"=======UNIVERSITAS
PAMULANG========\n\n";
cout<<"Nama
: TRI FIKAR ALAMSAH\n";
cout<<"Kelas :
02TPLP016\n\n";
cout<<"Nilai Tri Fikar adalah
"<<fikar<<endl;
cout<<"Nilai imam adalah
"<<imam<<endl;
cout<<"Nilai Amir adalah
"<<amir<<endl;
getch();
}
Outputnya adalah :
B. Operator Reference (*)
Reference (*) merupakan
suatu operator yang berfungsi menyatakan suatu variabel adalah variabel
pointer. Sama halnya dengan operator deference, peletakan simbol operator
reference diletakan diawal variabel. Operator reference ini akan membuat suatu variabel
pointer untuk menampung alamat. Nah untuk lebih mudahnya perhatikan contoh berikut:
Contoh Program :
#include<conio.h>
#include<iostream>
using namespace std;
main()
{
int fikar,imam,*raka;
fikar=90;
raka=&fikar;
imam=*raka;
cout<<"Nilai
Tri Fikar adalah : "<<fikar<<endl;
cout<<"Nilai
Raka adalah : "<<raka<<endl;
cout<<"Nilai
Imam adalah : "<<imam<<endl;
getch();
}
Outputnya adalah :
Pointer Pada Pointer
Tidak terbatas menunjuk
alamat dari suatu variabel, pointer dapat pula menunjuk ke pointer lainnya. Dalam
pendeklarasiannya, kita tambahkan pointer reference (*) pada variabel yang akan
ditunjuk.
Contoh:
int x;
int *ax; //pointer ke variabel
int
**aax; //pointer pada
pointer
x = 100;
ax = &nama;
aax = &pNama;
Contoh Program:
#include <iostream>
#include <conio.h>
using namespace std;
main() {
int x;
int *ax; //pointer ke variabel
int **aax; //pointer ke pointer
x = 97;
ax = &x;
aax = &ax;
cout<<"=======UNIVERSITAS PAMULANG========\n\n";
cout<<"Nama : TRI FIKAR ALAMSAH\n";
cout<<"Kelas : 02TPLP016\n\n";
cout << "Nilai Semester 1 = "
<< x << endl;
cout << "Nilai Semester 2 = "
<< *ax << endl;
cout << "Nilai Semester 3 = "
<< **aax << endl;
getch();
}
Outputnya adalah :
Pointer Pada Array
Pada Array/Larik,
pointer hanya perlu menunjukan alamat elemen pertama saja karena alamat array
dalam memori sudah disusun secara berurutan.
Contoh:
int a[] = {76, 67, 88,
98};
int *pa;
pa = a;
Pernyataan pa=a artinya
pointer pa menyimpan alamat array a, yang alamatnya diwakili alamat elemen pertama,
yaitu a[0]. Kita juga bisa mengganti perintah pa=a dengan pa=&a[0]. Untuk
pembacaan semua elemen array dengan pointer, bisa menggunakan perulangan seperti
pada penggalan program berikut.
for (int i=0; i < 4;
i++) {
cout << *pa
<< " ";
pa++;
}
Contoh Program:
#include <iostream>
#include <conio.h>
#define MAX 5
using namespace std;
main() {
cout<<"=======UNIVERSITAS
PAMULANG========\n\n";
cout<<"Nama
: TRI FIKAR ALAMSAH\n";
cout<<"Kelas
: 02TPLP016\n\n";
int a[MAX];
int *pa; pa = a; //atau
pa = &a[0]
for (int i = 0; i <
MAX; i++) {
cout << "Masukkan
Nilai " << i+1 << " : ";
cin >> a[i];
}
cout << endl;
for (int i = 0; i <
MAX; i++) {
cout << "Nilai
a[" << i << "] = " << *pa << endl;
pa++;
}
getch();
}
Outputnya adalah :
Pointer pada String
Pointer pada string dapat
anda lihat pada contoh program berikut:
#include <iostream>
#include <conio.h>
#define MAX 5
using namespace std;
main() {
char nama[] = "Tri
Fikar";
char *pNama = nama;
cout<<"=======UNIVERSITAS
PAMULANG========\n\n";
cout<<"Nama
: TRI FIKAR ALAMSAH\n";
cout<<"Kelas
: 02TPLP016\n\n";
cout << "Nama
= " << nama << endl;
cout << "pNama
= " << pNama << endl;
pNama += 4; cout
<< "\nSetelah pNama += 4" << endl;
cout << "Nama
= " << nama << endl;
cout << "Nama
Panggilan = " << pNama << endl;
getch();
}
Outputnya adalah : |
Sumber :
https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/www.ishmuna.com
http://www.materidosen.com/2016/11/pointer-pada-c-lengkap-contoh-program.html





No comments:
Post a Comment