MODUL 7 POINTER

LAPORAN PRAKTIKUM MODUL VII
POINTER

ANDIKA PRATAMA
20160910005
SI 2016 B

UNIVERSITAS KUNINGAN
DASAR TEORI



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<iostream.h>
#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<iostream.h>
#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<stdio.h>
#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<stdio.h>
#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<stdio.h>
#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
  • analisis

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;
}

Comments

Post a Comment

Popular Posts