Array Dan Record
Array Dan Record
8. struct{
9. char nim[10];
10. char nama[20];
11. } mahasiswa;
array dimensi satu array dimensi dua array dimensi tiga array segitiga
float struktur_data 3
Ilustrasi array:
Elemen 1 Elemen 2 Elemen 3
Index 0 Index 1 index 2
Array Berdimensi Satu C++
1. #include <iostream>
2. #include <iomanip>
4. int main()
5. {
6. int nilai[5] = {56, 67, 57, 76, 72};
7. int i;
3. int main()
4. {
5. int I; int L[4];
float struktur_data 3 3
Ilustrasi array:
3. int main()
4. {
5. int i, j;
6. int data[2][5] = {{2, 3, 4, 5, 2},{4, 2, 6, 2, 7}};
tipe data nama array jumlah baris jumlah isi baris Jumlah kolom
float struktur_data 2 3 3
Ilustrasi array:
Elemen 1 Elemen 2 Elemen 3
Index 0,0,0 Index 0,0,1 index 0,0,2
14. for(i=0;i<2;i++)
15. {
16. for(j=0;j<4;j++)
17. {
18. cout << setw(9) << i+1;
Array Segitiga – Tringular Array
• Tringular array dapat merupakan Upper Tringular ataupun Lower Tringular
• Upper Tringular = seluruh elemen dibawah diagonal utama = 0
• Lower Tringular = seluruh elemen diatas diagonal utama = 0
• Dalam array lower tringular dengan N baris, jumlah maksimum elemen <> 0, jumlah maksimum elemen <>
0 pada baris ke-I adalah = I, karenanya total elemen <> 0
• I = N (N + 1) / 2
x x x x x x x 0 0 0 0 0
0 x x x x x x x 0 0 0 0
0 0 x x x x x x x 0 0 0
0 0 0 x x x x x x x 0 0
0 0 0 0 x x x x x x x 0
0 0 0 0 0 x x x x x x x
1 2 3 7 0 0
A= 0 4 B 5= 8 9 0
0 0 6 11 12 13
7 1 2 3
8 9 4 5
11 12 13 6
Array Segitiga – Tringular Array
• Diketahui suatu array segitiga atas (upper tringular) memiliki 3 baris dan kolom, tentukan berapakah
jumlah elemen yang bukan nol pada array tersebut
10 20 30 5 10 15
0 40 50 0 20 25
0 0 60 0 0 30
I = N (N + 1) / 2
I = 3 (3 + 1) / 2
= 12 / 2
=6
Pemetaan (MAPPING) Array Dimensi Satu ke Storage
• @A[i] = B + (i – 1) * L
@A[i] B i L
posisi array yang posisi awal index di subkrip atau indeks ukuran atau besar
dicari memori komputer array yang dicari memori suatu tipe
data
Diketahui Penyelesaian
@M[i][j] M[0][0] j K i L
posisi array yang posisi alamat kolom banyaknya baris ukuran memori
dicari awal index array elemen per tipe data
kolom
@M[i][j] M[0][0] j N i L
posisi array yang posisi alamat Baris banyaknya kolom ukuran memori
dicari awal index array elemen per baris tipe data
0 • Kolom =
1
M[0,0], M[1,0], M[2,0], M[0,1], M[1,1], M[2,1]
• Baris =
2 M[0,0], M[0,1], M[1,0], M[1,1], M[2,0], M[2,1]
Pemetaan (MAPPING) Array Dimensi Dua ke Storage
• Suatu array x dideklarasikan sebagai berikut:
Float x[3][4], dengan alamat index x[0][0] berada di 0011 (H) dan ukuran tipe data float/real = 4
Tentukan berapa alamat array x[3][2] berdasarkan cara pandang baris dan kolom
Penyelesaian:
Secara baris:
@M[i][j] = M[0][0] + { (i – 1) * N + (j – 1)} * L
x[3][2] = 0011 (H) + {(3 – 1) * 3 + (2 – 1) * 4
= 0011 + 2 * 3 + 1 * 4 = 1B (27)
= 0011 + 6 + 4 = 1B = Hexa
= 17 + 6 + 4 = 27 = Decimal
Secara kolom:
@M[i][j] = M[0][0] + { (j – 1) * K + (i – 1)} * L
x[3][2] = 0011 (H) + {(2 – 1) * 4 + (3 – 1) * 4
= 0011 + 1 * 4 + 2 * 4 = 1D (29)
= 0011 + 4 + 8 = 1D (29)
Matriks
• Matriks adalah landasan dasar untuk grafis komputer dan teknik modern. Sama seperti aljabar biasa yang
berhubungan dengan bilangan real, matriks aljabar juga memberikan sarana dan cara untuk memanipulasi
vektor dan sekumpulan persamaan secara bersamaan. Matriks adalah suatu susunan bilangan, yang
tersusun dalam kolom dan baris.
• Matriks seperti halnya variabel biasa dapat dimanipulasi, Dengan representasi matriks, perhitungan dapat
dilakukan dengan lebih terstruktur, seperti:
• Dikalikan
• Dijumlah
• Dikurangkan
• Didekomposisikan atau invers
Matriks Penjumlahan
• Penjumlahan dan pengurangan matriks hanya dapat dilakukan apabila kedua matriks memiliki ukuran atau tipe yang sama.
Elemen yang dijumlahkan atau dikurangi adalah elemen yang posisi atau letaknya sama.
Contoh:
A[a][b] + B[c][d] = C[a][d]
Dimana:
a=c
b=d
a b e f a+e b+f
c+ = d g h c+g d+h
1 2 5 6 6 8
+ =
3 4 7 8 10 12
Matriks Penjumlahan C++
Matriks Penjumlahan C++
Matriks Perkalian
• Matriks dapat dikalikan, dengan cara tiap baris dikalikan dengan tiap kolom, lalu dijumlahkan pada baris yang sama.
• Matriks hanya dapat dikalikan jika jumlah kolom matriks pertama sama dengan jumlah baris matriks kedua.
• Orde hasil dari kedua perkalian matriks adalah jumlah baris matriks pertama dan jumlah kolom matriks ke dua.
Contoh:
A[a][b] * B[c][d] = C[a][d]
Dimana, nilai b harus sama dengan nilai c
a b e f (a * e) + (b * g) (a * f) + (b * h)
x =
c d g h (c * e) + (d * g) (c *e) + (d * h)
1x = 2 5 6 5 + 14 6 + 16
3 4 7 8 15 + 28 18 + 32
19 22
43 50
Matriks Perkalian C++
Matriks Invers
• Invers adalah kebalikan. Istilah invers ini biasa dipakai dalam aljabar. Invers dari 2 adalah 1/2 karena 2 (1/2) = 1 dan bilangan
1 ini merupakan identitas.
• Secara umum, invers dari matriks persegi A atau ditulis A -1 adalah sebagai berikut:
• Determinan matriks merepresentasikan suatu bilangan tunggal. Determinan diperoleh dengan mengalikan dan
menjumlahkan elemen matriks dengan cara yang khusus.
A C D F
• array A array B
1 2 1 2 0 0
0 4 2 1 9 0
0 0 1 2 1 1
• array C
2 1 2 1
1 9 4 2
2 1 1 1