Anda di halaman 1dari 12

LAPORAN PRAKTIKUM STRUKTUR DATA

MODUL II
POINTER

Oleh:
ESMERALDA OKTAVIA PUTRI RAMADHANI
2311103046
S1SI-07-A
Dosen pengampu:
MAHAZAM AFRAD S.Kom., M.Kom

PROGRAM STUDI SISTEM INFORMASI FAKULTAS


INFORMATIKA
INSTITUT TEKNOLOGI TELKOM PURWOKERTO
PURWOKERTO

2023
DAFTAR ISI

DAFTAR ISI...............................................................................................................................2
BAB I..........................................................................................................................................3
PEMBAHASAN.........................................................................................................................3
1.1 Variabel.........................................................................................................................3
1.2 Memori.........................................................................................................................3
1.3 Pointer...........................................................................................................................3
BAB II.........................................................................................................................................4
GUIDED......................................................................................................................................4
2.1 Guided I........................................................................................................................4
2.2 Guided II.......................................................................................................................4
2.3 Guided III......................................................................................................................5
BAB III........................................................................................................................................8
UNGUIDED................................................................................................................................8
3.1 Unguided I....................................................................................................................8
3.2 Unguided II...................................................................................................................9
3.3 Unguided III................................................................................................................10
BAB IV......................................................................................................................................12
REFRENSI................................................................................................................................12

2
BAB I
PEMBAHASAN
1.1 Variabel
Dalam bahasa pemrograman C++ variabel merupakan tempat penyimpanan nilai atau data
yang berupa angka dan huruf. Data yang sudah tersimpan di dalam variabel ini dapat
diambil kembali nilainya.
Aturan penulisan variabel:
a. Sebuah variabel hanya terdiri dari gabungan angka dan huruf, tetapi harus diawali
dengan penulisan huruf terlebih dahulu.
b. Penulisan variabel tidak boleh menggunakan spasi.
c. Penamaan variabel tidak boleh mengandung keyword dalam C++.
Format penulisan variabel adalah tipe_data nama_variabel, contoh int_usia. Sebuah
variabel hanya dapat menampung satu nilai misalnya “Indonesia”. Jika ingin menampung
nilai lebih maka menggunakan array. Array atau larik merupakan struktur data dalam
pemrograman yang digunakan untuk menyimpan nilai data dengan jenis yang sama dalam
satu variabel. Format penulisan array tipe_data nama_variabel[banyak data].

1.2 Memori
Memori komputer adalah sebuah perangkat keras yang digunakan untuk menyimpan data
berupa informasi yang bersifat sementara ataupun permanen. Memori merupakan
kumpulan storage units yang menyimpan data binary dalam bentuk bit. Berada didalam
CPU (Central Processor Unit), memori memiliki peran penting dalam mengoprasikan
perangkat komputer. Setiap data yang diproses oleh processor akan disimpan didalam
memori.

1.3 Pointer
Pointer merupakan sebuah variabel yang berisikan alamat memori dari suatu variable atau
objek. Pointer juga digunakan untuk melakukan pengaksesan data yang ada di alamat
memori tersebut.
Operator dalam pointer:
a. Addres-of Operator (&) adalah operator yang digunakan untuk mendapatkan atau
melihat alamat memori yang dimiliki variabel tersebut.
b. Dereference Operator (*) adalah operator yang digunakan untuk mendapatkan isi atau
nilai dari memori berdasarkan alamat memori.
Contoh deklarasi pointer:
a. int *pointer_umur;  membuat variabel dengan nama pointer_umur dengan tipe data
integer, yang berarti pointer ini hanya dapat variabel apa saja tetapi dengan tipe data
yang sama yaitu integer.
b. pointer_nama = &nama  variabel pointer yang merujuk pada variabel nama. Untuk
mengakses variabel ini dapat menggunakan operator * didepan nama pointer. Misalnya
ketikkan perintah cout<< *pointer_nama; Ketika dirun makan menampilkan nilai dari
variabel nama.

3
BAB II
GUIDED

1.4 Guided I
#include <iostream>
using namespace std;

