Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.