Minggu, 29 Januari 2012

TUGAS 3 (LOYAL HAMZAH )

KASUS : KLIK DISINI

FORM LOGIN
LISTING PROGRAM

Public Class Form1

    Private Sub BTNOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNOK.Click
        If USERNAME.Text = "HAMZAH" And PASSWORD.Text = "12345" Then
            FormMenu.Show()
            Me.Hide()
        Else
            MsgBox("MAAF! PASSWORD SALAH!")
            USERNAME.Text = ""
            PASSWORD.Text = ""
        End If
    End Sub

    Private Sub BTNKELUAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNKELUAR.Click
        End

    End Sub


End Class



 FORM MENU


LISTING PROGRAM
Public Class FormMenu

    Private Sub KELUARToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KELUARToolStripMenuItem.Click
        End
    End Sub

    Private Sub DATAPENGGAJIANToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DATAPENGGAJIANToolStripMenuItem.Click
        karyawan.show()
    End Sub
End Class


FORM PENGGAJIAN PROGRAM
LISTING PROGRAM
Public Class karyawan
    Sub TdkAktif()
        ISTRI.Visible = False
        TUNJA.Visible = False
        ANAK.Visible = False
    End Sub
    Sub Aktif()
        ISTRI.Visible = True
        TUNJA.Visible = True
        ANAK.Visible = True
    End Sub
    Private Sub karyawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        TdkAktif()
        BUATTABEL()
        ISITABEL()

        JABATAN.Items.Add("KABAG")
        JABATAN.Items.Add("MANDOR")
        JABATAN.Items.Add("STAF")

        STATUS.Items.Add("Menikah")
        STATUS.Items.Add("Belum Menikah")
    End Sub
    Sub BUATTABEL()
        LV.Columns.Add("NIP", 80, HorizontalAlignment.Center)
        LV.Columns.Add("NAMA KARYAWAN", 180, HorizontalAlignment.Left)
        LV.Columns.Add("GOL", 80, HorizontalAlignment.Left)
        LV.Columns.Add("GAJI", 80, HorizontalAlignment.Left)
        LV.Columns.Add("STATUS", 80, HorizontalAlignment.Left)
        LV.Columns.Add("ISTRI", 80, HorizontalAlignment.Left)
        LV.Columns.Add("TUNJA", 80, HorizontalAlignment.Left)
        LV.Columns.Add("JUMLAH ANAK", 80, HorizontalAlignment.Left)
        LV.Columns.Add("PAJAK", 80, HorizontalAlignment.Left)

        LV.Columns.Add("JAM KERJA", 80, HorizontalAlignment.Left)
        LV.Columns.Add("TOTAL LEMBUR", 80, HorizontalAlignment.Left)
        LV.Columns.Add("TOTAL GAJI", 80, HorizontalAlignment.Left)
        LV.View = View.Details
        LV.GridLines = True
        LV.FullRowSelect = True

    End Sub
    Sub ISITABEL()
        For i = 1 To 3
            NIP.Items.Add("000" & i)
        Next
       
    End Sub

    Private Sub NIP_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIP.SelectedIndexChanged
        If NIP.Text = "0001" Then
            NAMA.Text = "DEDE"
        ElseIf NIP.Text = "0002" Then
            NAMA.Text = "SARI"
        ElseIf NIP.Text = "0003" Then
            NAMA.Text = "DIKY"
        End If
    End Sub

    Private Sub JABATAN_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JABATAN.SelectedIndexChanged
       
        If JABATAN.Text = "MANDOR" Then

            GAJI.Text = 1750000


        ElseIf JABATAN.Text = "KABAG" Then

            GAJI.Text = 2500000

        ElseIf JABATAN.Text = "STAF" Then

            GAJI.Text = 1250000

        End If
        PAJAK.Text = GAJI.Text * 0.015
    End Sub

   
    Private Sub STATUS_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles STATUS.SelectedIndexChanged

        If STATUS.Text = "Menikah" Then
            ISTRI.Text = GAJI.Text * 0.9
            Aktif()

        ElseIf STATUS.Text = "Belum Menikah" Then
            TdkAktif()
        Else
            ISTRI.Text = 0
        End If


    End Sub

    Private Sub BTNOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNOK.Click
        Dim sublv As New ListViewItem
        sublv.Text = NIP.Text
        sublv.SubItems.Add(NAMA.Text)
        sublv.SubItems.Add(JABATAN.Text)
        sublv.SubItems.Add("RP. " & GAJI.Text)
        sublv.SubItems.Add(STATUS.Text)
        sublv.SubItems.Add("RP. " & ISTRI.Text)
        sublv.SubItems.Add(" RP. " & TUNJA.Text)
        sublv.SubItems.Add(ANAK.Text)
        sublv.SubItems.Add("RP. " & PAJAK.Text)
        sublv.SubItems.Add(JAM.Text)
        sublv.SubItems.Add("RP. " & TLEMBUR.Text)
        sublv.SubItems.Add("RP. " & TOTAL.Text)
        LV.Items.Add(sublv)
    End Sub

    Private Sub BTNKELUAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNKELUAR.Click
        End
    End Sub

    Private Sub BTNHAPUS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNHAPUS.Click

        NIP.Text = ""
        NAMA.Text = ""
        JABATAN.Text = ""
        GAJI.Text = ""
        STATUS.Text = ""
        ISTRI.Text = ""
        TUNJA.Text = ""
        ANAK.Text = ""
        PAJAK.Text = ""
        TOTAL.Text = ""
        NIP.Focus()
    End Sub

    Private Sub TUNJA_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ISTRI.TextChanged
        ISTRI.Text = GAJI.Text * 0.9
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub ANAK_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ANAK.TextChanged
        If ANAK.Text = "1" Then
            TUNJA.Text = GAJI.Text * 0.3
        ElseIf ANAK.Text = "2" Then
            TUNJA.Text = GAJI.Text * 0.7
        ElseIf ANAK.Text >= 2 Then
            TUNJA.Text = GAJI.Text * 0.7

        End If
    End Sub

    Private Sub JAM_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JAM.TextChanged
        If JABATAN.Text = "STAF" Then
            TLEMBUR.Text = JAM.Text * 5000
        ElseIf JABATAN.Text = "KABAG" Then
            TLEMBUR.Text = JAM.Text * 10000
        ElseIf JABATAN.Text = "MANDOR" Then
            TLEMBUR.Text = JAM.Text * 7500


        Else
            TLEMBUR.Text = 0
        End If
        TOTAL.Text = Val(GAJI.Text) + Val(ISTRI.Text) + Val(TUNJA.Text) + Val(TLEMBUR.Text) - Val(PAJAK.Text)
    End Sub

 
