2.4. OPERASI MATEMATIKA
19
D = 3 8 5
6 4 7 +
9 5 3 7 2 1
= 3 + 9 8 + 5 5 + 3
6 + 7 4 + 2 7 + 1 =
12 13 8 13
6 8
Tanpa mempedulikan nilai elemen-elemen pada masing-masing matrik, operasi penjumlahan antara matrik A
2×3
dan C
2×3
, bisa juga dinyatakan dalam indeks masing-masing matrik terse- but, yaitu
d
00
d
01
d
02
d
10
d
11
d
12
= a
00
+ c
00
a
01
+ c
01
a
02
+ c
02
a
10
+ c
10
a
11
+ c
11
a
12
+ c
12
Jika diuraikan satu persatu, dapat dinyatakan sebagai berikut d
00
= a
00
+ c
00
d
01
= a
01
+ c
01
d
02
= a
02
+ c
02
2.8 d
10
= a
10
+ c
10
d
11
= a
11
+ c
11
d
12
= a
12
+ c
12
Dari sini dapat diturunkan sebuah rumus umum penjumlahan dua buah matrik d
ij
= a
ij
+ c
ij
2.9 dimana i=0,1 dan j=0,1,2. Berdasarkan persamaan 2.8, dengan mudah anda bisa melihat
bahwa indeks i hanya mengalami dua kali perubahan, yaitu 0 dan 1. Sementara indeks j berubah dari 0 menjadi 1 kemudian 2.
2.4.3 Komputasi penjumlahan matrik
Berdasarkan contoh operasi penjumlahan di atas, indeks j lebih cepat berubah dibanding in- deks i sebagaimana ditulis pada 3 baris pertama persamaan 2.8,
d
00
= a
00
+ c
00
d
01
= a
01
+ c
01
d
02
= a
02
+ c
02
Jelas terlihat, saat indeks i masih bernilai 0, indeks j sudah berubah dari nilai 0 sampai 2. Hal ini membawa konsekuensi pada script pemrograman, dimana looping untuk indeks j harus
diletakkan didalam looping indeks i. Pokoknya yang looping-nya paling cepat harus dile-
20
BAB 2. MATRIK DAN KOMPUTASI
takkan paling dalam; sebaliknya, looping paling luar adalah looping yang indeksnya paling
jarang berubah.
Di Python, angka indeks terkecil dimulai dari 0 nol, bukan dari 1 satu. Pada source-code ini, walaupun batas atas i tertulis sampai angka 2, namun Python hanya mengolahnya sampai
angka 1 saja. Demikian pula dengan indeks j, ia hanya sampai angka 2 saja
1
for i in range0,2:
2
for j in range0,3:
3
D[i,j]=A[i,j]+C[i,j]
Perhatikan source-code di atas Penulisan indeks i harus didahulukan daripada indeks j, karena dalam contoh uraian diatas, indeks j lebih cepat berubah dibanding indeks i.
Perlu dicatat bahwa ukuran matrik tidak terbatas hanya 2x3. Tentu saja anda bisa men- gubah ukurannya sesuai dengan keperluan atau kebutuhan anda. Jika ukuran matrik diny-
atakan secara umum sebagai n x m, dimana n adalah jumlah baris dan m adalah jumlah kolom, maka bentuk pernyataan komputasinya menjadi
1
for i in range0,n:
2
for j in range0,m:
3
D[i,j]=A[i,j]+C[i,j]
Sekarang, mari kita lengkapi dengan contoh sebagai berikut: diketahui matrik A
2×3
A = 3 8 5
6 4 7
dan matrik C
2×3
C = 9 5 3
7 2 1 Program untuk menjumlahkan kedua matrik tersebut adalah:
1
from numpy import array, zeros
2
A = array[[3.,8.,5.],\
3
[6.,4.,7.]] A berukuran 2x3
4
C = array[[9.,5.,3.],\
5
[7.,2.,1.]] C berukuran 2x3
6
n=2
7
m=3
8
D = zerosn,m
9
for i in range0,n:
10
for j in range0,m:
11
D[i,j]=A[i,j]+C[i,j]
12
print D
2.4.4 Perkalian matrik
Sekarang kita beralih ke operasi perkalian matrik. Operasi perkalian dua buah matrik hanya bisa dilakukan bila jumlah kolom matrik pertama sama dengan jumlah baris matrik kedua.