• Tidak ada hasil yang ditemukan

BAB V KESIMPULAN DAN SARAN

5.2 Saran

Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran untuk dapat dilakukan perancangan lebih lanjut, yaitu :

1. Diharapkan laporan ini dan alatnya dapat bermanfaat serta dapat dikembangkan lagi.

2. Penelitian yang serupa perlu ditingkatkan lagi mengingat begitu pentingnya informasi curah hujan bagi kehidupan di berbagai sektor.

3. Untuk mendapatkan nilai yang optimal diperlukan beberapa pengaturan pada jungkitan / tippingan dengan memperkecil resolusi pengukuran curah hujan dalam tiap jungkitan, misalnya menjadi 0,1 mm dalam 1 jungkitan. Hal ini untuk mengurangi faktor error yan timbul akibat perbedaan jumlah curah hujan yang terukur.

DAFTAR PUSTAKA

Achmadi, S., 2009, Penakar Curah Hujan Otomatis Dengan Data Logger SD/MMC Berbasis SMS ( Short Message Services), Semarang

Afiandhie, H., 2010 , Perancangan Alat Ukur untuk Menghitung Tingkat Curah Hujan dengan Menggunakan Pengiriman Data Wireless, Skripsi, Fakultas Teknik dan Ilmu Komputer, Unikom, Bandung

Agustinus Nalwan, 2004, Membuat Program Profesional Secara Cepat Dengan VB, Penerbit : PT. Elex Media Komputindo, Jakarta

Agfianto, 2002, Teknik Antarmuka Komputer: Konsep dan Aplikasi, Edisi Pertama, Penerbit: Graha Ilmu, Yogyakarta,

Budianto Bregas dan C.Setiawan Arif, 2003, Komputer Untuk Pengamatan Cuaca dan Pengembangannya, Pelatihan Dosen, Penerbit : Departemen Geofisika dan Meteorologi IPB, Bogor

Handoko, A. C. Setiawan dan B. Budianto, 1998, Otomatisasi Sistem Pengukuran Cuaca pada Stasiun Klimatologi untuk Menunjang Perencanaan Pertanian di Indonesia, Usul Penelitian, Penerbit : Lembaga Penelitian Institut Pertanian Bogor bekerja sama dengan Badan Penelitian dan Pengembangan Pertanian Agricultural Research Management (ARM) Project, Bogor

Hari Wibawanto, 2008, Elektronika Dasar : Pengenalan Praktis, Penerbit : PT. Elex Media Komputindo, Jakarta

Ishadamy, 1994, Otomatisasi Sistem Instrumentasi Meteorologi, Skripsi. Jurusan Geofisika dan Meteorologi FMIPA IPB, Bogor

Manan, ME, Nursiwan, MA, dan Sudarsono, 1986, Alat Pengukur Cuaca di Stasiun Klimatologi, Penerbit : Institut Pertanian Bogor, Bogor

Mike Tooley, 2003, Rangkaian Elektronik Prinsip Dan Aplikasi, Edisi Kedua, Penerbit : Erlangga, Jakarta

Prasetia Retna, 2004, Interfacing Port Pararel dan Serial Komputer dengan Visual Basic 6.0, Penerbit : PT. Elex Media Komputindo, Jakarta

Zakir, Achmad., Sulistya, Widada., Khotimah,.Mia K., “Prespektif Operasional Cuaca Tropis”, (Jakarta: Badan Meteorologi Klimatologi dan Geofisika, 2010).

http://www.datasheetcatalog.orgdatasheet/pdf / Data Sheet ATS 276 : di Unggah 28 Januari 2013

http://www.honeywell-sensor.com/magnetic_position/chapter2.pdf / Data Sheet ATS 276 : di Unggah 28 Januari 2013

http://www.wellsve.com/sft503/Counterpoint3_1.pdf/ Understanding Hall Effect Sensor : di Unggah 07 Peberuari 2013

http://www.annml.files.wordpress.com_konsumsi-daya-pada usb-port1.pdf/

Konsumsi Daya pada USB Port dan Pengaruhnya pada Pemakaian Peralatan USB : di Unggah 03 Pebruari 2013

CODE PROGRAM Form1 - 1