End Class

 

TUGAS 2 ( LOYAL HAMZAH )



KASUS : KLIK DISINI

MENGHAPUS DATA PADA LISTVIEW


LISTING PROGRAM


Public Class Form1

    Sub buattabel()
        LV.Columns.Add("NPM", 80, HorizontalAlignment.Center)
        LV.Columns.Add("NAMA", 160, HorizontalAlignment.Left)
        LV.Columns.Add("TAHUN", 80, HorizontalAlignment.Right)
        LV.VIEW = View.Details
        LV.GRIDLINES = True
        LV.FULLROWSELECT = True

    End Sub
    Sub ISITABEL()
        Dim lst As New ListViewItem
        lst.Text = NPM.Text
        lst.SubItems.Add(nama.Text)
        lst.SubItems.Add(tahun.Text)
        LV.Items.Add(lst)

    End Sub


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        buattabel()
    End Sub

    Private Sub proses_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnproses.Click
        ISITABEL()
        NPM.Text = ""
        nama.Text = ""
        tahun.Text = ""
    End Sub

    Private Sub BTNKELUAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTNKELUAR.Click
        Me.Close()

    End Sub

    Private Sub HAPUSSEMUA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUSSEMUA.Click
        LV.Items.Clear()
    End Sub

    Private Sub HAPUS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HAPUS.Click
        LV.Items.Remove(LV.SelectedItems(0))
    End Sub
End Class




Kamis, 19 Januari 2012


[Tutorial] Membuat Aplikasi dengan Visual Basic .NET 2008 - 2

0diggsdigg

