POINTERFree Powerpoint Templates                            Page 1
POINTER• Pointer (variabel penunjuk) adalah suatu  variabel yang berisi alamat memori dari  suatu variabel lain. Alamat in...
Free Powerpoint Templates                            Page 3
Operator pointer ada 2 : 1. Operator &    Operator & menghasilkan alamat dari operandnya    atau alamat memori yg ditempat...
Deklarasi pointer  Seperti halnya variabel yang lain, variabel  pointer juga harus dideklarasikan terlebih  dahulu sebelum...
Ada dua cara yang dapat dilakukan untukalokasi space di memori bagi pointer, yaitu:1. Menempati space variable lain yang  ...
Contoh 1 :#include <iostream>using namespace std;main() { int x,*y; char *judul="PENGGUNAAN POINTER"; y=&x; x=5; cout<<jud...
Keterangan :  Karena *y menempati alokasi memori yang  sama dengan x, akibatnya data yang  tersimpan di dalamnyapun akan s...
Contoh 2 :#include <iostream>using namespace std;main() {  int x,*y;  y=&x;  x=5;  *y=10;  cout<<"Nilai x = "<<x;  cout<<"...
Coba tebak outputnya:#include <iostream>using namespace std;main (){  int n1,n2;  int *p;  p=&n1;  *p=10;  p=&n2;  *p=20; ...
2. Dialokasikan tersendiri di memori (Memori dinamis).  Pointer tidak menempati space variabel lain, tetapi  dialokasikan ...
Contoh :#include <iostream>using namespace std;main() {   int x,*y;   y=new int;   x=5;   *y=10;   cout<<"Nilai x = "<<x; ...
Keterangan :x dan y mempunyai alokasi memori yang berbeda, sehinggadata yang tersimpan di dalamnyapun akan berbeda pula. M...
Contoh : #include <iostream> using namespace std; main() {   int x,*y;   y=new int;   x=5;        *y=10;   cout<<"Nilai x ...
Keterangan :Setelah dikenai instruksi delete y; maka nilai yang tersimpandalam *y akan hilang. Itulah sebabnya *y dikataka...
Contoh :#include <iostream>using namespace std;void luas(int *ls, int p, int l){ *ls = p*l; }main(){    int pj,lb,ls;    c...
Contoh :#include <iostream>using namespace std;void luas(int *ls,int *kel, int p, int l){      *ls = p*l;      *kel = 2*(p...
Upcoming SlideShare
Loading in …5
×

Pointer

876 views

Published on

