1 / 15

Pointer

Pointer. Dr. Lily Wulandari. Pengertian 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.

xuxa
Télécharger la présentation

Pointer

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 Dr. Lily Wulandari

  2. Pengertian 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 sebuah variabel berisi alamat dari variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua

  3. Pengertian Pointer Operator Pointer ada dua, yaitu : • Operator & Operator & bersifat unary (hanya memerlukan satu operand saja). Operator & menghasilkan alamat dari operandnya. • Operator * Operator * bersifat unary (hanya memerlukan satu operand saja). Operator * menghasilkan nilai yang berada pada sebuah alamat.

  4. Deklarasi Pointer • Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. • Bentuk Umum : Tipe_data *nama_pointer;

  5. #include <iostream> using namespace std; #include "conio.h" void main() { int x, y; /* x dan y bertipe int */ int *px; /* px pointer yang menunjuk objek */ x = 87; px = &x; /* px berisi alamat dari x */ y = *px; /* y berisi nilai yang ditunjuk px */ cout<<"Alamat x =" <<&x <<"\n"; cout<<"Isi px = " <<px <<"\n"; cout<<"Isi x = " <<x << "\n"; cout<<"Nilai yang ditunjuk oleh px = " <<*px <<"\n"; cout<<"Nilai y = " << y << "\n"; getch(); }

  6. Operator Pointer • Operasi Penugasan Suatu variable pointer seperti halnya variable yang lain, juga bisa mengalami operasi penugasan. Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain.

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

  8. Operator Pointer • 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. #include <iostream> using namespace std; #include <conio.h> void main() { int nilai[3], *penunjuk; nilai[0] = 125; nilai[1] = 345; nilai[2] = 750; penunjuk = &nilai[0]; cout<<"Nilai "<<*penunjuk <<" ada di alamat memori " <<penunjuk<<"\n"; cout<<"Nilai "<<*(penunjuk+1) <<" ada di alamat memori “ <<penunjuk+1<<"\n"; cout<<"Nilai "<<*(penunjuk+2) <<" ada di alamat memori " <<penunjuk+2<<"\n"; getch(); }

  10. #include <iostream> using namespace std; #include "conio.h" void main() { int a = 100, b = 200, *pa, *pb; pa = &a; pb = &b; cout<<"nilai pa= "<<pa<< " nilai pb= "<<pb<<"\n"; if(pa < pb) cout<<"pa menunjuk ke memori lebih rendah dari pb\n"; if(pa == pb) cout<<"pa menunjuk ke memori yang sama dengan pb\n"; if(pa > pb) cout<<"pa menunjuk ke memori lebih tinggi dari pb\n"; getch(); }

  11. Operator Pointer • Operasi Logika #include <iostream> using namespace std; #include "conio.h“ void main() { static int tgl_lahir[] = { 13,9,1982 }; int *ptgl; ptgl = tgl_lahir; /* ptgl berisi alamat array */ cout<<"Diakses dengan pointer\n"; cout<<"Tanggal = "<<*ptgl<<"\n"; cout<<"Bulan = "<< *(ptgl + 1) <<"\n";cout<<"Tahun = "<<*(ptgl + 2) <<"\n"; cout<<"\nDiakses dengan array biasa\n"; cout<<"Tanggal = "<< tgl_lahir[0] <<"\n"; cout<<"Bulan = "<< tgl_lahir[1] <<"\n";cout<<"Tahun = "<< tgl_lahir[2] <<"\n"; getch(); }

  12. Memberi Nilai Array dengan Pointer #include <iostream> using namespace std; #include "conio.h" void main() { int x[5], *p, k; p = x; x[0] = 5; x[1] = x[0]; x[2] = *p + 2; x[3] = *(p+1) - 3; x[4] = *(x + 2); for(k=0; k<5; k++) cout<<"x["<<k<<"] = "<< x[k]<<"\n"; getch(); }

  13. Latihan • Buatlah Program untuk menggambarkan konsep Pointer: menampilkan alamat pointer dan isi pointer, dengan ketentuan sbb, - Variabel bilangan bulat bil= 20; - dan variabel pointer bulat *pnt. • Buatlah program untuk menampilkan isi dan alamat pointer larik (array) • int * bilangan[]={5,7,8,3};

  14. TerimaKasih

  15. #include <iostream> using namespace std; #include <conio.h> void misteri1(char *); void main() { char string[] = "amikom"; cout<< "String sebelum proses adalah " << string <<"\n" ; misteri1(string); cout<<"String setelah proses adalah "<<string; getch(); } void misteri1(char *s) { while ( *s != '\0' ) { if ( *s >= 'a' && *s <= 'z' ) *s -= 32; ++s; } }

More Related