Data Pegawai
Salah satu program aplikasi yang dibuat menggunakan bahasa pemrograman VB.Net. Program ini untuk mengetahui data
pegawai yang akan mengambil pensiun. Dengan aplikasi
ini kita bisa mengetahui berapa uang yang akan diterima oleh pegawai jika ia
mengambil pensiun dini melalui perhitungan Gaji, Tunjangan Jabatan, Tunjangan
Anak, PPh, dan Bonus.
Ketentuan:
a.
Jika data NIP diinput, maka secara otomatis Kode
Pegawai akan terisi 2 angka dari kiri yang diambil dari NIP pegawai tersebut.
b.
Jika Golongan dipilih, maka Jabatan, Gaji
perbulan, dan Tunjangan jabatan akan otomatis muncul
Golongan
|
Jabatan
|
Gaji Pokok
|
1
|
Manager
|
Rp. 10.000.000
|
2
|
Supervisor
|
Rp. 7.500.000
|
3
|
Staff
|
Rp. 5.000.000
|
4
|
ASS. staff
|
Rp. 2.500.000
|
5
|
Junior Staff
|
Rp. 1.000.000
|
c.
Untuk ketentuan Tunjangan Jabatan yang akan
muncul saat golongan dipilih
-
Jika golongan 1 dan 2, maka Tunjangan Jabatan
15% dari gaji pokok perbulan
-
Jika Jabatan 3 dan 4, maka Tunjangan Jabatan 5%
dari gaji pokok perbulan, selain itu Tunjangan Jabatan 0%
d.
Jika Menikah dan mempunyai anak, maka mendapat
Tunjangan Anak dengan ketentuan:
-
Anak 1 = 1% dari Gaji Pokok
-
Anak 2 dan lebih dari 2 = 2% dari Gaji Pokok
e.
Jika Total Gaji lebih dari 5.000.000 maka
dikenakan PPh 3% dari Total
f.
Gaji bersih didapat dari total – PPh
g.
untuk ketentuan bonus:
-
jika lama kerja dibawah 5 tahun, maka tidak
mendapat bonus
-
jika lama kerja diatas 5 tahun, akan mendapat
bonus sebesar 2% dari gaji pokok
h.
Uang yang didapat = Gaji bersih + Bonus
i.
Untuk Total, PPh, Gaji Bersih, Bonus dan Uang
yang didapat akan muncul ketika button Hitung diklik
j.
Tambahkan button Entry dan Close. Saat button
Entry diklik, maka form akan bersih kembali seperti semula. Dan jika button
Close diklik, maka form akan keluar (close).
Langkah-langkah:
1.
Buka Visual Studio, lalu pilih New Project
2.
Buat design form seperti ini dan ubah name dan
textnya pada properties sesuai dengan yang dibawah ini
3. Untuk Nomor Induk Pegawai, langkahnya double click di kolom TextBoxNIP, masukan sourcecode
Private Sub TextBoxNIP_TextChanged(sender As Object, e As EventArgs) Handles
TextBoxNIP.TextChanged
TextBoxKode.Text = Strings.Left(TextBoxNIP.Text,
2)
End Sub
Contoh:
4.
Untuk pengisian tanggal, ComboBoxTgl(1)
menggunakan fungsi While. Sedangkan untuk ComboBoxThn(3) menggunakan fungsi For
Next.
Untuk ComboBoxGol juga menggunakan fungsi
For Next. Langkah awal, double click pada form, lalu masukan sourcecode:
Public Class Form1
Dim a, b, c As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ComboBoxTgl.Items.Clear()
a = 1
While a <= 31
ComboBoxTgl.Items.Add(a)
End While
For b = 2015 To 1995 Step -1
ComboBoxThn.Items.Add(b)
Next
For c = 1 To 5
ComboBoxGol.Items.Add(c)
Next
End Sub
Ket:
langkah pertama, deklarasikan terlebih dahulu, untuk contoh diatas a untuk tgl,
b untuk tahun, dan c untuk golongan. Untuk tahun, menggunakan Step -1 sehingga
saat ComboBoxThn di klik maka akan muncul tahun yang dimulai dari 2015 dan
menurun kebawah sampai 1995.
Langkah
selanjutnya, untuk mengisi ComboBox bulan:
-
Klik
ComboBoxBln, lalu klik tanda panah kecil diatas ComboBox tersebut
-
klik
Edit Items, lalu ketik bulan dari Janurari sampai Desember dengan menggunakan
enter sebagai jaraknya.
5.
Untuk
jabatan, agar otomatis muncul saat Golongan dipilih maka langkah pertama double
click di comboboxGol, lalu isi sourcecode (menggunakan select case):
Private Sub ComboBoxGol_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
ComboBoxGol.SelectedIndexChanged
Dim vgol As String
vgol = ComboBoxGol.Text
Select Case vgol
Case "1"
ComboBoxGol.Text = 1
TextBoxJabatan.Text = "MANAGER"
TextBoxGajiBulan.Text =
10000000
TextBoxTunjangan.Text = 0.15 *
TextBoxGajiBulan.Text
Case "2"
ComboBoxGol.Text = 2
TextBoxJabatan.Text = "SUPERVISOR"
TextBoxGajiBulan.Text = 7500000
TextBoxTunjangan.Text = 0.15 *
TextBoxGajiBulan.Text
Case "3"
ComboBoxGol.Text = 3
TextBoxJabatan.Text = "STAFF"
TextBoxGajiBulan.Text = 5000000
TextBoxTunjangan.Text = 0.05 *
TextBoxGajiBulan.Text
Case "4"
ComboBoxGol.Text = 4
TextBoxJabatan.Text = "ASS. STAFF"
TextBoxGajiBulan.Text = 2500000
TextBoxTunjangan.Text = 0.05 *
TextBoxGajiBulan.Text
Case "5"
ComboBoxGol.Text = 5
TextBoxJabatan.Text = "JUNIOR STAFF"
TextBoxGajiBulan.Text = 1000000
TextBoxTunjangan.Text = 0 *
TextBoxGajiBulan.Text
End Select
End Sub
6.
Double
click di textboxjmlanak untuk mengisi tunjangan anak menggunakan IF.
Sourcecode:
Private Sub TextBoxJmlAnak_TextChanged(sender As Object, e As EventArgs) Handles
TextBoxJmlAnak.TextChanged
If CheckBox1.Checked And TextBoxJmlAnak.Text = 1 Then
TextBoxAnak.Text = 0.1 *
TextBoxGajiBulan.Text
ElseIf CheckBox1.Checked And TextBoxJmlAnak.Text >= 2 Then
TextBoxAnak.Text = 0.2 * TextBoxGajiBulan.Text
Else
TextBoxAnak.Text = 0 *
TextBoxGajiBulan.Text
End If
End Sub
7.
Langkah
selanjutnya, double click pada Button Hitung untuk menghitung Total, PPh, Gaji
Bersih, Bonus, dan Uang yang didapat. Langkah pertama isi sourcecode untuk
total:
TextBoxTotal.Text =
Val(TextBoxGajiBulan.Text) + Val(TextBoxJabatan.Text) + Val(TextBoxAnak.Text)
8.
Kedua,
sourcecode untuk menghitung PPh:
If TextBoxTotal.Text >= 5000000 Then
TextBoxPPH.Text = 0.03 *
TextBoxTotal.Text
Else
TextBoxPPH.Text = 0 *
TextBoxTotal.Text
End If
9.
Ketiga,
sourcecode untuk Gaji Bersih:
TextBoxGajiBersih.Text
= Val(TextBoxTotal.Text) - Val(TextBoxPPH.Text)
10.
Langkah
selanjutnya, sourcecode untuk mengetahui bonus berdasarkan lama kerja nya
If TextBoxLamaKerja.Text >= 5 Then
TextBoxBonus.Text = 0.02 *
TextBoxGajiBulan.Text
Else
TextBoxBonus.Text = 0 *
TextBoxGajiBulan.Text
End If
11.
Dan
yang terakhir untuk perhitungan uang yang didapat yang akan muncul ketika
button hitung diklik, sourcecode:
TextBoxTotalAkhir.Text =
Val(TextBoxGajiBersih.Text) + Val(TextBoxBonus.Text)
12.
Langkah
selanjutnya, double click pada button ENTRY lalu isi sourcecode
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = ""
TextBox1.Focus()
TextBoxNIP.Text = ""
TextBoxKode.Text = ""
ComboBoxTgl.Text = ""
ComboBoxBln.Text = ""
ComboBoxThn.Text = ""
ComboBoxGol.Text = ""
TextBoxJabatan.Text = ""
TextBoxLamaKerja.Text = ""
CheckBox1.Checked = ""
CheckBox2.Checked = ""
TextBoxJmlAnak.Text = ""
TextBoxGajiBulan.Text = ""
TextBoxTunjangan.Text = ""
TextBoxAnak.Text = ""
TextBoxTotal.Text = ""
TextBoxPPH.Text = ""
TextBoxGajiBersih.Text = ""
TextBoxBonus.Text = ""
TextBoxTotalAkhir.Text = ""
End Sub
13.
Untuk
button close, saat button close diklik maka akan muncul konfirmasi Yes dan No.
Saat kita memilih Yes maka program akan selesai.
langkahnya
double click pada button close, lalu isi sourcecode:
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim x As Integer
x = MsgBox("Yakin akan selesai?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Konfirmasi")
If x = vbYes Then
End
End If
End Sub
Sehingga SourceCode keseluruhan seperti dibawah ini
Public Class Form1
Dim a, b, c As Integer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
ComboBoxTgl.Items.Clear()
a = 1
While a <= 31
ComboBoxTgl.Items.Add(a)
End While
For b = 2015 To 1995 Step -1
ComboBoxThn.Items.Add(b)
Next
For c = 1 To 5
ComboBoxGol.Items.Add(c)
Next
End Sub
Private Sub TextBoxNIP_textchanged(sender As Object, e As EventArgs) Handles
TextBoxNIP.TextChanged
TextBoxKode.Text = Strings.Left(TextBoxNIP.Text,
2)
End Sub
Private Sub ComboBoxGol_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
ComboBoxGol.SelectedIndexChanged
Dim vgol As String
vgol = ComboBoxGol.Text
Select Case vgol
Case "1"
ComboBoxGol.Text = 1
TextBoxJabatan.Text = "MANAGER"
TextBoxGajiBulan.Text =
10000000
TextBoxTunjangan.Text = 0.15 *
TextBoxGajiBulan.Text
Case "2"
ComboBoxGol.Text = 2
TextBoxJabatan.Text = "SUPERVISOR"
TextBoxGajiBulan.Text = 7500000
TextBoxTunjangan.Text = 0.15 *
TextBoxGajiBulan.Text
Case "3"
ComboBoxGol.Text = 3
TextBoxJabatan.Text = "STAFF"
TextBoxGajiBulan.Text = 5000000
TextBoxTunjangan.Text = 0.05 *
TextBoxGajiBulan.Text
Case "4"
ComboBoxGol.Text = 4
TextBoxJabatan.Text = "ASS. STAFF"
TextBoxGajiBulan.Text = 2500000
TextBoxTunjangan.Text = 0.05 *
TextBoxGajiBulan.Text
Case "5"
ComboBoxGol.Text = 5
TextBoxJabatan.Text = "JUNIOR STAFF"
TextBoxGajiBulan.Text = 1000000
TextBoxTunjangan.Text = 0 *
TextBoxGajiBulan.Text
End Select
End Sub
Private Sub TextBoxJmlAnak_TextChanged(sender As Object, e As EventArgs) Handles
TextBoxJmlAnak.TextChanged
If CheckBox1.Checked And TextBoxJmlAnak.Text = 1 Then
TextBoxAnak.Text = 0.1 *
TextBoxGajiBulan.Text
ElseIf CheckBox1.Checked And TextBoxJmlAnak.Text >= 2 Then
TextBoxAnak.Text = 0.2 *
TextBoxGajiBulan.Text
Else
TextBoxAnak.Text = 0 *
TextBoxGajiBulan.Text
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Text = ""
TextBox1.Focus()
TextBoxNIP.Text = ""
TextBoxKode.Text = ""
ComboBoxTgl.Text = ""
ComboBoxBln.Text = ""
ComboBoxThn.Text = ""
ComboBoxGol.Text = ""
TextBoxJabatan.Text = ""
TextBoxLamaKerja.Text = ""
CheckBox1.Checked = ""
CheckBox2.Checked = ""
TextBoxJmlAnak.Text = ""
TextBoxGajiBulan.Text = ""
TextBoxTunjangan.Text = ""
TextBoxAnak.Text = ""
TextBoxTotal.Text = ""
TextBoxPPH.Text = ""
TextBoxGajiBersih.Text = ""
TextBoxBonus.Text = ""
TextBoxTotalAkhir.Text = ""
End Sub
Private Sub ButtonHitung_Click(sender As Object, e As EventArgs) Handles ButtonHitung.Click
TextBoxTotal.Text =
Val(TextBoxGajiBulan.Text) + Val(TextBoxJabatan.Text) + Val(TextBoxAnak.Text)
If TextBoxTotal.Text >= 5000000 Then
TextBoxPPH.Text = 0.03 *
TextBoxTotal.Text
Else
TextBoxPPH.Text = 0 * TextBoxTotal.Text
End If
TextBoxGajiBersih.Text =
Val(TextBoxTotal.Text) - Val(TextBoxPPH.Text)
If TextBoxLamaKerja.Text >= 5 Then
TextBoxBonus.Text = 0.02 *
TextBoxGajiBulan.Text
Else
TextBoxBonus.Text = 0 *
TextBoxGajiBulan.Text
End If
TextBoxTotalAkhir.Text =
Val(TextBoxGajiBersih.Text) + Val(TextBoxBonus.Text)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim x As Integer
x = MsgBox("Yakin akan selesai?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Konfirmasi")
If x = vbYes Then
End
End If
End Sub
End Class
Selamat Mencoba :)




No comments:
Post a Comment