230 likes | 468 Views
Matrik. wijanarto. Definisi. Sekumpulan informasi yang setiap individu elemennya terdefinisi berdasarkan dua buah index Terdiri dari kolom dan baris Bertipe data sama ( dasar atau terstruktrur ) Tiap elemen dapat di akses secara random
E N D
Matrik wijanarto
Definisi • Sekumpulaninformasi yang setiapindividuelemennyaterdefinisiberdasarkanduabuah index • Terdiridarikolomdanbaris • Bertipe data sama (dasaratauterstruktrur) • Tiapelemendapatdiaksessecara random • Di dalammemorimatrikdirepresentasikansebagailarikdalamlarik, dimana space yang diperlukansebesarkolomXbarisXtipedatanya • Larikberdimensi 2, yang bersifat linear • Struktur Data Statik, fixed in memory
Representasi Matrik Matrik 3X4 Baris = 3 dan kolom = 4 Elemen (2,3) bernilai 7 Elemen (3,3) bernilai 11 Baris Kolom
Representasi Matrik • Pengisian terhadap elemen matrik harus bersesuaian, artinya besar matrik dengan jumlah niai yang diisikan harus sama • Untuk 3X4 berarti ada 12 elemen, maka pengisisan baik secara kolom maupun baris harus berjumlah 12 juga, jika tidak akan menimbulkan error pada saat di akses.
Matrik dan Pemakaianya • Matematika • Pengolahan citra digital • Deklarasi matrik • M=array [1…5,1..4] of integer • Type m:array [1..5,1..4] of integer • Akses matrik berdasarkan indexnya • M(1,1),M(2,3), dst
Operasi Matrik • Dalam bahasa operasi matrik berkenaan dengan loop for • For i:=1 to 10 do //kolom • For j:=1 to 10 do // baris • m(j,i):=0; • Inisialisasi matrik boleh dilaukan atau tidak, tergantung kebutuhan
Menjumlah 2 matrik • Misal C=A+B dimana A,B adalah matrik yang berukuran sama, maka hasilnya C berukruan sama juga • C[I,j]=A[I,j]+B[I,j] = +
Implementasi bahasa • pascal • For i:=1 to 3 do • For j:=1 to 3 do • C[i,j]:=a[i,j]+b[i,j]; • c • For (i=1;i<=3;i++) • For(j=1;j<=3;j++) • C[i,j]=a[i,j]+b[i,j];
Jumlah per kolom dan per baris • baris • For i:=1 to 3 do • A[i,3+1]:=0 • For j:=1 to 3 do • A[i,3+1]:=a[i,3+1]+a[i,j]; • kolom • For i:=1 to 3 do • A[3+1,j]:=0 • For j:=1 to 3 do • A[3+1,j]:=a[3+1,j]+a[i,j];
Cek Kesamaan 2 Matrik • Jika a,b adalah matrik maka di nyatakan sama jika : • A[I,j]=b[I,j], untuk setiap I dan j • Jika A[I,j]<>b[I,j], maka pemeriksaan berhenti • Cek kesamaan jumlah baris dan kolom masing-masing matrik • Cek kesesuaian masing-masing nilai elemen matrik
Fungsi m_sama • Asumsisemuavariabelsudahterdeklarasi If (bar_a<>bar_b) and (kol_a<>kol_b) then Ret false else i=1 Sama=true While (i<=bar_a) and sama do J=1 While (j<=kol_a) and sama do If a[I,j]<>b[I,j] then sama=false else j=j+1 If sama then i=i+1 Ret sama
Matrik Simetri • Matrik simetri adalah jika baris dan kolomnya berukuran sama (bujursangkar) • A[I,j]=a[j,i] • Blok abu-abu adalh diagonal matrik • Merah,kuning dan biru adalah elemen di bawah diagonal utamanya (a[I,j]=a[j,i]), yg merupakan cerminan nilai di atasnya
Fungsi M_Simetri • Asumsisemuavariabelsudahterdeklarasi If (bar_a<>bar_b) and (kol_a<>kol_b) then Ret false else i=1 Sim=true While (i<=bar_a) and sama do J=1 While (j<=kol_a) and sama do If a[I,j]<>b[j,i] then sim=false else j=j+1 If sama then i=i+1 Ret sama
Transpose Matrik • Ukuran matrik asal menjadi terbalik, misal A[3,4]Atrans[4,3] atau A[j,i]=AT[i,j] ATranspose A
Fungsi M-Trans • Asumsi semua variabel sudah terdeklarasi Bar_at=kol_a Kol_at=bar_a For i=1 to bar_a do For j=1 to kol_a do atrans[j,i]=a[I,j]
Matrik Segitiga Bawah • Matrik yang elemen diatas diagonal utamanya bernilai nol
Fungsi M_segi3b • Asumsisemuavariabelsudahterdeklarasi If bar<> kol then ret false else i=1 Sbwh=true While i<=bar and sbwh do j=i+1 while j<=kol and sbwh do if a[I,j]<>0 then sbwh=false else j=j+1 if sbwh then i=i+1 Ret sbwh
Perkalian 2 matrik • C=A*B • Kolom matrik A harus sama dengan baris matrik B • A[1..M,1..N] dan B[1..N,1..P] hasilnya C[1..M,1..P] • C[i,j]=c[i,j]+a[i,k]*b[b,k] (1*10)+(2*12)+(3*14) (4*10)+(5*12)+(6*14) (7*10)+(8*12)+(9*14) (1*11)+(2*13)+(3*15) (4*11)+(5*13)+(6*15) (7*11)+(8*13)+(9*15) * = =
Fungsi MKali • Asumsisemuavariabelsudahterdeklarasi M=jum. Barishasilperkalian P=jum .Kolomhasilperkalian N=jumkolompada A atau B Bar_c=M Kol_c=P For i=1 to Bar_c do for j=1 to kol_c do c[I,j]=0 for k=1 to N do C[I,j]=c[I,j]+A[I,k]*B[K,J]