SlideShare a Scribd company logo
1
POINTER
 Pointer merupakan satu variabel yang menyimpan alamat
(address) dari variabel atau informasi lain. Alamat
menyatakan lokasi pada memori komputer.
 Pointer merupakan alat untuk melakukan alokasi memori
secara dinamis (on demand).
 Sebelum digunakan pointer harus dipastikan agar menunjuk
area memory yang legal, yaitu dengan menunjuk ke alamat
dari variabel atau dengan alokasi memori dengan operator new.
Syntax :
tipe *Nama_Pointer; tipe *Nama_Pointer = &Variabel;
Contoh :
int A=9; int *ptrA; ptrA = &A;
atau
float B=9.99;
float *ptrB = &B;
2
dimana:
 ptrA merupakan pointer to integer (berisi alamat dari variabel A).
 ptrB merupakan pointer to float (berisi alamat dari variabel B).
 *ptrA berisi memori yang ditunjuk oleh ptrA (berisi nilai
bilangan integer = 9).
 *ptrB berisi memori yang ditunjuk oleh ptrB (berisi nilai
bilangan pecahan = 9.99).
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{ int alif = 5;
float ba =7.5;
double ta = 17.777;
clrscr();
cout << “Isi variabel : “ << endl;
cout << “alif =“ <<alif<<endl;
cout << “ba =“ <<ba<<endl;
cout << “ta =“ <<ta<<endl;
cout << “n Alamat variabel : “ << endl;
cout << “alif =“ <<&alif<<endl;
cout << “ba =“ <<&ba<<endl;
cout << “ta =“ <<&ta<<endl;
}
Contoh 2:
#include <iostream.h>
#include <conio.h>
void main()
{ int vint = 55;
int * pint;
clrscr();
pint = &vint;
cout<<“alamat vint =“<<&vint<<endl;
cout<<“pint = “<<pint<<endl;
}
3
 Pointer Void
pada beberapa contoh diatas telah diberikan beberapa variabel pointer yang
menunjuk ke tipe data tertentu. Namun di mungkinkan untuk membuat pointer yang
tidak bertipe. Caranya dengan meletakkan kata kunci void pada bagian penentu tipe
pointer. contoh : void *ptr;
merupakan pernyataan untuk mendefinisiskan ptr sebagai variabel pointer void yang
dapat menunjukkan ke sembarang tipe data.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{ clrscr();
void *ptr;
int vint = 50;
float vfl = 51.5;
ptr = &vint;
cout<<“Nilai yang di tunjuk oleh ptr =“<<*(int*)ptr<<endl;
ptr = &vfl;
cout<<“Nilai yang di tunjuk oleh ptr =“<<*(float*)ptr<<endl;
}
4
5
Pointer – Array :
 Digunakan untuk melakukan akses elemen array.
Syntax :
tipe *Nama_Pointer = Nama_Array;
tipe *Nama_Pointer = &Nama_Array[0];
 Contoh :
int x[10];
int *ptr = x; // atau int *ptr = &x[0];
atau
int x[10];
int *ptr; ptr = x; // pointer ptr menunjuk pada alamat elemen
pertama dari array x.
6
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{ clrscr();
int tgl_lahir[ ] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir;
for (int I = 0; i<3; i++)
cout<<*(ptgl+i)<<endl;
}
Contoh Program C++ :
#include <iostream.h>
#include <conio.h>
void main()
{ clrscr();
int tgl_lahir[ ] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; // ptgl menunjuk ke elemen pertama dari array
for (int I = 0; i<3; i++)
{ cout<<“ptgl =“<<ptgl<<endl;
cout<<“*ptgl =“<<*ptgl<<endl;
ptgl++; // menunjuk ke elemen berikutnya
}
}
7
Pointer – string:
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{ clrscr();
char *ptokoh = “ gatotkaca”;
cout<< ptokoh<<endl;
}
Pada contoh diatas akan menyebabkan c++:
 Mangalokasikan ptokoh sebagai variabel pointer yang menunjuk ke data bertipe char
dan menempatkan konstanta string “ gatotkaca” ke suatu lokasi di memori komputer
 Kemudian ptokoh akan menunjuk ke lokasi string “gatotkaca”
