Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

GARIS PENGARUH

KODE
Private Sub Form_DblClick()
End
End Sub

Private Sub Form_Load()


Ln2.X1 = Ln1.X1
Ln2.Y1 = Ln1.Y1
Ln3.X2 = Ln1.X2
Ln3.Y2 = Ln1.Y2

Ln3.X1 = Ln2.X2
Ln3.Y1 = Ln2.Y2
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As


Single, Y As Single)

L = Val(TxtL)
P = Val(TxtP)
a = (X - LineBalok.X1) / 5000 * L

LineP.X1 = X
LineP.X2 = X
Line11.X1 = X
Line11.X2 = X
LblP.Left = X ' + 50

If a < 0 Then
a=0
LineP.X1 = LineBalok.X1
LineP.X2 = LineBalok.X1
Line11.X1 = LineBalok.X1
Line11.X2 = LineBalok.X1
LblP.Left = LineBalok.X1 '+ 50
End If

If a > L Then
a=L
LineP.X1 = LineBalok.X2
LineP.X2 = LineBalok.X2
Line11.X1 = LineBalok.X2
Line11.X2 = LineBalok.X2
LblP.Left = LineBalok.X2 ' + 50
End If
Txta.Text = a
b=L-a

Txtb.Text = b

RA = b / L * P
RB = a / L * P

Mmax = RA * a
TxtMmax.Text = Mmax

Ln2.X2 = LineP.X1
Ln3.X1 = LineP.X1
Ln2.Y2 = Ln1.Y1 + Mmax * 50
Ln3.Y1 = Ln1.Y1 + Mmax * 50

Lbla.Left = (Line11.X1 + Line10.X1) / 2 - Lbla.Width / 2


Lblb.Left = (Line11.X1 + Line12.X1) / 2 - Lblb.Width / 2

End Sub

BISECTION

KODE
Dim SkalaX, SkalaY, Xmax, Xmin, Ymax, Ymin, h, v
Dim X(103), Y(103), xx(103), yy(103)
Dim UnitX(1000000), UnitY(1000000)
Private Sub CmdExit_Click()
End
End Sub

Private Sub CmdRun_Click()


Dim Xa, Xb, Xab, akar, n, Ya, Yb, Yab

Xa = Val(Text1)
Xb = Val(Text2)
toleransi = Val(TxtToleransi.Text)

100

X1 = Xa
Call fungsi(X1, Y1)
Ya = Y1
If Ya = 0 Then
akar = Xa
GoTo 200
End If

X1 = Xb
Call fungsi(X1, Y1)
Yb = Y1
If Yb = 0 Then
akar = Xb
GoTo 200
End If

If Ya * Yb > 0 Then
MsgBox "persamaan tidak mempunyai akar di antara " & Xa & " dan " &
Xb
GoTo 300
Else
Xab = (Xa + Xb) / 2
X1 = Xab
Call fungsi(X1, Y1)
Yab = Y1
If Xab = 0 Then
GoTo 300
ElseIf Yab = 0 Or Abs((Xab - Xa) / Xab) < toleransi Or Abs((Xab - Xb) /
Xab) < 0 Then
akar = Xab
GoTo 200

End If
If Ya * Yab < 0 Then Xb = Xab
If Yb * Yab < 0 Then Xa = Xab
GoTo 100
End If
200
Text3.Text = akar
300
End Sub

Sub fungsi(X, Y)

Y = X ^ 2 - 4 * X - 12
'Y = X ^ 3 * Sin(3 * X) + 2 * X * Sqr(X ^ 2) + 10

End Sub

Private Sub Command1_Click()

Picture1.Cls
Xmax = Val(TxtBtsAts.Text)
Xmin = Val(TxtBtsBwh.Text)
Ymax = Y(1)
Ymin = Y(1)

deltaX = (Xmax - Xmin) / 100


'================ mencari nilai y(x)=============
For i = 1 To 101
X(i) = Xmin + deltaX * (i - 1)
Call fungsi(X(i), Y(i))

If Y(i) < Ymin Then Ymin = Y(i)


If Y(i) > Ymax Then Ymax = Y(i)
Next i
'============================================
====
X(0) = 0: Y(0) = 0
X(102) = Xmin: X(103) = Xmax
Y(102) = Ymin: Y(103) = Ymax

h = 0.8 * Picture1.Width: SkalaX = h / (Xmax - Xmin)


v = 0.8 * Picture1.Height: SkalaY = v / (Ymax - Ymin)
For i = 0 To 103
xx(i) = (X(i) - Xmin) * SkalaX + h * 0.1
yy(i) = (Y(i) - Ymin) * SkalaY
yy(i) = v - yy(i) + v * 0.1
If i > 1 And i <= 101 Then
Picture1.DrawWidth = 2.5
Picture1.Line (xx(i - 1), yy(i - 1))-(xx(i), yy(i)), vbRed
End If
Next i
Picture1.DrawWidth = 1
Picture1.Line (h / 0.8 * 0.03, yy(0))-(h / 0.8 * 0.97, yy(0)) 'Sumbu X
Picture1.Line (xx(0), v / 0.8 * 0.05)-(xx(0), v / 0.8 * 0.95) 'Sumbu Y

