Pertemuan - 3 -...
Transcript of Pertemuan - 3 -...
Pertemuan - 3
Array dan Matriks (Bab 2) Oleh : Boldson Herdianto. S., Skom., MMSI.
Apa itu Struktur Data ?
PROGRAM
ALGO
RITMA
STRUKTUR
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 …..
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.
Contoh Struktur Data …..
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
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
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
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 / Larik
PROSES LARIK Array / 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
CONTOH PROSES Array / 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
INISIALISASI Array / Larik
ALGORITMA
For Indeks 1 to 8 do
A[Indeks] = 0
Endfor
0 0 0 0 0 0 0 0
CETAK ELEMEN Array / Larik
ALGORITMA
For Indeks 1 to 8 do
Print A[Indeks]
Endfor
1 3 5 7 2 9 4 7
1 3 5 7 2 9 4 7
PROSES BENTUK LAIN Array / Larik
ALGORITMA
For Indeks 1 to 8 do
Proses Larik
Endfor
1 3 5 7 2 9 4 7
q Mencari bilangan maksimun/minimum pada
larik
q Menjumlahkan nilai seluruh elemen larik
q Membuat rata-rata nilai seluruh elemen larik
q Mencari nilai tertentu pada 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
Jadi panjang = UB – LB + 1 = 2001 – 1990 + 1 = 12
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]) = 108
Berapa lokasi JUAL[2000] ? untuk mendapat lokasi tersebut
LOK(LA[K]) = Awal(LA) + W(K - LB)
= 100 + 4 * (2000 – 1990)
= 140
PENGALAMATAN Array / Larik
Lokasi Memori Array
Awal - 100 Jual(1990)
104 Jual(1991)
108 Jual(1992)
112 Jual(1993)
116 Jual(1994)
112 Jual(1995)
124 Jual(1996)
128 Jual(1997)
132 Jual(1998)
136 Jual(1999)
140 Jual(2000)
Kita lanjutkan
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
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
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
Matriks
Kamus Data Matriks
Catatan : Tipe Data sejenis (homogen)
Indeks data memiliki keterurutan
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] >
Absensi : array [1..100, 1..2] of Waktu
Proses Matriks
1. Elemen Matriks diproses Baris demi
Baris
2. Elemen Matriks diproses Kolom demi
Kolom
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
PROSES MATRIKS Matriks
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
PROSES MATRIKS Matriks
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
24 8 70
PROSES MATRIKS Matriks
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
PROSES MATRIKS Matriks
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
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
Endfor
INISIALISASI Matriks
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
For Baris = 1 to 2 do
For Kolom = 1 to 3 do
A(Baris, Kolom) = 0
Endfor
Endfor
0 0 0
0 0 0
Isi dengan 1,2,3,4,5,6 Matriks
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
Indeks = 1
For Baris = 1 to 2 do
For Kolom = 1 to 3 do
A(Baris, Kolom) = Indeks
Indeks = Indeks + 1
Endfor
Endfor
1 2 3
4 5 6
Isi dengan 1,3,5,7,9,11 Matriks
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
Indeks = ???
For Baris = 1 to 2 do
For Kolom = 1 to 3 do
A(Baris, Kolom) = ???
Indeks = ???
Endfor
Endfor
1 3 5
7 9 13
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
24 8 70
CETAK ELEMEN Matriks
For Baris = 1 to 2 do
For Kolom = 1 to 3 do
A(Baris, Kolom) = 0
Endfor
Endfor
18 3 69 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 Menjumlahkan nilai pada setiap baris
q Membuat rata-rata pada setiap baris atau setiap kolom
q Mencari nilai tertentu pada matrik
q Menjumlahkan/Mengurangkan dua buah matrik
• Mengalikan dua buah matrik
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
24 8 70
Menjumlahkan setiap baris Matriks
For Baris = 1 to 2 do
TotalBaris = 0
For Kolom = 1 to 3 do
TotalBaris = TotalBaris + A[Baris,Kolom]
Endfor
Print Total Baris
Endfor 90
102
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
24 8 70
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
Endfor
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
1 2 3
4 5 6
18 03 69
24 08 70
1
Array B dua dimensi (matriks) :
- jumlah baris 2, kolom 3- data 18, 03, 69, 24, 08, 70.
2
1 2 3
18 3 69
24 8 70
Mengalikan Matriks
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
Minggu depan :
- Matriks Jarang
- Pengalamatan Matriks