Penghitungan Gaji

Rancanglah antar muka program untuk menghitung gaji bersih seorang pegawai dengan beberapa ketentuan berikut:
-seorang pegawai memiliki attribut nim, nama, jenkel, status kawin, jumlah anak, golongan, jabatan
-golongan pegawai menentukan gaji pokok yaitu:

Golongan Gaji Pokok (Rp)
I 1.000.000
II 2.000.000
III 3.000.000
IV 4.000.000

-jabatan menentukan tunjangan jabatan yaitu:

Jabatan Tunjangan Jabatan (Rp)
Tidak Menjabat 0
Operasional 500.000
Taktik 1.000.000
Strategik 1.500.000

-status kawin menentukan tunjangan istri yaitu:
kawin –> tunjangan istri Rp.100.000,-
-jumlah anak menentukan tunjangan anak yaitu:

Jumlah Anak Tunjangan Anak (Rp)
<=3 Jumlah Anak * 50.000
>3 3 * 50.000

-gaji kotor –> gaji pokok + tunjangan jabatan + tunjangan istri + tunjangan anak
-ppn –> 10% * gaji kotor
-gaji bersih –> gaji kotor – ppn

Urutan pengerjaan program
1. Rancanglah antar muka program seperti gambar dibawah ini:
gaji

2. Pada saat ditekan F5 (untuk menjalankan program VB) maka
a. kosongkan semua textbox, option radion dan combo box
b. nonaktifkan semua textbox, cmbproses, cmbbatal
Pada saat kita menekan tombol F5, maka penterjemah (compiler) Visual Basic terlebih dahulu mengerjakan event Form_Load. Untuk itu tepat meletakkan kode program memberikan nilai awal pada setiap variabel yang digunakan baik textbox, option radion, combobox maupun command.

Private Sub Form_Load()
‘kosongkan textbox
txtNip.Text = “”
txtNama.Text = “”
txtJAnak.Text = “”
txtGPokok.Text = “”
txtTIstri.Text = “”
txtTAnak.Text = “”
txtTJabatan.Text = “”
txtGKotor.Text = “”
txtPPN.Text = “”
txtGBersih.Text = “”

‘kosongkan option radio
OptKawin.Value = False
OptTKawin.Value = False

‘non aktifkan textbox, option radio
‘kode program berikut akan digunakan lagi pada saat diinginkan pengisian
‘data. Untuk kode program yang dipanggil secara berulang cocok dijadikan
‘suatu blok program, apakah prosedur atau fungsi.
txtNip.Enabled = False
txtNama.Enabled = False
txtJAnak.Enabled = False
txtGPokok.Enabled = False
txtTIstri.Enabled = False
txtTAnak.Enabled = False
txtTJabatan.Enabled = False
txtGKotor.Enabled = False
txtPPN.Enabled = False
txtGBersih.Enabled = False
OptKawin.Enabled = False
OptTKawin.Enabled = False

‘Isi golongan
cboGol.AddItem (“Pilih Golongan”)
cboGol.AddItem (“I”)
cboGol.AddItem (“II”)
cboGol.AddItem (“III”)
cboGol.AddItem (“IV”)

‘Isi Jabatan
cboJabatan.AddItem (“Pilih Jabatan”)
cboJabatan.AddItem (“Operasional”)
cboJabatan.AddItem (“Taktik”)
cboJabatan.AddItem (“Strategis”)

‘Aktifkan keterangan data baik pada combobox Golongan maupun Jabatan
cboGol.ListIndex = 0
cboJabatan.ListIndex = 0

‘non aktifkan combobox
cboGol.Enabled = False
cboJabatan.Enabled = False

‘non aktifkan command batal, proses
cmdBatal.Enabled = False
cmdProses.Enabled = False

End Sub

3. Bila Command Proses di Klik maka
a. Uji apakah textbox dan combobox sudah diisi
b. Tentukan gaji gaji pokok, tunjangan istri, anak,
Tentukan PPN, gaji kotor dan gaji bersih
c. Non aktifkan command Proses
d. Aktifkan command Baru

Private Sub cmdBaru_Click()
‘aktifkan option radion tidak kawin
OptTKawin.Value = True

‘nonaktikan isian textbox jumlah anak
txtJAnak.Enabled = False

‘kosongkan textbox
txtNip.Text = “”
txtNama.Text = “”
txtJAnak.Text = “”
txtGPokok.Text = “”
txtTIstri.Text = “”
txtTAnak.Text = “”
txtTJabatan.Text = “”
txtGKotor.Text = “”
txtPPN.Text = “”
txtGBersih.Text = “”

‘aktifkan textbox
txtNip.Enabled = True
txtNama.Enabled = True
txtGPokok.Enabled = True
txtTIstri.Enabled = True
txtTAnak.Enabled = True
txtTJabatan.Enabled = True
txtGKotor.Enabled = True
txtPPN.Enabled = True
txtGBersih.Enabled = True
OptKawin.Enabled = True
OptTKawin.Enabled = True

‘aktifkan combobox
cboGol.Enabled = True
cboJabatan.Enabled = True

‘aktifkan command proses dan batal
cmdProses.Enabled = True
cmdBatal.Enabled = True

‘nonaktifkan command baru
cmdBaru.Enabled = False