'Fungsi Explicit menggunakan lybrary yang telah tersedia Option Explicit

Private Declare Function joyGetDevCaps Lib "winmm.dll" Alias "joyGetDevCapsA" (ByVal id As Long, By

Val uSize As Long) As Long

Private Declare Function joyGetPos Lib "winmm.dll" (ByVal uJoyID As Long, pji As Sinyal) As Long

'Inisialiasi Sinyal Masukan Private Type Sinyal

wXpos As Long wYpos As Long wZpos As Long indikator As Long End Type

'Pengenalan Antarmuka USB Const antarmuka As Long = &H0 'Bagian pengakhir Program Dim WaktuBerakhir As Boolean 'pengaman Dim toggle1 Dim toggle2 Dim toggle3 Dim toggle4 Dim toggle5 Dim togelsave Dim ekstrim Dim matikan 'universal Dim FrekuensiAnalog 'unsur cuaca Dim Hujan

Dim cHujan Dim cHujanPerHujan Dim HujanPerJam Dim hujanmax Dim lama Dim lamamnt Dim lamajam Dim lamahujan Dim lamasave 'Counter Dim grafhujan(28) Dim SS, pos1a, pos2a Dim S, pos1, pos2 Dim GT, GHujan Dim OYP&, OXP& 'Pengatur Tanggal dan Jam Dim waktureset As String Dim menit As String Dim jam

Dim sev Dim bulan

Dim waktumin1 As Date Dim waktumin2 As Date Dim waktumin3 As Date Dim waktumin4 As Date Dim wktmin1 As Date Dim wktminmax1 As Date Dim wktmin2 As Date Dim wktmin3 As Date Dim wktmin4 As Date Form1 - 2

Dim wktmin5 As Date Dim wktmin6 As Date

Dim wktmin7 As Date Dim wktmin8 As Date Dim wktmin9 As Date Dim wktmin10 As Date Dim wktmin11 As Date Dim wktmin12 As Date 'pengaturan tabel Dim tbl

'pengaturan penyimpanan Dim tims1 As String Dim tims2 As String Dim tanggal As Date Dim anibaner As Integer

Dim J1, J2, J3, J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21,

J22, J23, J24 As String

'inti proses pengembalilan dan pengolahan data Private Sub Proses()

'menjalankan program inti On Error Resume Next

Dim sinyalmasukan As Sinyal Me.Show

Do DoEvents

'berhubungan dengan perangkat dengan antar muka usb joyGetPos antarmuka, sinyalmasukan

'===== PEMBACAAN DATA ======= '--- Curah Hujan

If sinyalmasukan.indikator And 256 Then Shapea(0).Visible = True

Else

Shapea(0).Visible = False End If

If Shapea(0).Visible = True And toggle2 = 0 Then cHujan = cHujan + 1 cHujanPerHujan = cHujanPerHujan + 1 Hujan = cHujan * 0.5 Label2.Caption = Format(Hujan, "##0.0") HujanPerJam = cHujanPerHujan * 0.5 Label17.Caption = Format(HujanPerJam, "#0.0")

If HujanPerJam < 1.2 Then Label8.Caption = "Sangat Lemah"

If HujanPerJam > 1.1 And HujanPerJam < 3 Then Label8.Caption = "Lemah" If HujanPerJam > 2.9 And HujanPerJam < 15 Then Label8.Caption = "Sedang" If HujanPerJam > 14.9 And HujanPerJam < 60 Then Label8.Caption = "Deras" If HujanPerJam > 59.9 Then Label8.Caption = "Sangat Deras"

'label8.caption toggle2 = 1 End If

If Shapea(0).Visible = False Then toggle2 = 0

End If

'Bagian Akhir Inti Program DoEvents

Loop Until WaktuBerakhir Quit:

DoEvents Unload Me Form1 - 3 End Sub

Private Sub Command1_Click() cHujan = cHujan + 1 cHujanPerHujan = cHujanPerHujan + 1 Hujan = cHujan * 0.5 Label2.Caption = Format(Hujan, "##0.0") HujanPerJam = cHujanPerHujan * 0.5 Label17.Caption = Format(HujanPerJam, "#0.0")