int main() {
int jumlah = 30;
string negara = "Indonesia";
float volume = 17.25;
bool sehat = true;

int *ptr_jumlah = &jumlah;


string *ptr_negara = &negara;
float *ptr_volume = &volume;
bool *ptr_sehat = &sehat;

cout << "Alamat memori jumlah : " << &jumlah << endl;
cout << "Alamat memori negara : " << &negara << endl;
cout << "Alamat memori volume : " << &volume << endl;
cout << "Alamat memori sehat : " << &sehat << endl;
return 0;
}

Penjelasan:
Kode program ini menggunakan pointer, untuk menunjukkan alamat memori dari masing-
masing variabel. Didalam fungsi main terdapat variabel jumlah dengan tipe data integer dan
diinisialisasi dengan nilai 30. Variabel kedua yaitu negara dengan tipe data string dan disikan
nilai Indonesia. Ketiga yaitu variabel volume negan tipe data float dan dinisialisasi dengan
nilai 17.25 dan terakhir terdapat variabel sehat dengan tipe data Boolean dan diinisialisasikan
dengan nilai true. Didalam fungsi main juga terdapat pointer yang akan dideklarasikan, dari
masing-masing variabel itu akan menujuk ke alamat memorinya. Lalu pada bagian cout akan
mencetak hasilnya ke layar.

1.5 Guided II
#include <iostream>

4
using namespace std;

int main() {
int jumlah = 30;
string negara = "Indonesia";
float volume = 17.25;
bool sehat = true;

int *ptr_jumlah = &jumlah;


string *ptr_negara = &negara;
float *ptr_volume = &volume;
bool *ptr_sehat = &sehat;

cout << "Alamat memori jumlah : " << &jumlah << endl;
cout << "Nilai jumlah : " << jumlah << endl;
cout << "Alamat memori negara : " << &negara << endl;
cout << "Nilai negara : " << negara << endl;
cout << "Alamat memori volume : " << &volume << endl;
cout << "Nilai volume : " << volume << endl;
cout << "Alamat memori sehat : " << &sehat << endl;
cout << "Nilai sehat : " << sehat << endl;
return 0;
}

Penjelasan:
Kode program ini menggunakan pointer, untuk menunjukkan alamat memori dan juga nilai-
nilai yang sudah diberikan dari masing-masing variabel tersebut. Didalam fungsi main
terdapat variabel jumlah dengan tipe data integer dan diinisialisasi dengan nilai 30. Variabel
kedua yaitu negara dengan tipe data string dan disikan nilai Indonesia. Ketiga yaitu variabel
volume negan tipe data float dan dinisialisasi dengan nilai 17.25 dan terakhir terdapat variabel
sehat dengan tipe data Boolean dan diinisialisasikan dengan nilai true. Didalam fungsi main
juga terdapat pointer yang akan dideklarasikan, dari masing-masing variabel itu akan menujuk
ke alamat memorinya. Lalu pada bagian cout akan mencetak hasilnya ke layer yaitu alamat
dari memori dan juga nilai dari variabel tersebut.

1.6 Guided III

5
#include <iostream>
using namespace std;

int main() {
int jumlah = 30;
string negara = "Indonesia";
float volume = 17.25;
bool sehat = true;

int *ptr_jumlah = &jumlah;


string *ptr_negara = &negara;
float *ptr_volume = &volume;
bool *ptr_sehat = &sehat;

*ptr_jumlah = 191;
*ptr_negara = "England";
*ptr_volume = 0.125;
*ptr_sehat = false;

cout << "Alamat memori jumlah : " << &jumlah << endl;
cout << "Nilai jumlah : " << jumlah << endl;
cout << "Alamat memori negara : " << &negara << endl;
cout << "Nilai negara : " << negara << endl;
cout << "Alamat memori volume : " << &volume << endl;
cout << "Nilai volume : " << volume << endl;
cout << "Alamat memori sehat : " << &sehat << endl;
cout << "Nilai sehat : " << sehat << endl;
return 0;
}

