Billing Rental 4 Unit Dengan Visual Basic 6

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
Frame1CaptionPS 1
Label1CaptionPemakai: User 1
Label2CaptionBiaya
Label3CaptionJam Mulai
Label4CaptionJam Sekarang
lblDurasi1Caption00:00:00
lblBiaya1Caption: Rp. 0,-
lblMulai1Caption: 00:00
lblSkrg1Caption: 00:00
Command1CaptionMulai
Timer1Interval1000
EnabledFalse
Shape1BackColorvbRed

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.
Semoga bermanfaat.

Comments

Popular posts from this blog

Komunikasi Serial Antara ATMega8 dengan Simulink Matlab

MEMBUAT GRAFIK PADA VISUAL BASIC (VB)

Voltmeter AC/DC dengan AVR ATMega8535