‘fokuskan kurson ke textbox Nip
txtNip.SetFocus
End Sub

4. Jumlah anak dapat diisi bila status kawin
Private Sub OptKawin_Click()
txtJAnak.Enabled = True
txtJAnak.SetFocus
End Sub

5.Jika status tidak kawin jumlah anak tidak bisa diisi dan kosongkan nilainya
Private Sub OptTKawin_Click()
txtJAnak.Enabled = False
‘kosongkan jumlah anak
txtJAnak.Text = “”
End Sub

7. Jika diklik proses maka dihitung maka lakukan verifikasi
a. apakah data Nip, Nama telah disi, golongan dan jabatan telah dipilih
b. menentukan gaji pokok, tunjangan jabatan, tunjangan istri,
tunjangan anak, gaji kotor, PPN, dan gaji bersih
c. Tampilkan gaji pokok, tunjangan jabatan, tunjangan istri,
tunjangan anak, gaji kotor, PPN, dan gaji bersih
d. nonaktifkan command Proses
e. Aktikan command Baru

Private Sub cmdProses_Click()
Dim GajiPokok, GajiKotor, PPN As Single
Dim TunjanganJabatan, TunjanganIstri, TunjanganAnak As Long

‘Uji apakah Nip sudah diisi
If (Trim(txtNip.Text = “”)) Then
MsgBox (“Nip Kosong”)
txtNip.SetFocus
Exit Sub
End If

‘Uji apakah Nama sudah diisi
If (Trim(txtNama.Text = “”)) Then
MsgBox (“Nama Kosong”)
txtNama.SetFocus
Exit Sub
End If

‘Uji apakah golongan sudah dipilih
If (cboGol.ListIndex = 0) Then
MsgBox (“Pilih Golongan”)
cboGol.SetFocus
Exit Sub
End If

‘Uji apakah jabatan sudah dipilih
If (cboJabatan.ListIndex = 0) Then
MsgBox (“Pilih Golongan”)
cboJabatan.SetFocus
Exit Sub
End If

‘Uji apakah jlhanak sudah diisi bila status kawin
If (OptKawin.Value = True) Then
If (Trim(txtJAnak.Text = “”)) Then
MsgBox (“Masukkan Jumlah Anak”)
txtJAnak.SetFocus
Exit Sub
End If
End If

‘Tentukan gaji pokok
If (cboGol.Text = “I”) Then
GajiPokok = 1000000
ElseIf (cboGol.Text = “II”) Then
GajiPokok = 2000000
ElseIf (cboGol.Text = “II”) Then
GajiPokok = 3000000
Else
GajiPokok = 4000000
End If

‘Tentukan tunjangan jabatan
If (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 0
ElseIf (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 500000
ElseIf (cboJabatan.ListIndex = 1) Then ‘Jika Tidak Punya Jabatan
TunjanganJabatan = 1000000
Else
TunjanganJabatan = 1500000
End If

‘Tentukan Tunjangan istri
If (OptKawin.Value = True) Then
TunjanganIstri = 100000
‘Tentukan Tunjangan Anak
If (txtJAnak.Text > 3) Then ‘Anak >3
TunjanganAnak = 3 * 50000
Else
TunjanganAnak = txtJAnak.Text * 50000
End If
Else
TunjanganIstri = 0
TunjanganAnak = 0
End If

‘Tentukan Gaji Kotor, PPN
GajiKotor = GajiPokok + TunjanganJabatan + TunjanganIstri + TunjanganAnak
PPN = 0.1 * GajiKotor
GajiBersih = GajiKotor – PPN

‘Pindahkan ke textbox Gaji Pokok, Tunjangan Istri
‘Tunjangan Anak, Tunjangan Jabatan
‘Gaji Kotor, PPN, Gaji Bersih

txtGPokok.Text = Str(GajiPokok)
txtTJabatan.Text = Str(TunjanganJabatan)
txtTIstri.Text = Str(TunjanganIstri)
txtTAnak.Text = Str(TunjanganAnak)
txtGKotor.Text = Str(GajiKotor)
txtPPN.Text = Str(PPN)
txtGBersih.Text = Str(GajiBersih)

‘nonaktikan command proses
cmdProses.Enabled = False

‘aktifkan command Baru
cmdBaru.Enabled = True

End Sub

8. Jika command Batal di klik
‘kosongkan textbox, option radio, combobox
‘nonaktikan textbox, option radio, combobox
‘non aktifkan command proses dan cancel

‘semua fungsi tersebut terdapat di event form load
‘panggil event form_load
Form_Load

‘aktifkan command Baru
cmdBaru.Enabled = True
End Sub

9. Jika di klik command Keluar
Uji apakah benar-benar keluar, jika ya tutup aplikasi, jika tidak kembali
ke aplikasi
Private Sub cmdTutup_Click()
If MsgBox(“Yakin Keluar”, vbOKCancel + vbDefaultButton2, “Tutup Aplikasi”) = vbOK Then
End
End If
End Sub

About these ads

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Logout / Ubah )

Twitter picture

You are commenting using your Twitter account. Logout / Ubah )

Facebook photo

You are commenting using your Facebook account. Logout / Ubah )

Google+ photo

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

Ikuti

Get every new post delivered to your Inbox.

%d bloggers like this: