Anda di halaman 1dari 12

MAKALAH

KONSEP POINTER

Diajukan untuk Memenuhi Tugas Mata Kuliah Struktur Data

Dosen Pengampu :

ADRIANSYAH

Disusun Oleh:

Kelompok
Mahdi Rialdi Hutagalung (2522311)
Riki Pandela (2522318)
Luqmanul Hakim (2522328)
M Rizky Maulana (2522331)
Febrian (2522334)
Bilmindo (2522338)
Egi Saputra (2522342)

PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA DAN


KOMPUTER FAKULTAS TARBIYAH DAN ILMU KEGURUAN UIN SJECH
M. DJAMIL DJAMBEK BUKITTINGGI TAHUN AKADEMIK
2022/2023
KATA PENGANTAR

Segala puji bagi Allah SWT, Tuhan Semesta Alam yang dengan rahmat-Nya
memberikan nikmat kepada kita semua sebagai makhluk-Nya, berupa nikmat iman
dan islamserta nikmat waktu untuk berfikir, mentadaburi, serta menggali ilmu-ilmu
Allah SWT yang Maha Luas, sehingga tidak ada satu lautan pun yang cukup untuk
menulis ilmu-ilmu Allahtatkala air laut itu dijadikan tinta.
Shalawat beserta salam semoga tetap tercurah limpahkan kepada Baginda
NabiMuhammad SAW, kepada keluarganya, sahabatnya, serta sampailah kepada kita
selakuumatnya yang senantiasa patuh pada ajarannya. Amiin.
Alhamdulillah pemakalah bisa menyelesaikan makalah yang sangat sederhana
ini, yang tak luput dari kekurangan. Tetapi pemakalah tetap berharap bahwa makalah
sederhana ini dapat bermanfaat. Pemakalah ucapkan banyak terima kasih kepada
rekan-rekan yang telah membantu serta memberikan gagasan dalam pembuatan
makalah ini. Dan juga kepada Andriansyah,M.Pd.T selaku dosen Struktur Data, yang
telah memberi kesempatan kepada pemakalah untuk menggali ilmu tentang materi
melalui makalah ini. Selebihnya pemakalah mohon maaf apabila dalam makalah ini
terdapat kesalahan baik dalam penulisan maupun penyajiannya.

Bukittinggi, 08 Mei 2023

Kelompok 4

2
DAFTAR ISI

KATA PENGANTAR.................................................................................................... ii

DAFTAR ISI................................................................................................................... iii

BAB I . PENDAHULUAN............................................................................................. 1

A. Latar belakang.............................................................................................. 1

B. Rumusan masalah........................................................................................ 1

C. Tujuan masalah ........................................................................................... 1

BAB II PEMBAHASAN................................................................................................ 2

A. Deklarasi Variabel Pointer........................................................................... 2

B. Cara Mengatur Pointer................................................................................. 2

C. Cara Akses Variabel Pada Pointer............................................................... 3

D. Array Pada Pointer....................................................................................... 3

E. Implementasi Pointer Pada C++.................................................................. 5

BAB III KESIMPULAN DAN SARAN....................................................................... 8

A. Kesimpulan................................................................................................... 8

B. Saran............................................................................................................. 8

DAFTAR PUSTAKA..................................................................................................... 9

3
BAB I
PENDAHULUAN

A. Latar Belakang
Pointer adalah sebuah variabel yang isi datanya adalah alamat memori atau Variabel
lain. Sehingga Pointer dapat juga disebut sebagai alamat (address variable). Dengan
kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu.

Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain. Pada
kenyataan yang sebenarnya, variabel pointer berisi alamat dari suatu obyek lain (yaitu
obyek yang dikatakan ditunjuk oleh pointer). Sebagai contoh, px adalah variabel
pointer dan x adalah variabel yang ditunjuk oleh px. Kalau x berada pada alamat
memori (alamat awal) 1000, maka px akan berisi 1000.

B. Rumusan Masalah
1. Bagaimana Cara Mendeklarasikan Variabel Pointer?
2. Bagaimana Cara Mengatur Pointer?
3. Bagaimana Cara akses variable pada pointer?
4. Apa yang dimaksud array pada pointer?
5. Bagaimana Implementasi Pointer pada C++?

C. Tujuan Penulisan
1. Untuk Mengetahui Bagaimana Cara Mendeklarasikan Variabel Pointer
2. Mengetahui Bagaimana Cara Mengatur Pointer
3. Untuk mengetahui Bagaimana Cara akses variable pada pointer
4. Untuk mengetahui Apa yang dimaksud array pada pointer
5. Untuk mengetahui Bagaimana Implementasi Pointer pada C++