Pernyataan diatas menyerupai pernyataan:
Char tokoh[ ] = “ gatotkaca”
Perbedaannya :
 Ptokoh adalah pointer yang dengan mudah dapat diatur agar menunjuk ke data string
 Tokoh adalah array yang menyatakan alat yang konsatan tidak dapt di ubah. Yang
dapat diubah adalah elemen arraynya
8
#include <iostream.h>
#include <conio.h>
void main()
{ clrscr();
char tokoh[ ] = “ gatotkaca”;
char *ptokoh = “ gatotkaca”;
cout<< tokoh<<tokoh<<endl;
cout<< ptokoh<<ptokoh<<endl;
// tokoh ++; //tidak diperkenankan
Ptokoh++; //diperkenankan
Cout<<“ptokoh=“<<ptokoh<<endl;
}
 Pointer sebagai keluaran Fungsi
Suatu fungsi dapat dibuat agar keluarannya berupa pointer.
Misal :
#include <iostream.h>
#include <conio.h>
Char *nama_bulan(int n); // protipe
void main()
{ int bln;
clrscr();
cout<<“Bulan(1..12):”;
cin>>bln;
cout<<nama_bulan(bln)<<endl;
}
Char *nama_bulan(int n)
{
9
static char *bulan [ ] =
{
“kode bulan salah”,
“Januari”,
“Februari”,
“Maret”,
“April”,
“Mei”,
“Juni”,
“Juli”,
“Agustus”,
“September”,
“Oktober”,
“November”,
“Desember”
};
return((n<1||n>12)?bulan[0] : bulan[n]);
}
10
 Pada definisi fungsi diatas,
Char *nama_bulan(int n)
Menyatakan bahwa nilai balik fungsi nama_bulan() berupa pointer yang
menunjuk ke data bertipe char (string).
Di bagian akhir fungsi, pernyataan :
return((n<1||n>12)?bulan[0] : bulan[n]);
Menyatakan nilai balik fungsi berupa pointer menunjuk ke :
 String “kode bulan salah”(bulan[0]), jika argumen fungsi bernilai kurang dari
1 atau lebih besar daripada 12
 Bulan[n], kalau n bernilai antara 1 sampai dengan 12
11

More Related Content

PPT
PPT
Materi kuliah 23 pointer part 3
PPT
Pointer
PPT
Materi kuliah 23 pointer part 3
PPTX
Materi kuliah 17 string
PPTX
Algoritma&Pemrograman C++ Pertemuan 11
PPT
Pengenalan Bahasa C
Materi kuliah 23 pointer part 3
Pointer
Materi kuliah 23 pointer part 3
Materi kuliah 17 string
Algoritma&Pemrograman C++ Pertemuan 11
Pengenalan Bahasa C

What's hot (15)

PPTX
Materi kuliah 17 string
DOCX
Laporan
PPT
Spt3102 fungsi(0910)
PPT
Pertemuan 11 : Algoritma & Pemrograman
PPTX
Materi kuliah 19 fungsi part 2
PDF
Pertemuan 6 Fungsi String
PPTX
Materi kuliah 19 fungsi part 2
PPTX
Materi kuliah 18 fungsi part 1
PPTX
Materi kuliah 18 fungsi part 1
DOCX
Awal dasar belajar c++
PPT
Pertemuan 6 : Algoritma & Pemrograman
PPTX
Materi kuliah 03 pointer part 1
PPT
Pertemuan 12 : Algoritma & Pemrograman
PDF
MATERI POINTER TKJ K13
Materi kuliah 17 string
Laporan
Spt3102 fungsi(0910)
Pertemuan 11 : Algoritma & Pemrograman
Materi kuliah 19 fungsi part 2
Pertemuan 6 Fungsi String
Materi kuliah 19 fungsi part 2
Materi kuliah 18 fungsi part 1
Materi kuliah 18 fungsi part 1
Awal dasar belajar c++
Pertemuan 6 : Algoritma & Pemrograman
Materi kuliah 03 pointer part 1
Pertemuan 12 : Algoritma & Pemrograman
MATERI POINTER TKJ K13
Ad

Similar to Pointer (20)

