Rabu, 06 Juni 2012

Filled Under:

Membuat Mesin Hitung BBM dengan VB

Visual Basic
1.Buatlah sebuah program dengan menggunakan Control Structure dan pilih tipe data yang sesuai untuk merancang sebuah pompa BBM.

Dengan Ketentuan Sebagai berikut :
  • Jika jenis BBM dipilih/diklik maka Harga/liter langsung muncul
  • Hanya jumlah liter yang diinput, total liter dikeluarkan dan total bayar dihitung berdasarkan timer (setiap 10 mili detik dikeluarkan 1 liter)
  • Jika tombol 'isi' diklik, maka tombol stop hidup, tombol 'isi' dan 'kosongkan' mati, progres bar berjalan sesuai dengan jumlah liter dan harga BBM yang dikeluarkan
  • ScrolBar menunjukkan isi tangki, pertama sekali tangki dianggap penuh dan setiap kali pengeluaran dikurangi jumlah yang dikeluarkan
  • Jika tombol 'stop' diklik, maka tombol 'isi' dan 'kosongkan' hidup.
  • Jika tombol 'Kosongkan' diklik, maka reset pompa BBM ke awal, tombol 'isi' hidup, tombol 'stop' mati dan tombol 'kosongkan'[ mati.

a. gambar desain form 1 (sebelum dijalankan) :




















Source Code :
Public Class Form3
    Structure BBM
        Public jumMinyakTanah As Single
        Public jumPremium As Single
        Public jumSolar As Single
        Public jumPertamax As Single
        Public jumAftur As Single
    End Structure

    Structure Harga
        Public hMinyakTanah As Single
        Public hPremium As Single
        Public hSolar As Single
        Public hPertamax As Single
        Public hAftur As Single
    End Structure

    Private b As BBM
    Private h As Harga

    Sub setDefaultTangki()
        b.jumMinyakTanah = 100
        b.jumPremium = 100
        b.jumSolar = 100
        b.jumPertamax = 100
        b.jumAftur = 100

        h.hMinyakTanah = 4800
        h.hPertamax = 7000
        h.hPremium = 4500
        h.hAftur = 2500
        h.hSolar = 5000
    End Sub

    'Deklarasi variable
    Dim maxScroll, minScroll, scrollValue, HargaLiter As Single
    Dim beliLiter, beliNominal As Single
    Dim radioStatus As String
    Dim nowKondisi As Single
    Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.setDefaultTangki()

        'Set Scroll
        Me.maxScroll = b.jumMinyakTanah
        Me.minScroll = 0

        'Set Max, min and value of Scrollbar
        Me.vsbTotLiter.Maximum = Me.maxScroll
        Me.vsbTotLiter.Minimum = Me.minScroll
        Me.vsbTotLiter.Value = 0
        'Set Harga Jual
        Me.txtHarga.Text = h.hMinyakTanah
        Me.radioStatus = "Minyak Tanah"

    End Sub


    Private Sub rdBBM_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rdBBM1.CheckedChanged, rdBBM2.CheckedChanged, rdBBM3.CheckedChanged, rdBBM4.CheckedChanged, rdBBM5.CheckedChanged
        Dim obj As RadioButton
        For Each obj In Me.grbBBM.Controls
            If obj.Checked Then
                If obj.Text.Equals("Minyak Tanah") Then
                    Me.scrollValue = b.jumMinyakTanah
                    Me.HargaLiter = h.hMinyakTanah
                    Me.radioStatus = "Minyak Tanah"

                ElseIf obj.Text.Equals("Premium") Then
                    Me.scrollValue = b.jumPremium
                    Me.HargaLiter = h.hPremium
                    Me.radioStatus = "Premium"
                ElseIf obj.Text.Equals("Solar") Then
                    Me.scrollValue = b.jumSolar
                    Me.HargaLiter = h.hSolar
                    Me.radioStatus = "Solar"
                ElseIf obj.Text.Equals("Pertamax") Then
                    Me.scrollValue = b.jumPertamax
                    Me.HargaLiter = h.hPertamax
                    Me.radioStatus = "Pertamax"
                ElseIf obj.Text.Equals("Aftur") Then
                    Me.scrollValue = b.jumAftur
                    Me.HargaLiter = h.hAftur
                    Me.radioStatus = "Aftur"
                Else
                    Me.scrollValue = 100
                End If
            End If
        Next

        Me.maxScroll = Me.scrollValue
        Me.minScroll = 0

        nowKondisi = 100 - Me.maxScroll
        'Set Max, min and value of Scrollbar
        Me.vsbTotLiter.Maximum = Me.maxScroll
        Me.vsbTotLiter.Minimum = Me.minScroll
        Me.vsbTotLiter.Value = nowKondisi

        'Set Harga Jual
        Me.txtHarga.Text = Me.HargaLiter
    End Sub

    Private Sub btnIsi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIsi.Click
        Me.prbIsi.Value = 0
        Me.beliLiter = Val(Me.txtIsiLiter.Text)
        Me.prbIsi.Maximum = Me.txtIsiLiter.Text
        If Me.txtIsiLiter.Text > Me.maxScroll And Not Me.txtIsiLiter.Text.Equals(Me.maxScroll) Then
            MsgBox("Maaf BBM Kosong.")
        Else
            Me.Timer1.Start()
        End If
        Me.btnIsi.Enabled = False
        Me.btnKosong.Enabled = False
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If Me.prbIsi.Value < Me.prbIsi.Maximum Then
            Me.prbIsi.PerformStep()
            Me.txtStatusLiter.Text = Me.prbIsi.Value
            Me.txtStatusHarga.Text = Me.prbIsi.Value * Me.txtHarga.Text
            Me.minScroll += 1
            Me.vsbTotLiter.Value = Me.minScroll
        Else
            Me.Timer1.Stop()
            If radioStatus.Equals("Minyak Tanah") Then
                b.jumMinyakTanah = b.jumMinyakTanah - Me.txtIsiLiter.Text
            ElseIf radioStatus.Equals("Premium") Then
                b.jumPremium = b.jumPremium - Me.txtIsiLiter.Text
            ElseIf radioStatus.Equals("Solar") Then
                b.jumSolar = b.jumSolar - Me.txtIsiLiter.Text
            ElseIf radioStatus.Equals("Pertamax") Then
                b.jumPertamax = b.jumPertamax - Me.txtIsiLiter.Text
            ElseIf radioStatus.Equals("Aftur") Then
                b.jumAftur = b.jumAftur - Me.txtIsiLiter.Text
            End If
        End If
        Me.maxScroll = Me.maxScroll - Me.minScroll
    End Sub

    Private Sub btnKosong_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKosong.Click
        Me.txtIsiLiter.Text = ""
        Me.txtStatusHarga.Text = ""
        Me.txtStatusLiter.Text = ""
        Me.prbIsi.Value = 0
        Me.btnIsi.Enabled = True
    End Sub
End Class


a. gambar desain form 1 (setelah dijalankan) :

















Unknown

Author & Editor

Hal sederhana yang wajib diketahui. 1 catatan lebih baik dari 1000 ingatan

0 komentar :

Posting Komentar

 

Copyright © Website Arek Pamekasan ™ is a registered trademark.
Blogger Templates Designed by Templateism . Hosted on Blogger Platform.