'Program Simulasi Radiasi Surya dan Suhu Pada Rumah PlastikType Hexagonal (UV 14% ) 'Yushardi, Program Studi Agroklimatologi, Sekolah Pascasarjana IPB.
'Disertasi
Public Lat, H, pi, Io, no, dek1, cosLat, sinLat, cosH, cosDek, sinDek, alp As Single
Public JEMBER As String, BANDUNG As String, BOGOR As String, JAKARTA As String Public pilihan, LAMPUNG As String
Public sol, solUV, solVIS, solIR, T, rain, angin, Tc1, Tin1, Tz1e, Tz1o, lamda As Single Public sinalp, cosalp, tanalp, Ku, Ks, K, K1, Hi1, s1, Iz, Izuv, Izvis, Izir, THc, Cc As Single Dim Tc(4000), Tin(4000), Tss(4000), Tz1(4000), b As Single
Dim n1, i, n, z, z1, Isc As Integer Private Sub cmdRun_Click() pilihan = Combo1.Text Select Case pilihan Case "JAKARTA"
Open App.Path & "\19-JUNI-06.csv" For Input As #1 Case "BOGOR"
Open App.Path & "\22-AGT-05.csv" For Input As #1 Case "LAMPUNG"
Open App.Path & "\22AGT.txt" For Input As #1 Case "BANDUNG"
Open App.Path & "\30AGT05.txt" For Input As #1 Case "PONTIANAK"
Open App.Path & "\26OKT05.txt" For Input As #1 Case "JEMBER"
Open App.Path & "\20JUN06.txt" For Input As #1 End Select
Open App.Path & "\output.txt" For Output As #2
i = 0
While Not EOF(1) i = i + 1
Input #1, H, sol, T, rh, rain, angin, solUV, solVIS, solIR, Tz1o, s1 Call cuacaTrt Call sinalpha Call spektrum Call SuhuPermukaanTanah Call konveksi Call suhucoverexact Call suhuruangexact Call suhudalamtanahexact
If i = 14 Then GoTo selesai
Write #2, sol, T, Tc1, Tin1, Tss(n1), Tz1e, Izir, Izuv, Izvis, K, Hi1 Wend
selesai: Close #1 Close #2
MsgBox "Proses Selesai", vbOKOnly, "Pesan" tableStage
End Sub
Public Sub tableStage()
Open App.Path & "\output.txt" For Input As #1 With tblStage
.Row = 0
.Col = 0: .Clip = "Jam ke-" .Col = 1: .Clip = "sol" .Col = 2: .Clip = "T(Suhu)" .Col = 3: .Clip = "Tc1" .Col = 4: .Clip = "Tin1" .Col = 5: .Clip = "Tss" .Col = 6: .Clip = "Tzie" .Col = 7: .Clip = "Izir" .Col = 8: .Clip = "Izuv" .Col = 9: .Clip = "Izvis" .Col = 10: .Clip = "K" .Col = 11: .Clip = "Hi1"
End With i = 0
While Not EOF(1) i = i + 1
Input #1, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 With tblStage
.Rows = i + 1: .Row = i .Col = 0: .Clip = i
.Col = 1: .Clip = Format(a1, "0.##0") .Col = 2: .Clip = Format(a2, "##0.##0") .Col = 3: .Clip = Format(a3, "##.##0") .Col = 4: .Clip = Format(a4, "##.##0") .Col = 5: .Clip = Format(a5, "##.##0") .Col = 6: .Clip = Format(a6, "##.##0") .Col = 7: .Clip = Format(a7, "##.##0") .Col = 8: .Clip = Format(a8, "##.##0") .Col = 9: .Clip = Format(a9, "##.##0") .Col = 10: .Clip = Format(a10, "##.##0") .Col = 11: .Clip = Format(a11, "##.##0") End With
Wend Close #1 End Sub
Public Sub DispChart()
Open App.Path & "\output.txt" For Input As #1 i = 0
While Not EOF(1) i = i + 1
Input #1, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11 With Chart1
.RowCount = i .Row = i .RowLabel = i .Data = a1 End With With Ch1 .RowCount = i .Row = i .RowLabel = i .Data = a4 End With With Ch2 .RowCount = i .Row = i .RowLabel = i .Data = a5 End With With Ch3 .RowCount = i .Row = i .RowLabel = i .Data = a3 End With Wend Close #1 End Sub
Private Sub Command1_Click() lai1.Show
End Sub
Private Sub Command2_Click() If Command2.Caption = "Auto" Then Timer1.Enabled = True
Command2.Caption = "Stop" Else
If Command2.Caption = "Stop" Then Timer1.Enabled = False
Command2.Caption = "Auto" End If
End If End Sub
Private Sub Form_Load() Timer1.Enabled = False With Combo1 .AddItem "LAMPUNG" .AddItem "JAKARTA" .AddItem "PONTIANAK" .AddItem "BOGOR" .AddItem "BANDUNG"
.AddItem "JEMBER" End With
End Sub
Public Sub cuacaTrt() n = 100 pi = 3.14 Isc = 1353 n1 = 360 * n / 365 n2 = Cos(n1 * pi / 180) Io = Isc * (1 - 0.033 * n2) End Sub
Public Sub sinalpha() pi = 3.14 beta = Text3.Text Lat = Text1.Text no = Text2.Text dek1 = 2 * pi * (no + 10) / 365 dek = 23.45 * Sin(dek1) cosLat = Cos(Lat * pi / 180) sinLat = Sin(Lat * pi / 180) cosH = Cos(H * pi / 180) cosDek = Cos(dek * pi / 180) sinDek = Sin(dek * pi / 180)
sinalp = (cosLat * cosDek * cosH) + (sinLat * sinDek) cosalp = Sqr(1 - sinalp * sinalp)
tanalp = sinalp / cosalp alp = Atn(tanalp) * 180 / pi
Ku = Cos((90 - beta - alp) * pi / 180) Ks = Cos((90 + beta - alp) * pi / 180) K = (Ku + Ks) / 2
K1 = Cos((90 - alp) * pi / 180) End Sub
Public Sub spektrum() 'Plastik UV= 14 % 'Iz = sol * Ku albedo = 0.2 lamdaUV = 312.5 lamdaVIS = 580 lamdaIR = 890
thoUV = -0.0024 * lamdaUV * lamdaUV + 1.63 * lamdaUV - 256.9 tho1UV = thoUV / 100
'Izuv = solUV * Ku * tho1UV * (1 + albedo) / (1 - albedo) Izuv = solUV * tho1UV
thoVIS = -0.00012 * lamdaVIS * lamdaVIS + 0.24 * lamdaVIS - 46.1 tho1VIS = thoVIS / 100
'Izvis = solVIS * Ku * tho1VIS * (1 + albedo) / (1 - albedo) Izvis = solVIS * tho1VIS
thoIR = -0.00012 * lamdaIR * lamdaIR + 0.24 * lamdaIR - 46.1 tho1IR = thoIR / 100
'Izir = solIR * Ku * tho1IR * (1 + albedo) / (1 - albedo) Izir = solIR * tho1IR
End Sub
z0 = 0 z1 = 0.3 Ks = 0.34 Cs = 2550000 a = Cs * z1 Hi = 1.5
tho = -0.00012 * lamda * lamda + 0.24 * lamda - 46.1 tho1 = tho / 100 'tho = 0.7 Tin0 = 33 Tc0 = 35 Tz10 = 26 absrpf = 0.7 ss = 3600 b = (Ks / (z0 + z1)) - Hi
c = (sol * tho1 * 1.22 * absrpf) + (Ks * Tz10 / (z0 + z1)) - (Hi * Tin0) + ((Tc0 + 273) ^ 4 * 5.67 * 10 ^ -8 * 0.9) f = b / a g = c / a For n = 0 To 10 Tss(1) = 31 n1 = n + 1 Tss(n1) = (-5.67 * 10 ^ -8 * 0.9 / a * (Tss(n) + 273) ^ 4 - f * Tss(n) + g) * ss + Tss(n) Next n End Sub
Private Sub Form_Unload(Cancel As Integer) Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer() pilihan = Combo1.Text Select Case pilihan Case "LAMPUNG"
Open App.Path & "\22AGT.txt" For Input As #1 Case "PONTIANAK"
Open App.Path & "\22agt.txt" For Input As #1 Case "JAKARTA"
Open App.Path & "\cuacabekri98_2002.txt" For Input As #1 Case "BANDUNG"
Open App.Path & "\cuacabekri98_2003_exel.txt" For Input As #1 Case "BOGOR"
Open "C:\datapacet\pacet1.txt" For Input As #1 Case "JEMBER"
Open App.Path & "\cuacabekri98_2005_exel.txt" For Input As #1 End Select
Open App.Path & "\output.txt" For Output As #2
i = 0
While Not EOF(1) i = i + 1
Call cuacaTrt Call sinalpha Call spektrum Call suhucover Call Suhuruang Call SuhuPermukaanTanah Call SuhuDiDalamTanah
If i = 14 Then GoTo selesai
Write #2, sol, T, costet, Tc(n1), Izvis, Izir, Izuv, Hi, Tin(n1), Tss(n1), Tz1(n1) Wend
selesai: Close #1 Close #2
'MsgBox "Proses Selesai", vbOKOnly, "Pesan" tableStage
DispChart End Sub
Public Sub konveksi() L = 2
Hi1 = 1.32 * (Abs(Tc1 - Tin1) / L) ^ 1 / 4 End Sub
Public Sub suhucoverexact() s = 3600 Tin0 = 33 Tout0 = 27 Hi = 1.5 hw = 0 Cc = 50000 lamda = Text4.Text 'lamda = 600
tho = -0.00012 * lamda * lamda + 0.24 * lamda - 46.1 tho1 = tho / 100
'tho = 0.7 absp = 0.045 THc = 0.003
m = (Hi + hw) / (Cc * THc)
q = ((1.22 * sol * tho1 * K * absp) + (Hi * Tin0 + hw * Tout0)) / (Cc * THc) Tc1 = q / m + Exp(-m * s) * (-q + 35 * m) / m
End Sub
Public Sub suhuruangexact() s = 3600 Tc0 = 36 Tout0 = 27 Tss0 = 31 Hi = 1.5 hf = 1.5 hv = 50 'abssens = 0.5 'lamda = 600
tho1 = tho / 100 'tho = 0.7 alb = 0.2 H = 3 Ca = 1004 m = (Hi + hf + hv) / (H * Ca)
q = (Hi * Tc0 + hf * Tss0 + hv * Tout0 - U * Tout0 + sol * tho1 * 1.22) / (H * Ca) Tin1 = q / m + Exp(-m * s) * (-q + 33 * m) / m
End Sub
Public Sub suhudalamtanahexact() Tss0 = 31 Ks = 0.34 Cs = 2550000 z0 = 0 z1 = 0.3 n1 = 1 / (z0 + z1) 'n2 = 1 / z1 m1 = Ks * n1 m2 = Cs * z1 m = m1 / m2 q = Ks * (Tss0 * n1) / m2
Tz1e = q / m + Exp(-m * s1) * (-q + Tz1o * m) / m End Sub