Laporan praktikum ini membahas tentang struktur data dan pointer. Pointer adalah variabel penunjuk yang berisi alamat memori dari variabel lain. Terdapat dua operator pointer, yaitu & untuk menunjuk alamat dan * untuk menunjuk isi. Contoh program menggunakan pointer untuk menunjuk dan mengakses nilai variabel lain.
1 of 9
Download to read offline
More Related Content
Modul 2 strukdat
1. LAPORAN PRAKTIKUM
STRUKTUR DATA
MODUL 2
Vincentius setyo kristanto
123090142
plug 9
Assdos / Coast
Widy Sulistianto / Dian Andarini
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UPN 'VETERAN' YOGYAKARTA
2010
2. BAB 1
PEMBAHASAN
Pointer1
#include <iostream>
using std::cout;
using std::endl;
int main(){
int x,y; // x dan y bertipe int
int *px; // px pointer yang menunjuk objek
x = 87;
px = &x; // px berisi alamat dari x
y = *px; // y berisi nilai yang ditunjuk px
cout << "Alamat X = " << &x << endl;
cout << "Isi px = " << px <<endl;
cout << "isi x = " << x << endl;
cout << "Nilai yang ditunjuk oleh px = " << *px << endl;
cout << "Nilai y = " << y << endl;
}
Output
#include <iostream> //praprosesor yang digunakan untuk memanggil fungsi cin, cout
dan cin;
using std::cout; // untuk membaca fungsi cout
using std::endl; // untuk membaca fungsi endl
int main () //pernyataan untuk mengawali eksekusi program
int x,y; // x dan y bertipe int
3. int *px; // px pointer bertipe integer yang menunjuk objek
x = 87; // variabel x yang mempunyai nilai
px = &x; // px berisi alamat dari x
y = *px; // y berisi nilai yang ditunjuk px
cout << "Alamat X = " << &x << endl; // fungsi untuk menampilkan kalimat yang
berada di dalam tanda petik dan memanggil alamat dari variabel &x
cout << "isi x = " << x << endl; // fungsi untuk menampilkan kalimat yang
berada pada tanda petik dan memanggil nilai dari variabel x
Pointer3
#include<iostream>
#include<malloc.h>
using namespace std;
int main()
{
int *p, *q, *r;
int n = 10;
p = (int *)malloc(sizeof(int));
q = (int *)malloc(sizeof(int));
p = &n;
*q = 120;
r = p;
cout << "Isi info pointer n";
cout << "*p = " << *p << endl;
cout << "*q = " << *q << endl;
cout << "*r = " << *r << endl;
cout << "nAlamat register pointer :n";
cout << "p = " << p << endl;
cout << "q = " << q << endl;
cout << "r = " << r << endl;
n = *q;
p = q;
cout << "nKondisi akhir isi info pointer :n";
cout << "n = " << n << endl;
4. cout << "*p = " << *p << endl;
cout << "*q = " << *q << endl;
cout << "*r = " << *r << endl;
}
Output
#include <iostream> //praprosesor yang digunakan untuk memanggil fungsi cin, cout
dan cin;
#include<malloc.h> // praprosesor yang digunakan untuk memanggil fungsi yang
digunakan untuk membuat alamat baru / malloc
using namespace std; // untuk membaca fungsi cout,cin,endl
int main() //pernyataan untuk mengawali eksekusi program
int *p, *q, *r; //beberapa variabel dengan tipe integer
int n = 10; //sebuah variabel dengan tipe integer yang sudah mempunyai nilai
p = (int *)malloc(sizeof(int)); //fungsi untuk memberikan sebuah tempat kepada
variabel p dengan tipe data integer
p = &n; // variabel p menunjuk ke alamat variabel &n
*q = 120; // variabel *p sudah berisi nilai 120
r = p; //alamat r menunjuk ke alamt p
cout << "Isi info pointer n"; // fungsi untuk menampilkan kalimat yang terdapat
di dalam tanda petik
5. cout << "*p = " << *p << endl; // fungsi untuk menampilkan kalimat yang terdapat
di dalam tanda petik dan memanggil variabel *p
n = *q; // variabel n menunjuk ke variabel *q dan nilai dari n pindah di
variabel *q
p = q; // alamat p juga menunjuk ke alamat q dan nilai p sama dengan nilai q
Pointer5
#include <iostream>
using namespace std;
int main()
{
int nilai[3], *penunjuk;
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
cout << "Nilai " << *penunjuk + 1 << " ada didalam memori : " <<
penunjuk << endl;
cout << "Nilai " << *(penunjuk+1) << " ada didalam memori : " <<
penunjuk+1 << endl;
cout << "Nilai " << *(penunjuk+2) << " ada didalam memori : " <<
penunjuk+2 << endl;
}
Output
#include <iostream> //praprosesor yang digunakan untuk memanggil fungsi cin, cout
dan cin;
using namespace std; // untuk membaca fungsi cout,cin,endl
int main() //pernyataan untuk mengawali eksekusi program
6. int nilai[3], *penunjuk; //beberapa variabel dengan tipe integer
nilai[0] = 125; // variabel nilai dengan indeks 0 yang mempunyai nilai 125
penunjuk = &nilai[0]; // alamat dari variabel penunjuk menunjuk ke alamat
&nilai[0]
cout << "Nilai " << *penunjuk + 1 << " ada didalam memori : " << penunjuk <<
endl; //fungsi untuk menampilkan kalimat yang ada di dalam tanda petik
7. BAB II
TUGAS
#include <iostream>
using namespace std;
int main ()
{
int x[5], *p, k;
p = x;
x[0] = 5;
x[1] = x[0];
x[2] = *p + 2;
x[3] = *(p+1) - 3;
x[4] = *(x +2);
for(k=0; k<5; k++)
cout << "x[" << k << "] = " << x [k] << endl;
}
Ilustrasi
Output
8. #include <iostream> //praprosesor yang digunakan untuk memanggil fungsi cin, cout
dan cin;
using namespace std; // untuk membaca fungsi cout,cin,endl
int main() //pernyataan untuk mengawali eksekusi program
int x[5], *p, k; // beberapa variabel dengan bertipe integer
p = x; // alamat p menunjuk ke alamat x
x[0] = 5; // variabel x[0] berisi nilai 5
x[1] = x[0]; // variabel x[1] berisi nilai dari x[0]
x[2] = *p + 2; // variabel x[2] berisi nilai dari variabel *p ditambah 2 (p
nilainya sama dengan x yaitu 5)
x[3] = *(p+1) – 3; //
x[4] = *(x +2); //
for(k=0; k<5; k++) // sebuah fungsi perulangan
cout << "x[" << k << "] = " << x [k] << endl; // untuk menampilkan kalimat
yang berada di dalam tanda petik dengan memanggil variabel x[k]
9. KESIMPULAN
Pointer (variable penunjuk) merupakan suatu variable penunjuk yang berisi alamat memory dari
suatu variable lain . Alamat ini merupakan lokasi dari obyek lain ( biasanya variable lain ) di dalam
memori.Contoh ,jiak sebuah vaiable berisi alamt dari variable lain, variasi pertama diakatakan
menunjuk ke variable kedua.Terdapat 2 operator pointer yaitu :
& = menunjuk alamat
* = menunjuk isi
Deklarasi pointer dalam bentuk umum : tipe_data*nama_pointer; .