Anda di halaman 1dari 7

MODUL PRAKTIKUM

PEMROGRAMAN LANJUT

Modul 3: Pointer

Dosen Pengampu:
Raditya Artha Rochmanto, S.T., M.T.
Muhammad Panji Kusuma Praja, S.T., M.T.

PROGRAM STUDI S1 TEKNIK TELEKOMUNIKASI


FAKULTAS TEKNIK TELEKOMUNIKASI DAN ELEKTRO INSTITUT
TEKNOLOGI TELKOM PURWOKERTO
2020
MODUL 3: POINTER

1 TUJUAN

1. Mengetahui definisi dan fungsi pointer dalam Pemrograman Berorientasi


Objek (PBO)

2. Memahami penggunaan pointer dalam kode program

3. Mengetahui kegunaan pointer pada suatu program

4. Membuat program sederhana dengan menerapkan konsep pointer

2 DASAR TEORI

2.1 Pointer dan Pendefinisiannya


Pointer merupakan salah satu fitur penting yang hanya terdapat pada Baha-
sa C++ yang merupakan turunan dari Bahasa C. Pointer sangatlah powerfull
dan membentuk bagian yang sangat besar dalam Bahasa C++. Pada beberapa
kasus seperti untuk implementasi struktur data, pointer berguna untuk memp-
rogram dengan baik dan memberikan kendali yang lebih besar bagi pembuat
program untuk memanipulasi objek. Hal penting yang harus diingat bahwa
Pointer adalah suatu variable yang mengandung alamat memori dari objek
lain. Pendefinisan pointer dalam kode program adalah dengan menambahkan
kode asterisk(*) di depan nama pointer, seperti contoh berikut:

Type specifier *nama pointer; atau class specifier* nama pointer;

Keterangan:
Type specifier : dapat berupa sembarang tipe data (seperti int,
float, double, dll), atau nama Kelas
Nama pointer : nama variabel pointer yang akan digunakan
Tanda asterisk(*) : mengindikasikan ke compiler bahwa variable
yang didefinisikan adalah pointer dan bukan
variabel normal.
Contoh:

int *pint; //pint as pointer to int


char* pchr; //pchr as pointer to char
float *a,*b,*c; //a,b,c as pointer to float for more than 1 pointer
ITTP *ptr; //pointer to class ITTP

2.2 Mengisi Variabel dan Mengakses Nilai Variabel Pointer


Suatu variabel pointer dapat menunjuk ke alamat memori variabel lain. Con-
tohnya adalah sebagai berikut:

FTTE |Institut Teknologi Telkom Purwokerto 2


MODUL 3: POINTER

Gambar 1: Contoh pendefinisian pointer pada program

Dari hasil tersebut membuktikan bahwa suatu variabel pointer dapat menun-
juk alamat memori dari suatu variabel. Selain itu, variabel pointer juga dapat
digunakan untuk mengakses isi dari suatu variabel. Berikut contohnya:

Gambar 2: Contoh pointer mengakses isi suatu variabel

Dari kedua contoh tersebut terdapat kesimpulan bahwa operator pointer


ada dua, yaitu:

a. Operator & (Operator Reference )


Operator Reference (&) yaitu mendeklarasikan suatu variabel didalam
penggantian memori. Operator ini biasa disebut dengan “address of ”.

b. Operator * (Operator Dereference)


Operator dereference (*) yaitu dapat mengakses secara langsung nilai yang
terdapat di dalam variabel yang berpointer, hal ini dapat dilakukan dengan
menambahkan identifier asterisk (*). Operator ini biasa disebut dengan
“value pointed by ”.

2.3 Pointer Void


Pointer void adalah pointer yang dapat menunjuk ke sembarang tipe data.
Jadi satu pointer dapat menunjuk ke tipe data integer, tipe data float, dan
lain sebagainya. Berikut ini contoh dari pointer void:

FTTE |Institut Teknologi Telkom Purwokerto 3


MODUL 3: POINTER

Gambar 3: Contoh pointer void

2.4 Pointer dan String


Pointer juga dapat menunjuk ke sebuah String. Contoh hubungan antara
pointer dengan String adalah:

Gambar 4: Contoh pointer menunjuk string

2.5 Pointer dan Array


Pointer dan Array merupakan hal yang hampir sama, karena sama-sama me-
nunjuk pada suatu alamat. Karena hal tersebut maka pada pointer yang me-
nunjuk ke array tidak menggunakan tambahan operator & di depan nama
variabel array. Contoh program ditunjukkkan pada Gambar 5.

Gambar 5: Contoh pointer array

FTTE |Institut Teknologi Telkom Purwokerto 4


MODUL 3: POINTER

2.6 Pointer Menunjuk Pointer


Pointer dapat menunjuk ke pointer lain. Hal tersebut ditandai dengan adanya
dua tanda asterisk (**) sebelum nama variabel pointer. Contoh programnya
ditunjukkan pada Gambar 6.

Gambar 6: Contoh pointer array

2.7 Pointer dan Fungsi


Pointer dapat menjadi argument untuk dilewatkan (passing) ke suatu fung-
si. Berikut adalah contoh penerapannya dalam program ditunjukkan pada
Gambar 7.

Gambar 7: Contoh program pointer dan fungsi

FTTE |Institut Teknologi Telkom Purwokerto 5


MODUL 3: POINTER

2.8 Pointer to objects


Pointer dapat menunjuk (point) ke objek sama seperti ke tipe data atau array.
Pointer to objects digunakan ketika tidak diketahui seberapa banyak objek
yang akan dibuat selama program tersebut berjalan. Contoh program ditun-
jukkan pada gambar 8.

Gambar 8: Contoh program pointer to objects

Dalam Program tersebut terdapat operator new dan delete. Operator new
berfungsi meminta memori ke sistem operasi untuk pointer. Operator delete
berfungsi untuk mengembalikan memori yang telah digunakan ke operating
sistem. Pada program juga terdaapat destruktor yang bekerja ketika terdapat
objek yang dihapus. Pada output program destruktor bekerja dua kali yaitu
ketika operator delete bekerja dan ketika program berakhir.

2.9 Array of Pointer to objects


Salah satu konstruksi pemrograman yang umum adalah array pointer untuk
objek. Pengaturan ini memberikan akses yang lebih mudah dan lebih fleksibel

FTTE |Institut Teknologi Telkom Purwokerto 6


MODUL 3: POINTER

Gambar 9: Contoh program array of pointer to objects

ke group objek dibanding membuat objek dalam array. Contoh program dari
Array of Pointer to objects ditunjukkan pada gambar 9

FTTE |Institut Teknologi Telkom Purwokerto 7

Anda mungkin juga menyukai