4
BAB II
PEMBAHASAN

A. Deklarasi Variabel Pointer


Bentuk deklarasi dari pointer adalah sebagai berikut :

Keterangan dari deklarasi diatas adalah sebagai berikut :


tipe_data : tipe data dasar dari pointer
nama_variabel : Nama variabel pointer
* : operator memori yang fungsinya untuk mengembalikan nilai
variabel pada alamat

Sebagai contoh :
int *px; / *contoh 1 */
char *pch1, *pch2; / *contoh 2 */
Contoh pertama menyatakan bahwa px adalah variabel pointer yang menunjuk ke
suatu
data bertipe int, sedangkan contoh kedua masing pch1 dan pch2 adalah variabel
pointer
yang menunjuk ke data bertipe char.

B. Cara Mengatur Pointer


Agar suatu pointer menunjuk ke variabel lain, mula-mula pointer harus diisi
dengan
alamat dari variabel yang ditunjuk. Untuk menyatakan alamat dari suatu variabel,

5
digunakan operator & didepan nama variable.

Pernyataan di atas berarti bahwa px diberi nilai berupa alamat dari variabel x.
Setelah
pernyataan tersebut dieksekusi barulah dapat dikatakan bahwa px menunjuk ke
variabel x.

C. Cara Akses Variabel Pada Pointer

Untuk mengakses isi dari suatu variabel melalui pointer, perlu dinyatakan dulu
penunjukkan alamat dari variabel tersebut. Dua pernyataan dibawah ini
menunjukkan bahwa
nilai y adalah sama dengan nilai x.

Antara tipe pointer dan tipe obyek yang akan ditunjuk oleh pointer haruslah sejenis.
Jika
tidak sejenis akan menimbulkan kesalahan.
Contoh :

D. Array pada Pointer


Array of pointer adalah sekumpulan array dengan tipe data pointer.
Contoh deklarasi array of pointer:

6
 kita liat pada source code diatas setiap elemen arraynya menampung alamat
memori dari variabel yang didefinisikan sebelumnya.
 kemudian kita tampilkan value dari array bil dengan method print maka valuenya
akan berisi value dari alamat memori variabel yang direferensikan.

Hubungan antara pointer dan array pada C sangatlah erat. Sebab sesungguhnya
array secara internal akan diterjemahkan dalam bentuk pointer.

Misalnya dideklarasikan di dalam suatu fungsi


static int tgl_lahir[3] = { 01, 09, 64 }; dan int *ptgl;
Kemudian diberikan instruksi
ptgl = &tgl_lahir[0];

maka ptgl akan berisi alamat dari elemen array tgl_lahir yang berindeks nol.
Instruksi di atas bisa juga ditulis menjadi
ptgl = tgl_lahir;

sebab nama array tanpa tanda kurung menyatakan alamat awal dari array. Sesudah
7
penugasan seperti di atas,
*ptgl dengan sendirinya menyatakan elemen pertama (berindeks sama dengan nol)
dari array tgl_lahir.

E. Implementasi Pointer pada C++

Pengertian implementasi pointer pada C++ meliputi beberapa hal berikut:

1. Penunjukan Alamat Memori: Pointer digunakan untuk menunjuk atau


menyimpan alamat memori suatu variabel. Dengan menggunakan operator "&"
pada variabel, kita dapat mengambil alamat memori variabel dan
menyimpannya ke dalam pointer.

2. Dereferensi Pointer: Operator dereference "*" digunakan untuk mengakses


nilai yang ada di alamat memori yang ditunjuk oleh pointer. Dengan
melakukan dereferensi, kita dapat mengakses nilai sebenarnya yang tersimpan
di lokasi memori yang ditunjuk oleh pointer.

3. Manipulasi Nilai: Dengan menggunakan pointer, kita dapat mengubah nilai


yang tersimpan di lokasi memori yang ditunjuk. Melalui manipulasi pointer,
kita dapat mengubah nilai variabel yang diakses melalui pointer tersebut.

4. Penggunaan Pointer dalam Array: Pointer juga dapat digunakan untuk


mengakses elemen-elemen dalam array. Dengan menunjukkan pointer ke
elemen pertama dalam array, kita dapat melakukan iterasi dan mengakses
elemen-elemen lainnya menggunakan pointer dengan penambahan offset.

