Sei sulla pagina 1di 7

Script visual basic Perkalian Matriks

Private Sub CommandButton1_Click()

Dim MatrixA() As Integer, MatrixB() As Integer, MatrixC() As Integer


Dim RowA As Integer, ColA As Integer
Dim RowB As Integer, ColB As Integer
Dim RowC As Integer, ColC As Integer

With ActiveSheet
RowA = InputBox("Berapa Baris Matrix A ?")
ColA = InputBox("Berapa Kolom Matrix A ?")
RowB = InputBox("Berapa Baris Matrix B ?")
ColB = InputBox("Berapa Kolom Matrix B ?")

If ColA = RowB Then


RowC = RowA
ColC = ColB

ReDim MatrixA(1 To RowA, 1 To ColA)


.Range("A1").Value = "Matrix A"
For i = 1 To RowA
For j = 1 To ColA
MatrixA(i, j) = InputBox("Matrix A(" & i & ","& j & ")")
.Range("A2").Cells(i, j).Value = MatrixA(i, j)
Next j
Next i

ReDim MatrixB(1 To RowB, 1 To ColB)


.Range("A11").Value = "Matrix B"
For i = 1 To RowB
For j = 1 To ColB
MatrixB(i, j) = InputBox("Matrix B(" & i & ","& j & ")")
.Range("A12").Cells(i, j).Value = MatrixB(i, j)
Next j
Next i

ReDim MatrixC(1 To RowC, 1 To ColC)


.Range("A21").Value = "Matrix C"
For i = 1 To RowC
For j = 1 To ColC
MatrixC(i, j) = 0
For k = 1 To ColA
MatrixC(i, j) = MatrixC(i, j) +MatrixA(i, k)*MatrixB(k, j)
.Range("A22").Cells(i, j).Value = MatrixC(i, j)
Next k
Next j
Next i
Else

MsgBox "Matrix A x Matrix B tidak dapat dihitung", vbCritical

End If
End With
End Sub
Script visual basic Metoda Heun

Option Explicit

Private Sub CommandButton1_Click()

Dim a As Integer

Dim b As Integer

Dim n As Integer

Dim alfa As Integer

Dim h As Integer

Dim i As Byte

Dim y() As Integer

Dim t() As Integer

Dim ahit() As Integer

Dim bhit() As Integer

'input variable

a = Val(InputBox("masukan nilai a"))

b = Val(InputBox("masukan nilai b"))

n = Val(InputBox("masukan nilai n"))

alfa = Val(InputBox("masukan nilai alfa"))

i=1

h = (b - a) / n
ReDim y(1 To n)

ReDim t(1 To n)

ReDim ahit(1 To n)

ReDim bhit(1 To n)

Do While i <= n

y(i) = alfa

t(i) = a

ahit(i) = heum(t(i), y(i))

bhit(i) = y(i) + h * heum(t(i), y(i))

y(i + 1) = y(i) + (h / 2) * ((heun(t(i), y(i))) + heun(t(i + 1), y(i + 1)))

t(i + 1) = a + i * h

ahit(i) = heun(t(i + 1), y(i + 1))

i=i+1

Loop

MsgBox "nilai ahit=" & ahit(i) & "nilai bhit=" & bhit(i)

End Sub

Function heun(ByVal x As Integer, ByVal m As Integer)

heun = m - (x * x) + 1

End Function
Algoritma perkalian matriks START

A,B

ii 1
C

jj 1

B
sum 0

kk 1

Sum=sum+A(ii,kk)*B(kk,jj)

k=n kk kk+1
stop

A
A

C(ii,jj) sum

?
jj 1 B
jj=l

?
ii ii+1
Ii=i*m C

STOP
Algoritma metoda heun

START

a,b,n,alfa

h (b-a)/n

ii 1

t(ii) a

Y(ii) alfa

Y0(ii+1) Y(ii)+hf (t(ii),y(ii))

Y(ii+1) Y(ii)+ h/2 [f(t(ii),y(ii) + f(t(ii+1), Y0(ii+1) )]

t(ii+1) a+ii*h

?
ii ii+1
Y
ii=n

T,y

STOP

Potrebbero piacerti anche