Jumat, 27 Juli 2012

Coding Class


Public Class GajiKaryawan
    'membuat file koneksi
    Public Shared koneksi As New SqlClient.SqlConnection
    Public Shared perintahSQL As New SqlClient.SqlCommand
    'data adapter : untunk mengambil data dari database dan menampungnya pada dataset
    Public Shared da As New SqlClient.SqlDataAdapter
    'data set : untuk menampilkan tabel yang pada database
    Public Shared ds As New DataSet
    'data reader : untuk membaca dan menampilkan data lebih cepat dan efisien
    Public Shared ketemu As SqlClient.SqlDataReader
    Public Shared Sub BukaDatabase()
        Try
            koneksi.ConnectionString = "Data Source=DOSEN\SQLEXPRESS;Initial Catalog=dbGaji;Integrated Security=True"
            koneksi.Open()
            perintahSQL.Connection = koneksi
        Catch ex As Exception
            MsgBox("koneksi database gagal!!!", MsgBoxStyle.Information, "error")
        End Try
    End Sub
    Public Shared Sub tutupdatabase()
        koneksi.Close()
        koneksi.ConnectionString = Nothing
    End Sub
End Class

Coding Login

vbchoz.blogspot.com


Form Login
    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        'Button Ok
        If UCase(UsernameTextBox.Text) = "MU" And UCase(PasswordTextBox.Text) = "88" Then
            FormProgressBarLogin.Show()
            FormProgressBarLogin.Timer1.Enabled = True
            FormProgressBarLogin.Show()
            Me.Hide()
            Exit Sub
        Else
            counter = counter + 1
            If counter = 3 Then
                MessageBox.Show("anda sudah 3 kali salah")
                End
            End If
            MessageBox.Show("login salah" + Chr(13) + "anda mempunyai " & 3 - counter & " kali untuk mencoba" + Chr(13) + "login ulang", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If
        Me.Close()
    End Sub

Rabu, 25 Juli 2012

Coding VB 2008 : Aplikasi Penggajian Karyawan

Coding VB 2008
Aplikasi Penggajian


Form Login


    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
        'Button Ok
        If UCase(UsernameTextBox.Text) = "MU" And UCase(PasswordTextBox.Text) = "88" Then
            FormProgressBarLogin.Show()
            FormProgressBarLogin.Timer1.Enabled = True
            FormProgressBarLogin.Show()
            Me.Hide()
            Exit Sub
        Else
            counter = counter + 1
            If counter = 3 Then
                MessageBox.Show("anda sudah 3 kali salah")
                End
            End If
            MessageBox.Show("login salah" + Chr(13) + "anda mempunyai " & 3 - counter & " kali untuk mencoba" + Chr(13) + "login ulang", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If
        Me.Close()
    End Sub

    Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
        'Button cancel
        Me.Close()
    End Sub
End Class


Form Progressbar

Public Class FormProgressBarLogin

    Private Sub btndetikProgress_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndetikProgress.Click
        Timer1.Enabled = True 'aktifkan timer
        btndetikProgress.Text = "sedang proses"
        Timer1.Interval = 100 'set interval menjadi 100
        ProgressBar1.Value = 0 'kembalikan nilai progressbar menjadi 0
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Static tiktok As Integer
        tiktok = tiktok + 1
        ProgressBar1.Value = tiktok
        btndetikProgress.Text = tiktok & " % "
        If ProgressBar1.Value = ProgressBar1.Maximum Then
            Timer1.Enabled = False 'non aktifkan timer1 saat nilai statis=nilai max progressbar1
            tiktok = 0 'kembalikan nilai status menjadi 0
            Me.Hide()
            FormMenuUtama.Show()
        End If
    End Sub
End Class
__________________________________________________

Form Menu Awal

Public Class FormMenuUtama

    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        If MsgBox("do you want to Exit?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "exit") = MsgBoxResult.Yes Then
            MsgBox("thank you!!", MsgBoxStyle.Information, "end")
            End
        ElseIf MsgBoxResult.No Then
            MsgBox("try again", MsgBoxStyle.Critical, "retry")
        End If
    End Sub

    Private Sub HitungGajiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HitungGajiToolStripMenuItem.Click
        FormPenggajian.Show()
    End Sub

    Private Sub LihatSlipGajiToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LihatSlipGajiToolStripMenuItem.Click
        FormLihatData.Show()
    End Sub
End Class
_________________________________________________________________________________

From Penggajian

Public Class FormPenggajian
    Dim jenis As String

Private Sub rdLaki_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdLaki.CheckedChanged

jenis = "Laki-Laki"

End Sub

    Private Sub rdPerempuan_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdPerempuan.CheckedChanged
       
jenis = "Perempuan"

End Sub

    Private Sub FormDataKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cmbJabatan.Items.Clear()
        cmbJabatan.Items.Add("Manager")
        cmbJabatan.Items.Add("Supervisor")
        cmbJabatan.Items.Add("Staff Karyawan")
    End Sub

    Public Sub nol()
        txtNik.Text = ""
        txtNama.Text = ""
        RDlaki.Checked = False
        RDPerempuan.Checked = False
        txtalamat.Text = ""
        txttelepon.Text = ""
        DTtanggal.Text = Today
        txtjamkerja.Text = ""
        txtJamLembur.Text = ""
        txtgajiPokok.Text = ""
        txtUmkn.Text = ""  
        txtUlembur.Text = ""
        txtUtransport.Text = ""
        lblTotalGaji.Text = "--"
        lblHslGajiPokok.Text = "--"
        Label5.Text = "--"
        txtgajiPokok.Focus()
    End Sub

    Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click
        GajiKaryawan.BukaDatabase()
        'insert into tblKaryawan values ('NIP','Nama','JenisKelamin','alamat','telepon','tempatlahir','statuskaryawan','jabatan','tanggalmasuk')

        GajiKaryawan.perintahSQL.CommandText = "insert into tblGajikaryawan values ('" & txtNik.Text & "','" & txtNama.Text & "','" & jenis & "','" & txtAlamat.Text & "','" & txtTelepon.Text & "','" & cmbJabatan.Text & "','" & Format(DTtanggal.Value, "MM/dd/yyyy") & "','" & lblTotalGaji.Text & "')"
        GajiKaryawan.perintahSQL.ExecuteNonQuery()
        GajiKaryawan.tutupdatabase()
        MsgBox("Data Telah Disimpan!!!", MsgBoxStyle.Information, "INFO")
        nol()
    End Sub

    Private Sub btnBack_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBack.Click
        Dim f = MsgBox("Apakah anda yakin ingin keluar?", vbYesNo, "KONFIRMASI")
        If f = vbYes Then
            MsgBox("Terimakasih telah menggunakan program ini.", MsgBoxStyle.DefaultButton1, "KONFIRMASI")
            Me.Close()
        ElseIf f = vbNo Then
            Exit Sub
        End If
    End Sub

    Private Sub btnHitung_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHitung.Click
        txtUtransport.Text = txtgajiPokok.Text * 0.075
        lblTotalGaji.Text = (Val(txtgajiPokok.Text) + Val(txtUmkn.Text) + Val(txtUlembur.Text) + Val(txtUtransport.Text))
    End Sub

    Private Sub txtjamkerja_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtjamkerja.TextChanged
        If txtjamkerja.Text <> "" Then
            Select Case txtjamkerja.Text
                Case Is >= 192
                    txtJamLembur.Text = txtjamkerja.Text - 192
                    txtUlembur.Text = txtJamLembur.Text * 10000
                Case Else
                    txtJamLembur.Text = txtjamkerja.Text * 0
                    txtUlembur.Text = txtJamLembur.Text * 0
            End Select
        End If
    End Sub

    Private Sub rdGol1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdGol1.CheckedChanged
        lblHslGajiPokok.Text = 950000
        txtgajiPokok.Text = 950000
        txtUtransport.Text = 120000
    End Sub

    Private Sub rdGol2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdGol2.CheckedChanged
        lblHslGajiPokok.Text = 1300000
        txtgajiPokok.Text = 1300000
        txtUtransport.Text = 160000
    End Sub

    Private Sub rdGol3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdGol3.CheckedChanged
        lblHslGajiPokok.Text = 1600000
        txtgajiPokok.Text = 1600000
        txtUtransport.Text = 200000
    End Sub

    Private Sub rdManager_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdManager.CheckedChanged
        lblHslGajiPokok.Text = 0.1 * Val(txtgajiPokok.Text)
        txtUmkn.Text = 0.3 * Val(txtgajiPokok.Text)
    End Sub

    Private Sub rdSpvisor_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdSpvisor.CheckedChanged
        lblHslGajiPokok.Text = 0.05 * Val(txtgajiPokok.Text)
        txtUmkn.Text = 0.2 * Val(txtgajiPokok.Text)
    End Sub

    Private Sub rdStaff_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdStaff.CheckedChanged
        lblHslGajiPokok.Text = 0.025 * Val(txtgajiPokok.Text)
        txtUmkn.Text = 0.1 * Val(txtgajiPokok.Text)
    End Sub

    Private Sub btnRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRefresh.Click
        txtNik.Text = ""
        txtNama.Text = ""
        rdLaki.Checked = False
        rdPerempuan.Checked = False
        txtAlamat.Text = ""
        txtTelepon.Text = ""
        DTtanggal.Text = Today
        txtjamkerja.Text = ""
        txtJamLembur.Text = ""
        txtgajiPokok.Text = ""
        txtUmkn.Text = ""
        txtUlembur.Text = ""
        txtUtransport.Text = ""
        lblTotalGaji.Text = "--"
        lblHslGajiPokok.Text = "--"
        Label5.Text = "--"
        txtgajiPokok.Focus()
    End Sub
End Class

Form Lihat Data

Public Class FormLihatData

    Public Sub tampildata()
        GajiKaryawan.ds.Clear()
        GajiKaryawan.BukaDatabase()
        GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan"
        GajiKaryawan.da.SelectCommand = GajiKaryawan.perintahSQL
        GajiKaryawan.da.Fill(GajiKaryawan.ds, "TblGajiKaryawan")

        DGVdatagaji.DataSource = GajiKaryawan.ds
        DGVdatagaji.DataMember = "TblGajiKaryawan"
        DGVdatagaji.ReadOnly = True
        GajiKaryawan.tutupdatabase()
    End Sub

    Private Sub btncari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncari.Click
        If cmbparameter.SelectedIndex = -1 Or txtnilaiparameter.Text = "" Then
            MsgBox("harus dipilih", MsgBoxStyle.Information, "INFO")
        Else
            GajiKaryawan.ds.Clear()
            GajiKaryawan.BukaDatabase()
            GajiKaryawan.perintahSQL.CommandType = CommandType.Text

            'combo box yang ke -0:NIP
            If cmbparameter.SelectedIndex = 0 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where NIK like'%" & txtnilaiparameter.Text & "%'"
                'combo box yang ke -1:nama
            ElseIf cmbparameter.SelectedIndex = 1 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where nama like'%" & txtnilaiparameter.Text & "%'"
                'combo box yang ke - 2:alamat
            ElseIf cmbparameter.SelectedIndex = 2 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where alamat like'%" & txtnilaiparameter.Text & "%'"
                'combo box yang ke -3:telepon
            ElseIf cmbparameter.SelectedIndex = 3 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where telepon like'%" & txtnilaiparameter.Text & "%'"
                'combo box yang ke -4:jabatan
            ElseIf cmbparameter.SelectedIndex = 4 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where jabatan like'%" & txtnilaiparameter.Text & "%'"
            ElseIf cmbparameter.SelectedIndex = 5 Then
                GajiKaryawan.perintahSQL.CommandText = "select * from TblGajiKaryawan where TotalGaji like'%" & txtnilaiparameter.Text & "%'"
            End If

            GajiKaryawan.da.SelectCommand = GajiKaryawan.perintahSQL
            GajiKaryawan.da.Fill(GajiKaryawan.ds, "TblGajiKaryawan")

            DGVdatagaji.DataSource = GajiKaryawan.ds
            DGVdatagaji.DataMember = "TblGajiKaryawan"
            DGVdatagaji.ReadOnly = True
            GajiKaryawan.tutupdatabase()
        End If
    End Sub

    Private Sub FormLihatData_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        tampildata()
    End Sub
End Class


Class Gaji Karyawan.vb

Public Class GajiKaryawan
    'membuat file koneksi
    Public Shared koneksi As New SqlClient.SqlConnection
    Public Shared perintahSQL As New SqlClient.SqlCommand

    'data adapter : untunk mengambil data dari database dan menampungnya pada dataset
    Public Shared da As New SqlClient.SqlDataAdapter

    'data set : untuk menampilkan tabel yang pada database
    Public Shared ds As New DataSet

    'data reader : untuk membaca dan menampilkan data lebih cepat dan efisien
    Public Shared ketemu As SqlClient.SqlDataReader

    Public Shared Sub BukaDatabase()
        Try
            koneksi.ConnectionString = "Data Source=DOSEN\SQLEXPRESS;Initial Catalog=dbGaji;Integrated Security=True"
            koneksi.Open()
            perintahSQL.Connection = koneksi
        Catch ex As Exception
            MsgBox("koneksi database gagal!!!", MsgBoxStyle.Information, "error")
        End Try
    End Sub

    Public Shared Sub tutupdatabase()
        koneksi.Close()
        koneksi.ConnectionString = Nothing
    End Sub
End Class 

PBO (Pemrograman Berorientasi Object 1)

Pengertian Pewarisan, Polimorfisme, Interface

Dalam Pemrograman berbasis objek terdapat dua istilah yang sangat terkenal yaitu class dan objek. Pengertiannya adalah sebagai berikut class adalah catak biru dari sebuah objek, jadi kita dapat membuat banyak objek dari sebuah class, atau kita dapat analogikan, class itu adalah cetakan puding, sedangkan objek adalah puding. 

Atribut adalah merupakan nilai data yang terdapat pada suatu object yang berasal dari class. Attributes merepresentasikan karakteristik dari suatu object.

Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.

Packages dalam JAVA berarti pengelompokan beberapa class dan interface dalam satu unit. Fitur ini menyediakan mekanisme untuk mengatur class dan interface dalam jumlah banyak dan menghindari konflik pada penamaan

Pewarisan 
Dalam OOP, kita dapat menciptakan objek baru yang diturunkan dari objek lain. Objek baru ini sering disebut dengan objek turunan(derived class) sedang objek induknya sering disebut dengan ancestor(base class). Sifat yang terkandung pada objek turunan adalah sifat hasil pewarisan dari sifat-sifat yang terdapat pada objek induk. Maka dari itu proses seperti ini sering dikenal dengan istilah pewarisan(Inheritance)

Polimorfisme

Polimorfisme adalah proses kebanyakrupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda melalui satu cara yang sama. untuk mengerti hal ini saya akan berikan ilustrasi nya : misalnya terdapat 5 orang penyanyi(didalam program dianggap sebagai 5 buah objek), kemudian kelimanya kita perintahkan untuk bernyanyi, maka hasil atau implementasinya tentu akan berbeda sesuai dengan karakteristik suara dari masing-masing penyanyi tersebut. Dalam OOP, hal ini disebut dengan istilah polimorfisme.

Enkapsulasi adalah suatu cara untuk menyembunyikan informasi detail dari suatu class

Interface

Interface adalah jenis khusus dari blok yang hanya berisi method signature(atau constant). Interface mendefinisikan sebuah (signature) dari sebuah kumpulan method tanpa tubuh.

Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya dalam hirarki class. Untuk mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukan polimorfisme, dikarenakan program dapat memanggil method interface dan versi yang tepat dari method yang akan dieksekusi tergantung dari tipe object yang melewati pemanggil method interface. 

Interface kita gunakan jika kita ingin class yang tidak berhubungan mengimplementasikan method yang sama. Melalui interface-interface, kita dapat menangkap kemiripan diantara class yang tidak berhubungan tanpa membuatnya seolah-olah class yang berhubungan. 

Abstract

Kelas abstrak adalah kelas yang mengandung konsep abstrak sehingga tidak mungkin mempunyai instans