LAPORAN
PRAKTIKUM
MODUL 7
STUKTUR
DATA
POINTER
Diajukan
untuk memenuhi tugas sebagai bahan praktikum
Dosen :
Endra Suseno, M.Kom
Disusun
oleh :
Egi
Legitasari 
20160910045
Sistem
informasi A 2016
FAKULTAS
ILMU KOMPUTER
UNIVERSITAS
KUNINGAN
2016
PRAKTIKUM
1
Study kasus
Buatlah program yang dapat memindahkan isi variabel awal menuju kevariabel
tujuan yang ditunjuk serta menampilkan alamat alokasi memory sebelum
dipindahkan kevariabel tujuan.
Script Program Menggunakan c++
| 
#include<iostream.h> 
#include<conio.h> 
void main() 
{ 
 int
  x, y; //x dan y bertipe int 
 int
  *px; //px pointer yang menunjuk objek 
 clrscr(); 
 x =
  87; 
 px =
  &x; //px beriisi alamat dari x 
 y =
  *px; //y berisi nilai yang ditunjukan px 
 cout<<"Alamat
  x pada memori = "<<&x<<endl; 
 cout<<"isi
  px = "<<px<<endl; 
 cout<<"isi
  x = "<<x<<endl; 
 cout<<"Nilai
  yang ditujunkan oleh px = "<<*px<<endl; 
 cout<<"alamat
  y pada memori = "<<&y<<endl; 
 cout<<"Nilai
  y = "<<y<<endl; 
getch(); 
} | 
Pembahasan
Program ini yaitu untuk menunjukan sebuah alamat memori dengan menggunakan
fungsi pointer. Didalam script program tertulis px=&x, yaitu diartikan
sebagai bahawa px bernilai alamat memori untuk sebuah nilai x. Nilai x tersebut
belum ditentukan, maka akan di panggil dengan nilai x=87, maka alamat pada px
akan ikut berubah. Begitupula dengan variabel y.
Hasil running
PRAKTIKUM 2
Study kasus
Terdapat sebuahy array yang memiliki hanya satu elemen yaitu 5 dan
tempatkan paada indeks ke 0 dalam arrar, sementara alamat indeks selebihnya
bernilai 0, beuatlah program yang dapat mengiosi alamat indeks yang lain
melalui nilai elemen indeks ke 0 (contoh penyelesaian kasus diatas program
dibawah ini bersifat statis)
Script Program Menggunakan c++
| 
#include<iostream.h> 
#include<conio.h> 
int main() 
{ 
 int
  x[5], *p, k; 
 clrscr(); 
 p =
  x; 
 x[0]
  = 5; 
 x[1]
  = x[0]; 
 x[2]
  = *p + 2; 
 x[2]
  = 7; 
 x[3]
  = *(p+1)-3; 
 x[3]
  = 2; 
 x[4]
  = *(x + 2); 
 x[4]
  = 7; 
 cout<<"Array
  setelah disi = "<<endl; 
 cout<<endl; 
 for(k=0;
  k<5; k++) 
 { 
  cout<<"x["<<k<<"]
  = "<<x[k]<<endl; 
  } 
getch(); 
return 0; 
} | 
Pembahasan
Pada program ini yaitu pada pointer *p, memiliki semua nilai dari x 
yang berindex sebuah array [5]
x[0]=5;
x[1]=x[0];
x[2]=*p+2;
x[3]=*(p+1)-3;
x[4]=*(x+2);
Penggalan script program diatas merupakan penulisan array terbuka yang
nantinya akan di tampilkan di
cout<<"x["<<k<<"] =
"<<x[k]<<endl;
Hasil running
 
PRAKTIKUM 3
Script Program Menggunakan c++
| 
#include<iostream.h> 
#include<conio.h> 
void tambahsepuluh(int *); 
void ubahkarakter(char *); 
int main() 
{ 
int bilangan = 4; 
char sesuatu = 's'; 
cout<<"Bilangan sebelum fungsi di Panggil
  : "<<bilangan<<endl; 
cout<<"Karakter sebelum fungsi di Panggil
  : "<<sesuatu<<endl; 
getch(); 
tambahsepuluh(&bilangan); 
ubahkarakter(&sesuatu); 
cout<<endl; 
cout<<"Bilangan setelah fungsi di panggil
  : "<<bilangan<<endl; 
cout<<"Karakter setelah fungsi di panggil
  : "<<sesuatu<<endl; 
getch(); 
return 0; 
} 
void tambahsepuluh(int *bil) 
{ 
*bil = *bil+10; 
} 
void ubahkarakter(char *kar) 
{ 
char karakter = 'H'; 
*kar = karakter; 
} | 
Pembahasan
Pada prorgram ini pada pemaggilan bilangan akan berubah sesuai dengan function. Yang berisikan peubah nilai yang di dalamnya terkandung dalam variabel.
Hasil running
LATIHAN
1
Study Kasus
Dengan memasukan nilai integer sebanyak 5 nilai dan
melalui variabel pointer bagaimana agar dapat mengetahui elemen tersebut akan
menempati dilokasi memori berapa program berjalan secara statis hanya sebanyak
5 buah integer.
Script Program Menggunakan c++
| 
#include<stdio.h> 
#include<iostream.h> 
#include<conio.h> 
main() 
{ 
int i; 
int nilai[50]; 
int *trnilai; 
trnilai=nilai; 
for(i=1;i<=5;i++) 
{ 
cout<<"Masukan nilai
  ke-"<<i<<" : "; 
cin>>nilai[i]; 
} 
cout<<endl; 
cout<<"Pengaksesan elemen Array lewat
  Pointer"; 
cout<<endl<<endl; 
for(i=1;i<=5;i++) 
{ 
cout<<"Elemen
  "<<i<<" Nilai "<<nilai[i]; 
cout<<", Menempati Alamat Memory :
  "<<&trnilai[i]; 
cout<<endl; 
} 
getch(); 
return 0; 
} | 
Pembahasan
Pada program ini pointernya menggunakan ampersand untuk petunjuk alamat
variabel pada memorynya.
Pemanggilan nya dibatasi dengan fungsi for (i=1;i<5;i++). Yang berarti
data ang telah diinputkan akan otomatis berhenti di indeks yang ke 5.
Hasil running
LATIHAN 2
Study Kasus
Dengan memasukan nilai integer sebanyak N nilai dan
melalui variabel pointer bagaimana agar dapat mengetahui elemen tersebut akan
menempati dilokasi memori berapa program berjalan secara statis hanya sebanyak
N buah integer.
Script Program Menggunakan c++
| 
#include<stdio.h> 
#include<iostream.h> 
#include<conio.h> 
main() 
{ 
int i,n; 
int nilai[50]; 
int *trnilai; 
trnilai=nilai; 
cout<<"Masukan Jumlah Data :
  ";cin>>n; 
for(i=1;i<=n;i++) 
{ 
cout<<"Masukan nilai
  ke-"<<i<<" : "; 
cin>>nilai[i]; 
} 
cout<<endl; 
cout<<"Pengaksesan elemen Array lewat
  Pointer"; 
cout<<endl<<endl; 
for(i=1;i<=n;i++) 
{ 
cout<<"Elemen
  "<<i<<" Nilai "<<nilai[i]; 
cout<<", Menempati Alamat Memory :
  "<<&trnilai[i]; 
cout<<endl; 
} 
getch(); 
return 0; 
} | 
Pembahasan
Progrm ini yait untuk menampilkan alamat variabel pda memory. Tetapi di latihan 2 ini berbeda dengan latihan 1 tadi, jika latihan 1 dibatasi dengan fungsi for. tetapi latihan 2 memasukan data ya dibatasi tergantung kemauan usernya sendiri.
Hasil running






 
 
 
Tidak ada komentar:
Posting Komentar