Selesaikan kasus berikut ini menggunakan bahasa pemrograman.
Sebuah perusahaan swasta yang bergerak di bidang jasa kelistrikan membutuhkan program untuk menangani data data tagihan pemakaian listrik pelanggan. Saat ini jumlah pelanggan sudah mencapai ribuah dengan tipe yang berbeda beda, sehingga mengalami kesulitan didalam perhitungan pemakaian listriknya.
Setiap pelanggan terbagi ke dalam beberapa daerah :
MED, menyatakan daerah MEDAN
BEL, menyatakan daerah BELAWAN
TEM, menyatakan daerah AKSARA
MAR, menyatakan daerah MARENDAL
BIN, menyatakan daerah BINJAI
PAK, menyatakan daerah LUBUK PAKAM
Terdapat beberapa tipe pelanggan yaitu :
TOK, dengan tipe TOKO, biaya beban Rp. 150000 sedangkan harga per KWH Rp. 500
RUM, dengan tipe RUMAH, biaya beban Rp. 50000 sedang harga per KWH Rp. 200
SWA, dengan tipe SWALAYAN, biaya beban Rp. 400000 sedang harga per KWH Rp. 1500 dan
PAB, dengan tipe PABRIK, biaya beban Rp. 1000000 sedang harga per KWH Rp. 10000.
Jumlah pemakaian setiap pelanggan dihitung berdasarkan Meter Bulan Ini - Meter Bulan Lalu, selisihnya dianggap besar pemakaian.
Total Tagihan diperoleh dari Biaya Beban di tambah dengan harga per KWH di kalikan dengan Besar Pemakaian.
Setiap tagihan pelanggan dikenakan pajak sebesar 1.5 % dari total tagihan.
Pembayaran dikenakan dari Total Tagihan di tambah dengan Pajak.
Adapun bentuk dari kode pelanggan : PAB-PAK-100
PAB --> menyatakan tipe pelanggan
PAK --> menyatakan daerah pelanggan
100--> nomor urut.
Jika menurut saudara terdapat hal hal yang dianggap perlu, dipersilahkan untuk menambahnya.
Dari kasus tersebut anda yang merupakan mahasiswa komputer di bidang pemrograman, diharapkan dapat menyelesaikan kasus tersebut.
Sebuah perusahaan swasta yang bergerak di bidang jasa kelistrikan membutuhkan program untuk menangani data data tagihan pemakaian listrik pelanggan. Saat ini jumlah pelanggan sudah mencapai ribuah dengan tipe yang berbeda beda, sehingga mengalami kesulitan didalam perhitungan pemakaian listriknya.
Setiap pelanggan terbagi ke dalam beberapa daerah :
MED, menyatakan daerah MEDAN
BEL, menyatakan daerah BELAWAN
TEM, menyatakan daerah AKSARA
MAR, menyatakan daerah MARENDAL
BIN, menyatakan daerah BINJAI
PAK, menyatakan daerah LUBUK PAKAM
Terdapat beberapa tipe pelanggan yaitu :
TOK, dengan tipe TOKO, biaya beban Rp. 150000 sedangkan harga per KWH Rp. 500
RUM, dengan tipe RUMAH, biaya beban Rp. 50000 sedang harga per KWH Rp. 200
SWA, dengan tipe SWALAYAN, biaya beban Rp. 400000 sedang harga per KWH Rp. 1500 dan
PAB, dengan tipe PABRIK, biaya beban Rp. 1000000 sedang harga per KWH Rp. 10000.
Jumlah pemakaian setiap pelanggan dihitung berdasarkan Meter Bulan Ini - Meter Bulan Lalu, selisihnya dianggap besar pemakaian.
Total Tagihan diperoleh dari Biaya Beban di tambah dengan harga per KWH di kalikan dengan Besar Pemakaian.
Setiap tagihan pelanggan dikenakan pajak sebesar 1.5 % dari total tagihan.
Pembayaran dikenakan dari Total Tagihan di tambah dengan Pajak.
Adapun bentuk dari kode pelanggan : PAB-PAK-100
PAB --> menyatakan tipe pelanggan
PAK --> menyatakan daerah pelanggan
100--> nomor urut.
Jika menurut saudara terdapat hal hal yang dianggap perlu, dipersilahkan untuk menambahnya.
Dari kasus tersebut anda yang merupakan mahasiswa komputer di bidang pemrograman, diharapkan dapat menyelesaikan kasus tersebut.
JAWABAN
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KodePelanggan.Items.Add("TOK-MED-101")
KodePelanggan.Items.Add("RUM-BEL-102")
KodePelanggan.Items.Add("RUM-TEM-103")
KodePelanggan.Items.Add("SWA-MAR-104")
KodePelanggan.Items.Add("PAB-BIN-105")
KodePelanggan.Items.Add("PAB-PAK-106")
Call buattable()
End Sub
Sub buattable()
LV.Columns.Add("KODE", 90, HorizontalAlignment.Center)
LV.Columns.Add("NAMA", 150, HorizontalAlignment.Left)
LV.Columns.Add("TIPE", 80, HorizontalAlignment.Center)
LV.Columns.Add("DAERAH", 150, HorizontalAlignment.Left)
LV.Columns.Add("BIAYA BEBAN", 110, HorizontalAlignment.Center)
LV.Columns.Add("HARGA perKWH", 110, HorizontalAlignment.Center)
LV.Columns.Add("PEMAKAIAN", 80, HorizontalAlignment.Center)
LV.Columns.Add("TAGIHAN", 80, HorizontalAlignment.Left)
LV.Columns.Add("PAJAK", 80, HorizontalAlignment.Left)
LV.Columns.Add("PEMBAYARAN", 110, HorizontalAlignment.Center)
LV.View = View.Details
LV.GridLines = True
LV.FullRowSelect = True
End Sub
Sub isitable()
Dim lst As New ListViewItem
lst.Text = KodePelanggan.Text
lst.SubItems.Add(NAMA.Text)
lst.SubItems.Add(Tipe.Text)
lst.SubItems.Add(Daerah.Text)
lst.SubItems.Add(BiayaBeban.Text)
lst.SubItems.Add(HargaKWH.Text)
lst.SubItems.Add(Pemakaian.Text)
lst.SubItems.Add(TTagihan.Text)
lst.SubItems.Add(Pajak.Text)
lst.SubItems.Add(Pembayaran.Text)
LV.Items.Add(lst)
End Sub
Private Sub KodePelanggan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KodePelanggan.SelectedIndexChanged
Dim X As String
X = Mid(KodePelanggan.Text, 1, 3)
Select Case X
Case "TOK"
Tipe.Text = "TOKO"
BiayaBeban.Text = "150000"
HargaKWH.Text = "500"
Case "RUM"
Tipe.Text = "RUMAH"
BiayaBeban.Text = "50000"
HargaKWH.Text = "200"
Case "SWA"
Tipe.Text = "SWALAYAN"
BiayaBeban.Text = "400000"
HargaKWH.Text = "1500"
Case "PAB"
Tipe.Text = "PABRIK"
BiayaBeban.Text = "1000000"
HargaKWH.Text = "10000"
End Select
X = Mid(KodePelanggan.Text, 5, 3)
Select Case X
Case "MED" : Daerah.Text = "MEDAN"
Case "BEL" : Daerah.Text = "BELAWAN"
Case "TEM" : Daerah.Text = "AKSARA"
Case "MAR" : Daerah.Text = "MARENDAL"
Case "BIN" : Daerah.Text = "BINJAI"
Case "PAK" : Daerah.Text = "LUBUK PAKAM"
End Select
X = Mid(KodePelanggan.Text, 1, 11)
Select Case X
Case "TOK-MED-101" : Nama.Text = "MAKUR"
Case "RUM-BEL-102" : Nama.Text = "ADE RAHAYU"
Case "RUM-TEM-103" : Nama.Text = "MUNA WATI"
Case "SWA-MAR-104" : Nama.Text = "LUCKY SWALAYAN"
Case "PAB-BIN-105" : Nama.Text = "PT.ALAM JAYA"
Case "PAB-PAK-106" : Nama.Text = "PT.JHONSON"
End Select
End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
TTagihan.Text = (Val(BiayaBeban.Text) + Val(HargaKWH.Text)) * Pemakaian.Text
Pajak.Text = 0.015 * TTagihan.Text
Pembayaran.Text = Val(TTagihan.Text) + Val(Pajak.Text)
End Sub
Private Sub BtnIsiList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIsiList.Click
Call isitable()
KodePelanggan.Text = ""
Nama.Text = ""
Tipe.Text = ""
Daerah.Text = ""
BiayaBeban.Text = ""
HargaKWH.Text = ""
Pemakaian.Text = ""
TTagihan.Text = ""
Pajak.Text = ""
Pembayaran.Text = ""
End Sub
Private Sub BtnHapusList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusList.Click
LV.Items.Clear()
End Sub
Private Sub BtnHapusData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusData.Click
KodePelanggan.Text = ""
Nama.Text = ""
Tipe.Text = ""
Daerah.Text = ""
BiayaBeban.Text = ""
HargaKWH.Text = ""
Pemakaian.Text = ""
TTagihan.Text = ""
Pajak.Text = ""
Pembayaran.Text = ""
End Sub
End Class
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
KodePelanggan.Items.Add("TOK-MED-101")
KodePelanggan.Items.Add("RUM-BEL-102")
KodePelanggan.Items.Add("RUM-TEM-103")
KodePelanggan.Items.Add("SWA-MAR-104")
KodePelanggan.Items.Add("PAB-BIN-105")
KodePelanggan.Items.Add("PAB-PAK-106")
Call buattable()
End Sub
Sub buattable()
LV.Columns.Add("KODE", 90, HorizontalAlignment.Center)
LV.Columns.Add("NAMA", 150, HorizontalAlignment.Left)
LV.Columns.Add("TIPE", 80, HorizontalAlignment.Center)
LV.Columns.Add("DAERAH", 150, HorizontalAlignment.Left)
LV.Columns.Add("BIAYA BEBAN", 110, HorizontalAlignment.Center)
LV.Columns.Add("HARGA perKWH", 110, HorizontalAlignment.Center)
LV.Columns.Add("PEMAKAIAN", 80, HorizontalAlignment.Center)
LV.Columns.Add("TAGIHAN", 80, HorizontalAlignment.Left)
LV.Columns.Add("PAJAK", 80, HorizontalAlignment.Left)
LV.Columns.Add("PEMBAYARAN", 110, HorizontalAlignment.Center)
LV.View = View.Details
LV.GridLines = True
LV.FullRowSelect = True
End Sub
Sub isitable()
Dim lst As New ListViewItem
lst.Text = KodePelanggan.Text
lst.SubItems.Add(NAMA.Text)
lst.SubItems.Add(Tipe.Text)
lst.SubItems.Add(Daerah.Text)
lst.SubItems.Add(BiayaBeban.Text)
lst.SubItems.Add(HargaKWH.Text)
lst.SubItems.Add(Pemakaian.Text)
lst.SubItems.Add(TTagihan.Text)
lst.SubItems.Add(Pajak.Text)
lst.SubItems.Add(Pembayaran.Text)
LV.Items.Add(lst)
End Sub
Private Sub KodePelanggan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KodePelanggan.SelectedIndexChanged
Dim X As String
X = Mid(KodePelanggan.Text, 1, 3)
Select Case X
Case "TOK"
Tipe.Text = "TOKO"
BiayaBeban.Text = "150000"
HargaKWH.Text = "500"
Case "RUM"
Tipe.Text = "RUMAH"
BiayaBeban.Text = "50000"
HargaKWH.Text = "200"
Case "SWA"
Tipe.Text = "SWALAYAN"
BiayaBeban.Text = "400000"
HargaKWH.Text = "1500"
Case "PAB"
Tipe.Text = "PABRIK"
BiayaBeban.Text = "1000000"
HargaKWH.Text = "10000"
End Select
X = Mid(KodePelanggan.Text, 5, 3)
Select Case X
Case "MED" : Daerah.Text = "MEDAN"
Case "BEL" : Daerah.Text = "BELAWAN"
Case "TEM" : Daerah.Text = "AKSARA"
Case "MAR" : Daerah.Text = "MARENDAL"
Case "BIN" : Daerah.Text = "BINJAI"
Case "PAK" : Daerah.Text = "LUBUK PAKAM"
End Select
X = Mid(KodePelanggan.Text, 1, 11)
Select Case X
Case "TOK-MED-101" : Nama.Text = "MAKUR"
Case "RUM-BEL-102" : Nama.Text = "ADE RAHAYU"
Case "RUM-TEM-103" : Nama.Text = "MUNA WATI"
Case "SWA-MAR-104" : Nama.Text = "LUCKY SWALAYAN"
Case "PAB-BIN-105" : Nama.Text = "PT.ALAM JAYA"
Case "PAB-PAK-106" : Nama.Text = "PT.JHONSON"
End Select
End Sub
Private Sub BtnKeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKeluar.Click
Me.Close()
End Sub
Private Sub BtnProses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnProses.Click
TTagihan.Text = (Val(BiayaBeban.Text) + Val(HargaKWH.Text)) * Pemakaian.Text
Pajak.Text = 0.015 * TTagihan.Text
Pembayaran.Text = Val(TTagihan.Text) + Val(Pajak.Text)
End Sub
Private Sub BtnIsiList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIsiList.Click
Call isitable()
KodePelanggan.Text = ""
Nama.Text = ""
Tipe.Text = ""
Daerah.Text = ""
BiayaBeban.Text = ""
HargaKWH.Text = ""
Pemakaian.Text = ""
TTagihan.Text = ""
Pajak.Text = ""
Pembayaran.Text = ""
End Sub
Private Sub BtnHapusList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusList.Click
LV.Items.Clear()
End Sub
Private Sub BtnHapusData_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapusData.Click
KodePelanggan.Text = ""
Nama.Text = ""
Tipe.Text = ""
Daerah.Text = ""
BiayaBeban.Text = ""
HargaKWH.Text = ""
Pemakaian.Text = ""
TTagihan.Text = ""
Pajak.Text = ""
Pembayaran.Text = ""
End Sub
End Class
TAMPILAN