Operasi pada Array
Sifat masing-masing elemen array mengikuti jenis data yang dimilikinya, untuk array dengan tipe bilangan integer atau real kita bisa melakukan berbagai standar operasi aritmatika seperti penjumlahan, perkalian, pengurangan, dsb. Yang perlu di garis bawahi, bahwa sifat dari array dimanfaatkan untuk operasi matrik.
a. Mencari Harga Tertentu pada Array
Mencari suatu elemen data di dalam suatu data merupakan suatu kejadian yang sering kita alami, contoh: mencari nama mahasiswa dari daftar presensi. Pencarian beruntun (sequence), merupakan suatu teknik untuk mencari suatu elemen dalam suatu sistim yang lebih besar. 
Contoh. 
Misal array A[8], dengan elemen sbb: 
A 
60  12  76  23  11 42  18  42 
Untuk mencari apakah bilangan x=11 ada didalam tabel maka dilakukan pemeriksaan terhadap :
60 12 76 23 11
Sehingga ditemukan x pada elemen ke-5, dalam bahasa PASCAL diterjemahkan seperti berikut:
type PITA = ARRAY [1..8] of integer; 
var AKU: PITA;
procedure CARI_MATRIK(AKU: PITA); 
var 
i: integer; {faktor pengulang} 
begin 
for i:=1 to 8 do 
begin 
if AKU[i]:= 11 then 
writeln(‘ terdapat bilangan 11 dalam pita ini ‘); 
else 
writeln(‘ tidak ada bilangan 11, pencarian berhenti ‘); 
end; 
end; 
b. Mencari Harga Maksimum pada Array
Misal array di atas kita cari harga yang tertinggi, maka kita perlu menentukan nilai tertinggi dahulu sebelum melakukan pencarian ; diawali dengan nilai maksimum=0 
procedure CARI_MAKSIMUM(AKU: PITA); 
var 
i: integer; {faktor pengulang} 
MAKS : integer; 
begin 
MAKS := AKU[1]; 
for i:=1 to 8 do 
begin 
if AKU[i]> MAKS then 
MAKS:= AKU[i]; 
End; 
Writeln(‘NILAI MAKSIMUM = ’,MAKS); 
end; 
b. Mencari Harga Minimum pada Array
Misal array di atas kita cari harga yang terendah, maka kita perlu menentukan nilai terendah dahulu sebelum melakukan pencarian ; diawali dengan nilai maksimum=3200
procedure CARI_MINIMUM(AKU: PITA); 
var 
i: integer; {faktor pengulang} 
MIN : integer; 
begin 
MIN := 3200; 
for i:=1 to 8 do 
begin 
if AKU[i]< MIN then 
MIN:= AKU[i]; 
end; 
writeln(‘NILAI MINIMUM = ’,MIN); 
end; 
c. Matrik
Sebagai perwujudan dari array dua dimensi, operasi aritmatika seperti penjumlahan, perkalian, dan pengurangan bisa dilakukan. 
Contoh.
- Mendefinisikan Elemen
Program OPERASI_MATRIK; 
uses wincrt; 
type 
matrik=array[1..100,1..100] of real; 
var 
m,n, p, q: integer; {dimensi dari matrik} 
A,B,C: matrik; {matrik A, B sebagai input, C sebagai hasil} 
- Membaca Elemen Matrik
procedure bacamatrik(var A:matrik; m,n:integer); 
var 
i,j: integer; {faktor pengulang} 
begin {read} 
for i:=1 to m do 
begin {do} 
for j:=1 to n do 
read(A[i,j]); 
readln; 
end; {do} 
end; {read}
- Menampilkan Elemen Matrik
procedure tulismatrik(A:matrik; m,n:integer); 
var 
i,j: integer; {faktor pengulang} 
begin {write} 
for i:=1 to m do 
begin {tiap baris} 
writeln; 
for j:=1 to n do 
write(A[i,j]:6:2); 
end; {tiap baris} 
writeln; 
end; {write}
- Penjumlahkan Matrik
procedure check_matrik(A,B,C:matrik; m,n,p,q:integer); 
var i,j :integer; 
begin 
if (m=p) and (n=q) then 
begin 
for i:=1 to m do 
begin 
for j:=1 to n do 
begin 
C[m,n]=A[m,n]+B[m,n]) 
end; 
end; 
end 
else 
writeln('DIMENSI MATRIK TIDAK COCOK') 
end;
- Pengurangan Matrik
procedure check_matrik(A,B,C:matrik; m,n,p,q:integer); 
var i,j :integer; 
begin 
if (m=p) and (n=q) then 
begin 
for i:=1 to m do 
begin 
for j:=1 to n do 
begin 
C[m,n]=A[m,n]- C[m,n]) 
end; 
end; 
end 
else 
writeln('DIMENSI MATRIK TIDAK COCOK') 
end;
-. Perkalian Matrik
procedure perkalian_matrik(A,B,C:matrik; m,n,p,q:integer); 
var i,j, k :integer; 
C1: matrik; 
begin 
if (n=p) then 
begin 
for i:=1 to m do 
begin 
for j:=1 to p do 
begin {inner product} 
C1[i,j]:=0; 
for k:=1 to n do 
C1[i,j]:=C1[i,j]+A[i,k]*B[k,j]; 
end; {inner product} 
end; 
n:=q;
for i:=1 to m do 
for j:=1 to n do 
C[i,j]:=C1[i,j]; 
end 
else 
writeln('DIMENSI MATRIK TIDAK COCOK') 
end; 
- Transpose Matrik
procedure Transpose(A,B:matrik; m,n,p,q:integer); 
var i,j:integer; 
begin 
for i:=1 to n do 
begin 
for j:=1 to m do 
begin 
B[m,n]=A[n,m] 
end; 
end; 
end;
-. Mencari Elemen yang Kosong pada Matrik
procedure CHECK_ZERO_ELEMEN(A,matrik; m,n:integer); 
var i,j:integer; 
begin 
for i:=1 to m do 
begin 
for j:=1 to n do 
begin 
if B[m,n]= 0 then 
writeln (‘terdapat elemen yang kosong’) 
else 
writeln (‘tidak terdapat elemen yang kosong’) 
end; 
end; 
end;
Langganan:
Posting Komentar (Atom)
 
 

bagusnya judul tu ditulisagak beasr tulisannya ya
BalasHapus