Selasa, 27 April 2010

Menghitung Biaya Rental dengan Visual Basic

Rental Komputer “MANDIRI COMP” ingin dapat menghitung biaya pembayaran setiap Pemakaian Komputer secara otomatis untuk satu buah komputer yang dipakainya. Biaya dihitung berdasarkan lama pemakaian dengan Asumsi Biaya per Jam-nya adalah Rp. 5.000,-. Untuk pemakai yang menggunakan dibawah 30 menit akan dihitung berdasarkan setengah (1/2) dari Biaya per jam ditambah biaya tambahan sebesar 10% dari Biaya per jam, sedangkan untuk pemakai yang menggunakan komputer di atas 30 Menit akan dikenai biaya sesuai dengan tarif biaya yang telah ditentukan.

PEMECAHAN MASALAH

Langkah pemecahan yang dilakukan adalah :
1. Menentukan Kontrol yang akan digunakan, yaitu :
TextBox, CommandButton, Label, Frame dan Timer

2. Menetukan Proses yang digunakan
• Biaya per Jam = 5000
• Biaya Tambahan (< 30 menit) = 10% * Biaya
• Lama Waktu = Waktu Akhir ) – Waktu Mulai
• Jam = Hour(Lama Waktu)
• Menit = Minute(Lama Waktu)
• Detik = Second(Lama Waktu )
• Harga Menit = Harga / 60
• Biaya = (Harga * Jam) + (harga Menit * Menit)
• Jika Jam = 0 And Menit < 31 Maka
Biaya = 0.5 * Harga
BiayaLain = BiayaTambahan
• Jika Menit > 30 Maka
BiayaLain = 0
• Total Biaya Pemakaian = Biaya + BiayaLain

Catatan :
Gunakan Kontrol untuk TextBox yang ketiga (TEXT3) dengan fasilitas Index kontrol dengan Nama TxtInfo.





Kode Program

Dim Jam, Menit, Detik As Integer
Dim awal, Akhir
Dim Harga, BiayaTambahan

Sub SizeAwal()
Form1.Height = 2320 : Form1.Width = 3255
End Sub

Sub SizeAkhir()
Form1.Height = 5325 : Form1.Width = 3255
End Sub

Sub InfoBiaya()
Harga = 5000 : BiayaTambahan = 0.1 * Harga
End Sub

Private Sub Command1_Click()
If Command1.Caption = "Login" Then
Command1.Caption = "Logout" : Timer1.Enabled = True : Timer1.Interval = 60
Jam = 0: Menit = 0: Detik = 0 : Text2.Text = Time
Else
Command1.Caption = "Login"
Timer1.Enabled = False : Timer1.Interval = 60
HargaMenit = Harga / 60
Biaya = (Harga * Jam) + (HargaMenit * Menit)
Label2.Caption = "0 Jam 0 Menit"
If Menit < 31 Then
Biaya = 0.5 * Harga : BiayaLain = BiayaTambahan
Else
BiayaLain = 0
End If
TxtInfo(0).Text = Text2.Text : TxtInfo(1).Text = Text1.Text
TxtInfo(2).Text = Format(BiayaLain, "#,###,###")
TxtInfo(3).Text = Format(Biaya + BiayaLain, "#,###,###")
SizeAkhir
End If
End Sub

Private Sub Command2_Click()
Retval = MsgBox("Apakah Akan Mencetak Lembar Pembayaran...?", & _
vbYesNo + vbDefaultButton2 + vbQuestion, "Cetak Lembar Pembayaran")
SizeAwal
If Retval = vbYes Then
Printer.KillDoc
Printer.Orientation = 1
Printer.FontName = "Courier"
Printer.FontBold = True
Printer.FontSize = 13
Printer.Print "MANDIRI RENTAL"
Printer.Print "Jl. Sukasari II 79"
Printer.Print "==================="
Printer.FontBold = False
Printer.FontSize = 11
Printer.Print "Mulai :" + TxtInfo(0).Text
Printer.Print "Akhir :" + TxtInfo(1).Text
Printer.Print "Lain-Lain (10%) Rp. " + TxtInfo(2).Text
Printer.Print "Biaya per Jam Rp. " + Format(Harga, "#,###,###.##")
Printer.Print
Printer.FontSize = 11
Printer.FontBold = True
Printer.Print "Total Biaya Rp. " + TxtInfo(3).Text
Printer.EndDoc
End If
End Sub

Private Sub Form_Load()
InfoBiaya
SizeAwal
Label1.Caption = "Waktu" : Label2.Caption = "0 Jam 0 Menit"
Label3.Caption = "Mulai" : Label4.Caption = "Akhir"
Label5.Caption = "Lain-Lain (10%)" : Label6.Caption = "Total Biaya"
Frame1.Caption = "" : Frame2.Caption = ""
Frame3.Caption = "Informasi Biaya"
Command1.Caption = "Login"
Command2.Caption = "Print"
Form1.Caption = "Biaya per Jam : Rp. " & Format(Harga, "#,###,###.##")
Text1.Text = Time
End Sub


Private Sub Timer1_Timer()
Dim LamaWaktu As Date
Text1.Text = Time
LamaWaktu = CDate(Text1.Text) - CDate(Text2.Text)
Jam = Hour(LamaWaktu)
Menit = Minute(LamaWaktu)
Detik = Second(LamaWaktu)
Label2.Caption = LamaWaktu
End Sub

Tidak ada komentar:

Posting Komentar