1 / 16

POINTER (VAR.PENUNJUK)

POINTER (VAR.PENUNJUK). Pengertian Merupakan var. yg berisi alamat memori dari objek ( variabel ) lain. Operator pointer ( ada 2): 1. Operator & 2. Operator *. OPERATOR POINTER. Operator & menghasilkan alamat dari operand -nya. Operator *

lita
Download Presentation

POINTER (VAR.PENUNJUK)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POINTER (VAR.PENUNJUK) Pengertian Merupakan var. ygberisialamatmemoridariobjek (variabel) lain. Operator pointer (ada 2): 1. Operator & 2. Operator *

  2. OPERATOR POINTER Operator & menghasilkan alamat dari operand-nya. Operator * menghasilkan nilai yg berada pada sebuah alamat

  3. Deklarasi Pointer  Tipedata *nama_pointer; Tipedata mendefinisikan tipe dari objek yg ditunjuk oleh pointer. Contoh:  int *Px;  char *sh;

  4. Contoh program1 #include <stdio.h> #include <conio.h> #include <iostream.h> void main() { int x, y; // x dan y bertipeint int *px; // px pointer yang menunjukobjek clrscr();

  5. x = 87; px = &x; // pxberisialamatdari x y = *px; // y berisinilai yang ditunjukpx cout<<"Alamat x = "<< &x; cout<<"\nIsipx = "<< px; cout<<"\nIsi x = "<< x; cout<<"\nNilai yang ditunjukolehpx = "<< *px; cout<<"\nNilai y = "<< y; getch( );}

  6. OPERASI POINTER 1. Operasi penugasan Nilai dari suatu variabel pointer dapat disalin ke variabel pointer yang lain. contoh: y = 35; x1= &y; x2= x1;

  7. Contoh Program2 #include <iostream.h> #include <conio.h> void main() { float *x1, *x2, y; y = 13.45; x1 = &y; /* Alamatdari y disalinkevariabel x1 */ x2 = x1; /* Isivariabel x1 disalinkevariabel x2 */ cout<<"Nilaivariabel y = "<<y<<" adadialamat "<<x1; cout<<"\nNilaivariabel y = "<<y<<" adadialamat "<<x2; getch(); }

  8. OPERASI POINTER 2. Operasi aritmatika • Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. • Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. • Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Begitu juga operasi pengurangan.

  9. Contoh Program3 #include <iostream.h> #include <conio.h> void main(){ intnilai[3], *penunjuk; clrscr(); nilai[0] = 125; nilai[1] = 345; nilai[2] = 750; penunjuk = &nilai[0]; cout<<"Nilai "<<*penunjuk<<" adadialamatmemori "<<penunjuk; cout<<"\nNilai "<<*(penunjuk+1)<<" adadialamatmemori"<<penunjuk+1; cout<<"\nNilai "<<*(penunjuk+2)<<" adadialamatmemori"<<penunjuk+2; getch(); }

  10. Contoh Program4 3. OperasiLogika #include <iostream.h> #include <conio.h> void main() { int *pa, *pb, a = 100, b = 10; clrscr(); pa = &a; pb = &b; if (*pa < *pb) {cout<<"pa menunjukkememorilebih RENDAH daripb\n";} else if(*pa == *pb) {cout<<"pa menunjukkememori yang SAMA denganpb\n";} else if(*pa > *pb) {cout<<"pa menunjukkememorilebih TINGGI daripb\n";} getch(); }

  11. ARRAY DAN POINTER // more pointers #include <iostream.h> #include <conio.h> int main () { char array[5]; char * p; p = array; *p = 'a'; p++; *p = 'b'; p = &array[2]; *p = 'c'; p = array + 3; *p = 'd'; p = array; *(p+4) = 'e'; for (int n=0; n<5; n++) cout << array[n] << ", "; getch(); }

  12. POINTER DGN ARRAY #include <iostream.h> #include <conio.h> void main(){ inttgl_lahir[] = { 13,9,1982 }; int *ptgl; ptgl = tgl_lahir; /* ptglberisialamat array */ cout<<"Diaksesdengan pointer\n"; cout<<"Tanggal = "<< *ptgl; cout<<"\nBulan = "<< *(ptgl + 1); cout<<"\nTahun = "<< *(ptgl + 2); cout<<"\nDiaksesdengan array biasa\n"; cout<<"Tanggal = "<< tgl_lahir[0]; cout<<"\nBulan = "<< tgl_lahir[1]; cout<<"\nTahun = "<< tgl_lahir[2]; getch();}

  13. PEMBERIAN NILAI ARRAY DGN POINTER //Contoh Program7 #include <iostream.h> #include <conio.h> void main(){ int x[5], *p, k; clrscr(); p = x; x[0] = 5; x[1] = x[0]; /* x[1] diisidengan x[0] sehingga x[1] = 5 */ x[2] = *p + 2; /* x[2] diisidengan x[0] + 2 sehingga x[2] = 7 */ x[3] = *(p+1)-3; /* x[3] diisidengan x[1] - 3 sehingga x[3] = 2 */ //x[4] = *(x + 2); /* x[4] diisidengan x[2] sehingga x[4] = 7 */ x[4]=*(p+2)-1; for(k=0; k<5; k++) cout<<"\nx["<<k<<"] = "<< x[k]; getch(); }

  14. Latihan 1buatinputanscrdinamis // more pointers #include <iostream.h> #include <conio.h> int main () { char array[5]; char * p; p = array; *p = 'a'; p++; *p = 'b'; p = &array[2]; *p = 'c'; p = array + 3; *p = 'd'; p = array; *(p+4) = 'e'; for (int n=0; n<5; n++) cout << array[n] << ", "; getch();

  15. Jawaban // more pointers #include <iostream.h> #include <conio.h> int main () { char array[5]; char * p; p = array; for (inti=0;i<=4;i++) { cout<<"\nInput array["<<i<<"]=";cin>>*p; p++; } for (int n=0; n<5; n++) cout << array[n] << ", "; getch();}

  16. Latihan 2berikanketerangandanoutputnya #include <iostream> #include <conio> const int ARRAY = 5; int main () { int Numbers [ARRAY] = {0, 100, 200, 300, 400}; const int *pInt = Numbers; for (intnIndex = 0; nIndex < ARRAY; ++ nIndex) cout << "Element [" << nIndex << "] = " << *(pInt + nIndex) << endl; getch();}

More Related