I Love Mom

== program matriks ==

Kamis, 05 Januari 2012

Penjumlahan dan pengurangan matriks
Penjumlahan dan pengurangan matriks hanya dapat dilakukan apabila kedua matriks memiliki ukuran atau tipe yang sama. Elemen-elemen yang dijumlahkan atau dikurangi adalah elemen yang posisi atau letaknya sama.
Perkalian matriks
Matriks dapat dikalikan, dengan cara tiap baris dikalikan dengan tiap kolom, lalu dijumlahkan pada baris yang sama.
Transpose  matriks      
 Yang dimaksud dengan Transpose dari suatu matriks adalah mengubah komponen-komponen dalam matriks, dari yang baris menjadi kolom, dan yang kolom di ubah menjadi baris.

Determinan Matriks
Determinan adalah suatu fungsi tertentu yang menghubungkan suatu bilangan real dengan suatu matriks bujursangkar.
Sebagai contoh, kita ambil matriks A2x2
untuk mencari determinan matrik A maka,
detA = ad - bc
Invers Matriks
JIka A dan B matriks bujur sangkar sedemikian rupa sehingga A B = B A = I , maka B disebut balikan atau invers dari A dan dapat dituliskan B = A − 1 ( B sama dengan invers A ). Matriks B juga mempunyai invers yaitu A maka dapat dituliskan A = B − 1. Jika tidak ditemukan matriks B, maka A dikatakan matriks tunggal (singular). Jika matriks B dan C adalah invers dari A maka B = C.


Contoh program pascal tentang penjumlahan, pengurangan, perkalian, serta transpose matriks:



program matriks;
uses wincrt;

var

a : array [0..100,0..100] of integer;

b : array [0..100,0..100] of integer;

c : array [0..10,0..10] of integer;


p,f,g,ba,ka,bb,kb,i,h,j,k,r,x,y: integer;


procedure tambah;

begin

writeln ('matriks A+B');

if (ka=kb)and(ba=bb) then

begin j:=1;

for h:=1 to ba do

begin k:=1;

for i:=1 to ka do

begin

write (' ',(a[h,i]+b[j,k]),' ');k:=k+1;

end;

writeln; j:=j+1;

end;

end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda');
if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda');

end;


procedure kurang;

begin

writeln ('matriks A-B');

if (ka=kb)and(ba=bb) then

begin j:=1;

for h:=1 to ba do

begin k:=1;
for i:=1 to ka do

begin

write (' ',(a[h,i]-b[j,k]),' ');k:=k+1;

end;

writeln; j:=j+1;

end;

end; if ka<>kb then writeln('maaf.. jumlah kolom kedua matriks berbeda');
if ba<>bb then writeln('maaf.. jumlah baris kedua matriks berbeda');

end;



procedure kali;

begin

writeln ('Matriks A*B');

if ka=bb then begin

for h:=1 to ba do begin

for k:=1 to kb do begin

r:=0;

j:=1;

for i:=1 to ka do

begin

r:= r+ a[h,i]*b[j,k];

j:= j+1

end;

write (r,' ');

end;writeln;

end;

end

else begin

writeln;writeln('Maaf.. Jumlah KOLOM matriks A tidak sama dengan BARIS matriks B');end;

end;



procedure transpose;

begin

writeln ('Transpose matriks a');

for i:=1 to ka do

begin

for h:=1 to ba do

write (' ',a[h,i],' ');

writeln;

end;

writeln;

gotoxy(27,y+1);writeln ('Transpose matriks b');

y:=y+2;

for k:=1 to kb do

begin

x:=27;

for j:=1 to bb do begin

gotoxy(x,y);write (' ',b[j,k],' ');x:=x+3; end;y:=y+1;

writeln;

end;writeln;

end;


Procedure cetak;

begin

clrscr; writeln ('>>>>>>>>>> OPERASI ARITMATIKA 2 BUAH MATRIKS<<<<<<<<<< ') ; writeln;

writeln ('Data yang anda masukan adalah :');writeln;

writeln ('Matriks a');

for h:=1 to ba do

begin
for i:=1 to ka do

write (' ',a[h,i],' ');

writeln;

end;

writeln;

gotoxy (27,5);writeln ('Matriks b');

y:=6;

for j:=1 to bb do

begin

x:=27;

for k:=1 to kb do begin

gotoxy(x,y);write (' ',b[j,k],' '); x:=x+3;end; y:=y+1;

end;writeln;

end;


procedure input;

begin

writeln (' -= OPERASI ARITMATIKA 2 BUAH MATRIKS =- ') ; writeln;

write ('Masukan jumlah baris matriks A: '); readln (ba);

write ('Masukan jumlah kolom matriks A: '); readln (ka);writeln;

write ('Masukan jumlah baris matriks B: '); readln (bb);

write ('Masukan jumlah kolom matriks B: '); readln (kb);

writeln;

writeln ('Masukan komponen data Matriks A');

for h:=1 to ba do

begin

for i:=1 to ka do

