1.Buatlah sebuah program dengan menggunakan Control Structure dan pilih tipe data yang sesuai untuk merancang sebuah pompa BBM.
Dengan Ketentuan Sebagai berikut :
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) :
0 komentar :
Posting Komentar