Matrix Dalam Pascal

Posted by Juli Thursday, 16 May 2013 1 comments
Bagikan Artikel Ini :

III. Dasar Teori

Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (yang biasanya dikonotasikan dengan baris dan kolom). Sebagaimana halnya pada larik, pada modul ini kita menggambarkan matriks sebagai kumpulan kotak bujur sangkar yang tersusun berjajar pada setiap baris dan kolom.

Karena matriks sebenarnya adalah larik, maka konsep umum dari larik berlaku juga untuk matriks yaitu:

1. Kumpulan elemen yang bertipe sama. Tipe elemen matriks dapat berupa tipe dasar (integer, real, Boolean, char dan string), atau tipe terstruktur seperti record.

2. Setiap elemen data dapat diakses secara acak (random) jika indeksnya diketahui, yang dalam hal ini indeks menyatakan posisi relative di dalam kumpulannya.

3. Merupakan struktur data yang statik.

Struktur matriks praktis untuk dipakai (pengaksesannya cepat karena langsung melalui indeksnya) tetapi memakan banyak tempat di memori. Misalnya matriks integer berukuran 100 X 100, membutuhkan 10000 X ukuran integer (2 byte).

Elemen matriks diacu dengan indeks baris dan indeks kolom. Jika indeks baris dinyatakan dengan i dan indeks kolom dengan j, maka notasi algoritmatik untuk mengacu elemen pada baris i dan kolom j adalah

Nama_matriks[i,j]

Pendeklarasian matriks

Sebelum matriks digunakan untuk menyimpan data, terlebih dahulu matriks harus dideklarasikan. Mendeklarasikan matriks artinya menentukan nama matriks, tipe datanya dan ukuran matriks. Pendeklarasian matriks di dalam teks algoritma di tulis di dalam bagian deklarasi. Pendeklarasian matriks itu dapat memudahkan membuat suatu program dengan cara pendeklarasian matriks tersebut. Dimana kita ketahui pada program computer I tentang pendeklarasian pada array tersebut.

Ada beberapa cara pendeklarasian matriks:

1. Sebagai peubah.

2. Sebagai tipe baru.

3. Mendefinisikan ukuran maksimum matriks sebagai sebuah tetapan.

Mengisi dan Menulis Isi Matriks

Menulis isi matriks artinya mencetak elemen matriks ke piranti keluaran dengan andaian bahwa elemen sudah terdefinisi harganya (sudah diisi). Karna matriks terdiri atas baris dan kolom, maka kita membutuhkan dua buah variable pencacah yaitu i dan j yang fungsinya sebagai penunjuk baris dan kolom serta dua buah variable bantu lainnya yaitu m dan n sebagai pendefinisi jumlah baris dan jumlah kolom.

Berikut skema subprogram pengisian dan penulisan nilai elemen matriks.

Procedure isi_matriks(m,n: integer; var p: matriks);

Begin

I:= 1;

While i<= m do

Begin

J:= 1;

While j<=n do

Begin

Write(‘masukkan elemen ke (‘,I,’.’,j,’)=’);readln(p[I,j]);

J:=j+1;

End;

I:=i+1;

End;

End;

Procedure tulis_matriks(m,n:integer; var p: matriks);

Begin

While i<=m do

Begin

J:=1;

While j<=n do

Begin

Write(p[I,j],’’);

J:=j+1;

Writeln;

I:=i+1;

End;

End;

Menjumlahkan Dua Buah Matriks

Menjumlahkan dua buah matriks X dan Y menghasilkan matriks Z, atau X + Y = Z, hanya dapat dilakukan dengan ukuran matriks X dan Y sama dan kedua matriks sudah terdefinisi harganya (elemen-elemennya sudah berisi nilai) yang dip roses pada program utama. Matriks Z juga berukuran sama dengan matriks X dan Y.

Penjumlahan matriks X dan Y didefinisikan sangat sederhana sekali, yaitu sebagai berikut:

Z[i,j] = X[i,j] + Y[i,j] untuk semua i dan j.

Penambahan dua matriks dapat dilakukan jika dimensinya sama. Elemen-elemen matriks pada indeks yang bersesuaian sama ditambahkan dan disimpan pada indeks yang sesuai pada matriks baru, seperti diilustrasikan berikut :

a11 a12 a13 b11 b12 b13 a11+b11 a12+b12 a13+b13

a21 a22 a23 + b21 b22 b23 = a21+b21 a22+b22 a23+b23

a31 a32 a33 b31 b32 b33 a31+b31 a32+b32 a33+b33

Contoh program menambahkan dua matriks.

Program tambah_matriks;

{program menambahkan dua matriks}

Type

Mat = record

Elm : array[1..100, 1..100] of integer;