If HujanPerJam < 1.2 Then Label8.Caption = "Sangat Lemah"

If HujanPerJam > 1.1 And HujanPerJam < 3 Then Label8.Caption = "Lemah" If HujanPerJam > 2.9 And HujanPerJam < 15 Then Label8.Caption = "Sedang" If HujanPerJam > 14.9 And HujanPerJam < 60 Then Label8.Caption = "Deras" If HujanPerJam > 59.9 Then Label8.Caption = "Sangat Deras"

End Sub

Private Sub Command2_Click() Frame1.Visible = False

End Sub

Private Sub Command3_Click() Frame1.Visible = True

End Sub

Private Sub Command4_Click() 'menulis data ke tabel

tbl = tbl + 1 With tabel1

.Rows = tbl .Row = tbl - 1

.Col = 0: .Clip = Label6.Caption .Col = 1: .Clip = Label5.Caption

.Col = 2: .Clip = Format(Hujan, "#0.0") End With

If tbl = 25 Then tbl = 0 'Grafik Intensitas Curah Hujan On Error Resume Next

Picture3.Cls

lamahujan = Val(Label17.Caption) * 2 grafhujan(28) = lamahujan

For SS = 2 To 28

grafhujan(SS) = grafhujan(SS + 2)

Picture3.Line (((SS * 1.9) - 1.2), 0)-((SS * 1.9) + 1.2, grafhujan(SS)), vbRed, BF Next SS

'menentukan hujan maximum If HujanPerJam > hujanmax Then hujanmax = HujanPerJam

Label12.Caption = Format(hujanmax, "#0.0") 'waktu now

wktminmax1 = DateAdd("h", 1, Time)

Label9.Caption = Format(Now, "hh") & ".00-" & Format(wktminmax1, "hh") & ".00" End If

'reset nilai curah hujan tiap jam wktmin1 = DateAdd("h", -1, Time)

Label18.Caption = Format(wktmin1, "hh") & ".00-" & Format(Now, "hh") & ".00" 'label18.Caption= Label14.Caption = Label17.Caption Form1 - 4 cHujanPerHujan = 0 HujanPerJam = 0 Label17.Caption = "0" End Sub

Private Sub Form_Load() 'cerah.Visible = True togelsave = 0

'Menampilkan Tanggal dan jam terkini Label5.Caption = Format(Now, "hh:mm:ss") Label6.Caption = Format(Now, "dd-MM-yyyy") Label7.Caption = Format(Now, "dddd") hujanmax = 0 Frame1.Visible = False 'pembuatan tabel tbl = 1 With tabel1 .Rows = 24 .Cols = 3 .Row = 0:

.Col = 0: .Clip = "Tanggal": .ColWidth(0) = 1200 .Col = 1: .Clip = " Jam ": .ColWidth(1) = 1000 .Col = 2: .Clip = "Curah Hujan": .ColWidth(2) = 2000 End With

'eksekusi program Proses

End Sub

Private Sub Timer1_Timer()

FrekuensiAnalog = FrekuensiAnalog + 1 anibaner = anibaner + 1

If anibaner = 2 Then lblhead.ForeColor = vbRed If anibaner = 4 Then lblhead.ForeColor = &H80FF80 If anibaner = 6 Then lblhead.ForeColor = &HFF8080 If anibaner = 8 Then lblhead.ForeColor = &H80FF80 If anibaner = 8 Then anibaner = 0

Label5.Caption = Format(Now, "hh:mm:ss") Label6.Caption = Format(Now, "dd-MM-yyyy") Label7.Caption = Format(Now, "dddd")

menit = Format(Now, "nn") 'menyimpan tiap 1 jam

If menit = "00" And togelsave = 0 Then On Error Resume Next

tims2 = Format(Now, "MMddyyyy")

Open "D:\DATA\" + tims2 + ".csv" For Append As #2

Write #2, Label6.Caption, Label5.Caption, Format(Hujan, "000"), Close #2

'Grafik Intensitas Curah Hujan On Error Resume Next

Picture3.Cls

lamahujan = Val(Label17.Caption) * 2 grafhujan(28) = lamahujan

For SS = 2 To 28

