Download - 4 pengolahan data array
Pendahuluan
Array adalah sebuah struktur data yang terdiri dari banyakvariabel tetapi memiliki tipe data sama, dimana masing-masing elemen variabel mempunyai nilai indeks.
Setiap elemen array mampu untuk menyimpan satu jenisSetiap elemen array mampu untuk menyimpan satu jenisdata (yaitu: variabel).
Contoh :
A = array [1..10] of integer;
Variabel array A adalah :
A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8], A[9], A[10]
Array Satu Dimensi
Type nama_array = array[a..n] of tipe_data;
var variabel_array : nama_array;var variabel_array : nama_array;
Contoh :
Type Nilai : array[1..10] of integer;
Var n : Nilai;
Array Dua Dimensi
Type nama_array = array[a..n1,a..n2] of tipe_data;
var variabel_array : nama_array;var variabel_array : nama_array;
Contoh :
Type Nilai : array[1..10,1..10] of integer;
Var n : Nilai;
Menginput Data
� Sekelompok data yang sejenis dapat disimpan dalam
variabel array.
� Mis data x adalah ukuran panjang sbb : x =
60 12 76 23 11 42 18 42
Kode Program
var data : array [1..8] of integer;
i,n : integer; i,n : integer;
Begin
write(‘Input jumlah data = ‘); readln(n);
for i:=1 to n do
write(‘Data ke ‘,I,’ = ‘); readln( data[i]);
End;
Menjumlahkan Data
� Sekelompok data dalam array dapat dijumlahkan
dengan cara membaca data dalam loop.
� Sebelum dijumlahkan, tentukan lebih dahulu nilai awal
Total penjumlahan sama dengan Nol.
� Jumlahkan data : Total = Total + data[i]
� Bisa digunakan untuk mencari nilai rata-rata.
Kode Program
var data : array [1..8] of integer;
i,n : integer;
r : real;r : real;
Begin
Total :=0;
for i:=1 to n do
Total:= Total + data[i];
End;
r := Total/n; {hitung nilai rata-rata}
Mencari Data Tertentu pada Array
Mencari suatu elemen data di dalam suatu kumpulan datamerupakan suatu kejadian yang sering kita alami, contoh:mencari nama mahasiswa dari daftar presensi. Pencarianberuntun (sequence), merupakan suatu teknik untukmencari salah satu data dari sebuah kumpulan data.mencari salah satu data dari sebuah kumpulan data.
Contoh :
Data x = 60 12 76 23 11 42 18 42
Carilah data dengan nilai 11. Untuk mencari apakahbilangan x=11 ada di dalam daftar maka dilakukanpemeriksaan terhadap data mulai dari 60, 12, 76, 23, 11Sehingga ditemukan 11 pada posisi ke-5.
Kode Program :
Begin
for i:=1 to 8 do for i:=1 to 8 do
Begin
if data[i]:= 11 then
writeln(‘ Ada data dengan nilai 11 ‘)
else
writeln(‘ Tidak ada data dengan nilai 11 ‘);
End;
End;
Mencari Data Maksimum dan Minimum
� Jika mencari data yang paling besar dalam sebuah
array, maka kita perlu menentukan nilai awal tertinggi
lebih dahulu sebelum melakukan pencarian.lebih dahulu sebelum melakukan pencarian.
Contoh : max = 0
� Jika mencari data yang terkecil dalam sebuh array,
maka kita perlu menentukan nilai awal terkecil lebih
dahulu sebelum melakukan pencarian.
Contoh : min = 1000
Kode Program :
var
i : integer; {faktor pengulang}
Min,max : integer;
Begin Begin
min := 1000;
max := 0;
for i:=1 to 8 do
Begin
if data[i]> max then max := data[i];
if data[i]< min then min := data[i];
End;
writeln(‘Data Maksimum =‘,max);
writeln(‘Data Minimum =‘,min);
end;
Pengolahan Data Matriks
� Matriks adalah bentuk dari array dua dimensi.
� Terdiri dari baris dan kolom� Terdiri dari baris dan kolom
� Dapat dilakukan operasi penjumlahan, pengurangan,
dan perkalian.
Input Data Matriks
� Data input dilakukan dengan menggunakan 2 buah
loop. Loop pertama menyatakan indeks baris, dan loop
kedua menyatakan indeks kolom.kedua menyatakan indeks kolom.
� Proses input data dilakukan per baris, dimulai dari data
pada baris pertama kemudian dilanjutkan ke baris
berikutnya.
Kode Program var
i,j: integer; {var kontrol loop}
Begin
For i:=1 to m do
Begin Begin
For j:=1 to n do
Begin
write(‘Input data A(‘I,’,’,j);
read(A[i,j]);
End;
End;
writeln;
end;
Menampilkan Data
� Hasil input data ditampilkan pada layar komputer untuk
dapat dikorekasi apakah data input sudah benar atau
salah.salah.
� Data yang ditampilkan dibaca per baris, dimulai dari
baris pertama kemudian dilanjutkan ke baris berikutnya.
Kode Program
var
i,j: integer; {var kontrol loop}
Begin
For i:=1 to m do For i:=1 to m do
Begin
For j:=1 to n do
write(A[i,j], ‘ ‘);
End;
writeln; {perpindahan baris}
end;
Penjumlahan/Pengurangan Matriks
� Penjumlahan/pengurangan 2 buah Matriks A dan B
hanya dapat dilakukan jika kedua matrik memiliki
ordo/ukuran yang sama.ordo/ukuran yang sama.
� Jika Matrik A ordo mxn dan B ordo pxq, maka m=p dan
n = q. Bila C = A + B atau C = A – B, maka ordo C sama
dengan ordo A dan B.
� Penjumlahan/Pengurangan dilakukan pada elemen
matriks yang berada pada indeks yang sama.
Kode Program
var i,j,m,n,p,q :integer;
Begin
write(‘Jlh brs Matriks A=‘);
read(m);
for i:=1 to m do
Begin
for j:=1 to n do
Begin read(m);
write(‘Jlh klm Matriks A=‘);
read(n);
write(‘Jlh brs Matriks B=‘);
read(p);
write(‘Jlh klm Matriks B=‘);
read(q);
if (m=p) and (n=q) then
Begin
Begin
C[m,n]=A[m,n]+B[m,n])
End;
End;
End
else
writeln(‘Tidak dapat diproses')
End;
Perkalian Matriks
� Perkalian 2 buah matriks hanya dapat dilakukan jika
jumlah kolom dari Matrik pertama sama jumlah baris
dari Matriks kedua.dari Matriks kedua.
� Bila Matriks A (mxn) dan B (pxq), maka A dan B dapat
dikalikan jika n sama dengan p (n=p). Jika n≠p, maka
proses perkalian tidak dapat dilakukan.
� Jika Hasil perkalian adalah C, maka ordo Matriks C
adalah mxq. C (mxq) = A(mxn) x B(pxq)
Kode Programvar i,j,k,m,n,p,q :integer;
Begin
write(‘Jlh brs Matriks A=‘);
read(m);
write(‘Jlh klm Matriks A=‘);
Begin
C[i,j]:=0;
for k:=1 to n do
C[i,j]:=C[i,j]+A[i,k]*B[k,j];
End; write(‘Jlh klm Matriks A=‘);
read(n);
write(‘Jlh brs Matriks B=‘);
read(p);
write(‘Jlh klm Matriks B=‘);
read(q);
if (n=p) then
Begin
for i:=1 to m do
Begin
for j:=1 to q do
End;
End
else
writeln(‘Tidak dapat diproses')
end;