begin

write ('Data ke-(',h,',',i,')= ');

readln (a[h,i]);

end;

end;

writeln;

writeln ('Masukan komponen data matriks B');

for j:=1 to bb do

begin

for k:=1 to kb do

begin

write ('Data ke-(',j,',',k,')= ');

readln (b[j,k]);

end;

end;

end;


procedure keluar;

begin

gotoxy(0,10);

writeln(' Terima kasih telah menggunakan program ini'); writeln;writeln;
write(' (^v^)The end(^v^)'); exit;

end;


procedure garis;

begin

writeln ('-------------------------------------------------------------------------------');

writeln ('===============================================================================');

end;


procedure menu;

begin

writeln;


writeln ('Menu Operasi');

writeln ('1. Penambahan Matriks');

writeln ('2. Pengurangan Matriks');

writeln ('3. Perkalian Matriks');

writeln ('4. Transpose Matriks');

writeln ('5. Input matriks yang baru');

writeln ('6. Keluar');writeln;

write ('Masukan nomor pilihan anda : '); readln (p);

if p= 1 then begin cetak; garis; tambah; garis; menu; end;

if p= 2 then begin cetak; garis; kurang; garis; menu; end;

if p= 3 then begin cetak; garis; kali; garis; menu; end;

if p= 4 then begin cetak; garis; transpose; garis; menu; end;

if p= 5 then begin clrscr; input ; cetak; garis; writeln; writeln; garis; menu; end;

if p= 6 then begin clrscr; keluar; end else begin

cetak; writeln('Maaf.. angka yang anda masukan tidak sesuai perintah');menu; end;


end;



{program Utama}

begin

input;

cetak;

garis;

writeln;writeln;

writeln;

garis;

menu;


end.


Contoh program pascal tentang determinan dan invers matriks:


Program matriks;
uses wincrt;
label  hitung;
var
    mat,adj : array [1..5,1..5] of integer;
    det,i,j : integer;
    c:char;

begin

  clrscr;
         { tampilan awal keterangan matrik }
  gotoxy(20,4);
  writeln('Matriks Ordo 2 x 2');

  gotoxy(15,5);
  writeln('-------------------------');

  gotoxy(15,7);
  writeln('1. Input data matrik ');

  gotoxy(15,8);
  writeln('2. Menentukan Adjoin Matrik');

  gotoxy(15,9);
  writeln('3. Mencari determinan matriks');

  gotoxy(15,10);
  writeln('4. Mencari Invers matriks');
  readln;

   if c = #13 then goto hitung;

           {end tampilan awal keterangan matrik}

           {mulai proses input}
hitung:
      begin
        clrscr;
        writeln('Input Matrik Ordo 2x2');
        writeln('-------------------------');
        for i := 1 to 2 do begin
           for j:= 1 to 2 do begin
               write('matrik ke ',i,' ',j,': ');readln(mat[i,j]);
           end;
           writeln;
        end;

        for i := 1 to 2 do begin
         write('|');
          for j := 1 to 2 do begin
            write(' ',mat[i,j],' ');
              if j = 2 then write ('|');
          end;
          writeln;
        end;
                 {end proses input matrik}

        writeln;
        writeln;
                 {mulai adjoin matrik dan determinan}

        writeln('Adjoin matrik Ordo 2x2');
        writeln('-----------------------');

        adj[1,1] := mat[2,2];
        adj[1,2] := mat[1,2] * -1;
        adj[2,1] := mat[2,1] * -1;
        adj[2,2] := mat[1,1];

          for i := 1 to 2 do begin
           write('|');
             for j := 1 to 2 do begin
                 write(' ',adj[i,j],' ');
                   if j = 2 then write('|');
             end;
             writeln;
          end;
        writeln;

        det := (mat[1,1] * mat [2,2]) - (mat[1,2] * mat[2,1]);

        write('Determinan dari matrik diatas adalah ');
        writeln(det);
        writeln;
                  {end of adjoin and determinan}

                  {mulai menghitung invers matrik}

        writeln('Invers Matrik ');
        writeln('----------------');
        writeln;

        for i := 1 to 2 do begin
         write('|');
          for j := 1 to 2 do begin
            write(' ',adj[i,j]/det:3:2,' ');
              if j = 2 then write('|');
          end;
          writeln;writeln;writeln;
       end;
                    {end of hitung invers matrik}

       end;
readln;
end.

Read More - == program matriks ==

...Seputar Dosen PIK Kelas A...



Nama Lengkap                 : Ir. Dwi Atmono Agus Widodo,M.Sc
NIP                                         : 131651441
Pangkat/Golongan          : Penata Muda / III C
Jabatan Fungsional          : Lektor/ Koordinator Sarana dan Prasarana Lab
Agama                                  : Islam  
Email                                     : dwiatmono@statistika.its.ac.id
Laboratorium                     : Lab Statistika Komputasi
Hobi                                       : membaca
Read More - ...Seputar Dosen PIK Kelas A...