3.2.
FUNCTION 31
A = array[[3.,8.,5.],\ [6.,4.,7.]]
x = array[[2.],\ [3.],\
[4.]] E = matxvekA,x
print E [[ 50.]
[ 52.]] Berhasil Function matxvek bekerja sempurna.
Sebelum dilanjut, ada sedikit modifikasi yang diperlukan pada function matxvek yang ter- simpan pada file komputasi.py, yaitu yang menyangkut inisialisasi nilai n dan m. Perhatikan
perubahannya berikut ini saya harap anda mengerti tanpa harus saya jelaskan.
1
from numpy import zeros, transpose
2 3
def matxvek A,x:
4
n=lenA cara lain untuk menghitung jumlah baris matrik A
5
m=lentransposeA cara lain untuk menghitung jumlah kolom matrik A dan baris vektor x
6
E = zerosn,1
7
for i in range0,n:
8
for k in range0,m:
9
E[i,0]=E[i,0]+A[i,k]x[k,0]
10
return E
Simpanlah file ini, lalu di-run kembali. Ulangi lagi ketikan code berikut pada python-shell from numpy import array
A = array[[3.,8.,5.],\ [6.,4.,7.]]
x = array[[2.],\ [3.],\
[4.]] E = matxvekA,x
print E [[ 50.]
[ 52.]] Modifikasi pada function matxvek bertujuan agar function matxvek bisa berlaku pada matrik A
yang ukurannya bukan 2 × 3 saja. Contohnya
A = array[[3.,8.,5.],\ [6.,4.,7.],\
[2.,1.,9.]] x = array[[2.],\
[3.],\
32
BAB 3.
FUNCTION
DAN
MODULE [4.]]
E = matxvekA,x print E
[[ 50.] [ 52.]
[ 43.]] Jelas terlihat disini bahwa function matxvek bisa digunakan untuk ukuran matrik A yang bervari-
asi.
3.3 Module
Sebelum mendiskusikan module, silakan buka lagi file fungsi.py yang menyimpan function for- mula yang lalu
1
def formula a,b,c:
2
y = aa+2b+c
3
return y
Function formula akan saya letakkan di dalam komputasi.py
1
from numpy import zeros, transpose
2 3
def matxvek A,x:
4
n=lenA
5
m=lentransposeA
6
E = zerosn,1
7
for i in range0,n:
8
for k in range0,m:
9
E[i,0]=E[i,0]+A[i,k]x[k,0]
10
return E
11 12
def formula a,b,c:
13
y = aa+2b+c
14
x = abc
15
return y,x
Kemudian function rumusabc juga digabung ke dalam komputasi.py. Perhatikan perubahan yang terjadi di source-code, khususnya pada statemen awal
1
from __future__ import division
2
from numpy import zeros, transpose, sqrt,complex
3 4
def matxvek A,x:
5
n=lenA
6
m=lentransposeA
7
E = zerosn,1
8
for i in range0,n:
9
for k in range0,m:
10
E[i,0]=E[i,0]+A[i,k]x[k,0]
11
return E
12
3.3.
MODULE 33
13
def formula a,b,c:
14
y = aa+2b+c
15
x = abc
16
return y,x
17 18
def rumusabc a,b,c:
19
D = bb-4ac
20
if D 0.0:
21
x1 = -b+sqrtD2a
22
x2 = -b-sqrtD2a
23
elif D == 0.0:
24
x1 = -b2a
25
x2 = -b2a
26
else:
27
D = -D
28
x1r = -b2a
29
x1i = sqrtD2a
30
x1 = complexx1r,x1i
31
x2r = x1r
32
x2i = -x1i
33
x2 = complexx2r,x2i
34
return x1,x2
jangan lupa di-save dan di-run. Kemudian buatlah sebuah file cobamodul.py yang isinya sebagai berikut
1
from numpy import array
2
from komputasi import matxvek
3 4
A = array[[3.,8.,5.],\
5
[2.,1.,9.],\
6
[6.,4.,7.]] matrik A berukuran 3x3
7
x = array[[2.],\
8
[3.],\
9
[4.]] vektor x berukuran 3x1
10
hasil = matxvekA,x
11
print hasil
silakan anda save dan run. Inilah hasilnya
[[ 50.] [ 43.]
[ 52.]] Sampai disini anda telah berhasil membuat module pribadi, yaitu module komputasi. Sekarang
saatnya membahas module. Module berisi kumpulan function. Kita baru saja membuat module yang diberi nama komputasi, dimana didalamnya terdapat 3 buah function yaitu matxvek, for-