Melanjutkan artikel kemarin, sebelum kita lanjutkan pembuatan aplikasi ini, ada baiknya kita berkenalan sedikit dengan LINQ.
Apa itu LINQ?
LINQ (Language Integrated Query), merupakan suatu bahasa yang digunakan untuk melakukan query terhadap suatu sumber data (-sederhananya-). LINQ terdiri dari beberapa pernyataan (statement) yang bisa diterapkan ke dalam program kita untuk memilih item dari beberapa koleksi (collection) berdasarkan kriteria yang berbeda.
Contoh struktur LINQ dan aturannya dalam aplikasi. Coba kita lihat daftar array di bawah ini:
  1. Dim data() As Int16 = {3, 2, 5, 4, 6, 4, 12, 43, 45, 42, 65}  


Untuk menentukan elemen dari array tersebut, kita akan menggunakan looping For..Next, mengeksekusi tiap elemen array, dan nantinya bisa menyimpannya ke dalam array baru atau menghapusnya. Untuk memilih elemen dengan nilai yang lebih kecil dari 10, kita gunakan kode di bawah ini:


  1. Dim nilaiKecil(data.Length-1) As Integer   
  2. Dim itm As Integer = 0   
  3. For i As Integer = 0 To data.Length   
  4.     If data(i) < 10 Then   
  5.         nilaiKecil(itm) = data(i)   
  6.         itm += 1   
  7.     End If   
  8. Next   
  9. ReDim nilaiKecil(itm)  


Akan lebih mudah menyimpan elemen-elemen yang telah terpilih ke dalam suatu ArrayList menggunakan looping seperti di bawah ini:


  1. Dim nilaiKecil As New ArrayList   
  2. Dim itm As Integer   
  3. For Each itm In data   
  4.     If itm < 10 Then   
  5.         nilaiKecil.Add(itm)   
  6.     End If   
  7. Next  


Bila kita menggunakan LINQ,


  1. Dim nilaiKecil = From n In data _   
  2.     Where n < 10 _   
  3.     Select n  


Penggunaan bahasa dalam LINQ hampir sama dengan bahasa yang digunakan dalam SQL. Jika kita telah terbiasa dengan bahasa yang digunakan dalam SQL, kita akan menemukan beberapa kemiripan.


Contoh pernyataan SQL:



SELECT *

FROM data


WHERE data.n < 10


(Contoh di atas mengasumsikan dalam database kita terdapat tabel data yang memiliki kolom bernama n). Bila menggunakan LINQ, kode kita menjadi:



Dim = From n In data

Where n < 10


Ok, cukup teorinya... kita langsung saja ke praktek pembuatan program ;)


Pada tutorial kemarin kita telah membuat database barang dan kategori menggunakan SQL Express 2005, nah sekarang kita akan membuat tiap-tiap form untuk form barang dan untuk form kategori. Ikuti langkah-langkah berikut:





1. Menambah Form Barang



Tambahkan satu form dan beri nama frmBarang, dengan cara memilih menu Project > Add Windows Form atau dengan mengklik kanan nama proyek kita di solution explorer dan memilih Add > Windows Form. Akan muncul window Add New Item, masukkan nama frmBarang dan klik add.







Akan muncul form baru dengan nama frmBarang. Atur besar form sesuai keinginan.





2. Property Form Barang



(Skip jika ingin melewati bagian ini.)


Buka jendela property dari form barang (frmBarang) atau dengan cara menekan tombol F4. Atur property frmBarang sebagai berikut:




  • Text : Data barang




  • FormBorderStyle : FixedToolWindow



Ini hanya sekedar contoh dari property suatu form yang sering saya buat, silahkan di ubah sesuai keinginan.







3. Menambah DataGridView



Tampilkan jendela Toolbox (default: bagian kiri) dengan memilih menu View > Toolbox atau dengan menekan kombinasi tombol CTRL+ALT+X.


Geser control DataGridView ke dalam frmBarang:




Nama DataGridView1 akan secara otomatis diberikan untuk control DataGridView tadi.





4. Menampilkan data ke dalam DataGridView



Sekarang kita akan mencoba menampilkan data ke dalam control DataGridView1, data yang akan ditampilkan diambil dari tabel 'barang' dan tabel 'kategori.


Double klik tampilan frmBarang, maka kita akan masuk ke dalam tampilan Code View.


Ketikkan perintah berikut di bagian Private Sub frmBarang_Load


  1. Dim db As New DataClasses1DataContext   
  2.         Dim qBarang = From barang In db.barangs _   
  3.                       Join kategori In db.kategoris _   
  4.                       On kategori.KDKategori Equals barang.KDKategori _   
  5.                       Select barang   
  6.   
  7.         Me.DataGridView1.DataSource = qBarang  


