matriks
TRANSCRIPT
![Page 1: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/1.jpg)
Kuliah Ke - 2
Array dan Matriks (Bab 2)Informatics Engineering Department
TRUNOJOYO UNIVERSITY
![Page 2: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/2.jpg)
Apa itu Struktur Data ?
PROGRAM
ALGORITMA
STRUKTUR
DATA
![Page 3: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/3.jpg)
Algoritma …..
deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis
1. ditulis dengan notasi khusus2. notasi mudah dimengerti3. notasi dapat diterjemahkan menjadi
sintaks suatu bahasa pemrograman
![Page 4: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/4.jpg)
Struktur Data …..
model logika/matematik yang secara khusus mengorganisasi data
![Page 5: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/5.jpg)
Contoh Struktur Data …..
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
![Page 6: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/6.jpg)
Contoh Struktur Data …..
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
![Page 7: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/7.jpg)
Struktur Data …..
Tempat Penyimpanan Data
Operasi terhadap data
• Traversal (Traversing) : mengunjungi setiap elemen SD• Pencarian (Searching) : menemukan elemen/lokasi pada SD• Penyisipan (Inserting) : menambah elemen baru pada SD• Penghapusan (Deleting) : menghapus elemen dari SD
![Page 8: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/8.jpg)
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
Struktur Data :Struktur Data : Array / Larik Array / LarikTujuanMembahas struktur data yang paling sederhana dan mudah pengoperasiannya, yaitu array / larik.
Definisistruktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks
![Page 9: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/9.jpg)
KELEBIHAN & KEKURANGAN
KELEBIHAN- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi - Waktu akses sama ke setiap elemen
KEKURANGAN- Boros memori jika banyak elemen yang tidak digunakan
- Struktur Data Statis
Array / LarikArray / Larik
![Page 10: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/10.jpg)
PROSES LARIKArray / LarikArray / Larik
Catatan : Tipe Data sejenis (homogen)
Indeks data memiliki keterurutan
Program Proses_Larik
KAMUS Const : N = 8 {jumlah elemen larik}
Indeks : integer A : array [1..N] of integer {deklarasi larik A dengan tipe data integer}
ALGORITMA For Indeks 1 to N do PROSES LARIK Endfor
![Page 11: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/11.jpg)
CONTOH PROSES Array / LarikArray / Larik
Mengisi elemen larik dengan 0 (inisialisasi)
Mengisi elemen larik dari piranti masukan
Mencetak elemen larik ke piranti keluaran
ALGORITMA For Indeks 1 to N do PROSES LARIK Endfor
![Page 12: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/12.jpg)
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
INISIALISASIArray / LarikArray / Larik
ALGORITMA For Indeks 1 to 8 do A[Indeks] = 0A[Indeks] = 0 Endfor
0 0 0 0 0 0 0 0
![Page 13: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/13.jpg)
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
CETAK ELEMENArray / LarikArray / Larik
ALGORITMA For Indeks 1 to 8 do Print A[Indeks] A[Indeks] Endfor
1 3 5 7 2 9 4 7
13572947
![Page 14: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/14.jpg)
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
PROSES BENTUK LAINArray / LarikArray / Larik
ALGORITMA For Indeks 1 to 8 do Proses Larik Endfor
1 3 5 7 2 9 4 7
Mencari bilangan maksimun/minimum pada larik Menjumlahkan nilai seluruh elemen larik Membuat rata-rata nilai seluruh elemen larik Mencari nilai tertentu pada larik
![Page 15: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/15.jpg)
Cari Bilangan MaksimumArray / LarikArray / Larik
ALGORITMA Maks = A[1] For Indeks 2 to 8 do If A[Indeks] > Maks then
Maks = A[Indeks] Endfor Print Maks
1 7 18 03 69 24 08 70
1 2 3 4 5 6 7 8
Array A satu dimensi :8 indeks (1 s /d 8) dan data 1 , 7 , 18 dst.
1 3 5 7 2 9 4 7
![Page 16: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/16.jpg)
HITUNG PANJANGArray / LarikArray / Larik
Panjang = UB - LB + 1
dimana:UB - upper bound ( indeks terbesar)LB - lower bound (indeks terkecil)
Contoh : Seorang pedang mobil menggunakan larik untuk menyimpan data penjualan dari tahun 1990 sampai dengan tahun 2001. Berapa panjang (jumlah elemen) larik yang harus disediakan?
LB = 1990LB = 1990UB = 2001UB = 2001
Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12
![Page 17: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/17.jpg)
PENGALAMATANArray / LarikArray / Larik
LOK(LA[K]) = Awal(LA) + W(K - LB) di mana: LOK(LA[K]) – lokasi elemen dengan indeks K, yang dicariK -- Indeks yang dicariAwal (LA) -- Lokasi awal dari larikW – jumlah byte untuk menyimpan 1 elemen larikLB -- lower bound / batas bawah
![Page 18: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/18.jpg)
PENGALAMATANArray / LarikArray / Larik
LOK(LA[K]) = Awal(LA) + W(K - LB) Contoh:Misalkan Awal (Jual) = 100 dan W= 4, maka LOK (JUAL[1990]) = 100LOK (JUAL[1991]) = 104LOK (JUAL[1992]) = 108 Berapa lokasi JUAL[2000] ? untuk mendapat lokasi tersebut LOK(LA[K]) = Awal(LA) + W(K - LB)
= 100 + 4 * (2000 – 1990)= 140
![Page 19: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/19.jpg)
PENGALAMATANArray / LarikArray / Larik
Lokasi Memori Array
Awal - 100Awal - 100 Jual(1990)
104104 Jual(1991)
108108 Jual(1992)
112112 Jual(1993)
116116 Jual(1994)
112112 Jual(1995)
124124 Jual(1996)
128128 Jual(1997)
132132 Jual(1998)
136136 Jual(1999)
140140 Jual(2000)
![Page 20: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/20.jpg)
Kita lanjutkan Kita lanjutkan untuk yang satu ini …..untuk yang satu ini …..
![Page 21: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/21.jpg)
Struktur Data :Struktur Data : Matriks MatriksDefinisi•struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks •Array dua dimensi, yang memiliki indeks baris dan kolom
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
![Page 22: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/22.jpg)
KELEBIHAN & KEKURANGAN
KELEBIHAN- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi - Waktu akses sama ke setiap elemen
KEKURANGAN- Boros memori jika banyak elemen yang tidak digunakan
- Struktur Data Statis
MatriksMatriks
![Page 23: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/23.jpg)
Kamus DataMatriksMatriks
Catatan : Tipe Data sejenis (homogen)
Indeks data memiliki keterurutan
KAMUSA : array [1..2, 1..3] of integer {ukuran 2x3}
Nilai : array [1..50,1..4] of real {ukuran 50x4} Type WAKTU : record < JJ : integer [0..23], MM : integer [0..59], DD : integer [0..59] > Absensi : array [1..100, 1..2] of Waktu
![Page 24: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/24.jpg)
Proses Matriks
1. Elemen Matriks diproses Baris demi Baris
2. Elemen Matriks diproses Kolom demi Kolom
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
![Page 25: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/25.jpg)
PROSES MATRIKSMatriksMatriks
Program Proses_Matrik_BarisdemiBaris
KAMUS Const : M = 2 {jumlah baris matrik} Const : N = 3 {jumlah kolom array} Baris, Kolom : integer A : array [1..M, 1..N] of integer
ALGORITMA For Baris 1 to M do For Kolom 1 to N do
PROSES MATRIK Endfor Endfor
![Page 26: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/26.jpg)
PROSES MATRIKSMatriksMatriks
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
![Page 27: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/27.jpg)
PROSES MATRIKSMatriksMatriks
Program Proses_Matrik_KolomdemiKolom
KAMUS Const : M = 2 {jumlah baris matrik} Const : N = 3 {jumlah kolom array} Baris, Kolom : integer A : array [1..M, 1..N] of integer
ALGORITMA For Kolom 1 to N do For Baris 1 to M do
PROSES MATRIK Endfor Endfor
![Page 28: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/28.jpg)
PROSES MATRIKSMatriksMatriks
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
![Page 29: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/29.jpg)
CONTOH PROSES MatriksMatriks
Mengisi elemen matriks dengan 0 (inisialisasi)
Mengisi elemen matriks dari piranti masukan
Mencetak elemen matriks ke piranti keluaran
ALGORITMA For Baris 1 to M do For Kolom 1 to N do PROSES MATRIKS Endfor Endfor
![Page 30: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/30.jpg)
INISIALISASIMatriksMatriks
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0A(Baris, Kolom) = 0 EndforEndfor
0 0 0
0 0 0
![Page 31: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/31.jpg)
Isi dengan 1,2,3,4,5,6MatriksMatriks
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
Indeks = 1For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = IndeksA(Baris, Kolom) = Indeks
Indeks = Indeks + 1Indeks = Indeks + 1 EndforEndfor
1 2 3
4 5 6
![Page 32: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/32.jpg)
Isi dengan 1,3,5,7,9,11MatriksMatriks
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
Indeks = ???For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = ???A(Baris, Kolom) = ???
Indeks = ???Indeks = ??? EndforEndfor
1 3 5
7 9 13
![Page 33: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/33.jpg)
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
CETAK ELEMENMatriksMatriks
For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = 0A(Baris, Kolom) = 0 EndforEndfor
1836924870
![Page 34: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/34.jpg)
PROSES LAINNYAMatriksMatriks
For Baris = 1 to 2 do For Kolom = 1 to 3 do A(Baris, Kolom) = ???A(Baris, Kolom) = ??? ?????? EndforEndfor
PROSES MATRIK DAPAT DIMODIFIKASI, sbb : Menjumlahkan nilai pada setiap baris Membuat rata-rata pada setiap baris atau setiap kolom Mencari nilai tertentu pada matrik Menjumlahkan/Mengurangkan dua buah matrik• Mengalikan dua buah matrik
![Page 35: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/35.jpg)
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
Menjumlahkan setiap barisMatriksMatriksFor Baris = 1 to 2 do
TotalBaris = 0 For Kolom = 1 to 3 do
TotalBaris = TotalBaris + A[Baris,Kolom]
Endfor Print Total BarisEndfor
90
102
![Page 36: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/36.jpg)
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
Menjumlahkan C = A + BDua buah MatriksDua buah Matriks
For Baris = 1 to 2 do For Kolom = 1 to 3 do
C[Baris,Kolom] =A[Baris,Kolom]+ B[Baris,Kolom]
Endfor Endfor
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
1 2 3
4 5 6
![Page 37: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/37.jpg)
1 8 0 3 6 9
2 4 0 8 7 0
1
Ar ra y B dua di me ns i (ma tr ik s ) :- j uml a h ba ri s 2 , k ol om 3- d a ta 1 8 , 0 3 , 6 9 , 2 4 , 08 , 7 0 .
2
1 2 3
18 3 69
24 8 70
MengalikanMatriksMatriks
For Baris = 1 to 2 do For Kolom = 1 to 3 do C[Baris, Kolom] = 0 For K = 1 to P do C[Baris,Kolom] =C[Baris,Kolom]+ A[Baris,K] * B[K,Kolom] Endfor Endfor Endfor
![Page 38: matriks](https://reader035.vdocuments.us/reader035/viewer/2022081519/5571f84d49795991698d1cfd/html5/thumbnails/38.jpg)
Minggu depan :Minggu depan :
- Matriks Jarang - Matriks Jarang - Pengalamatan Matriks - Pengalamatan Matriks