4 pengolahan data array

22
Mengolah Kelompok Data Jurusan Teknik Elektro Universitas Atmajaya Makassar

Transcript of 4 pengolahan data array

Mengolah Kelompok Data

Jurusan Teknik Elektro

Universitas Atmajaya

Makassar

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;

Selesai

Selamat Belajar!!