Anda di halaman 1dari 5

Modul Praktikum Pointer

A. Tujuan
Setelah mempelajari bab ini diharapkan mahasiswa akan mampu :
1. Mengenal dan memahami penggunaan pointer dalam listing program.
2. Membuat program sederhana dengan menerapkan konsep pointer.

B. Alat dan Bahan


1. PC/ laptop yang memenuhi kapasitas untuk pemrograman bahasa C
2. Software dan editor C
3. Modul/handout materi yang akan di praktekkan

C. Pointer
Dengan menggunakan pointer yang benar, Anda dapat menyusun sebuah program yang
berkemampuan tinggi. Sebaliknya sedikit saja kesalahan dalam menggunakan pointer akan
mengakibatkan kesalahan fatal pada program anda. Karena pointer dapat langsung menunjukan pada
lokasi memori, jika lokasi yang ditunjuk salah, berarti data yang diambil juga akan salah, dan sudah tentu
program anda akan menjadi salah juga.

Operator deference (&) ampersand sign


Operator ini biasa disebut dengan address of atau operator alamat. Dengan menggunakan operator
deference variable akan menghasilkan alamat lokasi memori.

Operator reference (*)


Operator ini biasa disebut value pointed by. Dengan menggunakan operator ini akan dihasilkan nilai
yang berada pada suatu alamat memori.

Deklarasi variabel pointer


Variabel pointer juga harus dideklarasikan terlebih dahulu sebelum mulai digunakan bentuk umum.
Cara mendeklarasikan variabel pointer adalah:
Tipe *nama_var_pointer

Tipe variabel sama dengan tipe yang dikenal oleh variabel biasa, misalnya int, float, char dan
sebagainya. Nama variabel pointer juga mengikuti ketentuan nama variabel biasa. Yang membedakan
variabel pointer dengan variabel biasa dengan menggunakan tanda asterisk (*) didepan nama varibel
pada waktu deklarasi. Contoh :
int *ptr_x;
ptr merupakan variabel pointer, karena pada deklarasi digunakan tanda (*) didepan nama
variabelnya.
Pengertian dalam deklarasi variabel pointer memiliki perbedaan dengan variabel biasa, jika dalam
deklarasi variabel biasa:
float x;
maka, deklarasi pointernya:
float *ptr_x;
Artinya variabel pointer ptr_x akan menunjukkan pada variabel yang bertipe float. Jadi disini bukan
ptr_x-nya yang bertipe float, melainkan variabel lain yang ditunjuk yang bertipe float.
Contoh pendeklarasian yang salah :
float y;
int *ptr_y;
Benar :
float y;
float *ptr_y;

Contoh 1 Mencetak nilai dan alamat dengan pointer

Input data melalui pointer


Anda dapat juga menginputkan suatu data ke dalam variabel dengan menggunakan pointernya,
sebagai contoh tinjaulah program dibawah ini:
int x;
int *px;
px=&x;
printf(inputkan nilai x : );
scanf(%d,px);
Ingat! Menginputkan data dengan scanf() membutuhkan alamat dari variabel yang bersangkutan.
Karena px merupakan alamat dari variabel x, maka px dapat digunakan dalam scanf(). Jadi pernyataan:
scanf(%d,ptr_x);
Sama dengan:
scanf(%d,&x);
Dimana &x juga menunjukkan alamat dari variabel x.
Memberikan suatu nilai pada suatu variabel lewat pointer
Nilai suatu variabel dapat juga diberikan lewat pointernya, nilai yang diberikan ini dapat berbentuk
kostanta ataupun ekspresi aritmatika. Contohnya:
int x;
int *ptr_x;
ptr_x=&x;
*ptr_x=5;

/*pemberian nilai kostanta*/

Sedangkan untuk pemberian nilai yang berupa ekpresi adalah:


int x,y=5,z=4;
int *p_x;
p_x=&x;
*p_x=5*y+z-2; /*pemberian nilai ekspresi*/

Contoh 2
Memberikan nilai suatu variabel melalui pointer

Pointer dan Fungsi


Pengiriman data dari sebuah fungsi kefungsi lain dapat juga dilakukan dengan bantuan pointer,
bila pointer digunakan, maka data yang dikirim harus berupa alamat variabel, bukan lagi nama
variabel.
Contoh 3
Mengirimkan data kesuatu fungsi dengan menggunakan pointer.

Contoh 4
Kombinasi antara pengguna variabel biasa dan pointer

Anda mungkin juga menyukai