2. Definisi
Larik (array) adalah sebuah tempat penyimpanan
kumpulan data atau objek yang sistematis dengan
menempatkan data pada suatu index atau kunci (key).
46 93 99 26 27 1 14 21 10 13
3. Contoh: Larik bilangan bulat (integer) dengan 10 elemen
46 93 99 26 27 1 14 21 10 13
0 1 2 3 4 5 6 7 8 9
indeks (dimulai dari 0)
Nilai dalam larik dapat didapatkan kembali dengan
mengambil berdasarkan indeksnya.
Misalkan kita ingin mengambil indeks ke-3, maka nilai
yang dikembalikan adalah 26.
4. Spesifikasi Larik
Larik berbentuk tabel kontigu dan digunakan untuk
menyimpan data yang tipenya sama.
Larik dapat memiliki lebih dari 1 dimensi. Misalkan Larik 2
dimensi / matrix.
Ukuran larik fix atau tetap sehingga perlu didefinisikan
terlebih dahulu sebelum digunakan sebagai tempat
penyimpanan.
5. Contoh: Pemakaian Larik
Pseudocode Larik
array [1..7] of string
Contoh Larik dalam C++
int foo [5] = {10, 2, 46, 93}
string bar [3] = {“Kuliah”, “Kita”, “Bersama”}
6. Larik 2 Dimensi
Larik 2 dimensi sama dengan matriks pada kasus dunia
nyata.
Pada pendefinisiannya, berarti larik 2 dimensi adalah larik
yang terdapat larik lainnya di dalamnya.
Berarti larik ini juga bisa memiliki lebih dari 2 dimensi.
7. Ilustrasi Larik 2 Dimensi
Misalkan didefinisikan larik 2 dimensi atau matriks
berukuran 5x5, sebenarnya bentuknya akan seperti berikut:
Larik pertama
Larik kedua
(di dalamnya)
9. Pendefinisian Larik 2 Dimensi
Pseudocode Larik 2 Dimensi
array [1..5][1..5] of integer
Contoh Larik dalam C++
int foo [3][3] = {{1,2,3}, {4,5,6}, {7,8,9}}
int bar [5][5];
10. Larik Dinamis
Larik dinamis adalah larik yang ukurannya dapat
ditentukan kemudian (alokasi memorinya)
Terkadang dalam sebuah program terdapat kebutuhan
penyimpanan data bertipe sama yang berubah-ubah
sesuai kondisi, oleh karena itu dapat digunakan sebuah
larik dinamis.
11. Implementasi Larik Dinamis
#include <iostream>
using namespace std;
int main() {
int * foo; // mendefinisikan larik
foo = new int[5]; // alokasikan larik
foo[1] = 5;
foo[4] = 2;
// dst
// setelah selesai digunakan, maka lakukan delete
delete[] foo; // membebaskan memori yang telah dipakai larik
return 0;
}