ARRAY
Array
adalah sekelompok data sejenis yang disimpan ke dalam variabel dengan nama yang
sama, dengan memberi indeks pada variabel untuk membedakan antara yang satu
dengan yang lain.
VARIABEL
ARRAY
nama_variabel[indeks]
ketentuan
nama variabel arrray sama dengan nama variabel biasa.
indeks
menunjukkan nomor dari variabel .
DEKLARASI
VARIABEL ARRAY
BU : tipe nama_variabel[indeks];
Contoh : float bil[10];
deklarasi variabel array dengan nama
bil yang akan menampung 10 data yang bertipe
float. Indeks 10
menunjukkan variabel bil
terdiri dari 10 elemen,
dimana setiap elemen akan menampung sebuah data.
Indeks
array dimulai dari nol(0) , sedang nomor elemen biasanya dimulai dari satu(1).
Nomor elemen dapat dibuat sama dengan nomor indeks untuk mempermudah pembuatan
program yaitu dengan memberi indeks satu lebih banyak dari jumlah data yang
dibutuhkan, sehingga menjadi :
float bil[11]
INISIALISASI ARRAY 1 DIMENSI
Inisialisasi dapat dilakukan bersama dengan deklarasi atau
tersendiri. Inisialisasi suatu array adalah dengan meletakkan elemen array di
antara tanda kurung kurawal {}, antara elemen yang satu dengan lainnya
dipisahkan koma.
int
bil[2] = {4,1,8}
bil[0] = 4
bil[1]
= 1
bil[2] = 8
AUTOMATIC
ARRAY adalah Inisialisasi array dilakukan di dalam fungsi tertentu. Hanya compiler C yang berstandar ANSI C yang dapat
menginisialisasikan automatic array.
Cara
menginisialisasikan array dari compiler
yg tidak mengikuti standar ANSI C:
1.
Diinisialisasikan di luar fungsi sebagai variabel GLOBAL/EXTERNAL ARRAY.
int bil[2]={0,0,0};
main()
2.
Diinisialisasikan didlm fungsi sebagai variabel LOKAL/STATIC ARRAY.
main()
{
static int
bil[2]={0,0,0};
.........
Pada
automatic array yang tidak diinisialisasikan , elemen array akan memiliki nilai
yang tidak beraturan. Bila global & static array tidak diinisialisasi maka
semua elemen array secara otomatis akan diberi nilai nol(0).
Contoh :
main()
{
int y;
int hitung=0;
int x[0];
for(y=0;y<5;y++)
{
hitung+=y;
x[y]=hitung;
printf("%3d -
%3d\n",y,x[y]);
}
}
OUTPUT:
0- 0
1- 1
2- 3
3- 6
4- 10
MENDEFINISIKAN
JUMLAH ELEMEN ARRAY DALAM VARIABEL
Besarnya
variabel indeks dapat ditentukan dengan menggunakan
preprocessor
directives #define
#define
N 40
main()
{
int
no[N],gaji[N],gol[N],status[N],juman[N];
Bila
besari indeks akan diubah menjadi 50, cukup diganti dengan
#define
N 50
ARRAY 2
DIMENSI
nama_variabel [indeks1][indeks2]
indeks1 : jumlah/nomor baris
indeks2 : jumlah/nomor kolom
Jumlah
elemen yang dimiliki array 2 dimensi dapat ditentukan dari hasil perkalian indeks1 * indeks2
misal :
array A[2][3] akan memiliki 2*3 = 6 elemen.
main()
{
float bil [5] [5]
.......
dapat
dituliskan dengan #define
#define
N 5
main()
{
float bil [N] [N]
.......
INISIALISASI
ARRAY 2 DIMENSI
main()
{
float bil[2] [3] =
{ { 1,2,3}, /*baris 0*/
{ 4,5,6}, /*baris 1*/
}
elemen
bil [0] [0] = 1
elemen
bil [0] [1] = 2
elemen
bil [0] [2] = 3
elemen
bil [1] [0] = 4
elemen
bil [1] [1] = 5
elemen
bil [1] [2] = 6
Contoh :
main()
{
int x[3][5];
int y,z;
int hitung=0;
for(y=0;y<3;y++)
{
printf("y =
%d\n",y);
for(z=0;z<5;z++)
{
hitung+=z;
x[y][z] =
hitung;
printf("%/t%3d
- %3d\n",z,x[y][z]);
}
}
}
OUTPUT:
y = 0
0- 0
1- 1
2- 2
3- 6
4- 10
y = 1
0- 10
1- 11
2- 13
3- 16
4- 20
y = 2
0- 20
1- 21
2- 23
3- 26
4- 30
STRING
dan ARRAY
1. Pada
string terdapat karakter null(\0) di
akhir string
2.
String sudah pasti array, array belum tentu string
CONTOH -
CONTOH :
1. array
dengan pengisian input melalui keyboard
baca_input()
{
float nilai[10];
for(i=0;i<10;i++)
scanf("%d",&nilai[i]);
}
2.
Fungsi yang mencetak isi array dari akhir ke awal
cetak_array()
{
float nilai[10];
for(i=9;i>=0;i--)
scanf("%3f",nilai[i]);
}
3.
Menghitung rata - rata isi array nilai
rata_rata()
{
float
nilai[10],jum*rata;
for(i=0,jum=0;i<=9;i++)
jum+=nilai[i];
rata=jum/i;
}
4.
Mencari nilai terbesar
besar()
float temp,nilai[10];
{
for(temp=nilai[0],i=1;i<=9;i++)
if(nilai[i] > temp)
temp=nilai[i];
}
return(temp)
contoh
program array :
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
void input(int x[],int n)
{
for (int i=1;i<=n;i++)
{cout<<”Masukan Nilai “<<i<<” :
“;cin>>x[i];}
}
void tinggi(int x[],int n)
{
int max,min;
max = x[1];
min = x[1];
for (int i=2;i<=n;i++)
{
if (max < x[i])
max = x[i];
if (min > x[i])
min = x[i];
}
cout<<”\nNilai tertinggi =
“<<max<<”\n”;
cout<<”Nilai terendah =
“<<min<<”\n”;
}
double rata(int x[],int n)
{
double a,b;
a = 0;
for (int i=1;i<=n;i++)
{
a = a + x[i];
}
b = a/n;
cout<<”Rata-Rata :
“<<a<<”/”<<n<<” = “<<b;
}
void main()
{
int p[50],N;
cout<<”Banyaknya Data : “;cin>>N;
cout<<endl;
input(p,N);
tinggi(p,N);
rata (p,N);
getch();
}
Tidak ada komentar:
Posting Komentar