penjumlahan matriks dengan menggunakan prosedur

4
Penjumlahan Matriks Dengan Menggunakan Prosedur Bentuk dari program terstruktur jelas nampak dalam program yang cukup besar, mis Program Matriks karena ada proses yang sama yang selalu berulang kali dilakukan. Terstruktur karena prosedur atau fungsi tampak berurutan susunannya dari atas ke bawah dalam bentuk sub program yang lebih sederhana. Dalam prosedur dan fungsi, array harus dideklarasikan sebagai sebuah tipe data karena parameter formal pada header prosedur dan fungsi tidak mengenal deklarasi array dengan cara yang biasa digunakan. Membuat Tipe Data Cara biasa : Var A : array [1..10,1..10] of integer; Membuat tipe data : type matrix = array [1..10,1..10] of integer; Matrix adalah nama tipe dari array[1..10,1..10] of integer, sehingga deklarasi variabel A menjadi : Var A : matrix; Prosedur dalam program : 1. Prosedur ORDO: untuk melakukan input ordo/ukuran matriks A dan B. 2. Prosedur INPUT : digunakan untuk melakukan proses input data matriks A dan B 3. Prosedur HITUNG : Untuk menghitung matriks C = A + B dan D = B - A. 4. Prosedur CETAK : Untuk mencetak matrik A, B, C dan D 5. Program UTAMA : Untuk memanggil prosedur. Listring program adalah sebagai berikut : PROGRAM HITUNG_MATRIKS; USES crt; type matrix = array [1..10,1..10] of integer; var i,j : integer; {Prosedur Input Ukuran/Ordo Matrix A dan B} PROCEDURE ORDO(var m,n:integer); Begin

Upload: simon-patabang

Post on 20-Jul-2015

129 views

Category:

Education


3 download

TRANSCRIPT

Page 1: Penjumlahan  matriks dengan menggunakan prosedur

Penjumlahan Matriks Dengan Menggunakan Prosedur

Bentuk dari program terstruktur jelas nampak dalam program yang cukup besar, mis

Program Matriks karena ada proses yang sama yang selalu berulang kali dilakukan.

Terstruktur karena prosedur atau fungsi tampak berurutan susunannya dari atas ke bawah

dalam bentuk sub program yang lebih sederhana.

Dalam prosedur dan fungsi, array harus dideklarasikan sebagai sebuah tipe data karena

parameter formal pada header prosedur dan fungsi tidak mengenal deklarasi array dengan

cara yang biasa digunakan.

Membuat Tipe Data

Cara biasa : Var A : array [1..10,1..10] of integer;

Membuat tipe data : type matrix = array [1..10,1..10] of integer;

Matrix adalah nama tipe dari array[1..10,1..10] of integer, sehingga deklarasi variabel A

menjadi :

Var A : matrix;

Prosedur dalam program :

1. Prosedur ORDO: untuk melakukan input ordo/ukuran matriks A dan B.

2. Prosedur INPUT : digunakan untuk melakukan proses input data matriks A dan B

3. Prosedur HITUNG : Untuk menghitung matriks C = A + B dan D = B - A.

4. Prosedur CETAK : Untuk mencetak matrik A, B, C dan D

5. Program UTAMA : Untuk memanggil prosedur.

Listring program adalah sebagai berikut :

PROGRAM HITUNG_MATRIKS;

USES crt;

type matrix = array [1..10,1..10] of integer;

var i,j : integer;

{Prosedur Input Ukuran/Ordo Matrix A dan B}

PROCEDURE ORDO(var m,n:integer);

Begin

Page 2: Penjumlahan  matriks dengan menggunakan prosedur

clrscr;

writeln('Tentukan Ordo/Ukuran Matrix ');

write('Jumlah Baris : '); readln(m);

write('Jumlah Kolom : '); readln(n);

End;

Procedure input(x,y : integer; var m : matrix);

Begin

for i:=1 to x do

for j:=1 to y do

begin

write('M[',i,',',j,'] : ');readln(m[i,j]);

end; writeln;

end;

{Procedure Hitung}

Procedure Hitung (x,y:integer; a,b :matrix;var c,d :matrix);

Begin

for i:=1 to x do

Begin

for j:=1 to y do

Begin

c[i,j] := a[i,j] + b[i,j]; {C = A + B}

d[i,j] := a[i,j] - b[i,j]; {D = A – B}

End;

End;

End;

{Procedure Cetak}

Procedure Cetak(x,y : integer; m : matrix);

var i,j:integer;

Begin

Writeln;

for i:=1 to x do

begin

for j:=1 to y do

write(M[i,j],' ');

writeln;

end;

Page 3: Penjumlahan  matriks dengan menggunakan prosedur

writeln;

End;

{Program Utama}

var x,y : integer;

a,b,c,d: matrix;

Begin

ordo(x,y);

input(x,y,a);

input(x,y,b);

Hitung (x,y,a,b,c,d);

Writeln; writeln('Matriks A');

cetak(x,y,a); {Cetak Matriks A}

writeln; writeln('Matriks B');

cetak(x,y,b); {Cetak Matriks B}

writeln; writeln('Matriks C');

cetak(x,y,c); {Cetak Matriks C}

writeln; writeln('Matriks D');

cetak(x,y,d); {Cetak Matriks D}

readkey;

End.

Penjelasan Program:

Tipe data matrix dan variable i, j dideklarasikan di awal program sebagai variable global

karena akan digunakan dalam semua prosedur.

Prosedur ORDO melakukan input ukuran matrks m dan n kemudian hasilnya dikirim ke

dalam program utama yang diterima oleh variable x dan y. Oleh karena itu ke 4 variabel

harus mempunyai tipe yang sama.

Prosedur INPUT berfungsi melakukan input data matriks A dan B. Prosedur menerima nilai

ordo matriks lewat variable x dan y ketika dipanggil dari program utama. Variable x dan y

dalam prosedur input dan dalam program utama, namanya sama tetapi tidak saling

mengenal karena bersifat variable lokal. Data matriks disimpan ke dalam variabel M dan

hasilnya dikirim ke dalam program utama. Ketika menginput data matriks A, hasilnya ke

program utama yang diterima oleh var a sedangkan untuk data matriks B diterima oleh

variable b.

Page 4: Penjumlahan  matriks dengan menggunakan prosedur

Prosedur Hitung menerima ukuran matriks dan data matriks A dan B untuk dihitung

kemudian mengirim hasil perhitungan C dan D dikirim ke dalam program utama.

Prosedur Cetak menerima ukuran matriks dan hanya satu data matrik untuk dicetak.

Prosedur dipanggil sebanyak 4 kali karena ada 4 buah matriks yang dicetak yaitu A, B, C,

dan D.

Jika dibandingkan dengan program penjumlahan matrik sebelumnya, maka program

penjumlahan matriks dengan menggunakan prosedur menjadi lebih ringkas dan

sederhana.

Dalam program di atas, kita dapat melihat bahwa sebuah prosedur CETAK dapat

digunakan 4 kali yaitu untuk mencetak 4 buah matriks yaitu matriks A, B, C, dan D dengan

cara memanggil 4 kali dan mengirim nilai lewat variable aktual sesuai dengan data dari tiap

matriks. Perhatikan cara memanggil prosedur cetak dalam program utama.

Dengan memahami cara kerja prosedur dalam perjumlahan dan pengurangan matriks

maka anda dapat mengembangkan lagi ke kasus perkalian matriks yang memiliki logika

dan konsep yang lebih kompleks.

Semoga bermanfaat.

God bless you all.