Sd bab 7 (pointer)
-
Upload
nm-aditya-danger -
Category
Documents
-
view
171 -
download
4
Transcript of Sd bab 7 (pointer)
POINTER
DEFINISI POINTER
Pointer adalah tipe dasar yang ranah nilainya
adalah alamat di memori komputer.
Memori terdiri atas sekumpulan sel dan
setiap sel mempunyai alamat yaitu : alamat
fisik (berupa angka-angka dalam sistem
heksadesimal).
Programmer mendefinisikan nama untuk
lokasi memori yang menyimpan suatu nilai.
PENDEKLARASIAN POINTER
Sel memori menyimpan nilai sesuai dengantipe data dari nama yang didefinisikanprogrammer, termasuk menyimpan nilaibertipe pointer.
Karena pointer adalah alamat, maka selmemori yang berisi nilai pointer berartimenyimpan alamat sel memori yang lain.
Contoh: PX adalah peubah bertipe pointeryang akan berisi alamat peubah lain yangbertipe integer.
PENDEKLARASIAN POINTER
Gambar Sel-sel memori PX berisi alamat sel memori X
Deklarasi
X : integer
PX : Pointer to integer
PENDEKLARASIAN POINTER
Bila PX diisi dengan alamat fisik peubah X, maka
nilai yang disimpan oleh X juga dapat diskes
melalui PX dengan notasi:
PX↑
Untuk mencetak harga X, dapat dilakukan dengan
dua cara, yaitu:
Deskripsi
X 80
write(x) { mencetak nilai X tanpa pointer }
PX @X { mengisi alamax X de dalam PX }
write(PX↑) [ mencetak nilai PX }
MEMBANDINGKAN POINTER
Untuk menguji kesamaan dua peubah pointer. Jika
dua peubah pointer sama, maka kedua peubah
tersebut menunjuk ke data yang sama.
Contoh, misalkan PA dan PB merupakan pointer
dengan tipe yang sama
PA
PB
POINTER PADA RECORD
Deklarasi
Type DataMhs : record < NIM : integer, Nama : String,
IPK : Real>
PMhs : Pointer to DataMhs
Deskripsi
Mhs.NIM 2011110001
Mhs.Nama ‘Dhanny Chandra’
Mhs.IPK 3.2
PMhs @Mhs
write(Mhs↑.NIM)
write(Mhs↑.Nama)
write(Mhs↑.IPK)
POINTER PADA RECORD
Maka :
PMhs↑.NIM : menunjuk ke field yang bertipe
integer
PMhs↑.Nama : menunjuk ke field yang bertipe string
PMhs↑.IPK : menunjuk ke field yang bertipe real
ALOKASI PENYIMPANAN DINAMIS
Kelebihan tipe pointer dibandingkan dengan tipelainnya adalah pengalokasian memorinyasecara dinamis.
Pendeklarasian larik atau matriks harusmemberitahukan berapa jumlah elemennyaagar sistem dapat menyediakan sejumlah ruangmemori. Sekali ruang memori telahdialokasikan, ruang memori tersebut tidak dapatdihapus dan dikembalikan ke sistem.
Tipe pointer memungkinkan pengalokasianmemori secara dinamis.
ALOKASI PENYIMPANAN DINAMIS
Dalam Delphi Pascal:Prosedur pengalokasian memori = New(pointer)
Prosedur pengalokasian memori = Dispose(pointer)
{ prosedur pengalokasian ruang memori }
procedure AlokMem(output P : Alamat)
{ prosedur mengembalikan ruang memori ke sistem }
procedure DeAlokMem(input P : Alamat)