Anda di halaman 1dari 4

POINTER lanjutan

7. Pengalokasian memori secara dinamis


Dengan menggunakan pointer dapat dilakukan pengalokasian memori
secara dinamis, yaitu pointer menunjuk ke lokasi memori yang
diciptakan ketika program sedang berjalan. Memori yang dialokasikan
dapat dihapus kembali (dealokasi memori) kalau sudah diperlukan lagi.
Lokasi memori tersebut dikenal dengan nama heap.
Operator yang digunakan untuk alokasi memori : new
Operator yang digunakan untuk dealokasi memori : delete

Contoh :
int *pInt;
pInt= new int;

Setelah int *pInt dieksekusi Setelah pInt=new int dieksekusi

#include<iostream.h> Hasilnya :
#include<iomanip.h> 10 20
void main(void)
30 40
{
const int
50 60
KOLOM=2;int(*pDuaDim)[KOLOM];
pDuaDim=new int[3][KOLOM]; int(*pDuaDim)[KOLOM]
pDuaDim[0][0]=10; digunakan untuk
pDuaDim[0][1]=20; mendeklarasikan pointer yang
pDuaDim[1][0]=30;
menunjuk ke array berdimensi
pDuaDim[1][1]=40;
pDuaDim[2][0]=50;
dua.
pDuaDim[2][1]=60;
for(int i=0;i<=2;i++){ pDuaDim=new int[3][KOLOM]
for(int j=0;j<=KOLOM-1;j++) digunakan untuk mengalokasikan
array berdimensi dua, yang
cout<<setw(3)<<pDuaDim[i][j];
mengandung 3 buah baris dan 2
cout<<endl;
}
kolom.
delete []pDuaDim;
}

8. Referensi
Referensi merupakan jenis pointer khusus yang memungkinkan suatu
pointer diperlakukan seperti variabel biasa. Referensi digunakan untuk
memberikan nama alias suatu variabel :
Contoh :
int &ref=namaVariabel;
#include<iostream.h> Hasilnya:
void main(void) nilaiX=100
{ nilaiX=200
int nilaiX=100; nilaiX=201
int &refX=nilaiX;
cout<<"NilaiX = "<<refX<<endl;
refX=200;
cout<<"NilaiX = "<<refX<<endl;
refX++;
cout<<"NilaiX = "<<refX<<endl;
}
Soal : (Gunakan pointer untuk mengakses array)

1. Buatlah program untuk menghitung dan mencetak nilai rata-rata, nilai

tertinggi, dan nilai terendah dari sekelompok bilangan bulat positip

(integer). Jumlah data tidak diketahui, dimasukan melalui keyboard.

2. Buatlah program untuk menghitung dan mencetak IP seorang

mahasiswa dengan rincian sbb :

No Mata Kuliah Nilai SKS


1 Kalkulus 4
2 Fisika Dasar 3
3 PTI 2
4 Sistim Digital 2
5 PSO 2
6 Logika Matematika 2
7 Bahasa Inggris 2
8 Agama 2
Bobot Nilai :
A=4
B=3
C=2
D=1
E=0

Anda mungkin juga menyukai