You are on page 1of 11

Pemograman Terstuktur

Pointer

ABD. SALAM D42112952
Teknik Informatika – UNIVERSITAS HASANUDDIN MAKASSAR

Pengertian Pointer • Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain. variabel pertama dikatakan menunjuk ke variabel kedua UNHAS MAKASSAR 2 . Alamat ini merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori. jika sebuah variabel berisi alamat dari variabel lain. Contoh.

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

variabel pointer juga harus dideklarasikan terlebih dahulu sebelum digunakan. UNHAS MAKASSAR 4 .DEKLARASI POINTER • Seperti halnya variabel yang lain. Bentuk Umum : Tipe_data *nama_pointer.

h" void main() { int x.h" #include "conio. getch(). px = &x. /* y berisi nilai yang ditunjuk px */ printf("Alamat x = %p\n". x). printf("Isi px = %p\n". /* x dan y bertipe int */ int *px. y. } UNHAS MAKASSAR 5 . printf("Nilai yang ditunjuk oleh px = %i\n". *px).Contoh Algoritma #include "stdio. &x). px). printf("Isi x = %i\n". printf("Nilai y = %i\n". y). /* px pointer yang menunjuk objek */ x = 87. /* px berisi alamat dari x */ y = *px.

UNHAS MAKASSAR 6 . Nilai dari suatu variable pointer dapat disalin ke variable pointer yang lain.Operasi Penugasan Suatu variable pointer seperti halnya variable yang lain. juga bisa mengalami operasi penugasan.

*x2. getch().Contoh Algoritma #include "iostream. /* Isi variabel x1 disalin ke variabel x2 */ cout<<"Nilai variabel y = "<<y<< " ada di alamat "<< x1<<"\n". } UNHAS MAKASSAR 7 .y. /* Alamat dari y disalin ke variabel x1 */ x2 = x1.h" #include "conio. x1 = &y. cout<<"Nilai variabel y = "<<y<< " ada di alamat "<< x2<<"\n".45. clrscr(). y = 13.h" void main() { float *x1.

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

printf("Nilai %i ada di alamat memori %p\n".h" void main() { int nilai[3]. printf("Nilai %i ada di alamat memori %p\n". nilai[0] = 125. getch(). *penunjuk.Contoh Algoritma #include "stdio. penunjuk+1). *(penunjuk+2). *penunjuk. nilai[2] = 750. nilai[1] = 345. penunjuk = &nilai[0]. *(penunjuk+1). } UNHAS MAKASSAR 9 . penunjuk+2).h" #include "conio. printf("Nilai %i ada di alamat memori %p\n". penunjuk).

getch(). b = 200.Algoritma POINTER DAN STRING #include<iostream. pb = &b. pa = &a. *pa.} UNHAS MAKASSAR 10 . *pb. 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 lebih tinggi dari pb\n".h" void main() { int a = 100. if(pa == pb) cout<<"pa menunjuk ke memori yang sama dengan pb\n". clrscr().h> #include "conio.

TERIMA KASIH 11 .