1 2 3 4 5 6 7 8
Lanjt BAB III
Kerugiannya:
Memboroskan tempat jika banyak elemen yang tidak digunakan.
Lanjt BAB III
Panjang Larik
Untuk mengetahui jumlah elemen suatu larik dapat
dihitung dengan rumus sebagai berikut :
Panjang = UB – LB + 1
Dimana :
UB – upper bound (indeks terbesar)
LB – lower bound (indeks terkecil)
Contoh:
Seorang pedagang mobil menggunakan larik untuk
menyimpan data penjualan dari tahun 1994 sampai
dengan tahun 2005. Berapa panjang (jumlah elemen larik
yang harus disediakan?)
Jawab :
LB = 1994
UB = 2005
Jadi panjang = UB – LB + 1 = 2005-1994+1
= 12
Artinya jumlah elemen larik yang diperlukan adalah
sebanyak 12 buah.
Pada Tahun 2003 Adi berencana usaha
sendiri,karena selama ini hanya pegawai
restoran,tapi belum ada modal untuk usaha tahun
2003. pada tahun 2004 adi berdang buah-
buahan.Maka Adi jadila pedagang buah
menggunakan larik untuk menyimpan data
penjualan dari tahun 2004 sampai dengan tahun
2018. Berapa panjang (jumlah elemen) larik yang
harus disediakan ?
Lanjt BAB III
Pengalamatan Larik
Penyimpanan elemen larik di dalam memori komputer disusun
berurutan sehingga komputer tidak perlu menentukan setiap
elemen larik tetapi cukup menyimpan alamat
awal/pertamanya. Berikut ini cara menentukan lokasi alamat
elemen larik dengan indeks tertentu :
LOK(LA[K])= Awal(LA)+W(K-LB)
Dimana :
LOK(LA[K]) – lokasi elemen larik dengan indeks K, yang dicari
K - Indeks larik yang dicari
Awal (LA) -Lokasi awal dari larik
W - Jumlah byte untuk menyimpan 1 elemen larik
LB - Lower bound / batas bawah
Contoh :
Misalkan Awal (Jual) = 100 dan W =4, maka
LOK(Jual[1994]) = 100
LOK(Jual[1995]) = 104
LOK(Jual[1996]) = 108
Lanjt Contoh
Berapa lokasi Jual[2005]? Untuk mendapat lokasi tersebut
sebagai berikut :
LOK(LA[K]) = Awal(LA) + W(K-LB)
= 100+4*(2005-1994)
= 100 + 44
= 144
•Matrik atau array dua dimensi adalah struktur data yang
mengacu pada sebuah /sekumpulan elemen yang diakses melalui
indeks. Berbeda dengan larik, maka pada matriks indeks
terdiri dari dua bagian yaitu indeks baris dan indeks
kolom.Setiap elemen matriks dapat diakses melalui indeksnya,
misalnya mengisi elemen matriks yang baris ke 2 dan kolom ke
1 dengan nilai 100, maka cara mengisinya adalah A[2,1]
100. Contoh Matriks bernama A dengan ukuran 2X3 (yang
memiliki indeks baris 2 dan indeks kolom 3) :
1 a b c
A
2 d e f
1 2 3
Lanjt BAB 3
Elemen Matriks ; A[1,1],A[1,2],A[1,3],A[2,1],A[2,2],A[2,3]
Indeks Baris dari Matriks A : 1, 2
Indeks Kolom dari Matriks A : 1, 2, 3
Mengisi elemen Matriks : A[2,1] 100
Kerugiannya:
Memboroskan tempat jika banyak elemen yang tidak digunakan.
Pemrosesan Matriks
Ada beberapa pemrosesan yang dapat dilakukan
terhadap matriks. Algoritma yang paling mudah untuk
melakukan pemrosesan yaitu dengan menggunakan For-
to-do, dengan alasan bahwa elemen Matriks memiliki
indek yang terurut.
Lanjt BAB 3
Pemrosesan Matriks dapat dilakukan dua cara yaitu :
1. Matriks diproses Baris demi baris (Row Ordering)
2. Matriks diproses kolom demi kolom (Column Ordering)
MATRIKS DIPROSES BARIS DEMI BARIS
Program Proses Matrik
Kamus
Const : M = 2 {jumlah baris matriks}
Const : N = 3 {jumlah kolom matriks}
Baris, Kolom : integer
A : array [1..M, 1..N] of integer {deklarasi matriks A dengan
type data integer}
ALGORITMA 1
For Baris 1 to M do
For Kolom 1 to N do
Proses Matriks {baris demi baris}
Endfor
Endfor
MATRIK DIPROSES KOLOM DEMI KOLOM
ALGORITMA 2
For Kolom 1 to M do
For Baris 1 to N do
Proses Matriks {kolom demi kolom}
Endfor
Endfor
Menjumlahkan dua buah Matriks :
Kamus
Const : M = 2 {jumlah baris matrik}
Const : N = 3 {jumlah kolom array}
Baris, kolom : integer
A,B,C : array [1..M, 1..N] of integer
ALGORITMA
For Baris 1 to M do
For Kolom 1 to N do
C [baris,kolom] A[baris,kolom]+B[baris,kolom]
Endfor
Endfor
Contoh :
1 3 5 -6 9 8 -5 12 13
18 31 1 3 2 1 21 33 2
4 5 6 x 12 13 = (4x10)+(5x12)+(6(14)
7 8 9 14 15 (7x10)+(8x12)+(9x14)
(1x11)+(2x13)+(3x15) 76 82
1 2 0 0 1
2
3 4 5 0 3
0 6 7 8 .
.
0 0 9 10 10
Program Ubah_Matrik_Segitiga_jadi_Array
{Matriks A adalah matriks jarang berbentuk segitiga
dengan ukuran MxM, karena banyak elemen bernilai
0, maka nilai akan disimpan dalam array S}
KAMUS
Const : M = 3 {jumlah baris dan kolom matrik}
Const : X = 6 {jumlah indeks S= 1+2+3}
Baris, Kolom : integer
A : array [1..M, 1..M] integer {deklarasi matriks A dgn
tipe data integer}
S : array [1..j] of integer
ALGORITMA
JLH 0
For Baris 1 to M do
For Kolom 1 to Baris do
JLH JLH +1
S[JLH] A[Baris, Kolom] {Simpan nilai matriks
ke array}
Endfor
Endfor
PENGALAMATAN MATRIKS
Penyimpanan elemen Matriks di dalam memori komputer
disusun berurutan (sama seperti larik), sehingga
komputer tidak perlu menentukan setiap elemen. Matriks
tetapi cukup menyimpan alamat awal / pertamanya.
1 2 3
1 2 * 10 11 =
4 5 12 13
(1x10)+(2x12) = 10+24 = 34
34 37
(4x10)+(5x12) =40+60 = 100
100 109
(1x11)+(2x13) = 11+26 = 37