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

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.

Download code.

Semoga bermanfaat.