Pada latihan 1 ini kita akan mempelajari :
- Membuat procedure tampilan DataGridView
- Memanggil procedure tampilan DataGridView saat form diload
- Membuat procedur penghitung total nilai kolom DataGridView
- Membersihkan komponen input formulir
- Mengalikan persentase dengan nilai yang di inputkan di TextBox
- Menjumlahkan nilai yang telah di inputkan antara beberapa TextBox
- Mengurangkan nilai yang telah di inputkan antara beberapa Textbox
- Memindahkan nilai yang telah diinputkan di TextBox ke dalam DataGridView
Latihan berikut merupakan sebuah latihan sederhana Basic.Net, untuk membuatnya desainlah sebuah form dengan menggunakan label, textbox, button dan sebuah datagridview seperti gambar dibawah ini.
Ubahlah masing-masing name dari component yang digunakan :
No | Component | Name |
1 | TextBox1 | no_pegawai |
2 | TextBox2 | nama_pegawai |
3 | TextBox3 | gaji_pokok |
4 | TextBox4 | tunjangan_1 |
5 | TextBox5 | tunjangan_2 |
6 | TextBox6 | gajji_kotor |
7 | TextBox7 | pajak |
8 | TextBox8 | gaji_bersih |
9 | TextBox9 | total_gaji |
10 | Button1 | simpan |
11 | Button2 | batal |
12 | DataGridView1 | gridme |
Kita akan membuat program tersebut dengan aturan main sebagai berikut :
- Tunjangan 1 = 20% x Gaji Pokok
- Tunjangan 2 = 10% x Tunjangan 1
- Gaji Kotor = Gaji Pokok + Tunjangan 1 + Tunjangan 2
- Pajak = 2% x Gaji Kotor
- Isilah Kolom Gaji Bersih = Gaji Kotor - Pajak
Masukkan codingnya sebagai berikut :
Public Class Form1
'Menghitung total kolom gaji
Sub total()
Dim HitungGaji As Integer = 0
For I As Integer = 0 To gridme.Rows.Count - 1
HitungGaji = HitungGaji + Val(gridme.Rows(I).Cells(7).Value)
total_gaji.Text = HitungGaji
Next
End Sub
'Mengatur tampilan datagrid view
Sub AturGrid()
'Mengatur lebar DataGridView
gridme.Columns(0).Width = 60
gridme.Columns(1).Width = 200
gridme.Columns(2).Width = 100
gridme.Columns(3).Width = 100
gridme.Columns(4).Width = 100
gridme.Columns(5).Width = 100
gridme.Columns(6).Width = 100
gridme.Columns(7).Width = 100
'Memberi nama kepala kolom DataGridView
gridme.Columns(0).HeaderText = "NO. PEGAWAI"
gridme.Columns(1).HeaderText = "NAMA PEGAWAI"
gridme.Columns(2).HeaderText = "GAJI POKOK"
gridme.Columns(3).HeaderText = "TUNJ. 1"
gridme.Columns(4).HeaderText = "TUNJ. 2"
gridme.Columns(5).HeaderText = "GAJI KOTOR"
gridme.Columns(6).HeaderText = "PAJAK"
gridme.Columns(7).HeaderText = "GAJI BERSIH"
'Memformat DataGridView
With gridme
'Menghapus Kepala Baris DataGridView
.RowHeadersVisible = False
'Memformat Baris DataGridView menjadi belang-belang
.AlternatingRowsDefaultCellStyle.BackColor = Color.Silver
End With
End Sub
'Membersihkan component input formulir
Sub bersih()
no_pegawai.Clear()
nama_pegawai.Clear()
gaji_pokok.Clear()
tunjangan_1.Clear()
tunjangan_2.Clear()
gaji_kotor.Clear()
pajak.Clear()
gaji_bersih.Clear()
End Sub
Private Sub gaji_pokok_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gaji_pokok.TextChanged
'Mengalikan persentase dengan nilai TextBox
tunjangan_1.Text = 0.2 * Val(gaji_pokok.Text)
End Sub
Private Sub tunjangan_1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tunjangan_1.TextChanged
'Mengalikan persentase dengan nilai TextBox
tunjangan_2.Text = 0.1 * Val(tunjangan_1.Text)
End Sub
Private Sub tunjangan_2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tunjangan_2.TextChanged
'Menjumlahkan nilai TextBox
gaji_kotor.Text = Val(gaji_pokok.Text) + Val(tunjangan_1.Text) + Val(tunjangan_2.Text)
End Sub
Private Sub gaji_kotor_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles gaji_kotor.TextChanged
'Mengalikan persentase dengan nilai TextBox
pajak.Text = 0.025 * Val(gaji_kotor.Text)
End Sub
Private Sub pajak_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pajak.TextChanged
'Mengurangkan nilai textBox
gaji_bersih.Text = Val(gaji_kotor.Text) - Val(pajak.Text)
End Sub
Private Sub simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles simpan.Click
'Menyalin isi TextBox pada DataGridView
gridme.Rows.Add(1)
gridme.Rows(gridme.RowCount - 2).Cells(0).Value = no_pegawai.Text
gridme.Rows(gridme.RowCount - 2).Cells(1).Value = nama_pegawai.Text
gridme.Rows(gridme.RowCount - 2).Cells(2).Value = gaji_pokok.Text
gridme.Rows(gridme.RowCount - 2).Cells(3).Value = tunjangan_1.Text
gridme.Rows(gridme.RowCount - 2).Cells(4).Value = tunjangan_2.Text
gridme.Rows(gridme.RowCount - 2).Cells(5).Value = gaji_kotor.Text
gridme.Rows(gridme.RowCount - 2).Cells(6).Value = pajak.Text
gridme.Rows(gridme.RowCount - 2).Cells(7).Value = gaji_bersih.Text
gridme.Update()
'Menjalankan koding total
Call total()
'Menjalankan koding bersih
Call bersih()
'Meletakkan kursor pada TexBox
no_pegawai.Focus()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Memanggil pengaturan grid
Call AturGrid()
End Sub
Private Sub no_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles no_pegawai.KeyPress
'Setelah di enter kursor pindah input dibawahnya
If e.KeyChar = Chr(13) Then
'Menentukan batas maximal karakter input
no_pegawai.MaxLength = 15
'Menjadikan semua huruf menjadi huruf besar setelah di enter
no_pegawai.Text = UCase(no_pegawai.Text)
nama_pegawai.Focus()
End If
End Sub
Private Sub batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles batal.Click
Call bersih()
End Sub
Private Sub keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keluar.Click
Me.Close()
End Sub
End Class
Tidak ada komentar:
Posting Komentar