Pointer By Serdiwansyah N A Pointer Suatu variabel
Pointer By Serdiwansyah N. A.
Pointer § Suatu variabel yang berisi alamat memori sebagai nilainya. § Merupakan variabel level rendah yang dapat digunakan untuk menunjuk nilai integer, character, float, double, atau single dan tipe-tipe data lain yang didukung oleh bahasa pemrograman. § Bersifat dinamis dan lebih fleksibel. § Variabel pointer yang tidak menunjuk pada nilai apapun berarti memiliki nilai NULL, disebut sebagai dangling pointer karena nilainya tidak diinisialisasi dan tidak dapat diprediksi. § Misalnya, apabila kita membuat program yang akan menampilkan suatu nilai di dalam suatu variabel tertentu dan menampilkan juga alamat suatu pointer yang isinya sama dengan yang ditunjuk oleh variabel tadi. Pointer 2
Pointer § Maka dalam program kita tuliskan (C++): { int v = 7, *ptr; ptr = &v; cout << “Nilai v = << v << “ dan *ptr = “<< *p << “n alamatnya = “<< p << ‘n’; } § Bila program di atas dijalankan, maka hasilnya adalah: Nilai v = 7 dan *ptr = 7 Alamatnya = efffb 24 Pointer 3
Operator Alamat § § § Setiap variabel yang dideklarasikan, disimpan dalam sebuah lokasi memori dan pengguna biasanya tidak mengetahui di alamat mana data tersebut disimpan. Dilambangkan dengan simbol “&”. Contoh: int y = 5; int *y. Ptr; § Maka pernyataan: y. Ptr = &y § Ini berarti bahwa alamat dari variabel y ditunjukkan kepada variabel pointer y. Ptr. Pointer 4
Operator Reference § Penggunaan operator ini, berarti mengakses nilai sebuah alamat yang ditunjuk oleh variabel pointer Pointer 5
Deklarasi Variabel Pointer Tipe * nama_pointer § Contoh: Char *data 1 Int *data 2
Deklarasi Variabel Pointer § Operasi variabel pointer dapat dikerjakan oleh variabel pointer yang lain. § Contoh: Nilai 1 = 8 Ptr 1 = &Nilai; Ptr 2 = Ptr 1; § Maka Ptr 1 dan Ptr menghasilkan alamat variabel nilai 1 yang sama. Pointer 7
Operasi Pointer § Operasi Penugasan o Nilai dari suatu variabel pointer dapat disalin ke variabel pointer yang lain. o Contoh: y = 65; x 1 = &y; X 2 = x 1; § Operasi Aritmatika o Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer saja. o Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya) dalam memori. Pointer 8
Operasi Pointer o Hanya 4 operator aritmatika dapat digunakan pada pointer, yaitu ++, ==, +, dan -. o Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. o Contoh : { int i[4], *i_Ptr; int x; i_Ptr = i; for (x = 0; x<4; x++) cout << i_Ptr+x <<“n”; return 0; } Pointer 9
Operasi Pointer o Apabila program di atas di jalankan, maka akan muncul: 0 xeffffd 9 c 0 xeffffda 0 0 xeffffda 4 0 xeffffda 8 Pointer 10
Operasi Pointer § Operasi Logika o Atau disebut operasi perbandingan. o Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti !=, ==, <, dan >. o Contoh: { int num[4]; int *start, *end; start = num; end = &num[3]; while (start != end) } Pointer 11
- Slides: 11