'========================================Menent
ukan Marking Sumbu X dan Sumbu
Y==========================

MarkUnitX = Val(TxtSkalaX.Text) 'Int((Xmax - Xmin) / 10)


MarkUnitY = Val(TxtSkalaY.Text) 'Int((Ymax - Ymin) / 10)

Nx = Int((Xmax - Xmin) / MarkUnitX)

Ny = Int((Ymax - Ymin) / MarkUnitY)

If Nx <> (Xmax - Xmin) / MarkUnitX Then Nx = Nx + 1


If Ny <> (Ymax - Ymin) / MarkUnitY Then Ny = Ny + 1

awalx = Int(Xmin / MarkUnitX) * MarkUnitX


awaly = Int(Ymin / MarkUnitY) * MarkUnitY

For i = 0 To Nx
UnitX(i) = awalx + MarkUnitX * i
UnitX(i) = (UnitX(i) - Xmin) * SkalaX + h * 0.1

Picture1.CurrentX = UnitX(i)
Picture1.CurrentY = yy(0)
Picture1.Print awalx + i * MarkUnitX

Picture1.Line (UnitX(i), yy(0) - 50)-(UnitX(i), yy(0) + 50)


'Picture1.Line (UnitX(i), yy(102))-(UnitX(i), yy(103))
Next i

For i = 0 To Ny
UnitY(i) = awaly + MarkUnitY * i
UnitY(i) = (UnitY(i) - Ymin) * SkalaY
UnitY(i) = v - UnitY(i) + v * 0.1
Picture1.CurrentY = UnitY(i)
Picture1.CurrentX = xx(0) - 350
Picture1.Print awaly + i * MarkUnitY

Picture1.Line (xx(0) - 50, UnitY(i))-(xx(0) + 50, UnitY(i))


'Picture1.Line (xx(102), UnitY(i))-(xx(103), UnitY(i))
Next i

End Sub

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As


Single, Y As Single)
Picture1.Cls

If SkalaX = Empty Then GoTo 300


TxtX.Text = (X - xx(0)) / SkalaX
Xp = Val(TxtX.Text)
Call fungsi(Xp, Yp)
TxtY.Text = Yp

Xp = (Xp - Xmin) * SkalaX + h * 0.1


Yp = (Yp - Ymin) * SkalaY
Yp = v - Yp + v * 0.1

bola.Left = X - bola.Width / 2
bola.Top = Yp - bola.Height / 2
Call Command1_Click
300
End Sub

KODE
Private Sub Form_Load()
Dim alfa(20)

pi = Atn(1) * 4
Lndt.X1 = ShFrame.Left + ShFrame.Width / 2
Lndt.Y1 = ShFrame.Top + ShFrame.Height / 2

LnMnt.X1 = ShFrame.Left + ShFrame.Width / 2


LnMnt.Y1 = ShFrame.Top + ShFrame.Height / 2

Lnjam.X1 = ShFrame.Left + ShFrame.Width / 2


Lnjam.Y1 = ShFrame.Top + ShFrame.Height / 2

For i = 0 To 11
alfa(i) = i * 30 * pi / 180

LnAngka(i).X1 = Lndt.X1 + 0.85 * ShFrame.Width / 2 * Cos(alfa(i))


LnAngka(i).Y1 = Lndt.Y1 - 0.85 * ShFrame.Width / 2 * Sin(alfa(i))

LnAngka(i).X2 = Lndt.X1 + 0.95 * ShFrame.Width / 2 * Cos(alfa(i))

LnAngka(i).Y2 = Lndt.Y1 - 0.95 * ShFrame.Width / 2 * Sin(alfa(i))

Next i

End Sub

Private Sub Timer1_Timer()

TxtWaktu.Text = Time()
detik = Second(Time)
menit = Minute(Time)
jam = Hour(Time)

alarmjam = Val(TxtJam)
alarmmnt = Val(TxtMnt)

pi = 4 * Atn(1)
rdt = 0.8 * ShFrame.Width / 2
rmnt = 0.65 * ShFrame.Width / 2
rjam = 0.55 * ShFrame.Width / 2

alfadt = 6 * detik * pi / 180 - pi / 2


alfamnt = 6 * menit * pi / 180 + 1 / 10 * detik * pi / 180 - pi / 2
alfajam = 6 * jam * pi / 180 + 1 / 10 * menit * pi / 180 + 1 / 600 * detik *
pi / 180 - pi / 2

Lndt.X2 = Lndt.X1 + rdt * Cos(alfadt)

Lndt.Y2 = Lndt.Y1 + rdt * Sin(alfadt)

LnMnt.X2 = LnMnt.X1 + rmnt * Cos(alfamnt)


LnMnt.Y2 = LnMnt.Y1 + rmnt * Sin(alfamnt)

Lnjam.X2 = Lnjam.X1 + rmnt * Cos(alfajam)


Lnjam.Y2 = Lnjam.Y1 + rmnt * Sin(alfajam)

If jam = alarmjam And menit = alarmmnt Then


Call bip
End If

Text1.Text = detik

End Sub

Sub bip()
For i = 1 To 1000
Beep
Beep
Beep
Beep
Next i

End Sub

You might also like