bar, kol : integer; {bar, kol<= 100}

end;

var

matA, matB, matC : mat;

i, j : integer;

begin

{mengisi mwtriks matA}

Writeln (‘mengisi matA’);

Write(‘banyak baris matA’);

Readln(matA.bar);

Write(‘banyak kolom matA =’);

Readln(matA.kol);

Writeln;

With matA do

Begin

For i: to bar do

Begin

For j:=1 to kol do

Begin

Write (‘elemen matriks[‘,I,’j,j,’]=’);

Readln(elm[i,j]);

End;

End;

End;

{mengisi matriks matB}

Writeln(‘mengisi matB’);

Write (‘banyak baris matB’);

Readln(matB.kol);

Writeln;

With matB do

Begin

For i:=1 to bar do

Begin

For j:=1 to kol do

Begin

Write(‘elemen matriks[‘,I,’,’,j,’]=’);

Readln(elm[I,j]);

End;

End;

End;

{menambahkan matA dan matB disimpan di matC}

Writeln;

If (matA.bar<>mat.B.bar) or (matA.kol<>mat.B.kol)

Then

Writeln(‘matriks tidak dapat dijumlahkan’)

Else

Begin

matC.bar := matA.bar;

matC.kol := matA.kol;

for i:= 1 to matC.bar do

for j:= 1 to matC.kol do

matC.elm[i,j]:= matA.elm[I,j]+matB.elm[i,j];

{menampilkan isi matC}

Writeln(‘isi matC:’);

With matC do

Begin

For i:=1 to bar do

Begin

For j:=1 to kol do

Write(elm[I’j]:3);

Writeln;

End;

End;

End;

End;

Perkalian Dua Buah Matriks

Perkalian dua buah matriks X dan Y menghasilkan matriks Z, atau X.Y=Z, hanya dapat dilakukan jika jumlah kolom pada matriks dan jumlah baris pada matriks kedua adalah sama, atau jika matriks X berukuran k x 1 kita kalikan dengan matriks Y yang berukuran 1 x m. Sedangkan pada saat pemrosesan perkalian matriks di dalam subprogram, kedua mariks yang akan kita proses harus terdefinisi terdahulu. Dalam program yang kita bahas pada modul ini, kita mendefinisikan jumlah baris dan jumlah kolom antara matriks X dan matriks Y adalah sama dan seolah- olah diketahui, sehingga akan di dapat matriks Z yang akan berukuran sama juga matriks X dan matriks Y.

Perkalian matriks X dan Y didefinisikan sesuai ukuran matriks yang akan kita proses nantinya. Misal ukuran matriks yang akan kita proses yaitu matriks berukuran 3x3, maka berikut alur logika perkalian dua matriks tersebut.

x11 x12 x13 y11 y12 y13 z11 z12 z13

x21 x22 x23 x y21 y22 y33 = z21 z22 z23

x31 x32 x33 y31 y32 y33 z31 z32 z33

Disini, kita dapat mendefinisikan nilai matriks Z, yatu sebagai berikut :

z11 = x11.11+x12.y12+x13.y3 → j= 1

z12 = x11.y12+x12.y22+x13.y32 → j= 2 i= 1

z13 = x11.y13+x12.y23+x13.y33 → j= 3

z21 = x21.y11+x22.y21+x23.y31 → j= 1

z22 = x21.y12+x22.y22+x23.y32 → j= 2 i= 2

z23 = x21.y13+x22.y23+x23.y33 → j= 3

z31 = x31.y11+x32.y21+x33.y31 → j= 1

z32 = x32.y12+x32.y22+x33.y32 → j= 2 i= 3

z33 = x33.y13+x32.y23+x33.y33 → j= 3

sehingga dalam bahasa pemrograman, dapat kita rumuskan sebagai berikut.

Z[i,j]:=x[i,1]*y[i,j]+x[i,2]*y[2,j]+x[i,3]*y[3,j];



TERIMA KASIH ATAS KUNJUNGAN SAUDARA
Judul: Matrix Dalam Pascal
Ditulis oleh Juli
Rating Blog 5 dari 5
Semoga artikel ini bermanfaat bagi saudara. Jika ingin mengutip, baik itu sebagian atau keseluruhan dari isi artikel ini harap menyertakan link dofollow ke http://sharingcompany.blogspot.com/2013/05/matrix-dalam-pascal.html. Terima kasih sudah singgah membaca artikel ini.

1 comments:

Anonymous said...

Matrix Dalam Pascal >>>>> Download Now

>>>>> Download Full

Matrix Dalam Pascal >>>>> Download LINK

>>>>> Download Now

Matrix Dalam Pascal >>>>> Download Full

>>>>> Download LINK

Post a Comment