Picture3.Line (((SS * 1.9) - 1.2), 0)-((SS * 1.9) + 1.2, grafhujan(SS)), vbRed, BF Next SS

Form1 - 5 lamasave = 0

'menentukan hujan maximum If HujanPerJam > hujanmax Then hujanmax = HujanPerJam

Label12.Caption = Format(hujanmax, "#0.0") 'waktu now

wktminmax1 = DateAdd("h", 1, Time)

Label9.Caption = Format(Now, "hh") & ".00-" & Format(wktminmax1, "hh") & ".00" End If

'reset nilai curah hujan tiap jam wktmin1 = DateAdd("h", -1, Time)

Label18.Caption = Format(wktmin1, "hh") & ".00-" & Format(Now, "hh") & ".00" 'label18.Caption=

Label14.Caption = Label17.Caption cHujanPerHujan = 0

HujanPerJam = 0 Label17.Caption = "0"

'pengaturan label waktu grafik lama hari 'waktu now

wktmin1 = DateAdd("h", -1, Time)

lbltm1(11).Caption = Format(wktmin1, "hh") & "-" & Format(Now, "hh") 'waktu min-1

wktmin2 = DateAdd("h", -2, Time)

lbltm1(10).Caption = Format(wktmin2, "hh") & "-" & Format(wktmin1, "hh") 'waktu min-2

wktmin3 = DateAdd("h", -3, Time)

lbltm1(9).Caption = Format(wktmin3, "hh") & "-" & Format(wktmin2, "hh") 'waktu min-3

wktmin4 = DateAdd("h", -4, Time)

'waktu min-4

wktmin5 = DateAdd("h", -5, Time)

lbltm1(4).Caption = Format(wktmin5, "hh") & "-" & Format(wktmin4, "hh") 'waktu min-5

wktmin6 = DateAdd("h", -6, Time)

lbltm1(5).Caption = Format(wktmin6, "hh") & "-" & Format(wktmin5, "hh") 'waktu min-6

wktmin7 = DateAdd("h", -7, Time)

lbltm1(6).Caption = Format(wktmin7, "hh") & "-" & Format(wktmin6, "hh") 'waktu min-7

wktmin8 = DateAdd("h", -8, Time)

lbltm1(7).Caption = Format(wktmin8, "hh") & "-" & Format(wktmin7, "hh") 'waktu min-8

wktmin9 = DateAdd("h", -9, Time)

lbltm1(8).Caption = Format(wktmin9, "hh") & "-" & Format(wktmin8, "hh") 'waktu min-9

wktmin10 = DateAdd("h", -10, Time)

lbltm1(12).Caption = Format(wktmin10, "hh") & "-" & Format(wktmin9, "hh") 'waktu min-10

wktmin11 = DateAdd("h", -11, Time)

lbltm1(13).Caption = Format(wktmin11, "hh") & "-" & Format(wktmin10, "hh") 'waktu min-11

wktmin12 = DateAdd("h", -12, Time)

lbltm1(14).Caption = Format(wktmin12, "hh") & "-" & Format(wktmin11, "hh") 'cHujanPerHujan = 0 togelsave = 1 End If Form1 - 6 If menit <> "00" Then togelsave = 0 End If waktureset = Format(Now, "hh:mm:ss") If waktureset = "23:59:59" Then

cHujan = 0 cHujanPerHujan = 0 Hujan = 0 HujanPerJam = 0 hujanmax = 0 Label2.Caption = "0,0" Label14.Caption = "0,0" Label17.Caption = "0,0" Label12.Caption = "0,0" Label18.Caption = "00.00-00.00" Label9.Caption = "00.00-00.00" End If End Sub

Private Sub Form_Unload(Cancel As Integer) WaktuBerakhir = True

End End Sub

Private Sub Timer2_Timer() 'Menampilkan label Jam J1 = Now

'menulis data ke tabel tbl = tbl + 1

With tabel1

.Rows = tbl .Row = tbl - 1

.Col = 0: .Clip = Label6.Caption .Col = 1: .Clip = Label5.Caption .Col = 2: .Clip = Format(Hujan, "000") End With

If tbl = 25 Then tbl = 0

'penyimpanan data ke dalam hardisk 'lamasave = 0

Dokumen terkait