Translate to your languages

Selamat Datang . Suatu kehormatan bagi saya atas kunjungan ini. Saya sangat berharap kunjungan berikutnya.

05 November 2008

ARRAY

ARRAY


Larik (array) : adalah tipe terstruktur dari sejumlah komponen yang mempunyai tipe sama. Pada pemrograman menggunakan pascal, larik harus dideklarasikan terlebih dahulu :

Var

Nama_variabel: array[tipe_indek] of tipe_larik;

Contoh:

Var

X: array[1..100] of integer;

Larik x telah dideklarasikan sebagai larik dengan tipe integer, jumlah elemen maksimumnya adalah 100 dan tiap elemen bisa diisi data bertipe integer.

Cara mengisi data pada elemen larik pemrograman adalah seperti berikut ini :

X[1]:= 4;

X[2]:= 3;

X[3]:= 2;

X[4]:= 1;

Untuk menampilkan data dari sebuah elemen larik dengan cara writeln(x[1]); berarti akan menampilkan isi dari elemen 1 larik x.

1) Larik Berdimensi Satu

Larik berdimensi satu dapat digambarkan seperti kotak panjang yang terdiri dari beberapa kotak kecil yang tersusun berurutan, banyaknya kotak kecil yang membentuk kotak panjang adalah menunjukkan banyaknya elemen larik yang dibuat.

Contoh program dengan larik berdimensi satu untuk menyimpan daftar jenis olahraga :

uses crt;

const

max:= 6;

type

sport= array[1..max] of string;

var

olahraga: sport;

indek: integer;

begin

clrscr;

{mengisi data setiap elemen array}

olahraga[1]:= 'sepak bola';

olahraga[2]:= 'basket';

olahraga[3]:= 'tenis';

olahraga[4]:= 'bulu tangkis';

olahraga[5]:= 'voley';

olahraga[6]:= 'renang';

{menampilkan isi array}

for indek:=1 to max do

writeln(olahraga[indek]);

readln;

end.


Contoh program untuk pencarian data pada larik :

uses crt;

const

nama: array[1..10] of string

= ('SUSI','BAMBANG','AGUS','WANDA','TONI','PARDI','TINCE','LIDYA',

'FATUR','ZAHRA' );

var

varnama: string;

indek: integer;

begin

clrscr;

write('Masukkan nama yang dicari : ');

readln(varnama);

{merubah data ke huruf kapital}

for indek:=1 to 10 do

varnama[indek]:= upcase(varnama[indek]);

{membandingkan masukan dengan data pada array}

indek:=0;

repeat

inc(indek);

until (indek>10) or (varnama=nama[indek]);

if indek>10 then

writeln('Nama tidak ditemukan')

else

writeln('Nama ada pada elemen = ',indek);

readln;

end.


Contoh program untuk mencari nilai rata-rata dari data elemen-elemen larik :

uses crt;

var

banyakData, indek: integer;

total: real;

nilai: array[1..5] of real;

begin

clrscr;

{membatasi banyak data}

repeat

write('Banyak nilai yang diinginkan (max 5) = ');

readln(banyakData);

until (banyakData>0) and (banyakData<6);

{memasukkan data nilai}

for indek:=1 to banyakData do

begin

write('Data ke ',indek,' : ');

readln(nilai[indek]);

end;

{menghitung rata-rata}

total:= 0;

for indek:= 1 to banyakData do

total:= total + nilai[indek];

writeln('Nilai rata-rata = ', total/banyakData:0:2);

readln;

end.


Contoh mengurutkan data elemen larik berdasarkan alfabet menggunakan metode bubble :

uses crt;

var

dataNama: array[1..10] of string;

jml, indek, x, y: integer;

tempat: string;

begin

clrscr;

{membatasi jumlah dan membaca masukan data}

repeat

writeln('DATA NAMA AKAN DIURUTKAN ALFABETIKAL');

write('jumlah yang dimasukkan (max 10) = ');

readln(jml); writeln;

until (jml>0) and (jml<11);

for indek:= 1 to jml do

begin

write('data ke ',indek,'= ');

readln(dataNama[indek]);

end;

{mengurutkan data dengan metode bubble}

for x:=1 to jml-1 do

for y:=x+1 to jml do

if dataNama[x] > dataNama[y] then

begin

tempat:= dataNama[x];

dataNama[x]:= dataNama[y];

dataNama[y]:= tempat;

end;

{menampilkan data setelah diurutkan}

writeln;

writeln('DATA SETELAH DIURUTKAN');

writeln;

for indek:= 1 to jml do

writeln(indek,'. ',dataNama[indek]);

readln;

end.