Penjelasan:
Kode program ini menggunakan pointer, untuk menunjukkan alamat memori dan juga nilai-
nilai yang akan diubah. Didalam fungsi main terdapat variabel jumlah dengan tipe data integer
dan diinisialisasi dengan nilai 30. Variabel kedua yaitu negara dengan tipe data string dan
disikan nilai Indonesia. Ketiga yaitu variabel volume negan tipe data float dan dinisialisasi
dengan nilai 17.25 dan terakhir terdapat variabel sehat dengan tipe data Boolean dan
diinisialisasikan dengan nilai true. Didalam fungsi main juga terdapat pointer yang akan

6
dideklarasikan, dari masing-masing variabel itu akan menujuk ke alamat memorinya. Dalam
fungsi main juga terdapat sebuah pointer yang diinisialisasi dengan nilai berbeda dengan
sebelumnya. Lalu pada bagian cout akan mencetak hasilnya ke layer yaitu alamat dari memori
dan juga nilai dari variabel yang telah diubah tersebut.

7
BAB III
UNGUIDED

1.7 Unguided I
#include <iostream>
using namespace std;
int main() {
string nama_dosen_SI[10] =
{"Dwi Mustika Kusumawardani, S.Kom.,M.Kom",
"Sisilia Thya Safitri, S.T.,M.T",
"Dwi Januarita AK.,S.T.,M.Kom",
"Didi Supriyadi, S.T.,M.Kom.,ITIL",
"Citra Wiguna, S.Kom.,M.Kom",
"Cepi Ramdani,S.Kom.,M.Eng",
"Yogo Dwi Prasetyo,S.Si.,M.Si",
"Mahazam Afrad, S.Kom., M.Kom.",
"Toni Anwar, S.Kom., M.MSI",
"Sukmadiningtyas, S.Kom., M.Kom"};

string* ptr_dosenSI = nama_dosen_SI;

for (int p = 0; p < 10; ++p) {


cout << "Alamat memori nama dosen SI pada indeks [" << p << "]: " <<
&ptr_dosenSI[p] << endl;
}
return 0;
}

Penjelasan:
Kode program ini menampilkan alamat memori dari variabel nama_dosen_SI dengan
menggunakan array dengan panjang array 10. Yang menampung sebanyak 10 nama dosen.
Pada deklarasi pointer ‘ptr_dosenSI’ akan menunjukkan ke array ‘nama_dosen_SI’. Pada
program ini menggunakan perulangan for dengan variabel p dan tipe data int. Dimana

8
perulangan ini dimulai dari indeks 0 hingga 10. Pada bagian cout akan mencetak alamat
memori dari setiap elemen array menggunakan pointer.

1.8 Unguided II
#include <iostream>
using namespace std;
int main() {
string nama_dosen_SI[10] =
{"Dwi Mustika Kusumawardani, S.Kom.,M.Kom",
"Sisilia Thya Safitri, S.T.,M.T",
"Dwi Januarita AK.,S.T.,M.Kom",
"Didi Supriyadi, S.T.,M.Kom.,ITIL",
"Citra Wiguna, S.Kom.,M.Kom",
"Cepi Ramdani,S.Kom.,M.Eng",
"Yogo Dwi Prasetyo,S.Si.,M.Si",
"Mahazam Afrad, S.Kom., M.Kom.",
"Toni Anwar, S.Kom., M.MSI",
"Sukmadiningtyas, S.Kom., M.Kom"};

string* ptr_dosenSI = nama_dosen_SI;

for (int p = 0; p < 10; ++p) {


cout << "Nama dosen SI pada indeks [" << p << "]: " << ptr_dosenSI[p]
<< endl;
}
return 0;
}

Penjelasan:
Program ini adalah program sederhana yang menggunakan array string untuk menyimpan
nama-nama dosen. Pada fungsi main terdapat variabel nama_dosen_SI dengan tipe data string
dan panjang array 10. Dimana ini mendefinisilan sebuah variabel yang menampung nama
dosen sebanyak 10. ‘string* ptr_dosenSI’ ini mendeklarasikan pointer ptr_dosenSI yang
menunjuk ke array nama_dosen_SI. Dengan demikian, ptr_dosenSI menunjuk ke alamat
memori dari elemen pertama dari array nama_dosen_SI. Program ini juga menggunakan
perulangan for (int p = 0; p < 10; ++p) ini memulai perulangan dari 0 hingga 9, karena ada 10