pointer in cpp

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Pointer

  1. 1. POINTERFree Powerpoint Templates Page 1
  2. 2. POINTER• Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori.• Contoh: jika variabel A berisi alamat dari variabel B, maka variabel A dikatakan menunjuk ke variabel B. Free Powerpoint Templates Page 2
  3. 3. Free Powerpoint Templates Page 3
  4. 4. Operator pointer ada 2 : 1. Operator & Operator & menghasilkan alamat dari operandnya atau alamat memori yg ditempati oleh variabel 2. Operator * Operator * menghasilkan nilai yang berada pada sebuah alamat. Perbedaan pointer dengan variable biasa Pointer Variabel biasaDeklarasi variabel int *a; int b;Mengetahui alamat memori a &bMengetahui datanya *a b Free Powerpoint Templates Page 4
  5. 5. Deklarasi pointer Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. Bentuk Umum :• Tipe_data *nama_pointer;• Contoh : int *nilai; char *huruf; Free Powerpoint Templates Page 5
  6. 6. Ada dua cara yang dapat dilakukan untukalokasi space di memori bagi pointer, yaitu:1. Menempati space variable lain yang sudah punya space. Variabel lain tersebut dapat berupa variabel biasa (bukan pointer) atau pointer yang tentunya sudah punya alokasi space di memori. Syntaxnya : var_pointer = &var_biasa; Free Powerpoint Templates Page 6
  7. 7. Contoh 1 :#include <iostream>using namespace std;main() { int x,*y; char *judul="PENGGUNAAN POINTER"; y=&x; x=5; cout<<judul<<endl; cout<<"Nilai x = "<<x; cout<<"nAlamat memori x = "<<&x; cout<<"nnNilai y = "<<*y; cout<<"nAlamat memori y = "<<y; system("pause");} Free Powerpoint Templates Page 7
  8. 8. Keterangan : Karena *y menempati alokasi memori yang sama dengan x, akibatnya data yang tersimpan di dalamnyapun akan sama. Jika ada instruksi yang menginisialisasi x, otomatis juga akan menginisialisasi *y. Free Powerpoint Templates Page 8
  9. 9. Contoh 2 :#include <iostream>using namespace std;main() { int x,*y; y=&x; x=5; *y=10; cout<<"Nilai x = "<<x; cout<<"nAlamat memori x = "<<&x; cout<<"nnNilai y = "<<*y; cout<<"nAlamat memori y = "<<y; system("pause");} Free Powerpoint Templates Page 9
  10. 10. Coba tebak outputnya:#include <iostream>using namespace std;main (){ int n1,n2; int *p; p=&n1; *p=10; p=&n2; *p=20; cout<<"Nilai n1 = "<<n1; cout<<"nNilai n2 = "<<n2; cout<<"nNilai p = "<<*p; system("pause");}Powerpoint Templates Free Page 10
  11. 11. 2. Dialokasikan tersendiri di memori (Memori dinamis). Pointer tidak menempati space variabel lain, tetapi dialokasikan space tersendiri di memori dengan instruksi new. Syntaxnya: var_pointer = new tipe_data-pointernya; Contoh : int *a; float *x; a=new int; x=new float; Free Powerpoint Templates Page 11
  12. 12. Contoh :#include <iostream>using namespace std;main() { int x,*y; y=new int; x=5; *y=10; cout<<"Nilai x = "<<x; cout<<"nAlamat memori x = "<<&x; cout<<"nnNilai y = "<<*y; cout<<"nAlamat memori y = "<<y; system("pause"); Free Powerpoint Templates } Page 12
  13. 13. Keterangan :x dan y mempunyai alokasi memori yang berbeda, sehinggadata yang tersimpan di dalamnyapun akan berbeda pula. Membebaskan memori dari variabel dinamis Dengan alokasi memori dinamis ini kita dapat menghemat alokasi memori dengan cara membebaskan memori dari variabel dinamis, jika memang variabel tersebut tidak digunakan lagi. Syntaxnya: delete var_pointer; Free Powerpoint Templates Page 13
  14. 14. Contoh : #include <iostream> using namespace std; main() { int x,*y; y=new int; x=5; *y=10; cout<<"Nilai x = "<<x; cout<<"nAlamat memori x = "<<&x; cout<<"nnNilai y = "<<*y; cout<<"nAlamat memori y = "<<y; delete y; cout<<"nnSetelah di delete"; cout<<"nNilai y = "<<*y; cout<<"nAlamat memori y = "<<y; system("pause");} Free Powerpoint Templates Page 14
  15. 15. Keterangan :Setelah dikenai instruksi delete y; maka nilai yang tersimpandalam *y akan hilang. Itulah sebabnya *y dikatakan sebagaivariable dinamis, sedangkan x merupakan variable statis,sehingga tidak bisa dibebaskan dari memori. Fungsi dengan parameter pointer Parameter keluaran yaitu parameter yang berfungsi untuk menampung nilai yang dihasilkan dari proses di dalam fungsi. Parameter keluaran ini digunakan dalam fungsi tipe void (tanpa return value),dengan kata lain parameter tersebut digunakan sebagai nilai keluaran dari sebuah fungsi. Dengan demikian parameter keluaran ini harus dilewatkan berdasarkar alamat atau referensinya, yaitu menggunakan Free Powerpoint Templates Page 15 pointer atau reference.
  16. 16. Contoh :#include <iostream>using namespace std;void luas(int *ls, int p, int l){ *ls = p*l; }main(){ int pj,lb,ls; cout<<"Panjang = ";cin>>pj; cout<<"Lebar = ";cin>>lb; luas(&ls,pj,lb); cout<<"nLuasnya = "<<ls; system("pause");} Free Powerpoint Templates Page 16
  17. 17. Contoh :#include <iostream>using namespace std;void luas(int *ls,int *kel, int p, int l){ *ls = p*l; *kel = 2*(p+l);}main(){ int pj,lb,ls,kl; cout<<"Panjang = ";cin>>pj; cout<<"Lebar = ";cin>>lb; luas(&ls,&kl,pj,lb); cout<<"nLuasnya = "<<ls; cout<<"nKelilingnya = "<<kl<<endl; system("pause");} Free Powerpoint Templates Page 17

×