You are on page 1of 35

Array

Array
suatu tipe data terstruktur berupa sejumlah data
sejenis (bertipe data sama) yang jumlahnya tetap dan
diberi suatu nama tertentu.

Elemen-elemen array tersusun secara berderet dan


dapat diakses secara random di dalam memori.

Elemen-elemen array bertipe data sama dan bisa


berisi nilai yang sama atau berbeda-beda.

Array dapat berupa : array 1 dimensi, 2 dimensi,


bahkan n-dimensi.
Array
Contoh Penyimpanan Array 1dimensi dalam memori
1 2 3 4 5 6
Nila 70 80 75 60 90 95
i N[0] N[1] N[2] N[3] N[4] N[5]

Contoh penyimpanan variabel tanpa array

Nila 90
95
60
70
75
80
i
Contoh Aplikasi Array

Mencari nilai maksimum dan minimum dari


sejumlah nilai dalam satu kelas.
Mengurutkan daftar nama siswa sesuai
abjadnya.
Mencari siswa yang mempunyai nilai diatas
nilai rata-rata.
Array 1-D
Deklarasi Array
Bentuk umum:
<type> <arrayName>[<array_size>]
Contoh : int Ar[10];
Semua elemen array bertipe <type>.
Ukuran array ditunjukkan <array_size>, merupakan
banyak data maksimal yang bisa disimpan dalam array
tersebut .
<array_size> harus bilangan integer.
Deklarasi Array

// array yang dapat menyimpan maksimal


10 bilangan integer dan mempunyai
nama Ar
int Ar[10];
0 1 2 3 4 5 6 7 8 9
Ar

0 1 2 3 4 5
Mengakses Array
Deklarasi array 10 integer:
int Ar[10];
Untuk mengakses setiap elemen array digunakan
indeks.
Indeks dituliskan dalam tanda [ ].
Elemen pertama pada array mempunyai indeks 0.
Ar[0]
Elemen kedua dan seterusnya mempunyai index 1, dan
seterusnya.
Ar[1], Ar[2], Ar[3],
Elemen terakhir mempunyai indeks ukuran array -1.
Ar[9]
Mengakses Array

int Ar[10];
--
Ar[3] = 1;
int x = Ar[3]; 1 --

-- -- --

0 1 2 3 4 5 6 7 8 9
Ar 1
Ar[0] Ar[1] Ar[2] Ar[3] Ar[4] Ar[5] Ar[6] Ar[7] Ar[8]Ar[9]
Contoh
void main ( ) {
int index, ar[10];

cout << "Enter 10 integers: ";


for(index = 0; index < 10; index ++)
cin >> ar[index];

cout << endl;

cout << "The integers are ";


for(index = 0; index < 10; index ++)
cout << ar[index] << " ";

}
Contoh 2
Manipulasi elemen array

int Ar[10], i = 7, j = 2, k = 4;
Ar[0] = 1;
Ar[i] = 5; // i = 7
Ar[j] = Ar[i] + 3; // j = 2, Ar[i] = 5
Ar[j+1] = Ar[i] + Ar[0]; //j+1=3, Ar[i]=5, Ar[0]=1
Ar[Ar[j]] = 12; //j=2, Ar[j]=8
cin >> Ar[k]; //k=4

0 1 2 3 4 5 6 7 8 9
Ar 1 8 6 3 5 12
Ar[0] Ar[1] Ar[2] Ar[3] Ar[4] Ar[5] Ar[6] Ar[7] Ar[8]Ar[9]
Inisialisasi Array
int Ar[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};

0 1 2 3 4 5 6 7 8 9
Ar 9 8 7 6 5 4 3 2 1 0

Ar[3] = -1;

6 -1