9
elemen dalam array. Pada bagian cout << "Nama dosen SI pada indeks [" << p << "]: " <<
ptr_dosenSI[p] << endl; akan mencetak nama dosen dari setiap elemen array menggunakan
pointer.

1.9 Unguided III


#include <iostream>
using namespace std;
int main() {
string nama_dosen_SI[10] =
{"Dwi Mustika Kusumawardani, S.Kom.,M.Kom",
"Sisilia Thya Safitri, S.T.,M.T",
"Dwi Januarita AK.,S.T.,M.Kom",
"Didi Supriyadi, S.T.,M.Kom.,ITIL",
"Citra Wiguna, S.Kom.,M.Kom",
"Cepi Ramdani,S.Kom.,M.Eng",
"Yogo Dwi Prasetyo,S.Si.,M.Si",
"Mahazam Afrad, S.Kom., M.Kom.",
"Toni Anwar, S.Kom., M.MSI",
"Sukmadiningtyas, S.Kom., M.Kom"};

string* ptr_dosenSI = nama_dosen_SI;

ptr_dosenSI[0] = "Khairun Nisa Meiah Ngafidin,S.Pd.,M.Kom";


ptr_dosenSI[1] = "Daniel Yeri Kristiyanto,S.Kom,.M.Kom.,M.Si";
ptr_dosenSI[2] = "Resad Setyadi,S.T.,S.Si.,MMSI";
ptr_dosenSI[3] = "Sukmadiningtyas, S.Kom., M.Kom";
ptr_dosenSI[4] = "Sandhy Fernandez, S.Kom., M.Kom.";
ptr_dosenSI[5] = "Muhamad Awiet Wiedanto Prasetyo, S.Kom., M.MSI.";
ptr_dosenSI[6] = "Sukmadiningtyas, S.Kom., M.Kom";
ptr_dosenSI[7] = "Dwi Mustika Kusumawardani, S.Kom.,M.Kom";
ptr_dosenSI[8] = "Sisilia Thya Safitri, S.T.,M.T";
ptr_dosenSI[9] = "Dwi Januarita AK.,S.T.,M.Kom";

cout << "Nama Dosen Setelah Diubah : "<<endl; cout <<endl;

for (int p = 0; p < 10; ++p) {


cout << "Dosen_SI indeks [" << p << "]: " << nama_dosen_SI[p]
<< endl;
}
}

10
Penjelasan:
Program ini adalah program sederhana yang menggunakan pointer untuk mengubah dan
menampilkan nama-nama dosen SI. Pada program ini terdapat fungsi main, dimana fungsi
main ini terdapat variabel nama_dosen_SI dengan tipe data string dan panjang array 10.
Dimana ini mendefinisikan sebuah variabel yang menampung nama dosen sebanyak 10.
‘string* ptr_dosenSI’ ini mendeklarasikan pointer ptr_dosenSI yang menunjuk ke array
nama_dosen_SI. Lalu setiap elemen dalam ‘nama_dosen_SI’ akan diubah menggunakan
pointer ‘ptr_dosenSI’. Setelah itu program akan menampilkan nam dosen yang telah diubah.

11
BAB IV
REFRENSI

https://repository.dinus.ac.id/docs/ajar/Alpro1_Materi_02_Tipe_Data_dan_Variabel.pptx

Huda, N. (2024). Memori Komputer: Pengertian, Jenis-Jenis, dan Fungsinya. Retrieved from
https://www.dewaweb.com/blog/pengertian-memori-komputer/

berkata:, I., berkata:, Z., Berkata:, C. H. and berkata:, S. W. F. berkata:, I., berkata:, Z.,
Berkata:, C. H., & berkata:, S. W. F. (2019). Pointer. Retrieved from
https://www.belajarcpp.com/tutorial/cpp/p

12

Anda mungkin juga menyukai