Pada kode di atas (Hampir sama dengan pernyataan SQL) kita memulai dengan mendeklarasikan db sebagai object dari Class DataClasses1DataContext, kemudian membuat suatu variable baru dengan nama qBarang dan menuliskan query LINQ yang berfungsi untuk mengambil data dari 2 tabel (barang dan kategori, yang memiliki relasi pada kolom KDKategori) dari database. Hasil dari query LINQ tersebut akan ditampilkan dalam control DataGridView1 dengan menggunakan object DataSource dari property DataGridView1.


Kode lengkapnya seperti ini:


  1. Private Sub frmBarang_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load   
  2.         Dim db As New DataClasses1DataContext   
  3.         Dim qBarang = From barang In db.barangs _   
  4.                       Join kategori In db.kategoris _   
  5.                       On kategori.KDKategori Equals barang.KDKategori _   
  6.                       Select barang   
  7.   
  8.         Me.DataGridView1.DataSource = qBarang   
  9.   
  10.     End Sub  


Sebelum kita mencoba menjalankan program ini, pastikan frmBarang merupakan Startup Form dengan cara memilih menu Project  > CTHAplikasi1 Properties. Pada tab Application bagian Startup form, pilih frmBarang sebagai form yang akan di load saat pertama kali aplikasi dijalankan. Jalankan aplikasi dengan menekan tombol F5.


Tampilan form setelah dijalankan (masih kosong karena belum ada data yang dimasukkan.. ) :







5. Menambah kontrol tombol, teks dan label.



Aplikasi kita sudah bisa dijalankan, tetapi kita masih perlu menambahkan tombol dan teks serta label ke dalam frmBarang agar memudahkan dalam interaksi dari user terhadap aplikasi.


Kembali ke Designer View (Klik kanan di area kosong di bagian kode dan pilih View Designer atau dengan menekan kombinasi tombol Shift+F7) dan tambahkan 1 label, dengan cara menggeser control Label dari Toolbox ke dalam frmBarang. Pada bagian property untuk Label1, untuk text masukkan 'Kode Barang:' dan untuk name masukkan 'lblKode'.










Tambahkan Control TextBox ke dalam frmBarang, dengan property, name: txtKodeBarang dan pada bagian text dikosongkan.







Lakukan hal yang sama untuk 4 Label, 1 ComboBox dan 3 TextBox selanjutnya dengan property sebagai berikut:



Control ComboBox: name = cmbKategori


Control TextBox: name = txtNamaBarang, text = dikosongkan


Control TextBox: name = txtJumlah, text = '0'


Control TextBox: name = txtHargaJual, text = '0'


Control Label: name = lblKategori, text = 'Kategori'


Control Label: name = lblNamaBarang, text = Nama Barang'


Control Label: name = lblJumlah, text = 'Jumlah'


Control Label: name = lblHargaJual, text = 'Harga Jual'


Sehingga hasilnya menjadi :







Setelah penambahan TextBox, Label serta ComboBox di atas selesai, kita lanjutkan dengan menambahkan Tombol-tombol (Button).


Klik dan geser 5 buah Control Button dari Toolbox ke dalam frmBarang dengan nilai property masing-masing:


Tombol 1: name = cmdEdit, Text = 'Edit'


Tombol 2: name = cmdBaru, Text = 'Baru'


Tombol 3: name = cmdSimpan, Text = 'Simpan'


Tombol 4: name = cmdHapus, Text = 'Hapus'


Tombol 5: name = cmdKeluar, Text = 'Keluar'





 





Sehingga tampilan akhir dari frmBarang akan menjadi :







6. Bersambung....



Yups, sekian dulu untuk tutorial bagian ke-2 ini. Nantinya kita akan mencoba menuliskan kode ke dalam frmBarang untuk mengeksekusi perintah saat ke lima tombol di atas diklik.





Tambahan (Upgrade dari VB 2005 ke VB 2008)



Mungkin masih banyak yang belum mengetahui bagaimana mengaktifkan LINQ dalam suatu project yang telah di upgrade dari VB 2005 ke VB 2008. (LINQ cuman ada di VB 2008).


Sekedar tambahan bagi yang menggunakan VB 2005 yang ingin bermigrasi ke VB 2008 dan ingin bereksperimen dengan LINQ: