ARRAY DAN POINTER


       Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.
C[0] = -45;
C[1] = 6;
C[2] = 0;
C[3] = 72;
C[4] = 1543;
C[5] = 43;
C[6] = 4;
Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].
Deklarasi Array
Variable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variable array c di atas adalah :
int c[7];
Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.
Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array.
Sebagai gambaran dari program tersebut, dapat dibuat sebuah algoritma sebagai berikut:
  1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
  2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
  3. Lakukan perulangan  sesuai dengan langkah 2
  4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
  5. Tampilkan penjumlahan semua elemen array
  6. Selesai.
contoh Program sebagai berikut .
#include<iostream.h>
#include<conio.h>
main()
{
int a[5]={10,15,20,25,30};
int b[5]={10,20};
int c[5]={15,0,30};
int j;

// Menampilkan nilai dari element array
cout<<endl;
for(j=0;j<5;j++)
{
cout<<"A ["<<j<<"] = "<<a[j]<<" , B ["<<j<<"] = "<<b[j]<<" , C ["<<j<<"] = "<<c[j]<<endl;
}
getch();
}


Pengertian Tentang Pointer. Pointer adalah suatu variabel khusus yang berisikan alamat memori dari suatu data, tidak berisikan data itu sendiri. icemaker repair marietta . Pointer sangat sering digunakan dalam program-program bahasa C, karena dapat memberikan efisiensi dalam program.
Jadi, untuk mendeklarasikan sebuah pointer xp yang menunjuk ke alamat data integer, digunakan perintah sebagai berikut:
int *xp
Terdapat dua buah operator unary yang digunakan untuk mengakses sebuah pointer, yaitu operator & dan operator * . Operator & digunakan untuk mengakses alamat data yang ditunjuk oleh pointer, sementara operator * digunakan untuk mengakses data yang alamatnya ditunjuk oleh pointer.
a = &x; /* a berisikan alamat yang ditunjuk pointer x */
b = *x; /* a berisi data yang alamatnya ditunjuk x */

Contoh program pointer


#include "iostream.h"
Void main(void)
{
int v = 7, *p;
p = &v;
cout << "Nilai v = " << v << " dan *p = " << *p
<< " \nAlamatnya = " << p << 'n';
}

Hasil dari program adalah sebagai berikut :
Nilai v = 7 dan *p = 7
Alamatnya = efffb24


Penjelasan :
Dari program pointer1, pointer p menunjukkan isi dari variabel v yaitu 7 dan alamat dari pointer adalah efffb24

Operator Pointer

Ada beberapa operator yang digunakan dalam pointer yaitu operator alamat (&)
Contoh :
int y = 5;
int *yPtr;
Maka pernyataan
yPtr = &y;
Mengandung arti bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr.


Contoh program operator pointer :

#include "iostream.h"
Int main()
{
int *ptr, num; // 1
ptr = # // 2
*ptr = 100; // 3
cout << num << " ";
(*ptr)++; // 4
cout << num << " ";
(*ptr)*2; // 5
cout << num << "\n ";
return 0;
}

Bila dijalankan hasilnya adalah sebagai berikut :
100 101 101

1 comment:

indra