PPTX
Structure and pointer
PDF
Modul 2 strukdat
PDF
Modul 2 strukdat
PPT
Materi kuliah 21 pointer part 1
PPT
Materi kuliah 21 pointer part 1
 
PPT
Materi kuliah 21 pointer part 1
PDF
Pertemuan 4 Pointer Pada C++
PPT
Pertemuan5.ppt
PPTX
Materi kuliah 05 pointer part 3
PDF
Pointer c++
PDF
Resume praktikum 3__pointer
PPTX
Materi kuliah 03 pointer part 1
DOCX
MAKALAH DATA STRUKTURE (Diki Candra).docx
PPTX
Materi kuliah 03 pointer part 1
 
PPTX
Kelompok 6 pemrograman dasasr c++(1).pptx
PPTX
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
PPT
Pertemuan 8
PPTX
ppt array di kirim.pptx ppt array........
DOCX
MAKALAH POINTER (DIKI CANDRA) (1).docx
PPTX
Materi kuliah 05 pointer part 3
Structure and pointer
Modul 2 strukdat
Modul 2 strukdat
Materi kuliah 21 pointer part 1
Materi kuliah 21 pointer part 1
 
Materi kuliah 21 pointer part 1
Pertemuan 4 Pointer Pada C++
Pertemuan5.ppt
Materi kuliah 05 pointer part 3
Pointer c++
Resume praktikum 3__pointer
Materi kuliah 03 pointer part 1
MAKALAH DATA STRUKTURE (Diki Candra).docx
Materi kuliah 03 pointer part 1
 
Kelompok 6 pemrograman dasasr c++(1).pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
Pertemuan 8
ppt array di kirim.pptx ppt array........
MAKALAH POINTER (DIKI CANDRA) (1).docx
Materi kuliah 05 pointer part 3
Ad

