Array Dimensi Sri marini, ST
Mengingat Kembali Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Contoh : Var X : Array[1..100] of Integer ……. X[1] := 25; X[2] := 75; ….. writeLn (X[1]); {untuk menampilkan Array X pertama}
Array Dimensi Banyak Array dapat juga berdimensi lebih dari satu yang disebut array dimensi banyak (multidimensi array). Array Berdimensi Dua (Two Dimensional Array) Array Berdimensi Tiga (Three Dimensional Array) Dst…
Array Dimensi Dua Array Dimensi Dua mewakili suatu bentuk tabel atau matrik, yaitu indeks yang pertama dapat menunjukkan baris dan indeks kedua dapat menunjukkan kolom dari tabel atau matrik. nama_array = array[tipe_indeks1] of array [tipe_indeks2] of tipe_data; atau, nama_array = array[tipe_indeks1,tipe_indeks2] of tipe_data;
Contoh Menampilkan nilai array 5 Uses wincrt; Var Tabel : array[1..3,1..2] of byte; I,J : byte; Begin Tabel[1,1] := 5; Tabel[1,2] := 25; Tabel[2,1] := 200; Tabel[2,2] := 22; Tabel[3,1] := 75; Tabel[3,2]:= 50; For I := 1 to 3 do For J := 1 to 2 do write (Tabel[I,J]:5); End; writeLn End. Menampilkan nilai array 5
Lanjutan… Tabel[1,1] := 5; Tabel[1,2] := 25; Tabel[2,1] := 200; Untuk mengisi nilai bisa langsung pada program seperti diatas atau bisa dengan ReadLn; For I := 1 to 3 do Begin For J := 1 to 2 do write ('Masukan Nilai Tabel[',I,',',J,'] = '); ReadlN (Tabel[I,J]); End; Perhatikan penggunaan koma Utk memisahkan nilai variabel (I dan J) Dan tampilan karakter (masukan nilai tabel)
Deklarasi Array Dimensi Dua Seperti contoh sebelumnya deklarasi array ditulis : Var Tabel : array[1..3,1..2] of byte; Bisa juga ditulis seperti : Type X = array[1..3,1..2] of byte; Tabel : X; Atau; Baris = 1..3; Kolom = 1..2; X = array[Baris,Kolom] of Byte;
Parameter Larik Larik dapat digunakan sebagai parameter yang dikirimkan baik secara nilai(by value) atau secara acuan (by reference) ke prosedur atau fungsi. Prosedur yang menggunakan parameter barupa larik harus dideklarasikan di dalam judul prosedur yang menyebutkan parameternya bertipe larik.
Contoh Uses wincrt; Type Larik = array[1..50,1..50] of Real; Var I,J,K , N: byte; X : Larik; Procedure Invers(Var X : Larik; N : byte); Pv, A : real; Begin For I := 1 to N do PV := X[I,I]; X[I,I] := 1; For J := 1 to N do X[I,J] := X[I,J]/ PV; For K := 1 to N do If K <> I Then A := X[K,I] X[K,I] := 0; For J:= 1 to N do X[K,J] := X[K,J]-A*X[I,J]; End;
Lanjutan Contoh… {program utama} Begin Clrscr; Write ('Orde dari matrik ? '); Readln(N); WriteLn; {memasukkan data} For I := 1 to N do For J := 1 to N do Write( 'Nilai [', I, ' , ' ,J, '] = '); ReadLn (X[I,J]); End; {mencetak nilai matrik asli} writeLn ('Matrik Awal'); For J := 1 to N do Write ( X[I,J]:10); {menghitung invers matrik} Invers(X,N); writeLn; {mencetak inver matrik} WriteLn ('Matriks Invers'); End.