Array/larik adalah kumpulan data dimana setiap elemen datanya memiliki tipe data
yang sama dan menggunakan nama/identifier yang sama. Setiap elemen data pada
array dapat diakses dengan menyebutkan nilai indeksnya.
Dimensi array terdiri dari :
1. array dimensi satu
2. array dimensi dua
3. array multidimensi
tipe_data nama_var[ukuran1][ukuran2]…[ukuranN];
Keterangan :
tipe_data dapat berisi salah satu tipe data yang berlaku seperti int, char, float dsb .
Ukuran1 artinya array berdimensi satu
Ukuran2 artinya array dimensi dua
UkuranN artinya array dimensi N
int nilai[5];
Artinya nilai adalah nama variabel array dan 5 adalah jumlah elemen array yang
dimulai dari indeks ke-0 sampai indeks ke-4. ke-5 setiap indeks array tersebut
bertipe int. Illustrasi elemen arraynya adalah sbb :
nilai[0] nilai[1] nilai[2] nilai[3] nilai[4]
printf(”%d”,nilai[3]+[0]);
outputnya
12
Kemudian, jika meminta untuk menginput data dari keyboard ke dalam sebuah
variabel array, maka caranya adalah sbb :
scanf(”%d”,&nilai[3]);
statement tersebut mempunyai makna, data yang diinputkan melalui keyboard
akan dimasukan ke variabel array nilai indeks ke-3. Contoh dalam implementasi
program :
clrscr();
for(i=0; i<5; i++)
{
printf(“Data nilai ke-%d = “,i+1);
scanf(“%d”,&nilai[i]);
jml+=nilai[i];
}
rata_rata=(float)jml/i;
printf(“Jumlah semua bilangan = %d\n”,jml);
printf(“Rata-ratanya = %.2f\n”,rata_rata);
getch();
}
Contoh Output :
Data nilai ke-1 = 23 [enter]
Data nilai ke-2 = 12 [enter]
Data nilai ke-3 = 10 [enter]
Data nilai ke-4 = 21 [enter]
Data nilai ke-5 = 15 [enter]
Jumlah semua bilangan = 81
Nilai rata-ratanya = 16.200001
Sebuah array juga dapat diinisialisasi, berikut contoh implementasi programnya
untuk mencari jumlah hari dalam suatu bulan tertentu dan pada tahun tertentu :
/* mencari jumlah hari pada bulan & tahun tertentu */
#include <stdio.h> /* contoh program 12.2 /
#include <conio.h>
main()
{
/*inisialisasi array*/
static int jum_hari[12]={31,28,31,30,31,30,
31,31,30,31,30,31};
int bulan, tahun, jml_hari;
clrscr();
printf(“Masukan data bulan [1..12] : “);
scanf(“%d“,&bulan); fflush(stdin);
printf(“Masukan tahunnya : “);
scanf(“%d“,&tahun); fflush(stdin);
if (bulan==2)
{
if ((tahun % 4 == 0) && (tahun % 100 != 0))
jml_hari=29;
else
jml_hari=28;
}
else
jml_hari=jum_hari[bulan-1];
main()
{
int i, y[MAKS];
clrscr();
for(i=0; i<MAKS; i++)
y[i]=x[MAKS-(i+1)];
0 1 2
0 MA[0][0] MA[1][0] MA[2][0]
1 MA[0][1] MA[1][1] MA[2][1]
2 MA[0][2] MA[1][2] MA[2][2]
3 MA[0][3] MA[1][3] MA[2][3]
4 MA[0][4] MA[1][4] MA[2][4]
Keterangan :
MA[0][0] sampai MA[2][4] bertipe int.
Sebagai Contoh, MA dengan indeks ke-2 untuk ukuran1 dan indeks ke-3 untuk
ukuran2 akan diisi dengan 25, maka perintah statementnya adalah sbb :
MA[2][3]=25;
printf(”%d+%d=%d”, MA[1][2],MA[2][3],MA[1][2]+MA[2][3]);
Outputnya :
17+23=40
clrscr();
/* memasukan data matriks MA */
for(i=0;i<3;i++)
{
for(j=0; j<3; j++)
{
printf(“MA[%d][%d]=“,i+1,j+1); scanf(“%d“,&MA[i][j]);
}
}
printf(”\n”); /* pindah baris */
/* memasukan data matriks MB */
for(i=0;i<3;i++)
{
for(j=0; j<3; j++)
{
printf(“MB[%d][%d]=“,i+1,j+1); scanf(“%d“,&MB[i][j]);
}
}
printf(”\n”);
/* menampilkan hasilnya */
for(i=0;i<3;i++)
{
for(j=0; j<3; j++)
printf(MH[i][j]:4);
printf(”\n”);
}
getch();
}
Contoh Output
MA[1][1]=1
MA[1][2]=2
MA[1][3]=3
MA[2][1]=4
MA[2][2]=5
MA[2][3]=6
MA[3][1]=7
MA[3][2]=8
MA[3][3]=9
MB[1][1]=1
MB[1][2]=2
MB[1][3]=3
MB[2][1]=4
MB[2][2]=5
MB[2][3]=6
MB[3][1]=7
MB[3][2]=8
MB[3][3]=9
2 4 6
8 10 12
14 16 18
TUGAS 6
Buatlah sebuah program untuk mencari perkalian 2 buah matriks. Perlu diketahui
bahwa perkalian 2 buah matriks syaratnya adalah Kolom matriks pertama harus
sama dengan baris matriks kedua.
Keterangan :
i adalah indeks array
x nama array untuk menyimpan data
n adalah jumlah data
main()
{
float data[maks];
int jum_data;
pemasukan_data(data, &jum_data);
pengurutan_data(data, jum_data);
penampilan_data(data, jum_data);
}
for(i=0;i<jum;i++)
{ printf(“data ke-%d : “,i+1); scanf(“%f“,&x[i]); }
*pjumlah=jum;
} /* akhir fungsi */
printf(“\n“);
puts(“Data setelah diurutkan : “);
for(i=0;i<jumlah;i++)
printf(“data ke-%d : %g\n“,i+1,x[i]);
}
Contoh output
Jumlah data : 5
data ke-1 : 3
data ke-2 : 2
data ke-3 : 4
data ke-4 : 1
data ke-5 : 5