Materi Array
Materi Array
PENDAHULUAN
Array atau biasa disebut larik adalah koleksi data dimana setiap elemen memakai
nama yang sama dan bertipe sama dan setiap elemen diakses dengan membedakan indeks
arraynya. Setiap rinci data disebut dengan elemen array. Setiap array dapat dioperasikan
menggunakan pemilih elemen yang disebut indeks. Karena itu indeks harus bertipe yang
mempunyai keterurutan (ada suksesor dan ada predesor) misal Integre, Boolean, Char.
Jadi array dipakai untuk menyajikan sekumpulan data yang bertipe sama, dan
disimpan dengan urutan yang sesuai dengan indeks secara kontinu.
Contoh Array : Untai karakter, daftar nomor telepon, daftar belanja, tabel pajak,
vektor, matriks.
ISI
A. Deklarasi Array
Setiap identifier yang akan digunkan harus dipesan dahulu dalam kamus/deklarasi
beserta tipe data yang akan ditampungnya. Demikian pula dengan tipe data array
beserta tipe elemen-elemen yang akan ditampungnya harus pula dipesan dalam
kamus/deklarasi.
Jika kita memesan variabel biasa (tipe data sederhana dan string), maka kita hanya
menentukan tipenya, namun jika memesan array, maka harus pula ditentukan
banyaknya elemen (misal dari 1..100).
Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang
diikuti dengan banyaknya lokasi memori yang ingin dibuat.
Contoh :
Dalam Algorima :
c : array[1..5] of integer
Terbentuk 5 variabel c dengan indeks dari 1 smapai dengan 5 bertipe integer.
Dalam bahasa C++ :
int c[5];
C++ secara otomatis akan menyediakan lokasi memori sesuai dengan yang
dideklarasikan, dimana nomor indeks selalu dimulai dari 0.
int c[5] = {-12, 0, 20, 85, 1551};
Nilai suatu variabel array dapat juga diinisialisasi secara langsung seperti yang
terdapat di dalam tanda kurung kurawal pada saat deklarasi di atas.
int x[5] = [0];
Deklarasi variable array sekaligus mengisi setiap lokasi memorinya dengan
nilai 0.
Tipe data yang akan ditampung array bisa sembarang tipe data misal Integer,
Boolean, Char, Real, String bahkan yang terstruktur seperti Set, Record atau array
lagi.
B. Inisialisasi Array
Saat mendirikan variabel array kita juga dimungkinkan untuk memberi nilai saat
deklarasi variabel array secara bersamaan, inisialisasi array disebut sebagai
“Initializer list”. apa yang kita butuhkan untuk inisialisasi sebuah variabel array
adalah sepasang tanda kurung kurwal yang mengapit semua nilai tersebut.
Contoh Penulisan
int grade[50] = {100, 90, 80, 70, 60, 50, 40, 30, 20, 10};
di atas adalah contoh dari cara inisialiasi sebuah variabel array yang memiliki 50
elemen. Untuk melakukan inisialisasi kita membutuhkan tanda sama dengan setelah
itu nilai dari setiap elemen. Nilai-nilai setiap elemen akan di kurung di dalam
sepasang tanda kurung kurawal. Setiap nilai dipisahkan dengan tanda koma.
Contoh di atas adalah pernyataan yang valid, meskupun variabel tersebut memesan
50 elemen tetapi penulis hanya memberikan 10 nilai. Dari 10 nilai tersebut akan
mengisi elemen pertama hingga ke sepuluh. Untuk elemen 10 sampai 50 akan di
inisialisasi dengan nilai “0” atau kosong.
Inisialisasi adalah sebuah pilihan, kita bebas untuk membuat variabel dengan
inisialisasi atau tanpa inisialisasi. seperti apa yang telah penulis jelaskan pada artikel
tentang “Inisialisasi”. inisialisasi variabel itu penting meskipun tidak wajib. Jika
variabel array di atas tidak melakukan inisialisasi maka otomatis setiap elemen akan
mengandung nilai acak yang berasal dari pengguna memori sebelumnya.
Untuk mengakses variabel array tidak jauh beda dengan cara mengakses variabel
biasa, untuk mengakses variabel array membutuhkan Operator subscript ( [] ) dengan
index di dalamnya yang diletakan setelah identitas variabel.
Contoh Penulisan
grade[2];
contoh di atas akan mengakses elemen ketiga dari variabel “grade”. Index yang
berada di dalam subscript digunakan untuk mengakses nilai elemen berdasarkan
konstanta yang diberikan. Pada contoh di atas kita mencoba untuk mengakses elemen
keiga dari variabel “grade”.
Bahasa pemrograman C++ tepatnya pada fitur array selalu menggunakan bilangan
cacah (bilangan dimulai dari 0). Dan setiap elemen yang kita pesan akan di nomori
berdasarkan urutan dari 0 sampai sebanyak yang kita pesan. Misalnya kita memesan
grade[50] maka elemen pertama berada pada urutan nomer 0 dan elemen terakhir
berada pada urutan 49.
Bentuknya (Pseudocode) :
Bentuknya (C++):
tipe nama_var[ukuran];
Dengan :
tipe : menyatakan jenis elemen array (int, char dan lain-lain)
rangeindeks : menyatakan indeks awal sampai demgan indeks akhir dari var
array yang dibuat
ukuran : menyatakan jumlah maksimal elemen array
Nilai indeks awal dan indeks akhir yang dideklarasikan di algoritma tidak diperlukan
pada deklarasi bahasa C++. Pada bahasa C++ hanya banyak elemennya saja (ukuran).
Jadi ukuran = indeksakhir – indeksawal + 1.
Contoh :
Algoritma :
Algoritma PangkatDua
Deklarasi
square : array [1..100] of integer
i,k : integer
Deskripsi
for i 1 to 10 do
ki+1
square[i] k * k
output(”Pangkat dari ”,k,” adalah ”, square[i])
endfor
Program C++ :
#include<iostream.h>
main()
{
int square[100];
int i,k;
Output :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100
E. Array Dimensi Dua
Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah kolom.
Bentuknya dapat berupa matriks atau tabel.
Pada prinsipnya matriks hampir sama dengan array. Matriks adalah sekumpulan
informasi bertipe sama yang setiap individu elemennya terdefinisi berdasarkan dua
indeks (yang biasanya dikonotasikan dengan baris dan kolom).
Indeks pada matriks harus mempunyai batasan dan sifat yang sama dengan indeks
pada array satu dimensi.
Sering dikatakan bahwa matriks adalah array dua dimensi, tapi patut diperhatikan
bahwa pengertian berdimensi dua (baris dan kolom) adalah dalam pemikiran kita
(penyajian logika).
Pengaturan letak elemen matriks dalam memori komputer selalu tetap sebagai deretan
”sel yang linier”. Pengertian dua dimensi ini hanya untuk mempermudah programmer
dalam merancang programnya.
Secara umum dimensi dan banyaknya elemen Array/Matriks sebenarnya tidak
dibatasi oleh Compiler, tetapi dibatasi oleh keterbatasan RAM yang disediakan.
Karena matriks menggunakan memory internal. Struktur data ini praktis untuk
dipakai, namun memori yang dipakai besar.
Contoh matriks yang sering kita lihat sehari-hari adalah tabel.
Contoh :
Sebuah matrik A berukuran 2x3 dapat dideklarasikan sebagai berikut :
Algoritma :
a : array [1..2,1..3] of integer
a1,1 11
a1,2 7
a1,3 4
a2,1 12
a2,2 3
a2,3 9
C++ :
int a[2][3] = {{11, 7, 4},{12, 3, 9}};
yang akan menempati lokasi memori dengan susunan berikut :
0 1 2
0 11 7 4
1 12 3 9
Contoh Program 1 :
#include<iostream.h>
main()
{
int A[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
Output :
123
456
123
450
120
400
Contoh Program 3 :
//program penjumlahan matrik
#include<iostream.h>
main()
{
int A[3][2]={{1,2},{3,4},{5,6}};
int B[3][2]={{7,8},{9,10},{11,12}};
int C[3][2];
int i,j;
cout<<"Matrik A = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<A[i][j]<<" ";
cout<<endl;
}
cout<<"Matrik B = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<B[i][j]<<" ";
cout<<endl;
}
//penjumlahan matrix
for(i=0; i<3 ; i++)
for(j=0; j<2 ; j++)
C[i][j]=A[i][j] + B[i][j];
cout<<"Matrik C = \n";
for(i=0; i<3 ; i++)
{
for(j=0; j<2 ; j++)
cout<<C[i][j]<<" ";
cout<<endl;
}
Contoh :
int data_huruf[2][4][6];
PENUTUP
Array merupakan suatu tipe data terstruktur. Deklarasi tipe ini tidak hanya dapat
untuk data satu dimensi tetapi bisa sampai n dimensi. Array dua dimensi biasanya dipakai
untuk perhitungan matriks dua dimensi.