Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pointer BY HARIFUDDIN.

Presentasi serupa


Presentasi berjudul: "Pointer BY HARIFUDDIN."— Transcript presentasi:

1 Pointer BY HARIFUDDIN

2 Pointer Variabel yang berisi alamat memori sebagai nilainya yang berisi nilai tertentu. Deklarasi: Type *variable name di mana: Type = tipe dasar pointer Variable name=nama variabel pointer * = operator memori yang berfungsi mengembalikan nilai variabel pada alamatnya.

3 Contoh Program 1 //Program aplikasi pointer //dibuat oleh harifuddin #include<iostream> using namespace std; main (){ int q=7, *p; p=&q; cout<<"nilai q= "<<q<<"dan *p= "<<*p <<" \n Alamatnya= "<<p<<'\n'; return 0; }

4 Hasil Kompilasi

5 Contoh Program 2 //Program aplikasi pointer1 //dibuat oleh harifuddin #include <iostream> using namespace std; main() { long *P; long X; P = &X; X = 10; // Mengisikan nilai 10 ke dalam variabel X cout<<"Nilai X : "<<X<<endl; cout<<"Nilai *P : "<<*P<<endl; cout<<"Nilai P : "<<P<<endl; cout<<"Nilai &X : "<<&X<<endl; *P = 200; // Mengisikan nilai 200 ke dalam *P return 0; }

6 Hasil Kompilasi

7 Memasukkan Nilai Pada Pointer
Tipe data dari pointer harus sama dengan tipe data dari variabel yang akan menempatinya. Contoh Sintaks Programnya: double *p; int x; /*mendeklarasikan variabel bertipe integer*/ p =&x /* salah, karena p hanya dapat menyimpan variabel yang bertipe double*/

8 Pointer yang dideklarasikan untuk menunjuk ke semua tipe data.
Pointer Tanpa Tipe Pointer yang dideklarasikan untuk menunjuk ke semua tipe data. Pointer ini dinamakan dengan void pointer. Deklarasi: void *nama_pointer;

9 Contoh Program // Program aplikasi pointer tanpa tipe // Oleh harifuddin // #include <iostream> using namespace std; main() { void *P; /* Mendeklarasikan pointer P sebagai pointer tanpa tipe*/ // Mendeklarasikan variabel X, Y dan Z dengan tipe berbeda int X; long Y; doble Z; // Memerintahkan P untuk menunjuk ke alamat dari variabel X P = &X; X = 10; // Mengisikan variabel X dengan nilai 10 cout<<"Nilai X : "<<X<<endl; cout<<"Nilai P : "<<P<<endl; cout<<"Alamat &X : "<<&X<<endl; // Memerintahkan P untuk menunjuk ke alamat dari variabel Y P = &Y; Y = 200; // Mengisikan variabel Y dengan nilai 2000 cout<<'\n'<<"Nilai Y : "<<Y<<endl; cout<<"Alamat &Y : "<<&Y<<endl; // Memerintahkan P untuk menunjuk ke alamat dari variabel Z P = &Z; Z = 2000; // Mengisikan variabel Z dengan nilai cout<<'\n'<<"Nilai Z : "<<Z<<endl; cout<<"Alamat &Z : "<<&Z<<endl; return 0; }

10 Hasil Kompilasi

11 Konstanta Pada Pointer
Pointer juga dapat bernilai konstan, yaitu menggunakan kata kunci const Kata kunci const dapat ditempatkan sebelum tipe data, sesudah tipe data ataupun pada keduanya

12 Sebelum Tipe Data Deklarasi: const tipe_data *nama_pointer;
Bentuk di atas berarti bahwa pointer akan menunjuk ke nilai dengan tipe data tertentu di mana nilai tersebut bersifat tetap

13 Contoh Program /*Program Aplikasi Pointer Konstanta Sebelum Tipe Data*/ #include <iostream> using namespace std; main() { const int *P1; // P1 akan menunjuk ke tipe data int // yang bersifat tetap int X, Y; X = 5; Y = 10; P1 = &X; cout<<"Nilai X: "<<X<<endl; cout<<"Nilai P1: "<<P1<<endl; // *P1 = 5; // SALAH, karena nilai yang ditunjuk oleh P1 // (nilai *P1) bersifat tetap P1 = &Y; // BENAR, karena pointer P1 tidak bersifat tetap cout<<"Nilai Y: "<<Y<<endl; return 0; }

14 Hasil Kompilasi

