Anda di halaman 1dari 13

LAPORAN PRAKTIKUM RESMI

POINTER





Disusun oleh :
Analis Hasby Azizah
201301043

Dosen pengampu :
Yosef Murya Kusuma Ardhana.S.T., M.Kom




JURUSAN SISTEM INFORMASI
SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO
PURWOKERTO
2014
2

BAB I
TEORI DASAR

A. Pointer
Pointer adalah suatu nilai yang menunjuk pada alamat tertentu pada suatu lokasi memori,
pointer bisa juga disebut dengan variabel pointer. Karene variabel pointer merupakan
variabel yang berisi alamat objek lain yang ditunjuk oleh pointer, variabel pointer sering
disebut dengan variabel yang menunjuk objek lain. Suatu variabel pointer dapat
dideklarasikan dengan bentuk :
Tipe*nama_variabel
Pointer harus diisi dengan alamat dari variabel yang akan ditunjuk agar dapat mengatur
pointer sehingga bisa menunjuk ke variabel lain. Operator & digunakan untuk menyatakan
alamat varibel yang akan ditunjuk. Sebagai contoh : &A
Variabel yang sudah ditunjuk oleh pointer dapat diakses oleh variabel itu sendiri ataupun
melalui pointer. Oprator indection, berupa simbol atau tanda * digunakan untuk pengaksesan
melalui pointer (pengaksesan tidak langsung). Sebagai contoh : *AZ












3

BAB II
PENJELASAN PROGRAM

A. Latihan Praktikum
Listing Program 9.1
/*
* pointer.cpp
*
* Created on: May 26, 2014
* Author: my
*/


#include <iostream>
using namespace std;

int main()
{
int *pu;
int nu;
int u=1234;

pu=&u;
nu=*pu;
cout<<"u = "<<u <<endl;
cout<<"nu = "<<nu;
}

Output Program
Hasil dari output Program adalah sebagai berikut :

4


Penjelasan Program
Berukut penjelasan dari Listing Program 9.1 :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. <iostream> berfungsi untuk menampilkan deklarasi pada cout.
4. int main() mengawai suatu program.
5. int tipe data integer.
6. & merupakan oprator yang menyatakan alamt yang akan ditunjuk. &u berarti menunjuk
variabel u.
7. Tanda * merupakan oprator indection dihunakan untuk pengkaksesan secara tidak langsung.
8. pu=&u; nilai pada u ditampung di variabel pu.
nu=*pu; nilai nu sama dengan pu yang merupakan nilai dari u.
cout<< u = <<u <<endl; u = 1234
cout<< nu = <<nu; nu = 1234
u dan nu sama karena nu = u



B. Tugas Praktikum

Listing Program 9.2
/*
* pointer.cpp
*
* Created on: May 26, 2014
* Author: my
*/


#include <iostream>
#include <cstring>
using namespace std;

int main()
{
string *puy;
string nu;
5

string ny;
string u="batman";
string y="gatotkaca";

puy=&u;
nu=*puy;

puy=&y;
ny=*puy;

cout<<"bertopeng = "<<u <<endl;
cout<<"bertopeng = "<<nu<<endl;
cout<<"berkumis = "<<y<<endl;
cout<<"berkumis = "<<ny;
}

Output Program 9.2



Penjelasan Program 9.2
Berukut penjelasan dari Listing Program 9.2 :
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh
compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. <iostream> berfungsi untuk menampilkan deklarasi pada cout.
4. int main() mengawai suatu program.
5. string tipe data kata atau kalimat.
6

