POINTER
PROGRAM 9.1
//*----------------------------------------------------------------*
//* alifbata.cpp *
//* *
//* contoh untuk menampilkan alamat suatu variabel *
//*----------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main()
{
int alif = 5;
float ba = 7.5;
double ta = 17.777;
HASIL
PROGRAM 9.2
//*-------------------------------------------------------------------*
//* ptr1.cpp *
//* contoh pendefinisian variabel pointer dan *
//* pengisian alamat ke variabel tersebut *
//*--------------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main()
{
int vint = 55; //variabel bukan pointer
int *pint; //variabel pointer
HASIL
PROGRAM 9.3
//*---------------------------------------------------------------*
//* ptr2.cpp *
//* *
//* contoh pengaksesan nilai melalui *
//*---------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main()
{
int vint = 55; //variabel bukan pointer
int *pint; //variabel pointer
HASIL
PROGRAM 9.4
//*------------------------------------------------------------*
//* ptr3.cpp *
//* *
//* contoh pengubahan nilai melalui *
//* suatu pointer *
//*------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main()
{
int vint = 55; //variabel bukan ponter
int *pint; //variabel pointer
HASIL
PROGRAM 9.5
//*-------------------------------------------------------------*
//* ptrvoid.cpp *
//* *
//* contoh pointer void *
//*-------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main()
{
clrscr(); //hapus layar
HASIL
PROGRAM 9.6
// * _______________________________________ *
// * ptrvoid2.cpp *
// * *
// * Mengubah suatu nilai melalui pointer void. *
// * _______________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
void *ptr; // Pointer tak bertipe
int vint = 50;
ptr = &vint; // menunjuk ke int, diperkenankan
cout << "vint semula : " << vint << endl;
* (int *) ptr = 77;// Nilai vint diubah via ptr
cout << "vint sekarang : " << vint << endl;
getche();
}
HASIL
PROGRAM 9.7
// * _______________________________________ *
// * ptrarr.cpp *
// * *
// * Contoh pointer yang menunjuk ke array. *
// * _________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; // ptgl menunjuk ke array
cout << "Nilai yang ditunjuk oleh ptgl : "
<< *ptgl << endl;
cout << "Nilai dari tgl_lahir[0] : "
<< tgl_lahir[0] << endl;
getche();
}
HASIL
PROGRAM 9.8
// * _________________________________ *
// * ptrarr2.cpp *
// * *
// * Mengakses elemen array via pointer. *
// * _________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; // ptgl menunjuk ke array
for (int i = 0; i < 3; i++)
cout << *(ptgl + i) << endl;
getche();
}
HASIL
PROGRAM 9.9
// * _________________________________ *
// * ptrarr2.cpp *
// * *
// * Mengakses elemen array melalui pointer. *
// * _________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
int tgl_lahir[] = {24, 6, 1965};
int *ptgl;
ptgl = tgl_lahir; // ptgl menunjuk ke
// elemen pertama dari array
for (int i = 0; i < 3; i++)
{
cout << "ptgl = " << ptgl << endl;
cout << "*ptgl = " << *ptgl << endl;
ptgl++; // menunjuk ke elemen berikutnya
}
getche();
}
HASIL
PROGRAM 9.10
// * _________________________________ *
// * ptrstr1.cpp *
// * *
// * Contoh pointer yang menunjuk ke string. *
// * _________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
char *ptokoh = "Gatotkaca"; // ptokoh menunjuk ke string
cout << ptokoh << endl;
getche();
}
HASIL
PROGRAM 9.11
// * ______________________________________ *
// * ptrstr2.cpp *
// * *
// * Contoh untuk menunjukkan perbedaan *
// * array karakter dan pointer yang menunjuk *
// * ke string. *
// * ______________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); //Hapus layar
char tokoh [] = "Gatotkaca";
char *ptokoh = "Gatotkaca";
cout << "tokoh = " << tokoh << endl ;
cout << "*ptokoh = " << ptokoh << endl;
// tokoh++; // Tidak diperkenankan
ptokoh++; // Diperkenankan
cout << "ptokoh = " << ptokoh << endl;
getche();
}
HASIL
PROGRAM 9.12
// * __________________________ *
// * arrptr.cpp *
// * *
// * Contoh array pointer. *
// * __________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
char *namahari[] = { "Senin", "Selasa", "Rabu", "Kamis",
"Jum'at", "Sabtu", "Minggu" };
for (int i = 0; i < 7; i++)
cout << namahari[i] << endl;
getche();
}
HASIL
PROGRAM 9.13
// * ____________________________________________ *
// * ptrptr.cpp *
// * *
// * Contoh pointer yang menunjuk ke pointer lain. *
// * ____________________________________________ *
#include <iostream.h>
#include <conio.h>
void main ()
{
clrscr (); // Hapus layar
int var_x = 273;
int *ptr1; // Pointer ke variabel bukan pointer
int *ptr2; // Pointer ke pointer
cout << "var_x = " << var_x << endl;
// Penugasan alamat
ptr1 = &var_x; // ptr1 menunjuk ke var_x
ptr2 = ptr1; // ptr2 menunjuk ke ptr1
// Mengakses nilai var_x melalui ptr1
cout << "*ptr1 = " << *ptr1 << endl;
// Mengakses nilai var_x melalui ptr2
cout << "**ptr2 = " << *ptr2 << endl;
getche ();
}
HASIL
PRGRAM 9.14
//*---------------------------------------------------------------*
//* argref.cpp *
//* *
//* argumen berupa referensi *
//*---------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main ()
{
clrscr (); //hapus layar
int pinokio = 80;
cout << "nilai mula-mula untuk pinokio : "
<< pinokio << endl;
ubah_nilai (pinokio);
cout << "nilai untuk pinokio sekarang : "
<< pinokio << endl;
getche ();
}
// definisi fungsi
HASIL
PROGRAM 9.15
//*------------------------------------------------------------*
//* ptrbulan.cpp *
//* *
//* contoh fungsi dengan nilai balik berupa pointer *
//*------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main ()
{
int bln;
clrscr (); // hapus layar
cout << "bulan (1...12) : ";
cin >> bln;
cout << nama_bulan (bln) <<endl;
getche();
}
// definisi fungsi
PROGRAM 9.16
//*---------------------------------------------------*
//* ptrkon1.cpp *
//* *
//* contoh untuk memberikan gambaran *
//* pointer konstan *
//* nilai pointer tidak dapat diubah *
//*---------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main ()
{
clrscr (); // hapus layar
PROGRAM 9.17
//*------------------------------------------------------------*
//* ptrkon2.cpp *
//* *
//* contoh untuk memberikan gambaran *
//* pointer konstan *
//* mengubah isi yang ditunjuk oleh pointer *
//* diperkenankan *
//*------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main ()
{
clrscr (); // hapus layar
PROGRAM 9.18
//*------------------------------------------------------------*
//* argbp2.cpp *
//* *
//* contoh untuk membaca argumen baris perintah *
//* (VERSI 2) *
//*------------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
PROGRAM 9.20
//*------------------------------------------------------*
//*bacaenv.cpp *
//* *
//*contoh untuk membaca varibel lingkungan *
//*------------------------------------------------------*
#include<iostream.h>
#include<conio.h>
void main(int argc, char *argv[], char *env[])
{
clrscr(); //hapuslayar
while( *env )
{
cout<< *env <<endl;
env++; //ke variabel lingkungan berikutnya
}
getche ();
}
HASIL