wavcal by meddy.docx

7
Dim k As Single Dim sudut2 As Single Dim sdt1 As Single Dim sdt2 As Single Dim kr As Single Private Sub Cmdhapus_Click() Txtdalam.Text = "" Txtperiode.Text = "" Txttinggi.Text = "" Txtsudut1 = "" Txtk.Text = "" Txtpjggel.Text = "" Txtn.Text = "" Txtcg.Text = "" Txtc.Text = "" TxtKs = "" Txtsudut2 = "" Txtkr = "" Txthcari = "" Txtnama.Text = "" TxtEp = "" TxtEt = ""

Upload: meddydanial

Post on 18-Jan-2016

219 views

Category:

Documents


0 download

DESCRIPTION

ttt

TRANSCRIPT

Page 1: Wavcal by Meddy.docx

Dim k As Single

Dim sudut2 As Single

Dim sdt1 As Single

Dim sdt2 As Single

Dim kr As Single

Private Sub Cmdhapus_Click()

Txtdalam.Text = ""

Txtperiode.Text = ""

Txttinggi.Text = ""

Txtsudut1 = ""

Txtk.Text = ""

Txtpjggel.Text = ""

Txtn.Text = ""

Txtcg.Text = ""

Txtc.Text = ""

TxtKs = ""

Txtsudut2 = ""

Txtkr = ""

Txthcari = ""

Txtnama.Text = ""

TxtEp = ""

TxtEt = ""

Txtflux = ""

Page 2: Wavcal by Meddy.docx

Txtub = ""

Txttipegpc.Text = ""

Txtslope = ""

End Sub

Private Sub CmdHitung_Click()

If TxtUA = "" And Txtperiode = "" Or Txtperiode = "" Or Txtsudut1 = "" _

And Txtdalam = "" Or Txtslope = "" Then

MsgBox ("Isikan terlebih dahulu secara lengkap Input Data !")

' Exit Sub

Else

g = 9.81

pi = 22 / 7

deg = pi / 180

rp = 1030 ' rapat massa

Lnol = 1.56 * (Txtperiode.Text) ^ 2 'panjang gelombang di laut dalam

Cnol = Lnol / (Txtperiode.Text)

knol = ((2 * pi / (Txtperiode.Text)) ^ 2) * (Txtdalam.Text) / g

kno = knol ^ (3 / 4)

'menghitung nnol

'sinkh = Exp(2 * k * (Txtdalam.Text)) - Exp(-2 * k * (Txtdalam.Text))

'sinkh = sinkh / 2

'Txtnnol.Text = 0.5 * (1 + 2 * k * (Txtdalam.Text) / sinkh)

nnol = 0.5

'mencari nilai k dengan metode Newton Raphson

Page 3: Wavcal by Meddy.docx

tanh = (Exp(kno) - Exp(-kno)) / (Exp(kno) + Exp(-kno))

coth = 1 / tanh

kn = knol * coth ^ (2 / 3)

For i = 1 To 10

th = (Exp(kn) - Exp(-kn)) / (Exp(kn) + Exp(-kn))

ch = (Exp(kn) + Exp(-kn)) / 2

f = knol - kn * th

fprime = -kn / (ch ^ 2) - th

deltak = -f / fprime

If (Abs(deltak / kn) < 0.000001) Then GoTo 9

kn = kn + deltak

Next i

9 k = kn / (Txtdalam.Text)

Txtk.Text = k '2 * pi / (Txtpjggel.Text)

'menghitung panjang gelombang, c, n, cg

Txtpjggel.Text = 2 * pi / k

Txtc.Text = (Txtpjggel.Text) / (Txtperiode.Text)

sinkh = Exp(2 * k * (Txtdalam.Text)) - Exp(-2 * k * (Txtdalam.Text))

sinkh = sinkh / 2

Txtn.Text = 0.5 * (1 + 2 * k * (Txtdalam.Text) / sinkh)

Txtcg.Text = Txtn.Text * Txtc.Text

'menghitung Ks

TxtKs = Sqr((nnol * Cnol) / (Txtn.Text * Txtc.Text))

Page 4: Wavcal by Meddy.docx

'menghitung sudut

sudut2 = (Txtpjggel.Text / Lnol) * Sin(deg * Txtsudut1.Text)

'sudut2 = DEGREES(sudut2)

pembagi = Sqr(-sudut2 * sudut2 + 1)

sudut22 = Atn(sudut2 / pembagi) / deg 'hati2

Txtsudut2 = sudut22

'menghitung Kr

sdt1 = Cos(Txtsudut1 * deg)

sdt2 = Cos(Txtsudut2 * deg)

'kalo sudut datang=90 derajat, tidak bisa menghitung

kr = Sqr(sdt1 / sdt2)

Txtkr = kr

'If (Txtkr) = 0# Or (Txtkr) = -0# Then

' Txtkr = "sudut datang harus < 90"

'End If

'menghitung H

hcari = Txttinggi.Text * TxtKs * Txtkr

Txthcari = Str(hcari) + Space(1) + "," + Space(2) + "Belum Pecah"

Txttipegpc.Text = "-"

'menghitung H pecah

If (hcari) > 0.78 * (Txtdalam.Text) Then

hcari = 0.78 * (Txtdalam.Text)

Page 5: Wavcal by Meddy.docx

Txthcari = Str(hcari) + Space(1) + "," + Space(2) + "Sudah Pecah"

'menentukan tipe gelombang pecah

slope = Txtslope

epsilon = slope / Sqr(Txttinggi.Text / Lnol)

If (epsilon) > 0 And (epsilon) < 0.5 Then

Txttipegpc.Text = "Spilling"

ElseIf (epsilon) > 0.5 And (epsilon) < 3.3 Then

Txttipegpc.Text = "Plunging"

ElseIf (epsilon) > 3.3 Then

Txttipegpc.Text = "Surging or collapsing"

End If

End If

'menentukan tipe kedalaman lokal (dangkal, intermediate, dalam)

kh = k * (Txtdalam.Text)

If kh > pi / 2 Then

Txtnama.Text = "deep water" + Space(1) + "," + Space(2) + "(Short Wave)"

ElseIf kh < pi / 2 And kh > pi / 10 Then

Txtnama.Text = "intermediate water" + Space(1) + "," + Space(2) + "(Intermediate Wave)"

ElseIf kh < pi / 10 Then

Txtnama.Text = "shallow water" + Space(1) + "," + Space(2) + "(Long Wave)"

End If

'menghitung Energi per satuan panjang

Page 6: Wavcal by Meddy.docx

TxtEp = rp * g * (Txttinggi.Text) ^ 2 / 16

TxtEt = rp * g * (Txttinggi.Text) ^ 2 / 8

Txtflux = (1 / 8) * rp * g * hcari * Txtc.Text * Txtn.Text

'menghitung u_b

sigma = 2 * pi / (Txtperiode.Text)

coshkh = ((Exp(k * (Txtdalam.Text)) + Exp(-k * (Txtdalam.Text))) / 2)

Txtub = g * hcari * k / (2 * sigma) / coshkh

End If

End Sub

Private Sub CmdSelesai_Click()

Unload Me

End Sub

Private Sub VScroll1_Change()

prog.Top = -VScroll1.Value

End Sub