15 Sesudah Tipe Data Deklarasi: tipe_data * const nama_pointer;
Disini pointer bersifat tetap sehingga alamatnya tidak dapat diubah Namun nilai dari variabel yang ditunjuk dapat diubah

16 Contoh Program // Program aplikasi konstanta sesudah tipe data #include <iostream> using namespace std; int main() { int X=5, Y=10; int *const P2 = &X; /* P2 akan menunjuk ke alamat yang tetap, yaitu alamat X */ cout<<"Nilai X= "<<X<<endl; cout<<"Nilai P2= "<<P2<<endl; *P2 = 2; // BENAR, karena nilai *P2 dapat diubah // P2 = &Y; // SALAH, karena pointer P2 tidak bersifat tetap return 0; }

17 Hasil Kompilasi

18 Sebelum dan Sesudah Tipe Data
Deklarasi: const tipe_data * const nama_pointer; Disini pointer konstan menunjuk ke suatu nilai yang konstan Berarti pointer menunjuk alamat yang tetap dan nilai yang tetap

19 Contoh Program // Program aplikasi Konstanta Sebelum dan Sesudah Tipe Data #include <iostream> using namespace std; int main() { int X=5, Y=10; const int * const P2 = &X; /* P2 akan menunjuk ke alamat yang tetap, yaitu alamat X dan nilai yang ditunjuk juga tetap */ cout<<"Nilai X= "<<X<<endl; cout<<"Nilai P2= "<<P2<<endl; // *P2 = 2; // SALAH, karena nilai *P2 tidak dapat diubah // P2 = &Y; // SALAH, karena pointer P2 tidak bersifat tetap return 0; }

20 Hasil Kompilasi

21 Hanya 4 operator aritmetka yang dapat digunakan pada pointer, yaitu:
Pointer Aritmetika Hanya 4 operator aritmetka yang dapat digunakan pada pointer, yaitu: ++, == , + , dan -

22 Contoh Program //Program aplikasi Pointer Aritmetika #include<iostream> using namespace std; main(){ int i[10], *i_ptr; double j[10], *j_ptr; int x; i_ptr=i; j_ptr=j; for(x=0; x<10; x++) cout<<i+x<<" "<<j+x<<endl; return 0; }

23 Hasil Kompilasi

24 Pointer Perbandingan Pointer dapat dibandingkan dengan menggunakan operator hubungan, misalnya: !=, ==, <, dan >

25 Contoh Program //Program Aplikasi Pointer Perbandingan #include<iostream> using namespace std; main(){ int num[10]; int *start, *end; start=num; end=&num[9]; while(start !=end){ cout<<"Masukkan bilangan sebanyak 9 kali: "; cin>>*start; start++; } return 0;

26 Hasil Kompilasi

27 String dan Pointer String dapat ditampilkan dalam program teks dan disimpan dalam tabel string dengan menggunakan pointer

28 Contoh Program #include<iostream> using namespace std; main(){
//Program Aplikasi Konstanta String dan Pointer #include<iostream> using namespace std; main(){ char *s; s="Pointer mudah digunakan \n"; cout<<s; return 0; }

29 Hasil Kompilasi

30 Array Pointer Pointer dapat di array seperti tipe data yang lain dalam tipe integer Misalnya: int *pi[10]; Untuk menentukan alamat dari variabel integer disebut var Contoh: int var; pi [2] = &var;

31 Contoh Program //Program Aplikasi Array Pointer #include<iostream> using namespace std; main(){ int bilangan[5]; int *p; p=bilangan; *p=10; p++; *p=20; p=&bilangan[2]; *p=30; p=bilangan+3; *p=40; p=bilangan; *(p+4)=50; for(int p=0; p<5; p++) cout<<bilangan[p]<<"\n"; return 0; }

32 Hasil Kompilasi

33 Pointer dalam Pointer Pointer normalnya berisi alamat dari sebuah objek (variabel) yang menyimpan nilai berupa data Deklarasi pointer dalam pointer menggunakan tanda asterisk sebanyak dua kali (**) Contoh: int **p;

34 Contoh Program //Program Aplikasi Pointer dalam Pointer #include<iostream> using namespace std; main(){ int x, *p, **q; x=10; p=&x; q=&p; cout<<**q<<endl; return 0; }

35 Hasil Kompilasi

36 Terima Kasih


Download ppt "Pointer BY HARIFUDDIN."

Presentasi serupa


Iklan oleh Google