laporan praktikum resmi bab ix pointer

9
LAPORAN PRAKTIKUM RESMI POINTER Disusun oleh : Fransisca Febriyani 201301021 Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

Upload: kitingggexokai

Post on 28-Dec-2015

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Laporan Praktikum Resmi Bab Ix Pointer

LAPORAN PRAKTIKUM RESMI

POINTER

Disusun oleh :

Fransisca Febriyani

201301021

Dosen pengampu :

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

JURUSAN SISTEM INFORMASISEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO

PURWOKERTO2014

Page 2: Laporan Praktikum Resmi Bab Ix Pointer

2

BAB I

TEORI DASAR

Variable pointer atau lebih sering disebut dengan pointer adalah suatu nilai yang

menunjuk pada alamat tertentu pada suatu lokasi memori. Pointer juga dapat diartikan sebagai

suatu nilai yang ditampung dalam sebuah variable. Jika diartikan lebih sederhana, maka pointer

adalah suatu nilai yang menyatakan alamat suatu lokasi.

Pointer banyak dilibatkan dalam pemrograman C++, misalnya untuk melewatkan string

dari suatu fungsi ke fungsi yang lain. Penerapan pointer yang paling umum, yaitu menciptakan

variable dinamis, yang memungkinkan untuk memakai memori bebas atau dapat disebut memori

yang belum dipakai atau digunakan selama eksekusi program.

Variable pointer sering disebut sebagai variable yang menunjuk obyek lain, karena

variable pointer merupakan variable yang berisi alamat dari suatu obyek lain, yaitu obyek yang

ditunjuk oleh pointer. Suatu variable pointer dapat dideklarasikan dengan bentuk :

Tipe data *nama-variable;

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

harus diisi dengan alamat dari variable yang akan ditunjuk. Operator & digunakan unutk

menyatakan alamat variable yang akan ditunjuk. Sebagai contoh pointer : &y.

Jika suatu variable sudah ditunjuk oleh pointer, variable yang ditunjuk oleh pointer dapat

diakses oleh variable itu sendiri (pengaksesan secara langsung) atau melalui pointer

(pengaksesan secara tidak langsung). Operator indection, berupa symbol atau tanda * digunakan

untuk pengaksesan tidak langsung. Sebagai contoh : *y.

Page 3: Laporan Praktikum Resmi Bab Ix Pointer

3

BAB II

PENJELASAN PROGRAM

Pada penjelasan program bab ini akan dijelaskan mengenai bagaimana melakukan

pemrograman C++ secara sederhana sesuai dengan modul praktikum pada Program 9 dan

Program Biodata dengan Pointer dan Tipe Data Abstrak Typedef dan Typedef Struct.

Listing Program 9

/** Latihan-Lagi.cpp** Created on: May 13, 2014* Author: kitinggg*/

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

int main(){string *yani, *tao;string exo, exom;string kai="Gatot Kaca";string oh="Batman";int *sehun, *luhan;int chen, dio;int byun=35;int park=32;

yani=&kai;tao=&oh;sehun=&byun;luhan=&park;exo=*yani;exom=*tao;chen=*sehun;dio=*luhan;

cout <<"Berkumis = "<<exo<<endl<<"Size T-Shirt : "<<dio<<endl;cout <<"Bertopeng = "<<exom<<endl<<"Size T-Shirt : "<<chen<<endl;

return 0;}

Output Program 9

Hasil output dari Program 9 adalah sebagai berikut :

Page 4: Laporan Praktikum Resmi Bab Ix Pointer

4

Penjelasan Program 9

Berikut penjelasan dari Listing Program 9 :

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuatsebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintahatau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untukmenginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelumkompilasi dimulai

3. <iostream> berfungsi untuk sebagai pengarah praprosesor yang inputnya menggunakan coutdan penyimpanan data menggunakan cin.

4. <cstring> berfungsi untuk memberikan nilai suatu karakter string.

5. int main (){} adalah awal dana akhir dari sebuah program.

6. string *yani, *tao; pengaksesan pointer bertipe data string secara tidak langsung.

7. string exo, exom; pengdeklarasian variable exo dan exom bertipe data string.

8. string kai="Gatot Kaca"; string oh="Batman"; penugasan variable kai dan oh yangbertipe data string.

9. int *sehun, *luhan; pengaksesan pointer bertipe data interger secara tidak langsung.

10. int chen, dio; pendeklarasian variable chen dan dio bertipe data integer.

11. int byun=35; int park=32; penugasan variable byun dan park yang bertipe data integer.

Page 5: Laporan Praktikum Resmi Bab Ix Pointer

5

12. yani=&kai; tao=&oh; sehun=&byun; luhan=&park; menyatakan alamat variable yang akanditunjuk.

13. cout <<"Berkumis = "<<exo<<endl<<"Size T-Shirt : "<<dio<<endl; cout <<"Bertopeng= "<<exom<<endl<<"Size T-Shirt : "<<chen<<endl; untuk menampilkan keluaran kemonitor dan menampilkan nilai dari variable.

14. return 0; untuk mengembalikan nilai ke posisi awal.

Listing Program Biodata dengan Pointer dan Tipe Data Abstrak Typedef dan TypedefStruct

/** Biodata-Pointer.cpp** Created on: May 18, 2014* Author: kitinggg*/

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

typedef string exok;typedef int exom;

