Menyimpan dan Membuka Data Logging Dengan Visual Basic 6
Tulisan kali ini adalah mencoba menjawab pertanyaan dari pengunjung, “bagaimana cara menyimpan dan membuka kembali data dari sebuah data logger?”
Disini akan dicoba dijelaskan bagaimana menyimpan data dari data logger/grafik yang sudah dijelaskan pada tulisan sebelumnya.
Pada dasarnya seperti sudah dijelaskan pada tulisan sebelumnya, data dari pengukuran yang ditampilkan pada grafik adalah disimpan dalam variabel yang berupa array. Sehingga dengan format ini kita akan dapat dengan mudah untuk menyimpan dan membuka kembali, karena data sudah tersusun berdasarkan waktu pengukuran.
Array yang dibuat adalah berdimensi MxN, dimana M adalah banyaknya pengukuran/sampling data dan N adalah banyaknya data dari sensor/jumlah data sensor yang dibaca.
Misalnya data pengukuran adalah sebegai berikut:
Senin | Selasa | Rabu | Kamis | Jumat | Sabtu | Minggu | |
Data | 10 | 12 | 15 | 8 | 20 | 5 | 7 |
X1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
Y1 | 0 | 10 | 12 | 15 | 8 | 20 | 5 |
X2 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Y1 | 10 | 12 | 15 | 8 | 20 | 5 | 7 |
dari data di atas maka diketahui,
M = 1,2,3,4,5,6,7 atau Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu
N = 10, 12, 15, 8, 20, 5, 7
misalya array disimpan dengan nama array ADC(M,N).
Berikut adalah cara membuat menu untuk menyimpan dan membuka data logging.
1. Form awak dari VB
2. Menambahkan komponen Common Dialog, masuk ke menu ini dengan menekan Ctrl + T. Kemudian cari dari list Microsoft Common Dialog Control 6.0
3. Setelah itu, klik Apply dan akan muncul pada kota toolbox sebelah kiri dari form
4. Buatlah form sebagai berikut, atau gunakan template yang sudah ada disini.
5. Tambahkan componen Dialog Box, dengan cara mendrag kebagian tengan form
6. Tambahkan dua komponen Timer1, dan Timer2
7. Buatlah menu dengan Menu Editor dengan menekan Ctrl+E untuk memunculkan menu editor berikut ini.
8. Buatlah menu seperti berikut:
9. Menambahkan komponen Slider
Coding Visual Basic
1. Deklarasi variabel
Dim ADC(1800000) As Long
Dim Perulangan As Long
Dim RecStp As Long
– untuk mendeklarasikan array ADC sebagai variabel penampung data
– untuk mendeklarasikan variabel banyaknya data
2. Menyimpan data
Private Sub mnSimpan_Click()
If RecStp = 0 Then
MsgBox “No Data Recorded Dipshit!! “, vbExclamation, “Forget something?”
Exit Sub
End If
CD1.DefaultExt = “dlg”
CD1.Filter = “Logger Files (*.txt)|*.txt”
CD1.Flags = cdlOFNOverwritePrompt
CD1.DialogTitle = “Save As DataLogger File”
CD1.ShowSave
On Error GoTo salah
‘Tulis data ke file
MousePointer = vbHourglass
Open CD1.FileName For Output As #1
Print #1, “Data ke-“, “Waktu”, “Nilai”
For Perulangan = 0 To RecStp – 1
Print #1, Perulangan, ADC(Perulangan)
Next Perulangan
Close #1Me.Caption = CapT & CD1.FileName
MousePointer = vbDefaultMsgBox “Data sudah disimpan”, vbOKOnly
Exit Sub
salah:
MousePointer = vbDefault
Exit SubEnd Sub
– pada program di atas, pertama kali akan mengecek apakah ada data yang sudah tersimpan pada array dengan mengecek jumlah pengambilan data, jika tidak ada data tersimpan maka akan menampilkan pesan error dan langsung keluar dari Sub.
– Jika ada data, maka akan menampilkan dialog box untuk menanyakan lokasi penyimpanan dan nama file yang akan digunakan.
– menyimpan data dengan looping sebanyak data yang ada dengan menulis pada file text. Kemudian keluar Sub.
3. Membuka data
Private Sub mnBuka_Click()
Dim w As Integer, w1 As Integer, w2 As Integer
picGrafik.Cls
picGrafik.Refresh
Call AwalWith CD1
.DefaultExt = “dlg”
.Filter = “Logger Files (*.txt)|*.txt”
.DialogTitle = “Open saved file”
.ShowOpen
End With
‘Call ColLoad
m = Right$(CD1.FileName, 3)
If m = “txt” Then
‘Garis
MousePointer = vbHourglass
Open CD1.FileName For Input As #1
RecStp = 0
w = 0
w1 = 0
w2 = 0
Do Until EOF(1)
Input #1, w, w1, w2
ADC(RecStp) = w2
Slider1.Value = w2
Call Grafik
RecStp = RecStp + 1
Loop
Close #1Else
MsgBox “Invalid File Type Dipshit!! “, vbCritical, “File Type Error”
End If
MousePointer = vbDefault
Exit SubErex:
MsgBox “File failed to load – ERROR “, vbCritical, “Load ERROR”
MousePointer = vbDefault
Close #1
Exit SubEnd Sub
– pada program diatas, pertama menyiapkan tampilan grafik dengan menghapus grafik yang ada jika ada, kemudian membuat dasar grafik sebelum dibuat grafik data
– menampilkan dialog box untuk menanyakan nama file dan lokasi penyimpanan data
– menggambar ulang data yang dibaca dengan memanggil fungsi grafik
– menampilkan message box, bahwa proses sudah selesai dilakukan
4. Membuat grafik
Sub Grafik()
‘data yang akan digambar
DATA = Slider1.Value‘ titik awal untuk menggambar garis, Titik O
‘X1 = Text9.Text
‘Y1 = Text10.Text‘ titik data yang akan digambar Titik A
‘X2 = Text11.Text
Y2 = DATA ‘Text12.Text
RecStp = RecStp + 1
ADC(RecStp) = DATA
WAKTU(RecStp) = Time
‘ menggambar garis
picGrafik.Line (500 + X1 * SkalaX, TitikNolY – (Y1 * SkalaY))-(500 + X2 * SkalaX, TitikNolY – (Y2 * SkalaY)), vbRed‘ mengatur nilai untuk titik berikutnya
X1 = X2 ‘ X1 = X2
Y1 = Y2 ‘ Y1 = Y2
X2 = X2 + 1 ‘ X2 = X2 + 1
End Sub
– membaca data dari slider yang merupakan data yang dibaca dari file
– menentukan nilai sumbu Y yang didapatkan dari DATA
– membuat garis pada picturebox dengan koordinat (X1,Y1)-(X2,Y2), warna
– mengatur nilai X1=X2 dan Y1=Y2 sebagai nilai awal grafik berikutnya.
Demikian semoga bermanfaat.
Source code langkap, disini.
— Rohmadi —
pak,, kalau untuk merekam selama beberapa menit atau jam dan menyimpan grafik dari sensor gmna pak?sehingga kita bisa membuka kembali hasil rekaman grafik dari sensor tersebut…,makasih pak…,oia klo boleh jwabanya dikirim ke email saya.ardat765@yahoo.com
Silakan dimodifikasi sendiri sesuai kebutuhan, saya hanya memberikan contoh sederhana untuk pengatehuan. Semoga bermanfaat.
permisi pak, posting ini bermanfaat sekali pak untuk saya yang baru belajar,
tapi saya ada kendala pak, apabila saya ingin menambahkan satu tombol untuk mengosongkan kembali picture box nya, jadi seakan-akan tombol reset, bagaimana caranya pak?
mohon responnya..
terima kasih
coba anda buat sebuat button dengan nama btnReset, dan Caption Reset, kemudian masukkan script berikut pada:
Private Sub btnReset_Click()
picGrafik.Cls
picGrafik.Refresh
Call Awal
end Sub
pak, kalau data logingnya disimpan/diexspor ke dalam file excel bagaiman caranya?