Array merupakan suatu grup dengan jenis data yang sama yang ditempatkan secara berurutan dalam memori. Sebagai contoh, array bilangan bulat (tipe int) yang merupakan dua atau lebih bilangan bulat yang muncul satu demi satu. Kuncinya di sini adalah bahwa setiap elemen dalam array ditempatkan langsung setelah elemen sebelumnya yang memungkinkan kita untuk mengakses setiap elemen secara bergantian menggunakan loop.
Elemen dalam array mengacu pada setiap nilai dalam array. Jika kita memiliki array bilangan bulat, maka setiap bilangan bulat individu disebut sebagai elemen array. Dalam array byte, setiap elemen adalah byte (dari tipe byte Arduino).
Contoh Penggunaan Array
Sketch di bawah ini menunjukkan dasar penggunaan dari Array di Arduino.
void setup() {
int my_array[5]; // array dengan 5 elemen bilangan bulat
int i; // untuk indeks array
Serial.begin(9600);
my_array[0] = 23; // beri nilai 23 pada elemen pertama array
my_array[1] = 1001; // beri nilai 1001 pada elemen kedua, dst.
my_array[2] = 9;
my_array[3] = 1234;
my_array[4] = 987;
// tampilkan setiap bilangan dari array pada jendela serial monitor
for (i = 0; i < 5; i++) {
Serial.println(my_array[i]);
}
}
void loop() {
}
Mendefinisikan Array
Pada sketch yang diberikan di atas telah didefinisikan suatu array dengan 5 elemen. Hal ini membuat ruang dalam memori untuk 5 bilangan bulat (integer) yang dimasukkan ke dalam memori satu demi satu. Nilai-nilai yang dikanudung pada setiap elemen setelah array didefinisikan dapat berisi data acak, apa pun yang terjadi pada memori saat itu. Dimungkinkan juga bahwa kompiler diatur untuk membuat nilai nol, tetapi kita tidak dapat mengandalkan ini.
Mari kita perhatikan contoh pendefinisian Array dengan 5 Integer
int my_array[5];
Dalam contoh ini array bertipe int, namun dapat juga bertipe float, byte, dan lain-lain. Array dalam contoh tersebut diberi nama my_array.
Memberi nilai Elemen pada Array
Setiap elemen diberi nilai integer dengan mereferensikannya menggunakan tanda kurung siku [ ] dengan bilangan elemen untuk mengakses dalam tanda kurung.
my_array[0] = 23;
my_array[1] = 1001;
my_array[2] = 9;
my_array[3] = 1234;
my_array[4] = 987;
Perhatikan bahwa penomoran elemen dimulai dari nol [0] dan bukan satu [1], jadi elemen pertama dalam array adalah elemen 0.
Dengan cara yang sama, elemen terakhir dalam array diberi nomor satu kurang dari ukuran array. Dalam contoh, ukuran array adalah 5, jadi jumlah elemen terakhir adalah 4, ini karena kita menomori elemen yang dimulai dengan 0.
Array memiliki panjang [5] yang berarti bahwa ruang untuk 5 bilangan bulat berturut-turut dibuat dalam memori.
Mengakses Array dalam Loop
Loop for digunakan untuk mendapatkan konten setiap elemen dalam array secara bergantian dan mencetak nilai-nilai ke jendela Serial Monitor.
for (i = 0; i < 5; i++) {
Serial.println(my_array[i]);
}
Variable i digunakan dalam loop for sebagai indeks array untuk mengakses setiap elemen array.
Pada loop, i diinisialisasi ke 0 dan kemudian bertambah satu setiap kali melalui loop sehingga dihitung dari 0 hingga 4. Loop keluar ketika i menjadi 5.
Variabel i digunakan dalam array untuk mendapatkan nilai yang disimpan oleh elemen array dimulai dengan elemen 0 dan berakhir dengan 4.
(my_array[i]);
Dalam cuplikan kode di atas, ketika i adalah 0, elemen pertama array diakses dan kita kemudian bisa mendapatkan nilai yang dikandungnya yaitu 23 pada contoh sketch.
Lebih lanjut tentang Inisialisasi Array
Disamping menginisialisasi setiap elemen dalam array secara individual, array juga dapat didefinisikan dan diinisialisasi dalam satu baris seperti yang ditunjukkan dalam kode ini.
void setup() {
int my_array[5] = {23, 1001, 9, 1234, 987};
int i;
Serial.begin(9600);
// display each number from the array in the serial monitor window
for (i = 0; i < 5; i++) {
Serial.println(my_array[i]);
}
}
void loop() {
}
Nilai untuk menginisialisasi setiap elemen dengan ditempatkan di antara kurung kurawal {} setelah operator penugasan (tanda sama dengan =). Nilai pertama dalam tanda kurung kurawal ditetapkan sebagai elemen pertama dalam array (nomor elemen 0), angka kedua ditetapkan sbagai elemen kedua dalam array (elemen nomor 1), dan seterusnya.
Kode yang mendefinisikan dan menginisialisasi juga dapat ditulis tanpa mencantumkan jumlah elemen dalam array antara tanda kurung siku, seperti contoh di bawah ini.
int my_array[] = {23, 1001, 9, 1234, 987};
Dalam hal ini, kompiler akan menentukan berapa banyak elemen array yang harus didasarkan pada jumlah nilai yang digunakan untuk menginisialisasikannya.