typedef struct sisca{exok *nama, *tempatlahir, *bulanlahir, *hobi;exom *tanggallahir, *tahunlahir, *nohape;exok yani, exo, kai, tao;exom dio, sehun, chen;

};

int main(){sisca kim;exok e="Fransisca Febriyani";exok x="Ternate";exok o="Februari";exok k="Fangirling";exom lay=25;exom han=1995;exom hun=62852250;

kim.nama=&e;kim.yani=*kim.nama;kim.tempatlahir=&x;kim.exo=*kim.tempatlahir;kim.bulanlahir=&o;kim.kai=*kim.bulanlahir;

Page 6: Laporan Praktikum Resmi Bab Ix Pointer

6

kim.hobi=&k;kim.tao=*kim.hobi;kim.tanggallahir=&lay;kim.dio=*kim.tanggallahir;kim.tahunlahir=&han;kim.sehun=*kim.tahunlahir;kim.nohape=&hun;kim.chen=*kim.nohape;

cout <<"Nama : "<<kim.yani<<endl<<"Tempat Lahir : "<<kim.exo<<endl<<"BulanLahir : "<<kim.kai<<endl<<

"Hobby : "<<kim.tao<<endl<<"Tanggal Lahir :"<<kim.dio<<endl<<"Tahun Lahir : "<<kim.sehun<<endl<<

"Nomor Handphone : "<<kim.chen<<endl;return 0;

}

Output Program Biodata dengan Pointer dan Tipe Data Abstrak Typedef dan TypedefStruct

Hasil output dari Program Biodata dengan Pointer dan Tipe Data Abstrak Typedef dan TypedefStruct adalah sebagai berikut :

Penjelasan Program Biodata dengan Pointer dan Tipe Data Abstrak Typedef dan TypedefStruct

Berikut penjelasan dari Listing Program Biodata dengan Pointer dan Tipe Data Abstrak Typedefdan Typedef Struct :

1. Tanda yang diawali dengan /* dan diakhiri tanda */ merupakan script untuk membuatsebuah komentar pada pemrograman C++ yang jika didalamnya terdapat sebuah perintahatau teks maka ketika program dirunning atau dijalankan tidak akan dibaca oleh compiler.

Page 7: Laporan Praktikum Resmi Bab Ix Pointer

7

2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untukmenginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelumkompilasi dimulai

3. <iostream> berfungsi untuk sebagai pengarah praprosesor yang inputnya menggunakan coutdan penyimpanan data menggunakan cin.

4. <cstring> berfungsi untuk memberikan nilai suatu karakter string.

5. int main (){} adalah awal dana akhir dari sebuah program.

6. typedef string exok; typedef int exom; pendefinisian typedef dari tipe data lamamenjadi tipe data baru.

7. typedef struct sisca{}; pendefinisian tipe data abstrak typedef struct.

8. exok *nama, *tempatlahir, *bulanlahir, *hobi; exom *tanggallahir, *tahunlahir,*nohape; member dari typedef struck yang mengdeklarasikan pointer secara tidaklangsung.

9. exok yani, exo, kai, tao; exom dio, sehun, chen; pendeklarasian variable dengan tipedata yang sudah dimanipulasi.

10. sisca kim; pengdeklarasian tipe data typedef struct untuk variable kim.

11. exok e="Fransisca Febriyani";exok x="Ternate";exok o="Februari";exokk="Fangirling"; penugasan variable dengan tipe data exok.

12. exom lay=25; exom han=1995; exom hun=62852250; penugasan variable dengan tipe dataexom.

13. kim.nama=&e; kim.tempatlahir=&x; menyatakan alamat variable yang akan ditunjuk.

14. kim.yani=*kim.nama; kim.exo=*kim.tempatlahir; untuk pengaksesan secara tidaklangsung.

15. cout <<"Nama : "<<kim.yani<<endl<<"Tempat Lahir : "<<kim.exo<<endl<<"Bulan Lahir: "<<kim.kai<<endl<<"Hobby : "<<kim.tao<<endl<<"Tanggal Lahir:"<<kim.dio<<endl<<"Tahun Lahir : "<<kim.sehun<<endl<<"Nomor Handphone :"<<kim.chen<<endl; untuk menampilkan keluaran di layar menitor.

16. return 0; untuk mengembalikan nilai ke posisi awal.

Page 8: Laporan Praktikum Resmi Bab Ix Pointer

8

BAB III

KESIMPULAN

1. Pointer adalah suatu nilai yang menunjuk pada suatu lokasi memori.

2. Dalam arti yang lebih sederhana, pointer merupakan suatu nilai yang menyatakan alamat

suatu lokasi.

3. Pengdeklarasian pointer sebagai berikut : tipe data *nama-variable

4. Operator & digunakan untuk menyatakan alamat variable yang akan ditunjuk, contoh

&yani.

5. Operator indection, berupa symbol atau tanda * digunakan untuk pengaksesan tidak

langsung, contoh *yani.

Page 9: Laporan Praktikum Resmi Bab Ix Pointer

9

BAB IV

DAFTAR PUSTAKA

Murya Kusuma Ardhana, Yosef dan Gregorius Airlangga. 2011. Algoritma Pemrograman C++Dalam Ilustrasi. Jasakom : Yogyakarta.

Murya Kusuma Ardhana, Yosef. 2013. Struktur Data Dalam Ilustrasi Eclipse Indigo C++.CAPS : Yogyakarta.