Minggu, 07 Desember 2014

QUIZ

                             PEMOGRAMAN PEMAKAIAN LISTRIK



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.

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

TAMPILAN