POINTER
Yessica Amanda octafianti
Definisi Pointer Pointer sering
disebut juga dengan istilah link, referensi, penunjuk adalah suatu variabel
yang menyimpan atau menunjuk alamat dari suatu variabel yang lain. Pointer
menunjuk suatu data yang tersimpan dalam sebuah variabel dengan cara menyimpan
alamat dari variabel penyimpan data tersebut. Pointer dalam kehidupan sehari –
hari dianalogikan seperti kartu alamat sesorang (KTP, atau yg lain) maka kartu
tersebut dapat menunjukkan dimana orang tersebut berada, bagaimana caranya? ya
tentu saja dengan menyimpan alamat tersebut pada kartu. (Kebudayaan,
2014)
Pointer (variabel penunjuk) adalah
suatu variabel yang berisi alamat memori dari suatu variabel lain. Alamat ini
merupakan lokasi dari obyek lain (biasanya variabel lain) di dalam memori.
Contoh, jika sebuah variabel berisi alamat dari variabel lain, variabel pertama
dikatakan menunjuk ke variabel kedua (BSI, 2009)
Operasi pada Pointer
• Operasi Penugasan
Suatu variable pointer seperti
halnya variable yang lain, juga bisa mengalami operasi
penugasan. Nilai dari suatu
variable pointer dapat disalin ke variable pointer yang lain
Operator (&) dalam kaitannya
dengan pointer adalah operator yang mengembalikan alamat memori dari
operandnya. Contohnya :
int y = 5; /*deklarasi variabel y*/
int *yPtr; /*deklarasi variabel
pointer yPtr*/
yPtr = &y; /*mengisi variabel
pointer yPtr dengan alamat dari variabel y*/ (Cicax-milanisti, 2010)
Contoh Program:
#include
<stdio.h> //Mengakses
file pada library stdio.h
#include
<stdlib.h> //Mengakses file
pada library stdlib.h
int main (void){
//Fungsi main yang harus
ada dalam sebuah program C
int A =
5, H;
int
*ptrA, *ptrH; //Deklarasi
pointer sebagai integer
ptrA =
&A; //Alamat
lokasi memori dari variabel A disimpan pada ptrA
H =
*ptrA; //Nilai
data yang alamat lokasi memorinya disimpan pada ptrA,
disimpan di variabel H
ptrH =
&H; //Alamat
lokasi memori dari variabel H disimpan pada ptrH
// %x menampilkan nilai hexa
printf("A=%d\n &A=%x \n ptrA=%x \n *ptrA=%d", A, &A, ptrA,
*ptrA);
printf("\n\nH=%d\n &H=%X\n ptrH=%X\n *ptrH=%d\n\n", H, &H,
ptrH,*ptrH);
system
("pause"); //File
yang terdapat pada stdlib.h
return (0);
//Nilai
balikan fungsi main() adalah 0
}
Jenis-jenis Tipe Data/ Data Type
1. Tipe data primitive (Sederhana)
Tipe data primitive adalah Tipe
data yang mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive
merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data
primitive adalah tipe numerik (integer
dan real), tipe data karakter/char, tipe data boolean.
A.
Numeric
Tipe data numeric digunakan pada
variabel atau konstanta untuk menyimpan nilai dalam bentuk angka. Tipe data ini
terbagi atas integer, dan real.
a.
Integer
Integer Merupakan tipe data berupa
bilangan bulat, terbagi atas beberapa kategori seperti table dibawah ini
Tipe Data
Ukuran Tempat
Rentang Nilai
Byte
1 byte
0 s/d +255
Shortint
1 byte
-28 s/d +127
Integer
2 bytes
-32768 s/d 32767
Word
2 bytes
0 s/d 65535
Longint
4 bytes
2147483648 s/d 2147483647
b.
Real
Real adalah bilangan yang berisi
titik desimal atau jenis bilangan pecahan.
Tipe Data
Ukuran Tempat
Rentang Nilai
real
6 bytes
2.9 x 10-39 s/d 1.7 x1038
single
4 bytes
1.5 x 1045 s/d 3.4 x 1038
double
8 bytes
5.0 x 10-324 s/d 1.7 x 10308
extended
10 bytes
3.4 x 10-4932 s/d 1.1 x 104932
comp
8 bytes
-9.2x 1018 s/d 9.2x 1018
B.
Karakter (char)
Karakter merupakan tipe data yang hanya
mampu menyimpan 1 digit karakter. Ukuran
untuk tipe data karakter adalah 1 byte (1 byte = 8 bit). Adapun macam karakter
yang ada sejumlah 256 macam karakter yaitu dari kode karakter (ASCII), 0 sampai
dengan 255. Untuk penulisan karakter menggunakan tanda petik tunggal (‘ ) di depan dan belakang karakter yang ditulis.
Contoh : ‘a’, ‘A’,’&’ dll.
Nilai-nilai yang termasuk karakter
adalah :
a. Karakter huruf : ‘a’..’z’,’A’..’Z’
b. Karakter angka : ‘0’..’9’
c. Karakter tanda baca : titik, koma, titik
koma, titik dua dan sebagainya
d. Karakter khusus : $, %, #, @ dan
sebagainya.
C. Boolean
Boolean merupakan tipe data logika,
yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah). Tipe data
boolean memakai memori paling kecil.
2. Tipe data Composite
Tipe Data Komposit merupakan tipe
data yang dapat menampung banyak nilai, antara lain sebagai berikut.
A.
Array
Array atau sering disebut sebagai
larik, adalah tipe data yang sudah terstruktur dengan baik, meskipun masih
sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen)
dalam sebuah variabel. Sebagai ilustrasi, array mampu menampung banyak data
namun dengan satu tipe data yang sama, misalnya integer saja. Setiap lokasi
data array diberi nomor indeks yang berfungsi sebagai alamat dari data
tersebut.
B.
Record atau struct
Seperti halnya Array, Record atau
Struct juga termasuk tipe data komposit. Record dikenal dalam bahasa
Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++. Berbeda dengan array,
tipe data record mampu menampung banyak data dengan tipe data berbeda-beda
(heterogen). Misalnya, satu bagian integer, satu bagian lagi character, dan
bagian lainnya Boolean. Biasanya record digunakan untuk menampung data suatu
obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal
lahir. Nama akan menggunakan tipe data string, alamat bertipe data string, usia
bertipe data single (numeric), tempat lahir bertipe data string, dan tanggal
lahir bertipe data date. Berikut ini contoh pengunaan record dalam Delphi.
C.
Image
Image, atau gambar, atau citra,
merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto
keluarga kita, video perjalanan, dan lain-lain. Pada bahasa-bahasa pemrograman
modern terutama yang berbasis visual, tipe data ini telah didukung dengan
sangat baik.
D.
Date Time
Nilai data untuk tanggal (date) dan
waktu (time) secara internal disimpan dalam format yang spesifik. Variabel atau
konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk
menyimpan, baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe
data composite, karena merupakan bentukan dari beberapa tipe data.
E.
Object
Tipe data object digunakan untuk
menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual
Basic, Delphi, dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh,
apabila mempunyai form yang memiliki control Command button, yang kita beri
nama Command1.
F. Subrange
Tipe data subrange merupakan tipe data
bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan
programmer. Biasanya, tipe data ini mempunyai nilai batas minimum dan nilai
batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
G.
Enumerasi
Tipe data ini merupakan tipe data
yang mempunyai elemen-elemen yang harus disebut satu persatu, dan bernilai
konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini
diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga
dijumpai pada Delphi, dan bahasa pemrograman deklaratif seperti SQL.
Pada contoh di atas, tipe data
Hari_dlm_Minggu termasuk enumerasi dengan rentang nilai Nol, dimana Senin
sampai dengan Minggu dan nilai data dari 0, 1, sampai dengan 7. Sedangkan tipe
data Nama_Bulan termasuk enumerasi dengan rentang nilai Nol, Januari sampai
dengan Desember dan nilai data dari 0, 1, sampai dengan 12. (Saputra,
2015)
Daftar Pustaka
ADITYA, P. C. (2012, Juli). Pointer. Retrieved
Januari 13, 2017, from Struktur Data:
http://christ-13.blogspot.co.id/2012/07/pointer.html
BSI, C. ( 2009, November 5). Artikel Pointer.
Retrieved Januari 13, 2017, from Artikel Pointer:
http://ciciniez.blogspot.co.id/
Cicax-milanisti. (2010, Mei 25). POINTER PADA C++.
Retrieved Januari 13, 2017, from TEKOM-C :
http://cicax-milanisti.blogspot.co.id/2010/05/pointer-pada-c.html
Kebudayaan, K. P. (2014). Pemograman Dasar.
Saputra, R. (2015, Agustus). Pengertian Tipe
Data/ Data Type. Retrieved Januari 13, 2017, from Pengertian dan
Jenis-jenis Tipe Data/ Data Type didalam Dunia Pemrograman:
http://westborneoblogger.blogspot.com/2015/08/pengertian-dan-jenis-jenis-tipe-data.html