laporan praktikum resmi pointer

10
LAPORAN PRAKTIKUM RESMI POINTER Disusun oleh : Albert Sugihartono 201301018 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

Upload: giseyaki

Post on 24-Apr-2017

281 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Laporan Praktikum Resmi Pointer

LAPORAN PRAKTIKUM RESMI

POINTER

Disusun oleh :

Albert Sugihartono

201301018

Dosen pengampu :

Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI

SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO

2014

Page 2: Laporan Praktikum Resmi Pointer

2

BAB I

TEORI DASAR

1. Pengantar

Pointer adalah variable yang berisi alamat memori sebagai nilainya dan berbeda dengan

variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable

yang mempunyai nilai tertentu. Bentuk umum dari pernyataan variable pointer dalam C++

adalah : Type *variable-name;

Dengan:

Type adalah tipe dasar pointer

Variable name adalah nama variable pointer

* adalah operator memori yang fungsinya untuk mengembalikan nilai variable pada

alamatnya yang ditentukan oleh operand.

Untuk mengatur pointer agar dapat menunjuk ke variable lain, yaitu awal pointer harus diisi

dengan alamat dari variable yang akan ditunjuk. Dalam hal ini, digunakanlah operator.

Operator yang digunakan dalam pointer adalah operator alamat(yang dilambangkan dengan

symbol &) adalah operator unary yang mengembalikan alamat dari operandnya.

Contoh pada sebuah deklarasi:

maka pernyataan:

Pernyataan diatas mengandung arti bahwa alamat dari variable y ditujukan kepada variable

pointer x.

int y = 5;

int *x;

x = &y;

Page 3: Laporan Praktikum Resmi Pointer

3

BAB II

PENJELASAN PROGRAM

Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan pemrograman

C++ program_pointer.cpp

Listing program_praktikum_pointer.cpp

/*

* program_praktikum_pointer.cpp

*

* Created on: May 13, 2014

* Author: ALBERT

*/

#include <iostream>

using namespace std;

int main()

{

string *berkumis;

string kumis;

string orang="Gatot_kaca";

string *bertopeng;

string topeng;

string manusia="Batman";

bertopeng=&manusia;

topeng=*bertopeng;

berkumis=&orang;

kumis=*berkumis;

cout<<"Berkumis= "<<kumis<<endl;

cout<<"Bertopeng= "<<topeng;

return 0;

}

Output program_praktikum_pointer.cpp

Hasil output dari program_praktikum_pointer.cpp adalah sebagai berikut :

Page 4: Laporan Praktikum Resmi Pointer

4

Penjelasan program_praktikum_pointer.cpp

Berikut penjelasan dari Listing program_praktikum_pointer.cpp :

1. Program praktikum ini bertujuan untuk memunculkan “Gatot_kaca” jika “Berkumis” dan

“Batman” jika “Bertopeng” dengan menggunakan pointer. Pointer digunakan sebagai “wadah

sementara” untuk value yang ditampung. Pointer pada program ditandai dengan symbol

bintang (*) yaitu *berkumis dan *bertopeng. Ada 3 jenis variabel yang dideklarasikan yaitu

variabel pointer sebagai penampung, variabel sebagai sumber data yang ditunjuk dan variabel

yang dituju dengan tipe data yang digunakan adalah string. Penggunaan string memungkinkan

perlakuan terhadap value yang dimunculkan sesuai dengan apa yang diinputkan, bukan

memunculkan simbol.

2. Ada 2 tahap dalam pemindahan data. Pertama, variable pointer diisi dengan data dari variable

yang ditunjuk untuk variabel pointer. Variable ini diassignmentkan dengan ditandai symbol

dan (&). Sebagai contoh pada program : bertopeng=&manusia; yang berarti bahwa alamat dari

variable manusia ditujukan kepada variable bertopeng. Selanjutnya adalah assignment dari

variable pointer yang telah diisi kepada variable yang dituju yang akan dimasukkan ke output

stream dimana untuk variable pointer ditandai dengan symbol bintang (*). Sebagai contoh :

topeng=*bertopeng.

3. Untuk memunculkannya dalam output, variable yang dituju dimasukkan ke dalam output

stream dengan cout. Dengan begitu, output dapat dimunculkan dimana bila Bertopeng akan

memunculkan Batman dan jika Berkumis akan memunculkan Gatot_kaca.

Tugas Praktikum

Pada tugas praktikum ini merupakan sebuah program menampilkan biodata dengan

menggunakan pointer dan tipe data abstrak typedef dan struct.

/*

* program_pointer.cpp

Page 5: Laporan Praktikum Resmi Pointer

5

*

* Created on: 16 May 2014

* Author: ALBERT

*/

#include <iostream>

using namespace std;

typedef string kal;

typedef int ankka;

struct apa

{

kal *nama;

kal jeneng;

kal name;

kal *alamat;

kal edres;

kal almt;

ankka NIM;

ankka *nim;

ankka nimu;

kal hobie;

kal *HOBBY;

kal hobi;

kal ttl;

kal *tempattgl;

kal born;

};

Page 6: Laporan Praktikum Resmi Pointer

6

int main()

