Modul 8. Array C++
Modul 8. Array C++
Array C++
8.1 Pengantar
Array dalam C++ atau dalam bahasa pemrograman apa pun adalah kumpulan item data
serupa yang disimpan di lokasi memori yang berdekatan dan elemen dapat diakses secara
acak menggunakan indeks array. Array dapat digunakan untuk menyimpan koleksi tipe
data primitif seperti int, float, double, char, dan lain-lain dari tipe tertentu. Untuk
menambahkannya, sebuah array di C++ dapat menyimpan tipe data turunan seperti
struktur, pointer, dan lain-lain. Diberikan di bawah ini adalah representasi gambar dari
sebuah array.
A[i] 87 45 78 76 39 90 56 73 82
i 0 1 2 3 4 5 6 7 8
Keteranga:
1. A[i] : Array dengan indeks i
2. Panjang Array : 9
3. i : adalah indeks
4. Indeks awal : 0
int arr2[n];
61
MODUL 8
Array C++
62 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
return 0;
}
Output
error: too many initializers for 'int [2]'.
Program tidak akan dikompilasi dalam C++. Jika kita menyimpan program di atas
sebagai .cpp, program menghasilkan kesalahan kompiler(CE) “error: too many
initializers for ‘int [2]'”.
4. Elemen disimpan di lokasi memori yang berdekatan
Contoh 8.3
Coding 8.3
#include<iostream>
using namespace std;
int main()
{
int arr[2] = { 10, 20, 30, 40, 50 };;
return 0;
}
Output
Ukuran integer adalah 4
Alamat arr[0] adalah 0x6ffdf0
Alamat arr[1] adalah 0x6ffdf4
Alamat arr[2] adalah 0x6ffdf8
Alamat arr[3] adalah 0x6ffdfc
Alamat arr[4] adalah 0x6ffe00
Ingat bahwa alamat array tersebut di atas dalam bentuk heksa desimal. Kemudian
alamat tersebut untuk setiap komputer mungkin saja berbeda atau bisa sama.
63
MODUL 8
Array C++
cout<<endl;
// Cara 2
for(int i=0;i<6;i++)
cout<<i[arr]<<" ";
cout<<endl;
return 0;
}
Output
11 12 13 14 15 16
11 12 13 14 15 16
64 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
5. Inisialisasi Array Dua Dimensi: Ada dua cara di mana array Dua Dimensi dapat
diinisialisasi.
a. Cara Pertama
int x[3][4] = {0, 1 ,2 ,3 ,4 , 5 , 6 , 7 , 8 , 9 , 10 , 11}
Array di atas memiliki 3 baris dan 4 kolom. Elemen dalam kurung kurawal dari kiri
ke kanan disimpan dalam tabel juga dari kiri ke kanan. Elemen-elemen tersebut
akan diisi dalam array secara berurutan, 4 elemen pertama dari kiri di baris pertama,
4 elemen berikutnya di baris kedua, dan seterusnya.
b. Cara Kedua Lebih Baik
int x[3][4] = {{0,1,2,3}, {4,5,6,7}, {8,9,10,11}};
Jenis inisialisasi ini menggunakan kurung kurawal bersarang. Setiap set dalam
kurung kurawal mewakili satu baris. Dalam contoh di atas, ada total tiga baris
sehingga ada tiga set dalam kurung kurawal bagian dalam.
65
MODUL 8
Array C++
6. Mengakses Elemen Array Dua Dimensi: Elemen dalam array Dua Dimensi diakses
menggunakan indeks baris dan indeks kolom. Misalkan terdapat Array:
int x[2][1];
Contoh di atas mewakili elemen yang ada di baris ketiga dan kolom kedua.
Catatan:
Dalam array, jika ukuran array adalah N. Indeksnya akan dari 0 hingga N-1. Oleh
karena itu, untuk indeks baris 2 nomor baris adalah 2+1 = 3.
Untuk menampilkan semua elemen array Dua Dimensi, kita dapat menggunakan loop
for bersarang.
Contoh 8.5
Coding 8.5
#include<iostream>
using namespace std;
int main()
{
int x[3][2] = {{0,1},{2,3},{4,5}};
return 0;
}
Output
Elemen x[0][0]: 0
Elemen x[0][1]: 1
Elemen x[1][0]: 2
Elemen x[1][1]: 3
Elemen x[2][0]: 4
Elemen x[2][1]: 5
66 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
67
MODUL 8
Array C++
int main()
{
int x[2][3][2] =
{
{ {0,1}, {2,3}, {4,5} },
{ {6,7}, {8,9}, {10,11} }
};
68 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
Elemen x[0][0][1]: 1
Elemen x[0][1][0]: 2
Elemen x[0][1][1]: 3
Elemen x[0][2][0]: 4
Elemen x[0][2][1]: 5
Elemen x[1][0][0]: 6
Elemen x[1][0][1]: 7
Elemen x[1][1][0]: 8
Elemen x[1][][1]: 9
Elemen x[1][2][0]: 10
Elemen x[1][2][1]: 11
2. Tulislah sebuah program yang dapat menghitung jumlah nilai array sampai dengan
satuan terkecil.
Input Input
4 9
3 8
8 2
7 7
5 3
9
6
4
8
9
Output Output
5 2
69
MODUL 8
Array C++
3. Tulislah sebuah program yang dapat menentukan nilai array terbesar di dalam array
yang diketahui.
Input Input
4 7
3 8
8 2
7 7
5 3
9
6
4
Output Output
8 9
4. Tulislah sebuah program yang dapat menentukan nilai array terkecil di dalam array
yang diketahui.
Input Input
4 7
3 8
8 2
7 7
5 3
9
6
4
Output Output
3 2
5. Tulislah sebuah program yang dapat menentukan nilai terbesar dan terkecil dalam
suatu array yang nilainya diketahui. Kemudian program juga dapat menebak indeks
nilai array terbesar dan terkecil tersebut.
Input Input
4 7
3 8
8 7
7 3
5 9
6
2
4
Output Output
3 2
Indeks 0 Indeks 5
70 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
#include<iostream>
using namespace std;
int main(){
int A[] = {1, 2, 3, 4, 5};
int i,j,t;
for (i=0;i<5;i++){
for (j=0;j<=i;j++){
t = A[i] xor A[j];
A[i] = t xor A[i];
A[j] = t xor A[i];
}
}
for (i = 0;i < 5;i++){
if (i != 0)
cout<<" ";
cout<<A[i];
}
cout<<endl;
}
Apa hasil dari program tersebut?
A. 2 5 4 3 1
B. 5 4 3 2 1
C. 3 1 4 2 5
D. 2 1 3 5 4
E. 1 4 2 5 3
cout<<x[5];
}
Apa hasil dari program tersebut?
A. 24
B. 23
C. 25
D. 22
E. 21
71
MODUL 8
Array C++
72 Zaiful Bahri,S.Si.,M.Kom
MODUL 8
Array C++
}
Apa hasil dari program di atas?
A. -5
B. 21
C. 13
D. 5
E. 8
int main(){
int ms = 0;
73