0 1 2 3 4 5 6 7 8 9
Ar 9 8 7 1 5 4 3 2 1 0
Contoh : Mencetak Angka
dalam urutan terbalik
Void main(){

int numbers[50];
int num_num;

cout<< "How many numbers (up to 50)?";


cin >> num_num;

if (num_num > 50) num_num = 50;


cout << "\nEnter your numbers:\n";

for ( int i= 0; i < num_num; i++)


cin >> numbers[i];

cout << "\n Your numbers reversed are:\n";


for ( int j= num_num-1 ; j >= 0; j--)
cout << numbers[j];
Void main(){

int numbers[50];
int num_num;

cout<< "How many numbers (up to 50)?";


cin >> num_num;

if (num_num > 50) num_num = 50;


cout << "\nEnter your numbers:\n";

for ( int i= 0; i < num_num; i++)


cin >> numbers[i];

for ( int j= 0; j <num_num; j++)


if((numbers[j]%2)==1)
cout << numbers[j];

}
Array 2-D
Contoh Array 2-D
Deklarasi Array 2-D
Bentuk umum:
<type> <arrayName>[<array_size1>][<array_size2>]
Contoh : int Ar[3][10];

Terdapa dua ukuran array .


<array_size1>, menunjukkan banyaknya baris
<array_size2> , menunjukkan banyaknya kolom dalam
setiap baris.
Contoh Array 2-D
// Contoh Deklarasi Array 2-D dengan 30 data
integer.

int table[3][10];

0 1 2 3 4 5 6 7 8 9
0
1
2
Mengakses Array 2-D

char table[3][6];

table[1][2] = 'a';
char resp = table[1][2];

0 1 2 3 4 5
tabl 0
e
1 a
2
Inisialisasi Array 2-D
const int NUM_ROWS = 3, NUM_COLS = 6;
char table[NUM_ROWS][NUM_COLS]={a,b,c,d,
e,f,g,h,i,j,k,l,m,n,
o,p,q,r};

0 1 2 3 4 5
tabl 0 a b c d e f
e
1 g h i j k l
2 m n o p q r

Dapat Dituliskan:
Char table[NUM_ROWS][NUM_COLS]={
{a,b,c,d,e,f},
{g,h,i,j,k,l},
{m,n,o,p,q,r}
};
Contoh
memasukkan nilai kedalam array 2-D
const int NUM_ROWS = 3, NUM_COLS = 6;
for (int row=0; row < NUM_ROWS; row++)
for (int column = 0; column < NUM_COLS; column++)
cin>>table[row][column];
//input two-dimensional array

0 1 2 3 4 5
tabl 0 t w o d i
e
1 m e n s i o
2 n a l a r
Contoh
mencetak Array 2-D
const int NUM_ROWS = 3, NUM_COLS = 6;
for (int row=0; row < NUM_ROWS; row++)
for (int column = 0; column < NUM_COLS; column++)
cout << table[row][column];


0 1 2 3 4 5
table 0 t w o d i
1 m e n s i o
2 n a l a r
Contoh: Tabel Penjumlahan
const int TABLE_SIZE = 4; // global size of addition table
Void main(){
int row, column;
int add_table [TABLE_SIZE][TABLE_SIZE];// declare array

// create the array for the addition table


for (row = 0; row < TABLE_SIZE; row++){
for (column = 0; column < TABLE_SIZE; column++){
add_table[row][column] = row + column;}
}
// Print the addition table
for (row = 0; row < TABLE_SIZE; row++){
for (column = 0; column < TABLE_SIZE; column++){
cout << add_table[row][column] << " ; }
cout << endl;
}
}
Array sebagai parameter Fungsi
Array sebagai Parameter
Jika array digunakan sebagai parameter,
maka array akan bertindak sebagai
parametere by reference.

Tanda [ ] dalam deklarasi parameter


menunjukkan bahwa parameter tersebut
merupakan array.
Contoh
Notice empty brackets

int ListMinimum(int Ar[], int asize) {


int SmallestValueSoFar = Ar[0];
for (int i = 1; i < asize; ++i) {
if (Ar[i] < SmallestValueSoFar ) {
SmallestValueSoFar = Ar[i];
}
}
return SmallestValueSoFar ;
}
Contoh
Cara memanggil fungsi ListMinimum

int Number[6] ={3, 88, -7, 9, 1, 24};


cout << ListMinimum(Number, 6) << endl;

int List[3];
List[0] = 9; List[1] = 12; List[2] = 45;
cout << ListMinimum(List, 3) << endl;
Contoh
fungsi dengan parameter array
void DisplayList(const int Ar[], int asize) {
for (int index = 0; index < asize; ++index) {
cout << Ar[index] << " ";
}
cout << endl;
}
void GetList(int Ar[], int size){
for (int index = 0; index < Size; index++) {
cin >> Ar[index];
}
}
Contoh penggunaan fungsi

const int MaxSize = 25;


int Values[MaxSize];

GetList(Values,MaxSize );
DisplayList(Values, MaxSize);
Mencari nilai Maximum

int max_element(int size, int a[]) {


int max_index = 0;

for (int i=1; i<size; i++)


if (a[i] > a[max_index])
max_index = i;
return max_index;
}

void main() {
int A[10] = {9,8,7,6,5,4,10,2,1,0};
cout << The maximum element of this array is:

<< A[max_element(10,A)] << endl;


}
Contoh: elemen array sebagai argumen

void print_square (int);


const int ARRAY_SIZE = 5;
void main(){
int index;
int base[ARRAY_SIZE] = {3, 7, 2, 4, 5};

for(index = 0; index < ARRAY_SIZE; index++)


print_square(base[index]);

cout << endl;


}
void print_square(int number) {
cout << " " << number * number;
}
double average (int, int[]);
void main(){
const int array_size = 5; double ave;
int base[array_size] = {3, 7, 2, 4, 5};

ave = average(array_size, base);


cout << "The average of the numbers ";
for (int index = 0; index < array_size; index++){
cout << base[index];
if ( index < array_size 1) cout << ", ";
}
cout << " is " << ave << endl;
}
double average( int size, int inp_list[]) {
double sum = 0.0;
for ( int index = 0; index < size; index++)
sum += inp_list[index];
return sum/size;
}
Contoh: Menjumlahkan dua buah array

Void add_array(int size,double a[],double b[],double c[])


{ int i;
for (i=0; i < size; i++) c[i] = a[i] + b[i];
}

Void main() {
const int size = 5;
double x[size] = {1.8, 2.2, 3.4, 5.1, 6.7},
y[size] = {2.0, 4.5, 1.3, 4.0, 5.5},
z[size];
int ind;

add_array(size , x, y, z);
cout << "Content of array z is: \n";
for (i = 0; i < size; i++)
cout << "z[" << i << "] is "
<< z[i] << endl;
}
add_array (5, x, y, z );
Menjumlahkan array dua dimensi
const int max_cols = 5;
void add_array(double a[][max_cols], double b[][max_cols],
double c[][max_cols], int rows)
{ int i, j;
for (i=0; i < rows; i++)
for (j=0; j < max_cols; j++) c[i][j] = a[i][j] + b[i][j];
}

void main() {
int max_rows = 2, i, j;
double a[max_rows][max_cols] = {{1.8, 2.2, 3.4, 5.1, 6.7},
{1.0, 2.0, 3.0, 5.0, 6.0}},
b[max_rows][max_cols] = {{0.2, -0.2, -1.4, -3.1, -4.7},
{1.0, 0.0, -1.0, -3.0, -4.0}},
c[max_rows][max_cols];

add_array(a,b,c,max_rows);
for (i = 0; i < max_rows; i++){
for (j=0; j < max_cols; j++) cout << c[i][j] << ", ";
cout << endl; }
}

You might also like