{

apa a;

a.name="Albert_Sugihartono";

a.nama=&a.name;

a.jeneng=*a.nama;

a.almt="Brobahan_Timur_86A_Purwokerto";

a.alamat=&a.almt;

a.edres=*a.alamat;

a.nimu=201301018;

a.nim=&a.nimu;

a.NIM=*a.nim;

a.hobie="Membaca,menggambar,dan.lain.lain";

a.HOBBY=&a.hobie;

a.hobi=*a.HOBBY;

a.born="Bandung,14-Juni-1995";

a.tempattgl=&a.born;

a.ttl=*a.tempattgl;

cout<<"\t\tMY BIODATA\n\n";

cout<<"==================================================\n\n";

cout<<"Nama lengkap : "<<a.jeneng<<endl;

cout<<"Tempat/tanggal lahir : "<<a.ttl<<endl;

cout<<"Alamat rumah : "<<a.edres<<endl;

cout<<"NIM : "<<a.NIM<<endl;

cout<<"Hobi : "<<a.hobi<<endl;

return 0;

}

Page 7: Laporan Praktikum Resmi Pointer

7

Output program_pointer.cpp

Penjelasan program_pointer.cpp

Berikut penjelasan dari program_pointer.cpp :

1. Program memunculkan sebuah biodata dengan menggunakan pointer, tipe data abstrak

typedef dan tipe data abstrak struct. Typedef digunakan untuk memberi alias terhadap

sebuah variable yang menjadikan variable tersebut sebuah tipe data baru. Dalam program

typedef digunakan untuk alias variable kal untuk tipe data string dan alias variable ankka

untuk tipe data integer.

2. Tipe data abstrak struct digunakan pada program dengan nama struct apa dengan

membernya yang berisikan variable-variabel yang dibutuhkan program pointer guna

memunculkan biodata dengan menggunakan pointer. Cara penggunaan member struct atau

cara pengaksesannya dilakukan dengan menggunakan penghubung simbol titik (.). Di

dalam program dapat dilihat penggunaan struct dengan mengganti nama struct apa dengan

a untuk mempermudah. Kemudian, variable a digunakan sebagai media akses member

struct dengan simbol titik sebagai contoh a.nama.

3. Di dalam program, variabel yang ditunjuk untuk pointer diassignmentkan terlebih dahulu

sesuai tujuan variabel tersebut. Misal, variabel name ditujukan untuk nama, maka

assignment value dilakukan dengan menulis a.name=”Albert_Sugihartono”;

Pendeklarasian variabel tidak dapat dilakukan di dalam struct, karena struct hanya

menampung member/anggota yaitu variabel-variabel sehingga apabila terjadi proses

assignment akan memunculkan error.

Page 8: Laporan Praktikum Resmi Pointer

8

4. Ada 3 proses untuk pointer dari setiap variabel biodata yaitu pertama adalah value variabel

sumber diassignmentkan terlebih dahulu. Kedua, variabel pointer diassignmentkan oleh

variabel sumber dimana alamat variabel yang ditunjuk ditujukan kepada variabel pointer

ditandai oleh simbol dan (&). Sebagai contoh a.alamat=&a.almt; dimana a.alamat adalah

variabel pointer dan alamat dari variabel a.almt ditujukan kepada variabel a.alamat. Yang

ketiga adalah variabel pointer sebagai “wadah” diassignmentkan kepada variabel yang akan

dimasukkan kedalam output stream dengan variabel pointer ditandai simbol bintang (*).

Contoh : a.ttl=*a.tempattgl;.

5. Variabel yang sudah diassignmentkan oleh variabel pointer dapat dimasukkan kedalam

output stream (cout) untuk memunculkan output biodata.

Page 9: Laporan Praktikum Resmi Pointer

9

BAB III

KESIMPULAN

Pointer merupakan variabel yang merupakan sebuah “wadah” sementara untuk value yang akan

digunakan. Secara teknis, pointer merupakan variabel yang mana alamat memorinyalah berupa

value yang membedakannya dengan variabel berisi value tertentu. Hal ini dapat dilihat saat sebuah

variabel pointer dimasukkan kedalam output stream. Jika variabel pointer dioutputkan tanpa tanda

pointer maka yang akan terjadi adalah output berupa bahasa mesin dikarenakan value variabel

pointer adalah alamat memorinya. Variabel pointer ditandai dengan simbol bintang (*) sedangkan

variabel yang ditunjuk untuk pointer ditandai dengan simbol dan (&) dimana simbol ini merupakan

operator unary untuk mengembalikan alamat operandnya. Untuk penggunaan tipe data abstrak

pada program_pointer.cpp yaitu typedef dan struct. Typedef digunakan untuk memberikan alias

terhadap variabel yang mengikutinya atas tipe data yang digunakan sehingga menjadikan tipe data

baru yang bersifat sama dengan tipe data saat pendeklarasian typedef. Variabel struct digunakan

untuk meringkas program dimana dideklarasikan didalam program_pointer.cpp dengan struct apa

yang memiliki member yaitu variabel-variabel yang digunakan untuk biodata. member diakses

dengan terlebih dahulu menukar nama struct apa dengan a sebagai media akses dan menggunakan

simbol titik diikuti variabel didalam member. Sebagai contoh a.ttl. Didalam struct, tidak

memungkinkan untuk terjadi sebuah assignment atau proses dikarenakan member struct hanyalah

untuk menampung variabel yang akan digunakan didalam sebuah struktur data. Maka apabila

terdapat assignment atau proses didalam member struct akan memunculkan error pada program.

Page 10: Laporan Praktikum Resmi Pointer

10

Sumber Referensi

Kristanto, Andi. 2003. Struktur Data Dengan C++

Yogyakarta : Graha Ilmu

Ardhana. YM Kusuma. 2013. Struktur Data Dalam Ilustrasi Eclipse Indigo C++

Yogyakarta : CAPS (Center of Academic Publishing Service)