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

awal form

2. Menambahkan komponen Common Dialog,  masuk ke menu ini dengan menekan Ctrl + T. Kemudian cari dari list Microsoft Common Dialog Control 6.0

add component dialog

3. Setelah itu, klik Apply dan akan muncul pada kota toolbox sebelah kiri dari form

componen dialog

4.  Buatlah form sebagai berikut, atau gunakan template yang sudah ada disini.

desain form

5. Tambahkan componen Dialog Box, dengan cara mendrag kebagian tengan form

drag componen dialog

6. Tambahkan dua komponen Timer1, dan Timer2

drag componen timer

7. Buatlah menu dengan Menu Editor dengan menekan Ctrl+E untuk memunculkan menu editor berikut ini.

menu editor

8. Buatlah menu seperti berikut:

menu

 

9. Menambahkan komponen Slider

add 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 #1

Me.Caption = CapT & CD1.FileName
MousePointer = vbDefault

MsgBox “Data sudah disimpan”, vbOKOnly

Exit Sub
salah:
MousePointer = vbDefault
Exit Sub

End 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 Awal

With 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 #1

Else
MsgBox “Invalid File Type Dipshit!!  “, vbCritical, “File Type Error”
End If
MousePointer = vbDefault
Exit Sub

Erex:
MsgBox “File failed to load – ERROR  “, vbCritical, “Load ERROR”
MousePointer = vbDefault
Close #1
Exit Sub

End 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 —