ARRAY
·
Array
adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data
sama) yang jumlahnya tetap dan diberi suatu nama tertentu.
·
Elemen-elemen
array tersusun secara sekuensial di dalam memori sehingga memiliki alamat yang berdekatan.
·
Array
dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
·
Elemen-elemen
array bertipe data sama tapi bisa bernilai sama atau berbeda-beda.
Cara
Pengaksesan Elemen Array
·
Elemen-elemen
array dapat diakses oleh program menggunakan suatu indeks tertentu
·
Pengaksesan
elemen array dapat dilakukan berurutan atau random berdasarkan
indeks
tertentu secara langsung.
·
Pengisian
dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan
mengeset
nilai atau menampilkan nilai pada indeks yang dimaksud.
DEKLARASI ARRAY 1
DIMENSI
tipe_data
nama_var_array[ukuran];
tipe_data : menyatakan jenis tipe data
elemen larik (int, char, float, dll)
nama_var_array : menyatakan nama variabel yang dipakai.
ukuran : menunjukkan jumlah
maksimal elemen larik.
Contoh:
char huruf[9];
int umur[10];
int kondisi[2] =
{0,1}
int arr_dinamis[] =
{1,2,3}
char huruf[9]: berarti akan memesan
tempat di memori komputer sebanyak 9 tempat
dengan indeks dari
0-8, dimana semua elemennya bertipe data karakter semuanya. Kalau satu karakter
berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte.
int umur[10]: berarti akan memesan
tempat di memori komputer sebanyak 10 tempat
dengan indeks dari
0-9, dimana semua elemennya bertipe data integer semuanya. Kalau satu integer
berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 40 bytes.
int kondisi[2]: berarti akan memesan
tempat di memori komputer sebanyak 2 tempat
dengan indeks 0-1,
dimana semua elemennya bertipe data integer semuanya. Dan pada contoh di atas isi
elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu
pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1.
int arr_dinamis[]:berarti
mendeklarasikan array dengan ukuran maksimum array tidak
diketahui, namun
ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen,
yang isinya 1,2, dan 3. Kita tidak dapat mendeklarasikan array dinamis tanpa
inisialisasi.
PENJELASAN ARRAY 1
DIMENSI
·
Tanda
[] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.
·
Array
yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya
diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang
tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10
tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.
BERBAGAI CONTOH ARRAY
1 DIMENSI
Contoh 1 (variabel
array dan variabel biasa)
//Dengan variabel
biasa:
int
x1=3,x2=5,x3=2,x4=7,x5=9;
//Dengan larik:
int x[5]={3,5,2,7,9};
ARRAY DIMENSI DUA
·
Sering
kali digambarkan/dianalogikan sebagai sebuah matriks.
·
Jika
array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array
berdimensi
dua terdiri dari banyak baris dan banyak kolom yang bertipe sama
Deklarasi arrray of string
2 Dimensi :
char nama[10][50];berarti
mendeklarasikan array of string yang berjumlah 10 data bertipe string (array of
character), dimana masing-masing string mampu menampung karakter maksimal
sebanyak 50 karakter.
Program
that tests jagged array memory [C#]
using System;
class Program
{
static void Main()
{
long b1 =
GC.GetTotalMemory(true);
//
// This program
tests the memory usage of a 1000 x 100 element jagged array.
//
int[][] jagged =
new int[1000][];
for (int i = 0; i
< 1000; i++)
{
jagged[i] = new int[100];
}
long b2 =
GC.GetTotalMemory(true);
jagged[0][0] = 0;
Console.WriteLine("{0}
bytes (jagged 1000 x 100)", b2 - b1);
}
}
Output
416028 bytes (jagged 1000 x 100)
Program
that tests 2D array memory [C#]
using System;
class Program
{
static void Main()
{
long b1 =
GC.GetTotalMemory(true);
//
// This tests the
memory usage of a 1000 x 100 element two-dimensional array.
//
int[,] array =
new int[1000, 100];
long b2 =
GC.GetTotalMemory(true);
array[0, 0] = 0;
Console.WriteLine("{0}
bytes (2D 1000 x 100)", b2 - b1);
}
}
Output
400032 bytes (2D 1000 x 100)
COntoh Program :
Array 1 Dimensi ( Belum di beri nilai )
using System;
namespace UsingArray
{
class Program
{
static void Main(string[] args)
{
int[] array = new int[10];
Console.WriteLine("Index\tValue");
for (int counter = 0; counter < array.Length; counter++)
Console.WriteLine(counter+"\t"+array[counter]);
}
}
}
Array 1 Dimensi ( Di beri Nilai )
using System;
namespace InputOutput
{
class Program
{
static void Main(string[] args)
{
int[] array = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 };
Console.WriteLine("Index\tValue");
for (int counter = 0; counter < array.Length; counter++)
Console.WriteLine(counter+"\t"+array[counter]);
}
}
}
Array Multidimensi
using System;
class Program
{
static void Main()
{
// Create a
three-dimensional array.
int[, ,]
threeDimensional = new int[3, 5, 4];
threeDimensional[0,
0, 0] = 1;
threeDimensional[0,
1, 0] = 2;
threeDimensional[0,
2, 0] = 3;
threeDimensional[0,
3, 0] = 4;
threeDimensional[0,
4, 0] = 5;
threeDimensional[1,
1, 1] = 2;
threeDimensional[2,
2, 2] = 3;
threeDimensional[2,
2, 3] = 4;
// Loop over each
dimension's length.
for (int i = 0; i
< threeDimensional.GetLength(2); i++)
{
for (int y = 0; y <
threeDimensional.GetLength(1); y++)
{
for
(int x = 0; x < threeDimensional.GetLength(0); x++)
{
Console.Write(threeDimensional[x, y, i]);
}
Console.WriteLine();
}
Console.WriteLine();
}
}
}