5. Penggunaan Pointer pada Objek dan Struktur: Pointer juga dapat digunakan
untuk mengakses atribut dan metode dalam objek dan struktur. Dengan
menunjukkan pointer ke objek atau struktur, kita dapat mengakses dan
memanipulasi atribut dan metode yang terkait dengan objek tersebut.

1. Contoh menampilkan nilai dan alamat

Berikut ini adalah contoh program pengunaan tipe dan pointer. Perhatikan cara penulisan dan
cara mendefinisikan pointer.

Source code :

8
#include <iostream>

using namespace std;

main(){
long *P;
long X;

P=&X;

X=10; //Mengisikna nilai 10 ke dalma variabel X

cout<<"Nilai X : "<<X<<endl;
cout<<"Nilai *P : "<<*P<<endl;
cout<<"Nilai P : "<<P<<endl;
cout<<"Nilai &X : "<<&X<<endl;

*P=200; //Mengisikan nilai 200 ke dalam *P

cout<<"Nilai X : "<<X<<endl;
cout<<"Nilai *P : "<<*P<<endl;
cout<<"Nilai P : "<<P<<endl;
cout<<"Nilai &X : "<<&X<<endl;

return 0;
}

Running Program :

2. Contoh pointer tanpa tipe data


Berikut ini adalah contoh program yang menggunakan pointer dapat menyimpan
alamat dari variabel-variabel yang bertipe apapun
Source code :

#include <iostream>

using namespace std;

int main(){
void *P; //Mendeklarasikan pointer P
//sebagai pointer tanpa tipe

//Mendeklarasikan variabel X, Y dan Z dengan tipe berbeda


int X;
9
long Y;
double Z;

//Memerintahkan P untuk menunjuk ke alamat dari variabel X


P=&X;
X=10; //Mengisikan variabel X dengan nilai 10
//Menampilkan hasil
cout<<"Nilai X : "<<X<<endl;
cout<<"Nilai P : "<<P<<endl;
cout<<"Nilai &X : "<<&X<<endl;
cout<<endl;

//Memerintah P untuk menunjuk ke alamat dari variabel Y


P=&Y;
Y=2000; //Mengisikan variabel Y dengan nilai 2000
//Menampilkan hasil
cout<<"Nilai Y : "<<Y<<endl;
cout<<"Nilai P : "<<P<<endl;
cout<<"Nilai &Y : "<<&Y<<endl;
cout<<endl;

//Memerintahkan P untuk menunjuk ke alamat dari variabel Z


P=&Z;
Z=21.0378; //Mengisikan variabel Z dengan nilai 21.0378
//Menampilkan hasil
cout<<"Nilai Z : "<<Z<<endl;
cout<<"Nilai P : "<<P<<endl;
cout<<"Nilai &Z : "<<&Z<<endl;
cout<<endl;

return 0;
}

Running program :

10
BAB III
KESIMPULAN DAN SARAN

A. KESIMPULAN

1. Pointer adalah sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk
menunjukan kesuatu alamat memori sehingga alamat dari suatu variable dapat diketahui dengan
mudah.

2. Dengan menggunakan pointer yang benar, dapat menyusun sebuah program yang berkemampuan
tinggi.

3. Pada C++ sebuah pointer adalah sebuah objek yang menyimpan sebuah alamat (contohnya lokasi
memori) dimana terdapat data lain yang disimpan. Alamat memori merupakan integer, jadi sebuah
pointer biasanya direpresentasikan dengan (unsigned) int. Yang membuat pointer lebih dari integer
yang biasa adalah kita dapat mengakses data yang ditunjuk oleh pointer tersebut. Operator pada
pointer ada dua, yaitu operator* dan operator&. Pointer sama seperti variabel lain, harus
dideklarasikan terlebih dahulu sebelum digunakan

4. Array adalah teknologi yang dapat menyimpan data bertipe serupa dalam sebuah larik. Array
memiliki beberapa kelebihan sekaligus kekurangan-kekurangan saat digunakan untuk memecahkan
permasalahan terkait data.

2. SARAN

Dengan tersusunnya makalah ini diharapkan para membaca memberikan saran dan kritik yang
membangun, sebagai motivasi demi terciptanya kemajuan dalam pembuatan makalah-makalah
selanjutnya.

11
Daftar Pustaka

http://fahrul.lecturer.pens.ac.id/lecturer/uploads/T12-Pointer(1).pdf
https://repository.unikom.ac.id/34849/1/BAB%20XI%20-%20POINTER.pdf
https://www.belajarcpp.com/tutorial/cpp/pointer/

12

Anda mungkin juga menyukai