Monday, February 28, 2011

Pengenalan Array Pada Bahasa C

Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama.

Nilai-nilai data di suatu larik disebut dengan elemen-elemen larik.

Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.

Menurut dimensinya, array dapat dibedakan menjadi :
1. Array berdimensi satu
  • Setiap elemen array dapat diakses melalui index
  • Index array secara default dimulai dari 0
  • Deklarasi array :
Tipe_array nama_array[ukuran]

2. Array berdimensi dua
  • Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom.
  • Bentuknya dapat berupa matriks atau tabel.
  • Deklarasi array :
Tipe_array nama_array [baris][kolom]

3. Array multidimensi

  • Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun dimensi dua.
  • Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]


Perbedaan array dengan tipe data lain :
  • Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja.
  • Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja.
  • Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.
Array juga dapat digunakan sebagai parameter. Jenisnya :
a. Array dimensi satu sebagai parameter :

Pengiriman parameter berupa array dimensi satu merupakan pengiriman secara acuan / referensi , karena yang dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh nama lariknya yang tidak ditulis dengan indeknya.

Contoh:

#include
#include
int length(char x[]);
int main()
{
char string[256];
printf(“Ketikkan sembarang kalimat : “);
gets(string);
Lstring=length(string);
getch();
return(0);
}
int length(char x[])
{
int i, cek, L=0;
for(i=0;i< 256;i++)
{
if (x[i]!=”)
L+=1;
else break;
}
return(L);
}

b. Array dua dimensi sebagai parameter :

Pengiriman parameter berupa array dua dimensi hampir sama dengan pengiriman parameter array satu dimensi, hanya saja perbedaannya adalah dalam array dua dimensi harus menyebutkan baris dan kolom array dimensi dua tersebut, mendeklarasikan MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman parameter array dua dimensi dan pada saat pengiriman parameter formal array dua dimensi, kita harus menyebutkan banyaknya dimensi array untuk kolom, sehingga ukuran kolom dapat diketahui, hal ini berkaitan dengan pemesanan variabel array di memori.

Contoh:

#include
#include
void isi_matriks(int m[10][10],int b,int k);
int main()
{
int m1[10][10];
printf(“Masukkan baris dan kolom Matriks I : “);
scanf(“%d x %d”,&b1,&k1);
printf(“Masukkan baris dan kolom Matriks II : “);
scanf(“%d x %d”,&b2,&k2);
printf(“Masukkan isi Matriks I : \n”);
isi_matriks(m1,b1,k1);
getch();
return(0);
}
void isi_matriks(int m[10][10],int b,int k)
{
int i,j;
for (i=1;i<=b;i++)
{
for(j=1;j<=k;j++)
scanf(“%d”,&m[i][j]);
}
printf(“Matriks I : \n”);
for (i=1;i<=b;i++)
{
for(j=1;j<=k;j++)
printf(“%8d”,m[i][j]);
printf(“\n”);
}
}