Translate

Wednesday, June 27, 2018

Pointer pada C++

Assalamu'alaikum Warahmatullahi Wabarakaatuh
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