Pointer

  • 1. 1 POINTER  Pointer merupakan satu variabel yang menyimpan alamat (address) dari variabel atau informasi lain. Alamat menyatakan lokasi pada memori komputer.  Pointer merupakan alat untuk melakukan alokasi memori secara dinamis (on demand).  Sebelum digunakan pointer harus dipastikan agar menunjuk area memory yang legal, yaitu dengan menunjuk ke alamat dari variabel atau dengan alokasi memori dengan operator new. Syntax : tipe *Nama_Pointer; tipe *Nama_Pointer = &Variabel; Contoh : int A=9; int *ptrA; ptrA = &A; atau float B=9.99; float *ptrB = &B;
  • 2. 2 dimana:  ptrA merupakan pointer to integer (berisi alamat dari variabel A).  ptrB merupakan pointer to float (berisi alamat dari variabel B).  *ptrA berisi memori yang ditunjuk oleh ptrA (berisi nilai bilangan integer = 9).  *ptrB berisi memori yang ditunjuk oleh ptrB (berisi nilai bilangan pecahan = 9.99). Contoh Program C++ : #include <iostream.h> #include <conio.h> void main() { int alif = 5; float ba =7.5; double ta = 17.777; clrscr();
  • 3. cout << “Isi variabel : “ << endl; cout << “alif =“ <<alif<<endl; cout << “ba =“ <<ba<<endl; cout << “ta =“ <<ta<<endl; cout << “n Alamat variabel : “ << endl; cout << “alif =“ <<&alif<<endl; cout << “ba =“ <<&ba<<endl; cout << “ta =“ <<&ta<<endl; } Contoh 2: #include <iostream.h> #include <conio.h> void main() { int vint = 55; int * pint; clrscr(); pint = &vint; cout<<“alamat vint =“<<&vint<<endl; cout<<“pint = “<<pint<<endl; } 3
  • 4.  Pointer Void pada beberapa contoh diatas telah diberikan beberapa variabel pointer yang menunjuk ke tipe data tertentu. Namun di mungkinkan untuk membuat pointer yang tidak bertipe. Caranya dengan meletakkan kata kunci void pada bagian penentu tipe pointer. contoh : void *ptr; merupakan pernyataan untuk mendefinisiskan ptr sebagai variabel pointer void yang dapat menunjukkan ke sembarang tipe data. Contoh : #include <iostream.h> #include <conio.h> void main() { clrscr(); void *ptr; int vint = 50; float vfl = 51.5; ptr = &vint; cout<<“Nilai yang di tunjuk oleh ptr =“<<*(int*)ptr<<endl; ptr = &vfl; cout<<“Nilai yang di tunjuk oleh ptr =“<<*(float*)ptr<<endl; } 4
  • 5. 5 Pointer – Array :  Digunakan untuk melakukan akses elemen array. Syntax : tipe *Nama_Pointer = Nama_Array; tipe *Nama_Pointer = &Nama_Array[0];  Contoh : int x[10]; int *ptr = x; // atau int *ptr = &x[0]; atau int x[10]; int *ptr; ptr = x; // pointer ptr menunjuk pada alamat elemen pertama dari array x.
  • 6. 6 Contoh Program C++ : #include <iostream.h> #include <conio.h> void main() { clrscr(); int tgl_lahir[ ] = {24, 6, 1965}; int *ptgl; ptgl = tgl_lahir; for (int I = 0; i<3; i++) cout<<*(ptgl+i)<<endl; } Contoh Program C++ : #include <iostream.h> #include <conio.h> void main() { clrscr(); int tgl_lahir[ ] = {24, 6, 1965}; int *ptgl; ptgl = tgl_lahir; // ptgl menunjuk ke elemen pertama dari array for (int I = 0; i<3; i++) { cout<<“ptgl =“<<ptgl<<endl; cout<<“*ptgl =“<<*ptgl<<endl; ptgl++; // menunjuk ke elemen berikutnya } }
  • 7. 7 Pointer – string: Contoh : #include <iostream.h> #include <conio.h> void main() { clrscr(); char *ptokoh = “ gatotkaca”; cout<< ptokoh<<endl; } Pada contoh diatas akan menyebabkan c++:  Mangalokasikan ptokoh sebagai variabel pointer yang menunjuk ke data bertipe char dan menempatkan konstanta string “ gatotkaca” ke suatu lokasi di memori komputer  Kemudian ptokoh akan menunjuk ke lokasi string “gatotkaca” Pernyataan diatas menyerupai pernyataan: Char tokoh[ ] = “ gatotkaca” Perbedaannya :  Ptokoh adalah pointer yang dengan mudah dapat diatur agar menunjuk ke data string  Tokoh adalah array yang menyatakan alat yang konsatan tidak dapt di ubah. Yang dapat diubah adalah elemen arraynya
  • 8. 8 #include <iostream.h> #include <conio.h> void main() { clrscr(); char tokoh[ ] = “ gatotkaca”; char *ptokoh = “ gatotkaca”; cout<< tokoh<<tokoh<<endl; cout<< ptokoh<<ptokoh<<endl; // tokoh ++; //tidak diperkenankan Ptokoh++; //diperkenankan Cout<<“ptokoh=“<<ptokoh<<endl; }
  • 9.  Pointer sebagai keluaran Fungsi Suatu fungsi dapat dibuat agar keluarannya berupa pointer. Misal : #include <iostream.h> #include <conio.h> Char *nama_bulan(int n); // protipe void main() { int bln; clrscr(); cout<<“Bulan(1..12):”; cin>>bln; cout<<nama_bulan(bln)<<endl; } Char *nama_bulan(int n) { 9
  • 10. static char *bulan [ ] = { “kode bulan salah”, “Januari”, “Februari”, “Maret”, “April”, “Mei”, “Juni”, “Juli”, “Agustus”, “September”, “Oktober”, “November”, “Desember” }; return((n<1||n>12)?bulan[0] : bulan[n]); } 10
  • 11.  Pada definisi fungsi diatas, Char *nama_bulan(int n) Menyatakan bahwa nilai balik fungsi nama_bulan() berupa pointer yang menunjuk ke data bertipe char (string). Di bagian akhir fungsi, pernyataan : return((n<1||n>12)?bulan[0] : bulan[n]); Menyatakan nilai balik fungsi berupa pointer menunjuk ke :  String “kode bulan salah”(bulan[0]), jika argumen fungsi bernilai kurang dari 1 atau lebih besar daripada 12  Bulan[n], kalau n bernilai antara 1 sampai dengan 12 11