Pertemuan ke-3 (Matriks).pdf (1,492Kb)
Pertemuan - 3
Array dan (Bab 2)
Oleh : Boldson Herdianto. S., Skom., MMSI.
MatriksApa itu Struktur Data ?
PROGRAM ALGO
DATA Algoritma ….. deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis
1. ditulis dengan notasi khusus 2. notasi mudah dimengerti 3. notasi dapat diterjemahkan menjadi
sintaks suatu bahasa pemrograman
Struktur Data ….
model logika/matematik yang secara khusus mengorganisasi data Contoh Struktur Data …..
Array A satu dimensi : 8 indeks (1 s/d 8) dan data 1, 7, 18 dst.
1
7
18
03
69
24
08
70
1
2
3
4
5
6
7
8 Contoh Struktur Data …..
Array B dua dimensi (matriks) :
- - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70.
1
2
3
18 03 69
1
24 08 70
2 Struktur Data …..
Operasi Tempat terhadap data
Penyimpanan 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
Struktur Data :
Array / Larik
Tujuan
Membahas struktur data yang paling sederhana dan
mudah pengoperasiannya, yaitu array / larik.Definisi struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks
KELEBIHAN & KEKURANGAN Array / Larik
KELEBIHAN
- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi
- Waktu akses sama ke setiap elemen
KEKURANGAN - Bo ros memori jika banyak elemen yang tidak digunakan - Struktur Data Statis
PROSES LARIK Array / Larik Program Proses_Larik KAMUS {jumlah elemen larik}
Const : N = 8 Indeks : integer {deklarasi larik A dengan tipe data integer} A : array [1..N] of integer ALGORITMA For Indeks 1 to N do PROSES LARIK Endfor Catatan :
Tipe Data sejenis (homogen)
CONTOH PROSES Array / Larik ALGORITMA For Indeks 1 to N do PROSES LARIK Endfor Mengisi elemen larik dengan 0
(inisialisasi) Mengisi elemen larik dari piranti masukan Mencetak elemen larik ke piranti keluaran
INISIALISASI
Array / Larik ALGORITMA For Indeks 1 to 8 doA[Indeks] = 0 Endfor
0 0 0 0 0 0 0 0
CETAK ELEMEN Array / Larik ALGORITMA For Indeks 1 to 8 do
2 A[Indeks]
9
4
7
5
3
1
7 Endfor
5
7
1
3
2
9
4
7 PROSES BENTUK LAIN Array / Larik ALGORITMA For Indeks 1 to 8 do
Proses Larik Endfor q
Mencari bilangan maksimun/minimum pada larik
5
7
1
3
2
9
4
7
q Menjumlahkan nilai seluruh elemen larik q
Membuat rata-rata nilai seluruh elemen larik
Cari Bilangan Maksimum Array / Larik ALGORITMA Maks = A[1] For Indeks 2 to 8 do
If A[Indeks] > Maks then Maks = A[Indeks] Endfor
Print Maks
1
3
5
7
2
9
4
7 HITUNG PANJANG Array / 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 = 1990 UB = 2001
PENGALAMATAN Array / Larik LOK(LA[K]) = Awal(LA) + W(K - LB) di mana: LOK(LA[K])
- – lokasi elemen dengan indeks K, yang dicari K -- Indeks yang dicari Awal (LA) -- Lokasi awal dari larik W – jumlah byte untuk menyimpan 1 elemen larik LB -- lower bound / batas bawah
PENGALAMATAN Array / Larik LOK(LA[K]) = Awal(LA) + W(K - LB)
Contoh:
Misalkan Awal (Jual) = 100 dan W= 4, maka LOK (JUAL[1990]) = 100 LOK (JUAL[1991]) = 104 LOK (JUAL[1992]) = 108Berapa lokasi JUAL[2000] ? untuk mendapat lokasi tersebut
LOK(LA[K]) = Awal(LA) + W(K - LB) = 100 + 4 * (2000- – 1990)
untuk yang satu ini …..
Struktur Data : Matriks
Definisi
- struktur data yang mengacu pada sekumpulan elemen yang diakses melalui indeks
•Array dua dimensi, yang memiliki indeks baris dan
kolom - d ata 18, 03, 69, 24, 08, 70. - j uml ah bari s 2, kol om 3 Ar ray B dua di mensi (matr iks) : 1 18- Struktur Data paling mudah
- Memori ekonomis, bila semua elemen terisi
- Waktu akses sama ke setiap elemen
- - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70.
- - jumlah baris 2, kolom 3 - data 18, 03, 69, 24, 08, 70.
- - j uml ah bari s 2, kol om 3 Ar ray B dua di mensi (matr iks) :
- - j uml ah bari s 2, kol om 3 1 Ar ray B dua di mensi (matr iks) : - d ata 18, 03, 69, 24, 08, 70. 2 1 2 3 Indeks = ??? For Baris = 1 to 2 do For Kolom = 1 to 3 do
- - j uml ah bari s 2, kol om 3 Endfor 1 18
- - jumlah baris 2, kolom 3 - jumlah baris 2, kolom 3 Array B dua dimensi (matriks) : Array B dua dimensi (matriks) :
- - jumlah baris 2, kolom 3
- Matriks Jarang
- Pengalamatan Matriks
1 03 2 69 3 2
24 08 70 KELEBIHAN & KEKURANGAN Matriks
KELEBIHAN
KEKURANGAN - Bo ros memori jika banyak elemen yang tidak digunakan - Struktur Data Statis
Kamus Data Matriks KAMUS A : 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] > Catatan : Absensi : array [1..100, 1..2] of Waktu Tipe Data sejenis (homogen) Proses Matriks 1.
Elemen Matriks diproses Baris demi Baris
Kolom - d ata 18, 03, 69, 24, 08, 70. - j uml ah bari s 2, kol om 3 Array B dua di mensi (matr iks) : 1 18
1 03 2 69 3 2
24 08 70 PROSES MATRIKS Matriks Program Proses_Matrik_BarisdemiBaris Const : N = 3 {jumlah kolom array} Const : M = 2 {jumlah baris matrik} KAMUS A : array [1..M, 1..N] of integer Baris, Kolom : integer For Kolom 1 to N do For Baris 1 to M do ALGORITMA Endfor PROSES MATRIK Endfor
PROSES MATRIKS Matriks
Array B dua dimensi (matriks) :
1
2
3
18 03 69
1
18
3
69
24 08 70
2
24
8
70
Program Proses_Matrik_KolomdemiKolom PROSES MATRIKS Matriks Const : N = 3 {jumlah kolom array} Const : M = 2 {jumlah baris matrik} KAMUS A : array [1..M, 1..N] of integer Baris, Kolom : integer For Baris 1 to M do For Kolom 1 to N do ALGORITMA Endfor PROSES MATRIK Endfor
PROSES MATRIKS Matriks
Array B dua dimensi (matriks) :
1
2
3
18 03 69
1
18
3
69
24 08 70
2
24
8
70 CONTOH PROSES Matriks
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 EndforINISIALISASI Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do
A(Baris, Kolom) = 0 - j uml ah bari s 2, kol om 3
Ar ray B dua di mensi (matr iks) :
Endfor - d ata 18, 03, 69, 24, 08, 70. Endfor 1 181 03 2 69 3 2
24 08 70 Isi dengan 1,2,3,4,5,6 Matriks Indeks = 1 For Baris = 1 to 2 do For Kolom = 1 to 3 do
A(Baris, Kolom) = Indeks - d ata 18, 03, 69, 24, 08, 70. Indeks = Indeks + 1 Endfor 1 2 3 Endfor 1 18 03 69 2
1 24
2 08
3 70
4
5
6
Isi dengan 1,3,5,7,9,11 Matriks
18 03 69
24 08 70
A(Baris, Kolom) = ??? Indeks = ???
Endfor Endfor
1
3
5
7
9
13 CETAK ELEMEN Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do
A(Baris, Kolom) = 0 Ar ray B dua di mensi (matr iks) :
3 - d ata 18, 03, 69, 24, 08, 70.
70 Endfor
8
24
69
18
1 03 2 69 3 2
18 24
3 08
69 70
24
8
70 PROSES LAINNYA Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do
A(Baris, Kolom) = ??? ??? Endfor Endfor PROSES MATRIK DAPAT DIMODIFIKASI, sbb : q q Menjumlahkan nilai pada setiap baris q Membuat rata-rata pada setiap baris atau setiap kolom q Mencari nilai tertentu pada matrik
Menjumlahkan/Mengurangkan dua buah matrik
Menjumlahkan setiap baris Matriks For Baris = 1 to 2 do
TotalBaris = 0 For Kolom = 1 to 3 do
TotalBaris = TotalBaris + A[Baris,Kolom]
- jumlah baris 2, kolom 3
Array B dua dimensi (matriks) : - data 18, 03, 69, 24, 08, 70.Endfor Print Total Baris 1 2 3 Endfor 1 18 03 69 24
18 08
3
69 70
90
2
24
8 70 102 Menjumlahkan C = A + B Dua buah Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do
C[Baris,Kolom] =A[Baris,Kolom]+ B[Baris,Kolom]
Endfor - data 18, 03, 69, 24, 08, 70. - data 18, 03, 69, 24, 08, 70. Endfor 1 2 3 1 2 3 1 2 24
18 18 24 03 08 8 3 70 69 70 69 1 2 24 18 1 4 08 03 5 2 69 70 6 3
Mengalikan Matriks For Baris = 1 to 2 do For Kolom = 1 to 3 do C[Baris, Kolom] = 0 For K = 1 to P do Array B dua dimensi (matriks) :
C[Baris,Kolom] =C[Baris,Kolom]+ A[Baris,K] + B[K,Kolom] - data 18, 03, 69, 24, 08, 70.
Endfor Endfor 1 2 3 Endfor 1 18 03 69 24
18 08
3
69 70
2
24
8
70 Minggu depan :