6. & merupakan oprator yang menyatakan alamt yang akan ditunjuk. &u berarti menunjuk
variabel u, &y berarti menunjuk variabel y.
7. Tanda * merupakan oprator indection dihunakan untuk pengkaksesan secara tidak
langsung.
8. puy=&u; nilai pada u ditampung di variabel puy.
nu=*puy; nilai nu sama dengan puy yang merupakan nilai dari u.
cout<< bertopeng = <<u <<endl; hasil bertopeng = batman
cout<< bertopeng = <<nu; hasil bertopeng = batman
hasil bertopeng yang dipanggil dengan cout <<u dan cout<< nu sama yaitu batman
karena nu = u.
9. puy=&y; nilai pada u ditampung di variabel puy.
ny=*puy; nilai nu sama dengan puy yang merupakan nilai dari y.
cout<< berkumis = <<y <<endl; hasil bertopeng = gatotkaca
cout<< berkumis = <<ny; hasil bertopeng = gatotkaca
hasil bertopeng yang dipanggil dengan cout <<y dan cout<< ny sama yaitu gatotkaca
karena ny = y..



Listing Program 9.2 Typedef
/*
* typedef.cpp
*
* Created on: May 26, 2014
* Author: my
*/


#include <iostream>
#include <cstring>
using namespace std;

typedef string ees;

int main()
{
ees *puy;
ees nu;
ees ny;
ees u="batman";
ees y="gatotkaca";

puy=&u;
nu=*puy;

puy=&y;
ny=*puy;
7


cout<<"bertopeng = "<<u <<endl;
cout<<"bertopeng = "<<nu<<endl;
cout<<"berkumis = "<<y<<endl;
cout<<"berkumis = "<<ny;
}

Output Program 9.2 Typedef


Penjelasan Program 9.2 Typedef
Berukut penjelasan dari Listing Program 9.2 Typedef:
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh
compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. Typedef string ees; pendeklarasian tipe data baru yaitu ees.
4. <iostream> berfungsi untuk menampilkan deklarasi pada cout.
5. int main() mengawai suatu program.
6. string tipe data kata atau kalimat.
7. & merupakan oprator yang menyatakan alamt yang akan ditunjuk. &u berarti menunjuk
variabel u, &y berarti menunjuk variabel y.
8. Tanda * merupakan oprator indection dihunakan untuk pengkaksesan secara tidak
langsung.
9. puy=&u; nilai pada u ditampung di variabel puy.
nu=*puy; nilai nu sama dengan puy yang merupakan nilai dari u.
8

cout<< bertopeng = <<u <<endl; hasil bertopeng = batman
cout<< bertopeng = <<nu; hasil bertopeng = batman
hasil bertopeng yang dipanggil dengan cout <<u dan cout<< nu sama yaitu batman
karena nu = u.
10. puy=&y; nilai pada u ditampung di variabel puy.
ny=*puy; nilai nu sama dengan puy yang merupakan nilai dari y.
cout<< berkumis = <<y <<endl; hasil bertopeng = gatotkaca
cout<< berkumis = <<ny; hasil bertopeng = gatotkaca
hasil bertopeng yang dipanggil dengan cout <<y dan cout<< ny sama yaitu gatotkaca
karena ny = y.


Listing Program 9.2 Struct
/*
* struct.cpp
*
* Created on: May 26, 2014
* Author: my
*/


#include <iostream>
#include <cstring>
using namespace std;

struct{
string *puy;
string nu;
string ny;
string u;
string y;
}ees;

int main()
{

*ees.puy;
ees.nu;
ees.ny;
ees.u="batman";
ees.y="gatotkaca";

ees.puy=&ees.u;
ees.nu=*ees.puy;

ees.puy=&ees.y;
ees.ny=*ees.puy;

9

cout<<"bertopeng = "<<ees.u <<endl;
cout<<"bertopeng = "<<ees.nu<<endl;
cout<<"berkumis = "<<ees.y<<endl;
cout<<"berkumis = "<<ees.ny;
}

Output Program 9.2 Struct


Penjelasan Program 9.2 Struct
Berukut penjelasan dari Listing Program 9.2 struct:
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh
compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. struct{
string *puy;
string nu;
string ny;
string u;
string y;
}ees; langsung dianggap variabel ees.
4. <iostream> berfungsi untuk menampilkan deklarasi pada cout.
5. int main() mengawai suatu program.
6. string tipe data kata atau kalimat.
10

