Anda di halaman 1dari 4

Sebelum kita masuk pada dasar pointer dalam C++.

Saya Muhammad Rama Maulana Ibrahim


(211004057) dan Silvia Anggraeni (211004072) akan menjelaskan tipe data terlebih dahulu secara
lengkap.

Di mana dalam tipe data tersebut terdapat 4 tipe data, apa saja :

1. Tipe sederhana

2. Tipe string

3. Tipe terstruktur

4. Tipe pointer

Setelah mengetahui apa saja tipe data, kita akan menjelaskan apa itu pointer.

Pointer atau bisa kita sebut dengan variabel penunjuk merupakan suatu variabel yang berisikan alamat
lokasi atau suatu memori tertentu. Di mana dalam bahasa C menyediakan dua buah operator untuk
operasi pointer itu sendiri yaitu operator "*" dan operator "&".

Kita akan bahas terlebih dahulu apa itu operator alamat atau address operator &. Pada pendeklarasian
variabel, user tidak diharuskan menentukan lokasi sesungguhnya pada memori. Karena pada dasarnya
hal ini akan dilakukan secara otomatis oleh compiler dan operating system pada saat run-time, tetapi
jika kalian ingin mengetahui di mana suatu variabel akan disimpan. Maka kalian dapat melakukannya
dengan memberikan tanda ampersand (&) di depan variabel yang berarti "address off". Lebih jelasnya
kita berdua akan memberikan suatu contoh. Berikut contohnya :

#include <iostream>

using namespace std;

int main ()

cout <<"latihan pointer"<<endl;

int n=53;

cout<<"Nilai dari n : " <<n<<endl;


cout<<"Alamat dari n : "<<&n<<endl;

return 0;

1. `#include <iostream>`: Ini adalah preprocessor directive yang memasukkan header file `<iostream>`.
Header file ini menyediakan fungsi-fungsi untuk input dan output, seperti `cout` dan `endl`.

2. `using namespace std;`: Ini adalah pernyataan yang memberitahu program untuk menggunakan
namespace `std`. Namespace ini berisi definisi-definisi dari Standar C++, termasuk fungsi-fungsi seperti
`cout` dan `endl`.

3. `int main()`: Ini adalah fungsi utama dari program. Eksekusi program dimulai dari sini.

4. `cout <<"latihan pointer"<<endl;`: Menggunakan `cout` (character output) untuk mencetak teks
"latihan pointer" ke konsol, diikuti oleh `endl` yang digunakan untuk mengakhiri baris.

5. `int n=53;`: Mendeklarasikan variabel `n` dan menginisialisasinya dengan nilai 53.

6. `cout<<"Nilai dari n : " <<n<<endl;`: Mencetak nilai dari variabel `n` menggunakan `cout`.

7. `cout<<"Alamat dari n : "<<&n<<endl;`: Mencetak alamat dari variabel `n` menggunakan `cout`.
Operator `&` digunakan untuk mendapatkan alamat variabel.

8. `return 0;`: Mengembalikan nilai 0 dari fungsi `main`, yang menandakan bahwa program selesai
dijalankan tanpa masalah.

Jadi, program ini mencetak nilai dan alamat dari variabel `n` ke konsol.

Tetapi jika nilai n kita rubah menjadi 23. Maka akan menghasilkan
```

latihan pointer

Nilai dari n : 23

Alamat dari n : [alamat memori baru untuk nilai 23]

```

Nilai dari `n` akan menjadi 23, dan alamat memori tempat nilai 23 disimpan akan ditunjukkan setelah
baris yang mencetak nilai `n` dan alamatnya.

Contoh :

Buku = &bahasa

Akan memberikan variabel buku alamat dari bahasa, karena variabel bahasa diberi awalan ampersand
(&), maka menjadi pokok di sini adalah alamat dalam memori, bukan isi variabel. Misalkan bahasa
diletakkan di alamat 1776 kemudian dituliskan instruksi :

Bahasa = 25;

Sejarah = bahasa;

Buku = &bahasa;

Operator reference (*)

Dengan kita menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan
memberikan awalan operator asterisk (*) pada identifier pointer, yang di mana dapat kita artikan
sebagai "value pointer by".

Contoh :

BhsC =*buku;

(Dapat dikatakan bahwa BhsC sama dengan nilai yang ditunjukkan oleh buku). BhsC = 25, karena buku di
alamat 1776, dan nilai yang berada pada alamat 1776 adalah 25.

Deklarasi pointer

Variabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterisk.

Bentuk umum :

Tipe - data *nama-variabel-pointer;


Contoh : int *data;

Berarti data adalah sebuah pointer yang menunjukkan ke jenis data integer di mana tipe dari variabel
pointer tersebut menunjukkan tipe dari data yang ditunjukkannya.

Mengatur pointer agar menunjukkan ke variabel lain.

Agar kita mengetahui suatu pointer menunjukkan ke variabel lain, mula-mula kit pointer harus kita isi
dengan alamat dari variabel yang akan ditunjuk. Kemudian menyatakan alamat dari suatu variabel,
operator & (operator alamat, bersifat unary) bisa dipergunakan dengan menempatkannya di depan
nama variabel. Sebagai contoh kita bisa mengambil bila *x dideklarasikan sebagai variabel bertipe int,*
maka &x berarti "alamat dari variabel x". *Adapun contoh pemberian alamat x ke suatu variabel*
pointer px (yang dideklarasikan sebagai pointer yang menunjukkan ke data bertipe int) yaitu :

px = &x;

Pernyataan di atas berarti bahwa *px diberi nilai berupa alamat dari variabel x.* Setelah pernyataan
tersebut dieksekusi barulah kita dapat mengatakan bahwasanya *px menunjukkan ke variabel x.*

Untuk mengakses isi suatu variabel melalui pointer maka jika suatu variabel sudah ditunjuk oleh pointer,
variabel yang ditunjuk oleh pointer tersebut dapat diakses melalui variabel itu sendiri (pengaksesan
langsung) ataupun melalui pointer (pengaksesan tak langsung). Pengaksesan tak langsung dilakukan
dengan menggunakan operator indirection (tak langsung) berupa simbol * *(bersifat unary).* Contoh
penerapan operator * yaitu :

*Px

Yang menyatakan "isi atau nilai variabel atau data yang ditunjukkan oleh pointer px". Sebagai contoh
jika y bertipe int, maka sesudah dua pernyataan berikut

px = &x;

y = *px;

Y akan berisi nilai yang sama dengan nilai x.

Jika program melibatkan pointer, dan pointer belum diinisialisasi, ada kemungkinan akan terjadi
masalah yang dinamakan "bug" yang bisa mengakibatkan komputer tidak dapat dikendalikan (hang).
Selain itu tipe variable pointer dan tipe data yang ditunjuk harus sejenis, tetapi jika tidak sejenis maka
akan terjadi hasil yang tidak diinginkan begitu kawan.

Anda mungkin juga menyukai