ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
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
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
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;
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
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
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
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
#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]
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; .

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; .