230 likes | 636 Views
MATRIKS. Tim alpro. Pendahuluan . Matriks: Sebuah larik yang setiap elemennya adalah larik. Contoh: matriks identitas. Pendahuluan (2). Contoh penulisan persamaan: Penulisan dalam matriks. Definisi Matriks.
E N D
MATRIKS Tim alpro
Pendahuluan • Matriks: Sebuah larik yang setiap elemennya adalah larik. • Contoh: matriks identitas
Pendahuluan (2) • Contoh penulisan persamaan: • Penulisan dalam matriks
Definisi Matriks • Matriks adalah struktur penyimpanan data di dalam memori utama yang setiap individu elemennya diacu dengan menggunakan dua buah indeks (baris dan kolom). • Karena ada dua indeks maka matriks disebut juga larik dua dimensi
Definisi Matriks (2) Elemen (4,2) Elemen (2, 3) 1 2 3 4 1 2 3 4 kolom 5 baris
Definisi Matriks (3) • Konsep matriks: • Kumpulan elemen yang bertipe sama. Tipe elemen dapat berupa tipe dasar (integer, real, boolean, char, dan string) , atau tipe terstruktur seperti record. • Setiap elemen data dapat diakses secara random atau acak jika indeksnya diketahui (indeks menyatakan posisi relatif di dalam kumpulannya). • Merupakan struktur data yang statik, jumlah elemen sudah ditentukan terlebih dahulu di dalam deklarasi dan tidak bisa diubah selama pelaksanaan program.
Definisi Matriks (4) • Elemen matriks diacu dengan indeks baris dan kolom . Jika indeks baris dinyatakan dengan i dan indeks kolom dinyatakan dengan j, maka notasi algoritmik untuk mengacu elemen pada baris i dan kolom j adalah: nama_matriks[i,j]
Definisi Matriks (5) 1 2 3 4 1 2 3 4 5
Penyimpanan Matriks di dalam Memori • Contoh representasi matriks 4x4 di dalam memori Baris 1 Baris 2 Baris 3 Baris 4
Pendeklarasian Matriks Beberapa cara pendeklarasian matriks: • Sebagai peubah DEKLARASI M : array [1..5, 1..4] ofinteger • Sebagai tipe baru DEKLARASI type Matematika : array [1..5, 1..4] ofinteger M : Matematika • Sebagai sebuah konstanta DEKLARASI const Nbarismaks : 20 {jumlah baris maksimum} const Nkolommaks : 20 {jumlah kolom maksimum} M : array [1.. Nbarismaks , 1.. Nkolommaks ] ofinteger
Pemrosesan Matriks • Cara pemrosesan umum: menelusuri matriks baris per baris, yang pada setiap baris melakukan proses terhadap elemen pada setiap kolom procedure PemrosesanMatriks (input M: Matriks, input Nbar, Nkol : integer) {Pemrosesan elemen matriks M [1..Nbar, 1..Nkol] per baris per kolom K. awal: Matriks M sudah terdefinisi elemen-elemennya K. akhir: setiap elemen matriks M telah terproses} DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do Proses ( M [I,J] ) endfor endfor Proses ( M [I,J] ) adalah operasi memanipulasi nilai M[I,J] seperti: pembacaan, penulisan, pengubahan, komputasi, dsb.
Pemrosesan Matriks (2) procedure PemrosesanMatriks2 (input M: Matriks, input Nbar, Nkol : integer) {Pemrosesan elemen matriks M [1..Nbar, 1..Nkol] per baris per kolom K. awal: Matriks M sudah terdefinisi elemen-elemennya K. akhir: setiap elemen matriks M telah terproses} DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for J 1 to Nkol do for I 1 to Nbar do Proses ( M [I,J] ) endfor endfor
Menginisialisasi Matriks • Menginisialisasi matriks artinya memebri nilai awal yang sama untuk seluruh elemen matriks. • Proses inisialisasi biasanya dilakukan sebelum matriks digunakan untuk perhitungan. • Matriks yang elemennya diisi dari piranti masukan tidak perlu diinisialisasi lebih dahulu.
Menginisialisasi Matriks (2) procedure InisialisasiMatriks1 (input/output M: Matriks, input Nbar, Nkol : integer) {Menginisialisasi seluruh elemen matriks M[1..Nbar, 1..Nkol] dengan nilai 0 K. awal: -- K. akhir: M[I,J] =0 untuk I= 1..Nbar, J =1..Nkol } DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do M [I,J] 0 endfor endfor
Mengisi Matriks dari piranti masukan • Mengisi matriks artinya membaca elemen matriks dari piranti masukan. Perlu diperhatikan : urutan pemasukan data .
Mengisi Matriks dari piranti masukan (2) procedure BacaDataMatriks1 (input/output M: Matriks, input Nbar, Nkol : integer) {Mengisi elemen matriks M[1..Nbar, 1..Nkol] dari piranti masukan menggunakan petunjuk pembacaan K. awal: -- K. akhir: seluruh elemen matriks sudah berisi nilai yang dibaca dari piranti masukan } DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do write ( ‘M[ ‘ ,I, ‘,’ ,J, ‘]=?’) {petunjuk pembacaan} read (M [I,J]) endfor endfor
Mengisi Matriks dari piranti masukan (3) procedure BacaDataMatriks2 (input/output M: Matriks, input Nbar, Nkol : integer) {Mengisi elemen matriks M[1..Nbar, 1..Nkol] dari piranti masukan tanpa petunjuk pembacaan K. awal: -- K. akhir: seluruh elemen matriks sudah berisi nilai yang dibaca dari piranti masukan } DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do read (M [I,J]) endfor endfor
Menulis Isi Matriks procedure TulisMatriks (input M: Matriks, input Nbar, Nkol : integer) {Mencetak elemen matriks M[1..Nbar, 1..Nkol] ke piranti keluaran K. awal: elemen matriks sudah terdefinisi harganya K. akhir: seluruh elemen matriks tertulis di layar} DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do write (M [I,J]) endfor endfor
Menjumlahkan Dua Buah Matriks procedure PenjumlahanMatriks (input A: Matriks, input B: Matriks, output C: Matriks, input Nbar, Nkol : integer) {Menjumlahkan matriks A dan B yakni A+B=C K. awal: elemen matriks A dan B sudah terdefinisi harganya K. akhir: seluruh elemen matriks C berisi hasil penjumlahan elemen A dan B} DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do for J 1 to Nkol do C[I,J] A[I,J] + B[I,J] endfor endfor
Penjumlahan Baris dan Kolom procedure PenjumlahanBarisdanKolom (input/output A: Matriks, input Nbar,Nkol : integer) {Menjumlahkan baris-baris matriks A[1..Nbar, 1..Nkol] dan menyimpannya pada klom Nkol+1. Menjumlahkan kolom-kolom matriks A[1..Nbar, 1..Nkol] dan menyimpannya pada baris Nbar+1. K. awal: elemen matriks A sudah terdefinisi harganya; Nbar<= Nbarismaks-1 dan Nkol <= Nkolommaks-1 K. akhir: baris Nbar+1 dan kolom Nkol+1 masing-masing berisi hasil penjumlahan elemen kolom dan penjumlahan elemen baris mastriks A} DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI for I 1 to Nbar do {penjumlahan baris} A[I,Nkol+1] 0 for J 1 to Nkol do A[I,Nkol+1] A[I,Nkol+1] + A[I,J] endfor endfor for J 1 to Nkol do {penjumlahan kolom} A[Nbar+1,J] 0 for I 1 to Nbar do A[Nbar+1,J] A[Nbar+1,J]+ A[I,J] endfor endfor
Menentukan matriks transpose procedure Transpose (input A: Matriks, input Nbar, Nkol : integer, output Atranspose : Matriks, output NbarAT, NkolAT : integer) {Membentuk transpose dari matriks A[1..Nbar, 1..Nkol} K. awal: elemen matriks A sudah terdefinisi harganya K. akhir: Atranspose adalah transpose matriks A, Atrnspose [J,I] =A[I,J]; NbarAT dan NkolAT berisi ukuran matrik hasil transpose } DEKLARASI I: integer {indeks baris} J: integer {indeks kolom} DESKRIPSI NbarAT Nkol {jumlah baris matriks transpose} NkolAT Nbar {jumlah kolom matriks transpose} for I 1 to Nbar do for J 1 to Nkol do Atranspose [J,I] A[I,J] endfor endfor