7. & merupakan oprator yang menyatakan alamt yang akan ditunjuk. &u berarti menunjuk
variabel u, &y berarti menunjuk variabel y.
8. Tanda * merupakan oprator indection dihunakan untuk pengkaksesan secara tidak
langsung.
9. puy=&u; nilai pada u ditampung di variabel puy.
nu=*puy; nilai nu sama dengan puy yang merupakan nilai dari u.
cout<< bertopeng = <<u <<endl; hasil bertopeng = batman
cout<< bertopeng = <<nu; hasil bertopeng = batman
hasil bertopeng yang dipanggil dengan cout <<u dan cout<< nu sama yaitu batman
karena nu = u.
10. puy=&y; nilai pada u ditampung di variabel puy.
ny=*puy; nilai nu sama dengan puy yang merupakan nilai dari y.
cout<< berkumis = <<y <<endl; hasil bertopeng = gatotkaca
cout<< berkumis = <<ny; hasil bertopeng = gatotkaca
hasil bertopeng yang dipanggil dengan cout <<y dan cout<< ny sama yaitu gatotkaca
karena ny = y.

Listing Program 9.2 Typedef Struct
/*
* typedefstruct.cpp
*
* Created on: May 26, 2014
* Author: my
*/


#include <iostream>
#include <cstring>
using namespace std;

typedef struct esa{
string *puy;
string nu;
string ny;
string u;
string y;
};

int main()
{
esa ees;

*ees.puy;
ees.nu;
ees.ny;
ees.u="batman";
11

ees.y="gatotkaca";

ees.puy=&ees.u;
ees.nu=*ees.puy;

ees.puy=&ees.y;
ees.ny=*ees.puy;

cout<<"bertopeng = "<<ees.u <<endl;
cout<<"bertopeng = "<<ees.nu<<endl;
cout<<"berkumis = "<<ees.y<<endl;
cout<<"berkumis = "<<ees.ny;
}

Output Program 9.2 Typedef Struct


Penjelasan Program 9.2 Typedef Struct
Berukut penjelasan dari Listing Program 9.2 Typedef Struct:
1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuat
sebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintah
atau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh
compiler.
2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk
menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum
kompilasi dimulai
3. Typedef struct esa pendeklarasian tipe data baru struct esa.
4. esa ees; variabbel ees bertipe esa.
5. <iostream> berfungsi untuk menampilkan deklarasi pada cout.
6. int main() mengawai suatu program.
12

7. string tipe data kata atau kalimat.
8. & merupakan oprator yang menyatakan alamt yang akan ditunjuk. &u berarti menunjuk
variabel u, &y berarti menunjuk variabel y.
9. Tanda * merupakan oprator indection dihunakan untuk pengkaksesan secara tidak
langsung.
10. puy=&u; nilai pada u ditampung di variabel puy.
nu=*puy; nilai nu sama dengan puy yang merupakan nilai dari u.
cout<< bertopeng = <<u <<endl; hasil bertopeng = batman
cout<< bertopeng = <<nu; hasil bertopeng = batman
hasil bertopeng yang dipanggil dengan cout <<u dan cout<< nu sama yaitu batman
karena nu = u.
11. puy=&y; nilai pada u ditampung di variabel puy.
ny=*puy; nilai nu sama dengan puy yang merupakan nilai dari y.
cout<< berkumis = <<y <<endl; hasil bertopeng = gatotkaca
cout<< berkumis = <<ny; hasil bertopeng = gatotkaca
hasil bertopeng yang dipanggil dengan cout <<y dan cout<< ny sama yaitu gatotkaca
karena ny = y.














13

BAB III
KESIMPULAN

Pointer merupakan suatu nilai yng ditampung dalam sebuah variabel. Dengan
menggunakan pointer kita bisa menciptakan variabel dinamis yang memungkinkan untuk
memakai memori yang belum digubakan dalam eksekusi program.

Anda mungkin juga menyukai