algoritma dan struktur data - larik
TRANSCRIPT
LarikAlgoritma danStruktur Data
Kuliahkita - Edwin Lunando
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
Contoh: Larik bilangan bulat (integer) dengan 10 elemen
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.
46 93 99 26 27 1 14 21 10 13
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.
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”}
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.
Ilustrasi Larik 2 Dimensi
Misalkan didefinisikan larik 2 dimensi atau matriks berukuran 5x5, sebenarnya bentuknya akan seperti berikut:
Larik pertama
Larik kedua(di dalamnya)
Indeks Pada Larik 2 Dimensi
Contoh, terdapat larik 2 dimensi 5x5 sebagai berikut
Maka, beberapa nilai indeksnya:● Indeks[0][0] : 1 (pertama)● indeks[4][4] : 25 (terakhir)● indeks[1][3] : 3● indeks[5][3] : 23● indeks[2][4] : 9● indeks[3][4] : 14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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];
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.
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;}