22
Mengolah Kelompok Data Jurusan Teknik Elektro Universitas Atmajaya Makassar

4 pengolahan data array

Embed Size (px)

Citation preview

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!!