bahasa pemrograman array dan string
TRANSCRIPT
ARRAY
Apa itu array?
Array : sebuah variabel yang dapat menyimpan lebih dari satu nilai sejenis (memiliki tipe data sama).
Komponen-komponen array :
A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10]
1 2 3 4 5 6 7 8 9 10
10 20 30 40 50 60 70 80 90 100
Nilai elemen array
Indeks array
Elemen array
Deklarasi array
Ex : deklarasikan array dengan nama A yang berisi 10 buah elemen bertipe integer, maka deklarasinya :
NamaArray : array [IndeksAwal..IndeksAkhir] of tipe_data;
VarA : array [1..10] of integer;
Contoh2 kode yang dapat digunakan untuk mendeklarasikan 10 buah elemen array bertipe integer
VarA1: array[0..9] of integer;A2: array[5..15] of integer;A3: array[‘a’..’j’] of integer;A4: array[‘A’..’J’] of integer;
Tersedia 2 bh fungsi yang dapat digunakan untuk mengambil indek terendah dan tertinggi dari sebuah array yaitu fungsi low dan high.
VarA: array[1..100] of integer;terendah, tertinggi : integer;
Beginterendah :=low(A); {akan menghasilkan nil 1}tertinggi :=high(A); {akan m’hslkan nil 100}…
End.
Mengakses elemen array
Bagaimana cara untuk memanipulasi array tersebut?
Langkah pertama adalah mengisikan nilai ke dalam elemen2 array bersangkutan.
NamaArray[indeks] := nilai;
VarA : array[1..100] of integer;
BeginA[1]:=1;A[2]:=2;…A[100]:=100;
End.
Var A : array[1..100] of integer;i: integer;
Beginfor i:=1 to 100 dobegin
A[i]:= i;end;
End.
program akses_array;uses wincrt;constmax = 26;
vara: array[1..max] of char;c: char;i: integer;
beginclrscr; {mengisikan elemen array}c:='a';i:=1;while (i<max) dobegin a[i] :=c; inc(c); inc(i);end;
{menampilkan nilai yang terdapat pada setiap elemen array}for i:=1 to max dowrite (a[i],' ');
end.
Mengapa harus menggunakan array??
Bagaimana cara untuk menyimpan 10 bh data?
Kalau menggunakan array.ConstMax =10;Var
n: array[1..max] of real;i: integer;
Beginfor i:=1 to max do
writeln (‘masukkan data ke-’,i,’ : ‘);readln (n[i]);
End.
Array sebagai tipe data bentukan
Cara mendeklarasikannya di bagian defenisi tipe data, yaitu bagian yang diawali dengan kata kunci type.
setelah selesai mendefenisikan array tersebut, maka kita dapat menggunakannya untuk mendeklarasikan variabel lain di dalam program.
Typebilangan =array [1..100] of integer;vokal = array [1..5] of char
Kita mendeklarasikan var dengan nama x yang bertipe bilangan sedangkan variabel vowel bertipe vokal. Hal ini menyebabkan variabel tersebut juga dapat diperlakukan sebagai array.
Contoh penggunaan variabel2 tersebut :
Varx: bilangan;vowel : vokal;
BeginX[1] := 1;X[2] :=2;…Vowel[1] :=‘a’;Vowel[2] :=‘I’;…End.
Array konstanNilai yang terkandung dalam sebuah array dapat bernilai konstan. Untuk itu array harus di deklarasikan dengan kata kunci const.
Ex:
Array konstan dapat dibaca, tp tdk dpt diubah.
ConstNamaArray : array [indekAwal...IndekAkhir] of tipe_data=
(nilai1,nilai2,…);
Const A: array [1..5] of char =(‘A’,’B’,’C’,’D’,’E’);
program arraykonstan;uses wincrt;const bulan :array [1..12] of string = ('jan','feb','maret','april','mei','juni','juli', 'agust','sept','okt','nov','des');var
nobln : integer;beginclrscr;
write ('masukkan no bln:');readln(nobln);write ('nama bulan ke-',nobln,' adalah ',bulan[nobln]);readln;
end.
Array multidimensi
Array dua dimensi
Adalah array yang memiliki 2 elemen yang bertipe array.
kolom
baris
Array diatas tdr dari 3 baris dan 4 kolom, sehingga jumlah elemennya adalah 12.
Contoh : deklarasikan array 2 dimensi dengan 3 buah baris dan 4 kolom, yang elemennya bertipe integer.
array2d : array [1..3,1..4] of integer;
Untuk melakukan pengaksesan terhadap elemen2nya, hrs dituliskan indeks baris dan kolom. Mis : ingin mengisikan nilai 100 ke dalam elemen yang terdapat pd baris ke-2 kolom ke-3, maka:
array2d[2,3] :=100;
NamaArray : array [1..BykBaris, 1..BykKolom] of tipe_data;
program jumMatriks;uses wincrt;const jbaris = 2; jkolom = 3;
type matriks23 = array[1..jbaris, 1..jkolom] of integer;
var A,B,C : matriks23; j,k : integer;
beginclrscr;{mengisikan matriks A}writeln ('Matriks A');for j:=1 to jbaris do begin for k:=1 to jkolom do begin write('A[',j,',',k,'] ='); readln (A[j,k]); end; writeln; end;writeln;
{mengisikan matriks B}writeln ('Matriks B');for j:=1 to jbaris do begin for k:=1 to jkolom do begin write('B[',j,',',k,'] ='); readln (B[j,k]); end; writeln; end;writeln;
{penjumlahan matriks A dan B dan hasilnya ditampilkan ke layar}
writeln ('hasil penjumlahan');for j:=1 to jbaris do begin for k:=1 to jkolom do begin C[j,k] := A[j,k] + B[j,k]; writeln ('C[',j,',',k,'] = ', C[j,k]); end; writeln; end;
readln;end.
Array tiga dimensi
Array yang memiliki 3 subskrip (x,y,z).
x
y
z
NamaArray :array[1..xMaks, 1..yMaks, 1..zMaks] of tipe_data;
program aksesArray3D;uses wincrt;const xMaks =2; yMaks =2; zMaks =2;
typearray3d = array [1..xMaks, 1..ymaks, 1..zMaks] of integer;
varA : array3d;i,j,k : integer; {u/ indeks pengulangan}x : integer;
beginclrscr;
{mengisikan nilai ke dalam array A}x:=1;for i :=1 to xMaks dobegin for j:=1 to yMaks do begin for k:=1 to xMaks do begin A[i,j,k] :=x; inc(x); end; end;end;
{menampilkan isi yang terdapat dalam array A}for i :=1 to xMaks dobegin for j:=1 to yMaks do begin for k:=1 to xMaks do begin write('A[',i,',',j,',',k, ']=', A[i, j, k], ''); end; end; writeln;end;readln;end.
Latihan
Buatlah program untuk menghitung nilai rata-rata dari array yang berisi N buah data bertipe integer. Dimana N adalah banyaknya elemen array tersebut.