Jika sebelumnya
telah dijelaskan bagaimana konsep membuat sebuah billing, maka pada
kesempatan ini akan dijelaskan contoh membuat billing yang jumlahnya
lebih dari satu unit. Billing yang akan dibuat, sejumlah empat dalam
satu form. Billing yang akan dibuat bisa digunakan untuk billing PS,
ataupun yang sejenisnya. Dimana billing disini tidak ditampilkan pada
client/user, namun billing hanya terdapat pada PC Admin. Output dari PC
dapat ditambahkan switch untuk memutuskan sumber listrik pada
masing-masing user. Sebagai catatan, peralatan listrik user yang akan
dimatikan tidak rentan terhadap mati/nyala, misalnya yang berupa TV atau
yang lain.
Switch dapat berupa sebuah MCU (Microcontroller Centrol Unit)
ataupun sebuah sirkuit logic yang lain. MCU kemudian mengendalikan
sebuah relay ataupun model switch yang lain, misalnya solid state. Jika
menggunakan sebuah MCU misalnya mikrokontroller ATMega8535 atau yang
lain yang memiliki pin I/O 32 jalur, maka dapat digunakan untuk membuat
billing sejumlah 30 unit peralatan rental.
Prinsip billing disini
sama dengan billing yang telah dibahas sebelumnya, yang berbeda adalah
jumlah unitnya. Masing-masing unit dapat dilihat durasi dan biaya
sendiri-sendiri. Billing yang akan dibuat sangat sederhana dan mudah
digunakan. Indikator billing sedang berjalan ditunjukkan oleh sebuah
simbol lingkaran dengan kode warna merah mununjukkan billing sedang
berhenti, sementara warna hijau menunjukkan billing sedang jalan.
Untuk membuatnya, siapkan tampilan seperti diatas yang terdiri dari komponen:
Komponen
|
Properties
|
Value
|
Frame1 | Caption | PS 1 |
Label1 | Caption | Pemakai: User 1 |
Label2 | Caption | Biaya |
Label3 | Caption | Jam Mulai |
Label4 | Caption | Jam Sekarang |
lblDurasi1 | Caption | 00:00:00 |
lblBiaya1 | Caption | : Rp. 0,- |
lblMulai1 | Caption | : 00:00 |
lblSkrg1 | Caption | : 00:00 |
Command1 | Caption | Mulai |
Timer1 | Interval | 1000 |
Enabled | False | |
Shape1 | BackColor | vbRed |
Buatlah komponen di atas sejumlah empat kali sehingga akan menghasilkan tampilan seperti di atas.
Coding Billing
Pada bagian atas code, buatlah variabel berikut:
Dim Start1 As Date, Stop1 As Date
Dim Start2 As Date, Stop2 As Date
Dim Start3 As Date, Stop3 As Date
Dim Start4 As Date, Stop4 As Date
Dim Harga As Integer
Dim Biaya1 As Integer
Dim Biaya2 As Integer
Dim Biaya3 As Integer
Dim Biaya4 As Integer
kemudian tambahkan fungsi berikut untuk menghitung selisih dari dua buah waktu:
Function DateDiffX(dStart As Date, dEnd As Date, Optional bDetailed As Boolean) As Variant
Dim TotalDays
Dim Years, Months, Days, hours, minutes, seconds
If bDetailed Then
TotalDays = dEnd - dStart
hours = Hour(dEnd - dStart)
minutes = Minute(dEnd - dStart)
seconds = Second(dEnd - dStart)
If hours < 10 Then
hours = "0" & hours
ElseIf hours > 9 Then
hours = hours
End If
If minutes < 10 Then
minutes = "0" & minutes
ElseIf minutes > 9 Then
minutes = minutes
End If
If seconds < 10 Then
seconds = "0" & seconds
ElseIf seconds > 9 Then
seconds = seconds
End If
DateDiffX = hours & ":" & minutes & ":" & seconds
Exit Function
End If
End Function
sub
rutin di atas digunakan untuk menghitung selisih dari dua waktu.
Selisih ini disebut sebagai durasi dan akan digunakan sebagai hasil
penggunaan waktu sewa.
Kemudian pada Command1_Click() tambahkan code berikut:
Private Sub Command1_Click()
If Command1.Caption = "Mulai" Then
Command1.Caption = "Stop"
Timer1.Enabled = True
lblMulai1 = ": " & Format(Time, "hh:mm:ss")
Shape1.BackColor = vbGreen
Start1 = Format(Time, "hh:mm:ss")
ElseIf Command1.Caption = "Stop" Then
Command1.Caption = "Mulai"
Timer1.Enabled = False
lblSkrg1 = ": " & Format(Time, "hh:mm:ss")
Shape1.BackColor = vbRed
End If
End Sub
Pada Sub Timer1_Timer(), tambahkan code berikut:
Private Sub Timer1_Timer()
Stop1 = Format(Time, "hh:mm:ss")
lblSkrg1 = ": " & Format(Time, "hh:mm:ss")
lblDurasi1 = DateDiffX(Start1, Stop1, True)
Timer1.Tag = Biaya1 + Harga
lblBiaya1 = ": Rp. " & Timer1.Tag & ",-"
Biaya1 = Timer1.Tag
End Sub
Stop1 = Format(Time, "hh:mm:ss")
lblSkrg1 = ": " & Format(Time, "hh:mm:ss")
lblDurasi1 = DateDiffX(Start1, Stop1, True)
Timer1.Tag = Biaya1 + Harga
lblBiaya1 = ": Rp. " & Timer1.Tag & ",-"
Biaya1 = Timer1.Tag
End Sub
Dan pada sub Form_Load(), tambahkan code berikut:
Private Sub Form_Load()
Harga = 10
End Sub
Ulangi langkah-langkah di atas untuk unit yang ke-2, 3 dan 4.
Semoga bermanfaat.
No comments:
Post a Comment