MODUL 7 POINTER
POINTER
ANDIKA PRATAMA
20160910005
SI 2016 B
UNIVERSITAS KUNINGAN
Pointer dalam bahasa indonesia
berarti penunjuk. Pointer merupakan variabel yang menyimpan atau menunjuk suatu
alamat memori dan bukan menyimpan suatu nilai. Dengan demikian pointer tidak
berhubungan langsung dengan data yang actual, dengan kata lain variabel pointer
hanya berisi alamat variabel lain yang berisi data tertentu.
Secara umum variabel pointer dapat
di deklarasikan sebagai berikut:
Tipe
data *nama_variabel_pointer;
Pointer merupakan variabel level
rendah yang dapat digunakan oleh tipe data character, integer, float, double
atau single bahkan tipe data yang lain yang didukung oleh bahasa C.
PRAKTIKUM 7.1
COMPILER : BORLAND C++
- syntax
#include<conio.h>
void main()
{
int x,y;
int *px;
x = 87;
px = &x;
y = *px;
cout<<"alamat x pada memori = "<<&x<<endl;
cout<<"isi px = "<<px<<endl;
cout<<"isi x = "<<x<<endl;
cout<<"Nilai yang ditunjuk oleh px = "<<*px<<endl;
cout<<"alamat y pada memori = "<<&y<<endl;
cout<<"nilai y = "<<y<<endl;
getch();
}
- hasil run
- analisis
Program diatas adalah program untuk
menunjuk sebuah variable untuk menghasilkan sebuah nilai .hal tersebut terjadi
karena adanya variable pointer yang bekerja ketika program dijalankan.proses
penunjukan terjadi pada :
x = 87;
px = &x;
y = *px;
lalu program akan menampilkan sebuah hasil melalui proses
akhir yaitu :
cout<<"Nilai yang
ditunjuk oleh px = "<<*px<<endl;
cout<<"alamat y pada
memori = "<<&y<<endl;
cout<<"nilai y =
"<<y<<endl;
PRAKTIKUM 7.2
COMPILER : BORLAND C++
- syntax
#include<conio.h>
int main ()
{
int x[5], *p,k;
p=x;
x[0]=5;
x[1]=x[0];
x[2]=*p+2;
x[3]=*(p+1)-3;
x[3]=2;
x[4]=*(p+1)-3;
x[4]=7;
cout<<"array setelah diisi = "<<endl;
cout<<endl;
for(k=0; k<5; k++)
{
cout<<"x["<<k<<"]="<<x[k]<<endl;
}
getch();
return 0;
}
- hasil run
- analisis
program diatas adalah program menggunakan variable pointer
yang mana hasil hasil yang didapatkan menggunakan variable pointer yang mana
prosesnya adalah
x[0]=5;
x[1]=x[0];
x[2]=*p+2;
x[3]=*(p+1)-3;
x[3]=2;
x[4]=*(p+1)-3;
x[4]=7;
lalu untuk menampilkan hasil menggunakan instruksi for agar
program lebih efektif dalam memanfaatkan suatu struktur
for(k=0; k<5; k++)
{
cout<<"x["<<k<<"]="<<x[k]<<endl;
}
PRAKTIKUM 7.3
COMPILER : BORLAND C++
- syntax
#include<conio.h>
void tambahsepuluh(int *);
void ubahkarakter(char *);
int main()
{
int bilangan = 4;
char sesuatu = 's';
printf(" Bilangan Sebelum fungsi di panggil : %d \n",bilangan);
printf(" Nilai sesuatu sebelum fungsi dipanggil : %c \n\n",sesuatu);
tambahsepuluh(&bilangan);
ubahkarakter(&sesuatu);
printf(" Bilangan Setelah Fungsi Dipanggil : %d \n",bilangan);
printf(" Nilai sesuatu setelah fungsi dipanggil : %c \n",sesuatu);
getch();
return 0;
}
void tambahsepuluh(int *bil){
*bil = *bil + 10;
}
void ubahkarakter(char *kar)
{
char karakter = 'H';
*kar = karakter;
}
- hasil run
- analisis
Program diatas adalah program
menampilkan sebuah hasil sebelum dan sesudah penggunaan instruksi fungsi dengan
menambahkan variable pointer pada program.instruksi fungsi yang terdapat pada
program diantaranya :
}
void tambahsepuluh(int *bil){
*bil = *bil + 10;
}
dan
void ubahkarakter(char *kar)
{
char karakter = 'H';
*kar = karakter;
}
LATIHAN 7.1
COMPILER : BORLAND C++
- syntax
#include<conio.h>
#include<iostream.h>
main()
{
int i;
int nilai[50];
int *trnilai;
trnilai = nilai;
for(i=0;i<5;i++)
{
cout<<" Masukan Nilai ke - "<<i<<": ";
cin>>nilai[i];
}
cout<<endl;
cout<<" Pengaksesan Elemen Array Lewat ";
cout<<" Pointer";
cout<<endl<<endl;
for(i=1;i<=5; i++)
{
cout<<" Elemen "<<i<<" Nilai "<<nilai[i]<<endl;
cout<<" Menempati Alamat Memory : "<<&trnilai[i];
cout<<endl;
}
getch();
return 0;
}
- hasil run
- analisis
Program diatas adalah program yang mengakses elemen aray
lewar pointer.pertama program akan memasukan sebuah nilai secara manual lewat
keyboard melalui intruksi for :
for(i=0;i<5;i++)
{
cout<<" Masukan Nilai
ke - "<<i<<": ";
cin>>nilai[i];
}
Lalu setelah itu program akan menampilkan sebuah hasil
melalu perintah :
for(i=1;i<=5; i++)
{
cout<<" Elemen
"<<i<<" Nilai "<<nilai[i]<<endl;
cout<<" Menempati
Alamat Memory : "<<&trnilai[i];
cout<<endl;
}
LATIHAN 7.2
COMPILER : BORLAND C++
- syntax
#include<iostream.h>
#include<conio.h>
main()
{
int i, N;
int nilai[50];
int *trnilai;
trnilai = nilai;
cout<<" Masukan Batasan = ";
cin>>N;
cout<<endl<<endl;
for(i=0;i<N;i++)
{
cout<<" Masukan Nilai ke - "<<i<<": ";
cin>>nilai[i];
}
cout<<endl;
cout<<" Pengaksesan Elemen Array Lewat ";
cout<<"Pointer";
cout<<endl<<endl;
for(i=1;i<=N; i++)
{
cout<<" Elemen "<<i<<" Nilai "<<nilai[i]<<endl;
cout<<" Menempati Alamat Memory : "<<&trnilai[i];
cout<<endl;
}
getch();
return 0;
}
- hasil run
Program diatas adalah program
yang hamper sama dengan latihan 7.1 tetapi program ini menggunakan batasan
.pertama program akan memerintahkan untuk menginput batasan yang akan kita
terapkan pada program diitu kurang atau sama dengan 20 nilainya. Misalnya kia
masukan 2 maka program akan menyediakan 3 proses inputan nilai yang nantinya
akan dirubah melalui variable pointer.dan proses menampilkan hasil akhir
terjadi pada :
cout<<" Pengaksesan
Elemen Array Lewat ";
cout<<"Pointer";
cout<<endl<<endl;
for(i=1;i<=N; i++)
{
cout<<" Elemen
"<<i<<" Nilai "<<nilai[i]<<endl;
cout<<" Menempati
Alamat Memory : "<<&trnilai[i];
cout<<endl;
}
sudah diperiksa
ReplyDelete