Senin, 28 Desember 2015

Latihan 1 ( koding dasar bagian 1 )

Pada latihan 1 ini kita akan mempelajari :

  1. Membuat procedure tampilan DataGridView
  2. Memanggil procedure tampilan DataGridView saat form diload
  3. Membuat procedur penghitung total nilai kolom DataGridView
  4. Membersihkan komponen input formulir
  5. Mengalikan persentase dengan nilai yang di inputkan di TextBox
  6. Menjumlahkan nilai yang telah di inputkan antara beberapa TextBox
  7. Mengurangkan nilai yang telah di inputkan antara beberapa Textbox
  8. 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 :

  1. Tunjangan 1 = 20% x Gaji Pokok
  2. Tunjangan 2 = 10% x Tunjangan 1
  3. Gaji Kotor = Gaji Pokok + Tunjangan 1 + Tunjangan 2
  4. Pajak = 2% x Gaji Kotor
  5. 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