Anidia 8
Anidia 8
POINTER
Disusun untuk Memenuhi Matakuliah Praktikum Dasar Pemrograman C++
Dibimbing oleh Bapak Wahyu Sakti Gunawan Irianto
Oleh:
Anidia Wulan Sari
150533601651
S1 PTI15 OFF A
POINTER
A. Tujuan
Tujuan dari mempelajari Modul 8 Pointer ini, agar mahasiswa mampu :
1. Mengetahui arti dan fungsi pointer dalam pemrograman.
2. Memahami penggunaan pointer dalam listing program.
3. Mengetahui keunggulan pointer pada suatu program.
4. Membuat program sederhana dengan menerapkan konsep pointer.
B. Pengertian POINTER
Pointer (variabel penunjuk) adalah suatu variabel yang berisi alamat memori
dari suatu variabel lain. Alamat ini merupakan lokasi dari obyek lain (biasanya
variabel lain) di dalam memori. Contoh, jika sebuah variabel berisi alamat dari
variabel lain, variabel pertama dikatakan menunjuk ke variabel kedua.
Operator Pointer ada dua, yaitu :
a. Operator & (Operator Diference)
1. Operator & bersifat unary (hanya memerlukan satu operand saja).
2. Operator & menghasilkan alamat dari operandnya.
b. Operator * (Operator Reference)
1. Operator * bersifat unary (hanya memerlukan satu operand saja).
2. Operator * menghasilkan nilai yang berada pada sebuah alamat.
Pointer : variabel yang berisi alamat memori
Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer
saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan. Operasi
penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya)
dalam memori. Begitu juga operasi pengurangan.
Ingat! Menginputkan data dengan scanf() membutuhkan alamat dari variabel yang
bersangkutan. Karena ptr_x merupakan alamat dari variabel x, maka ptr_x dapat digunakan
dalam scanf(). Jadi pernyataan:
scanf("%d",ptr_x);
scanf("%d",&x);
Sama dengan:
Nama Program
Bahasa Pemrogramam
Compiler
Script program
Latihan Praktikum I
Pemrograman C++
: Menambahkan Isi Bilangan dengan Pointer
: C++
: MinGW Developer Studio
:
#include <iostream>
using namespace std;
int main () {
int *pBil;
int bilX = 77;
pBil = &bilX;
cout << "Isi bilX = " << bilX << endl;
cout << "Nilai yang ditunjuk pBil = "<< *pBil << endl;
*pBil = *pBil + 3;
cout << "Isi bilX sekarang = " << bilX <<endl;
cout << "Nilai yang ditunjuk pBil = " << *pBil << endl;
}
return 0;
Output Program
Penjelasan Program
Latihan Praktikum II
Pemrograman C++
Nama Program
Bahasa Pemrogramam
Compiler
Script program
#include <iostream.h>
int main ()
{
long *p;
long x;
p = &x;
x = 15; //mengisikan 15 ke dalam variabel x
cout<<"nilai
cout<<"nilai
cout<<"nilai
cout<<"nilai
X = "<<x<<endl;
*p = "<<*p<<endl;
P = "<<p<<endl;
&X = "<<&x<<endl;
X = "<<x<<endl;
*P = "<<*p<<endl;
P = "<<p<<endl;
&X = "<<&x<<endl;
return 0;
Output Program
Penjelasan Program
Bahasa Pemrogramam
Compiler
Script program
: C++
: MinGW Developer Studio
:
#include <iostream.h>
using namespace std;
void ubah (int *x);
int main() {
int a = 12;
Output Program
Penjelasan Program
#include <iostream.h>
int Rtukar(int *, int *);
int Vtukar(int, int);
int main()
{
int a, b;
a = 99;
b = 11;
Output Program
Penjelasan Program
Program diatas merupakan program yang digunakan untuk membuat fungsi Rtukar
dan Vtukar. Program ini dimulai dengan mendeklarasikan a=99, b=11 kemudian program
mencetak nilai a dan b sebelum memanggil fungsi yang lain (fungsi buatan). Kemudian
pemanggilan fungsi lain dilakukan yaitu pemanggilan fungsi Rtukar (&a, &b) maka akan
terlihat nilai a dan b saling tertukar. Setelah itu program mengembalikan nilai a dan b ke nilai
awalnya yaitu a=99 dan b=11. Kemudian saat memanggil fungsi Vtukar (a, b) terlihat nilai a
dan b saling terbalik tetapi setelah fungsi Vtukar selesai dijalankan, nilai a dan b berubah ke
nilai awalnya.
Fungsi Rtukar ini terdapat syntax membalik nilai antara kedua nilai pada parameter.
Pembalikan kedua nilai ini bersifat permanen karena langsung menunjuk ke alamat memori
variabelnya sehingga terlihat setelah fungsi Rtukar ini selesai dijalankan nilai a dan b tetap
tertukar dari nilai awalnya.
Fungsi Vtukar terdapat syntax untuk membalik nilai antara kedua nilai parameter.
Pembalikan nilai ini bersifat sementara karena proses penukaran nilai kedua variabel ini
hanya menukar nilainya saja tanpa menunjuk alamat memori sehingga setelah fungsi Vtukar
ini selesai dijalankan, nilai a dan b kembali ke nilai awal.
Tugas Praktikum I
Pemrograman C++
Nama Program
Bahasa Pemrogramam
Compiler
Script program
: C++
: MinGW Developer Studio
:
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
main ()
{
int Aziz, Defa, Dewi, *def;
Aziz = 57082;
Defa = Aziz;
Dewi = 3+Defa;
cout<<"___________________\n\n";
cout<<"
Diketahui\n";
cout<<"___________________\n";
cout<<"Aziz= 57082\n";
cout<<"Defa= Aziz\n";
cout<<"Dewi= Defa+3\n\n\n";
cout<<"___________________\n\n";
cout<<"
Ditanya\n";
cout<<"___________________\n";
cout<<"Berapa nilai Defa? \n";
cout<<"Berapa nilai Dewi? \n\n\n";
cout<<"___________________\n\n";
cout<<"
Jawab\n";
cout<<"___________________\n";
cout<<"Nilai Defa : "<<Defa<<endl;
cout<<"Nilai Dewi : "<<Dewi<<endl<<endl;
def=&Aziz;
Dewi=3+*def;
cout<<"Nilai
cout<<"Nilai
cout<<"Nilai
cout<<"Nilai
getch();
}
Output Program
Defa
Dewi
Defa
Dewi
:
:
:
:
"<<*def<<endl;
"<<Dewi<<endl<<endl;
"<<*def<<endl;
"<<Dewi<<endl<<endl;
Penjelasan Program
Tugas Praktikum II
Pemrograman C++
Nama Program
Bahasa Pemrogramam
Compiler
Script program
:
: C++
: MinGW Developer Studio
:
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
main()
{
char x[255];
char *p=&x[0];
p++;
}
while(*p!='\0');
Output Program
Penjelasan Program
Tugas Rumah I
Pemrograman C++
Nama Program
Bahasa Pemrogramam
Compiler
Script program
: C++
: MinGW Developer Studio
:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
int ubah(const char *s){
int x=0;
for( ; *s != '\0'; s++)
++x;
return x;
}
int main() {
char string[80];
cout <<"Ketik sebuah karakter: "; cin >>string;
cout <<"Jumlah sebuah karakter:";
cout <<" "<< ubah(string);
getch();
}
Output Program
Penjelasan Program
Tugas Rumah II
Pemrograman C++
Nama Program
Bahasa Pemrogramam
Compiler
Script program
Output Program
:
: C++
: MinGW Developer Studio
:
Bahasa Pemrogramam
Compiler
Script program
: C++
: MinGW Developer Studio
:
#include <iostream.h>
#include <conio.h>
void l(float *, float *, float *);
main()
{
float a,b,c;
cout<<"Masukkan nilai a: ";
cin>>a;
cout<<"Masukkan nilai b: ";
cin>>b;
cout<<"Masukkan nilai c: ";
cin>>c;
l(&a,&b,&c);
getch();
}
void l(float *p_a, float *p_b, float *p_c)
{
float A,B,C;
A=2**p_a;
B=2**p_b;
C=2**p_c;
cout<<"\n\nNilai yang sudah digandakan: \n\n\n";
cout<<"Nilai a: "<<A<<endl;
cout<<"Nilai b: "<<B<<endl;
cout<<"Nilai c: "<<C<<endl;
Output Program
Penjelasan Program
KESIMPULAN
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 8.POINTER. Malang: Universitas Negeri Malang.
2. Kadir, Abdul. 2003. Pemrograman C++. Yogyakarta: Penerbit ANDI.