Anda di halaman 1dari 11

Pemograman Terstuktur

Pointer

ABD. SALAM D42112952
Teknik Informatika – UNIVERSITAS HASANUDDIN MAKASSAR

Contoh. jika sebuah variabel berisi alamat dari 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.Pengertian Pointer • Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori dari suatu variabel lain.

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

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

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

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

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

Begitu juga operasi pengurangan. 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 .Operasi Aritmatika  Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer  saja.

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

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

TERIMA KASIH 11 .