Minggu, 22 Januari 2012

LARIK(ARRAY)

Larik sering dijumpai dalam aplikasi sehari-hari terutama yang berkaitan dengan manipulasi table-tabel angka, atau dalam bentuk struktur data matematis yang disebut vector dan matriks.
Larik(Array) adalah suatu bentuk struktur data yang menampung satu atau lebih dari
Satu atau lebih dari satu data yang sejenis(bertipe data sama), yang diwakili oleh satu
nama variabel.
- Setiap elemen atau anggota larik dapat dikenali atau diakses melalui suatu indeks
- Larik berdimensi satu disebut vector
- Larik berdimensi dua disebut matriks
- Larik berdimensi lebih dari dua disebut tensor

Mendefinisikan larik

Salah satu bentuk defenisi bisa digunakan secara konsisten dalam algoritma:
a. nama_array : array [1..n] of tipe_data;
contoh: A:array [1..10] of integer;
b. tipe_data nama_ array [n];
contoh: integer A[10];
c. type larik: array [1..n] of tipe_data;
nama_array : larik;
contoh: type larik: array [1..10] of integer;
A : larik;

Operasi Larik

Baaerapa tehnik operasi untuk larik berdimensi satu(vector) antara lain
- membaca/mengisi larik
- mencetak/menampilkan larik
- menggeser isi larik
- menggabungkan beberapa larik
- menguraikan satu larik
- mengurutkan isi larik
- mencari elemen dalam larik


Membaca/Mengisi Larik

Dengan memakai intruksi perulangan, satu per satu elemen diisi dengan indeks yang berurutan mulai dari 1 hingga indeks maksimum.

Dua algoritma untuk mengisi suatu larik

Algoritma Isilarik_1
{membaca atau mengisi larik tanpa menggunakan prosedur}

Deklarasi
Const N=10;
Integer A[n];
Integer indeks;
Deskripsi
For(indeks=1 to N step 1)
Write(“masukkan elemen ke-“,indeks)
Read (A[indeks] );
Endfor.

Algoritma Isilarik_2
{membaca atau mengisi larik dengan dengan 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 M step 1)
Write(“masukkan elemen ke-“,indeks);
Read (A[indeks] );

Endfor.


Menampilkan Isi Larik

Sebuah prosedur untuk menampilkan isi suatu larik dengan M buah elemen.

Prosedur cetak_Larik (input integer M, input integer A[1])
{prosedur untuk menampilkan isi suatularik atau array}
Deklarasi
Integer indeks;

Deskripsi
For (indeks= 1 to M step 1)
Write (A[indeks] );
Endfor.


Menggeser Isi larik

Beberapa aplikasi memerlukan pergeseran isi larik misalnya menggeser ke kiri atau menggeser ke kanan sebagai berikut:
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 di geser ke posisi berindeks i-1, dengan menggeser elemen pertama ke posisi terakhi .

Prosedur geser_kanan (in-out integer a[],input integer M)
{menggeser elemen suatu larik (vector) 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 (vector) ke kiri, A[i-1]_A[1] }

Deklarasi
Integer indeks, temp;

Deskripsi
Temp__A[1];
For (indeks=2 to M step 1)
A[indeks-1]__A[indeks];
Endfor.
A[M]__temp;


Menggabung (merge) Larik

Prosedur Gabung_larik (input integer A[], input integer N,input integer B[],
Input integer M,output integer C[], output integer L)
{menggabungkan dua larik menjadi larik yang lebih besar }

Deklarasi
Integer indeks;

Deskripsi
L__N +M;
{salin isi A ke dalam C }
For (indeks =1 to N step 1)
C[indeks]__A[indeks];
Endfor.
{salin isi B ke dalam C}
For (indeks=N+1 to L step 1)
C[indeks]___B[indeks-N] Endfor.

2 komentar:

  1. K memisahkan larik gmn cara nya

    BalasHapus
  2. Kak.. yang memisahkan, mengurutkan dan mencari elemen larik gimna kak

    BalasHapus