Anda di halaman 1dari 5

Array atau larik sendiri di definisikan sebagai pemesanan alokasi memory berurutan.

Definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya.
Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi
tidak selalu demikian. Semua elemem array bertipe sama. Array cocok untuk organisasi
kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari
awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe
data yang sama.
Dari perngertian struktur dan pengertian array di atas, maka dapat ditarik kesimpulan
bahwa struktur array adalah kumpulan elemen-elemen data yang digabungkan menjadi suatu
kesatuan yang memiliki tipe homogen (sama).
1. Karakteristik Array :
 Mempunyai batasan dari pemesanan alokasi memori (bersifat statis).
 Mempunyai tipe data sama (bersifat homogen).
 Dapat diakses secara acak.

2. Deklarasi Array :
Ada tiga hal yang harus diketahui dalam pendeklarasian, yaitu :
 Type data array.
 Nama variable array.
 Subkrip / index array.
Contoh deklarasai array adalah sebagai berikut :
int A[10], artinya variabel A adalah kumpulan data sebanyak 10 bilangan bertipe
integer.
3. Penggunaan Array
Pada dasarnya penggunaan array sangat luas tidak hanya digunakan pada bahasa
pemrogaman.
Contoh penggunaan array sebagai berikut :
 Array digunakan untuk suatu database, contoh : tabel.
 Array digunakan untuk operasi matematika seperti vektor.
 Digunakan dalam bentuk struktur data lain, contohnya list.
4. Keunggulan Array
Keunggulan array adalah sebagai berikut :
 Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array
dapat diacu secara langsung tanpa melalui elemen-elemen lain.
 Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-
elemen tetangga, baik elemen pendahulu atau elemen peberus.
 Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus
terjaga, maka penggunaan penyimpanannya sangat efisien.
5. Kelemahan Array
Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi
karena array mempunyai batasan sebagai berikut :
 Array harus bertipe homogen, kita tidak dapat mempunyai array dimana satu
elemen adalah karakter, elemen yang lain adalah bilangan atau tipe lain.
 Kebanyakan bahasa pemrogaman mengimplementasikan array statik yang
sulit diubah ukurannya di waktu eksekusi.
 Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi
statis tidak efisien dalam penggunaan memory, menyiakan banyak waktu
komputas, dan ada suatu aplikasi representasi statis tidak dimungkinkan.

A. Mendefinisikan Larik
1. nama_array : array [1..n] of tipe_data;
Contoh: A : array [1..10] of integer
2. tipe_datanama_array [n];
Contoh : integer A [10]
3. type larik : array [1..n] of tipe_data;
nama_array :larik;
Contoh : typelarik : array [1..10] of integer;
A :larik;

B. Operasi Larik
1. Membaca/mengisi larik
Proses membaca atau mengisi suatu larik dimulai dengan mendefinisikan array
disertai jumlah elemen yang akan disimpan, kemudian dengaan memakai instruksi
perulangan maka satu persatu elemen diisi dengan indeks yang berurutan mulai dari 1
hingga indeks maksimum.
Algoritma Isi Larik_1
{membaca atau mengisi larik tanpa menggunakan prosedur}

Definisi Variabel
const N = 10;
integer A[N];
integer indeks;

Rincian Langkah
for (indeks = 1 to N step 1)
write (“masukkan elemen ke-“,indeks)
read (A[indeks]);
endfor

Algoritma Isi Larik_2


{membaca atau mengisi larik menggunakan prosedur}

Deklarasi
const N = 100;
integer A[N];
integer K;
prosedur Baca_Larik (input integer M, output integer A[ ]);
Deskripsi
write (“masukkan jumlah elemen larik (< 100):”);
read (K);
Baca_Larik (K,A)

prosedur Baca_Larik (input integer M, output integer A[ ]);


{prosedur membaca/mengisi larik}

Deklarasi
Integer indeks

Deskripsi
for (indeks = 1 to N step 1)
write (“masukkan elemen ke-“,indeks)
read (A[indeks]);
endfor

2. Menampilkan isi larik


Prosedur Cetak_Larik (input integer M, input integer A[ ])
{prosedur untuk menampilkan isi suatu larik atau array}

Definisi Variabel
integer indeks;

Rincian Langkah
for (indeks = 1 to M step 1)
write (“masukkan elemen ke-“,indeks)
read (A[indeks]);
endfor

3. Menggeser isi larik


Proses geser kanan berarti elemen berindeks i digeser ke posisi berindeks i + 1,
dengan catatan elemen terakhir akan dipindahkan ke posisi pertama. Sebaliknya ,
proses geser kiri berarti elemen berindeks i digeser ke posisi berindeks i – 1, dengan
menggeser elemen pertama ke posisi akhir.
prosedur Geser_Kanan (in-out integer A[ ], input integer M)
{menggeser elemen suatu larik (vektor) ke kanan, A[i + 1] ← A[i]}

Deklarasi
integer indeks, temp;
Deskripsi
temp ← A[M];
for (indeks = M-1 to 1 step -1)
A[indeks + 1] ← A[indeks];
endfor
A[1] ← temp;

prosedur Geser_Kiri (in-out integer A[ ], input integer M)


{menggeser elemen suatu larik (vektor) ke kiri, A[i - 1] ← A[i]}

Deklarasi
integer indeks, temp;

Deskripsi
temp ← A[1];
for (indeks = 2 to M step 1)
A[indeks - 1] ← A[indeks];
endfor
A[M] ← temp;

Algorotma Geser_Larik
{algoritma untuk menggeser isi larik dengan memanfaatkan prosedur-prosedur larik}

Deklarasi
Const Nmax = 100;
Integer N, pilihsn, A[Nmax];
Prosedur Baca_Larik (input integer M, input integer A[ ]);
Prosedur Cetak_Larik (input integer M, input integer A[ ]);
Prosedur Geser_Kanan (input integer A[ ], input integer M);
Prosedur Geser_Kiri (input integer A[ ], input integer M);

Deskripsi
Write (“masukkan jumlah elemen larik :”);
Read (N)
Baca_Larik (N,A);

Write (“Pilih salah satu :”);


Write (“1. Geser Kanan”);
Write (“2. Geser Kiri”);
Read (pilihan);
If (pilihan = 1)
Then Geser _Kanan (A,N);
Else Geser_Kiri (A,N);
Endif.

Cetak_Larik (N,A);

DaftarPustaka
http://2114r0879-strukturdata-septialutfi.blogspot.com/2015/05/makalah-tentang-array.html

Suarga.2018.Algoritma dan Pemrograman.Yogyakarta: Penerbit ANDI

Anda mungkin juga menyukai