Sabtu, 29 September 2012

Latihan_12_46110037


Deskripsi Form Latihan 12
Pada latihan 12 terdapat 5 Object yaitu Label; DateTimePicker; TextBox; GroupBox; DataGridView dan Button.
Object Label
Terdapat 11 Label yaitu No.Pembelian; Nama Barang; Harga Perunit; Tanggal; Unit; Jumlah; Total Unit; Total; No. Baris; No. Pembelian dan Baris Sekarang.
Object DateTimePicker
Terdapat 1 DateTimepicker yaitu pada GroupBox Formulir.
Object TextBox
Terdapat  9 Textbox, 6 textbox berstatus input (No.Pembelian; Nama Barang; Harga Perunit; Unit; No. Baris dan No. Pembelian), dan 3 textbox berstatus ReadOnly (Jumlah; Total Unit danTotal).
Object GroupBox
Terdapat 5 GroupBox, yaitu:
1.    Formulir, isi groupbox ini adalah Label (No.Pembelian; Nama Barang; Harga Perunit; Tanggal; Unit dan Jumlah), Tombol Button (Simpan), TextBox (No.Pembelian; Nama Barang; Harga Perunit; Unit; dan Jumlah) dan DateTimePicker (Tanggal).
2.    Data, isi groupbox ini adalah DataGridView; Label (TotalUnit dan Total) dan Textbox  (TotalUnit dan Total).
3.    Berdasarkan No. Baris, isi groupbox ini adalah Label dan Textbox (No.Baris) dan Button (Tampilkan dan Hapus)
4.    Berdasarkan No. Pembelian, isi groupbox ini adalah Label dan Textbox (No.Pembelian); Button (Tampilkan dan Hapus).
5.    Berdasarkan Baris Sekarang, isi groupbox ini adalah Label (Baris Sekarang) dan Button (Tampilkan dan Hapus).
Object DataGridView
Terdapat 1 DataGridView yaitu pada GroupBox Data yang berfungsi untuk menampilkan data yang telah disimpan.
Object Button
Terdapat 7 Button yaitu:
1.    Tombol Simpan pada GroupBox Formulir, fungsi tombol ini adalah ketika di click akan menyimpan data yang telah di Input pada GroupBox Formulir ke dalam GroupBox Data yaitu Tabel dalam DataGridView; TotalUnit dan Total. Format Tabel akan dibuat ketika kita membuat script. 
2.    2 Tombol pada GroupBox Berdasarkan No. Baris yaitu tombol Tampilkan dan tombol Hapus. Tombol Tampilkan ketika di click akan menampilkan kembali data yang ada dalam DataGridView pada GroupBox Formulir sesuai dengan nomor baris yang diinput pada Textbox No. Baris. Sedangkan tombol Hapus jika di click akan menghapus data dalam DataGridView sesuai dengan nomor baris yang diinput pada TextBoxt No. Baris. 
3.    2 Tombol pada GroupBox Berdasarkan No. Pembelian yaitu tombol Tampilkan dan tombol Hapus. Tombol Tampilkan ketika di click akan menampilkan kembali data yang ada dalam DataGridView pada GroupBox Formulir sesuai dengan nomor pembelian yang diinput pada Textbox No. Pembelian pada groupbox Berdasarkan No Pembelian. Sedangkan tombol Hapus jika di click akan menghapus data dalam DataGridView sesuai dengan nomor pembelian yang diinput pada TextBoxt No. Pembelian.
4.    2 Tombol pada GroupBox Berdasarkan Baris Sekarang yaitu tombol Tampilkan dan tombol Hapus. Tombol Tampilkan ketika di click akan menampilkan kembali data yang ada dalam DataGridView pada GroupBox Formulir sesuai dengan baris yang diclick pada data DataGridView. Sedangkan tombol Hapus jika di click akan menghapus data dalam DataGridView sesuai dengan baris yang diclick pada data DataGridView.
Script Unique
*Membuat Tabel Baru
Dim Inna As New DataTable
*Membuat Kolom Pada Tabel. Pada latihan ini nama tabelnya adalah “Inna”
Inna.Columns.Add(New DataColumn("no. pembelian", GetType(String)))
Inna.Columns.Add(New DataColumn("nama barang", GetType(String)))
Inna.Columns.Add(New DataColumn("harga per unit", GetType(Double)))
Inna.Columns.Add(New DataColumn("tanggal pembelian", GetType(Date)))
Inna.Columns.Add(New DataColumn("unit", GetType(Integer)))
Inna.Columns.Add(New DataColumn("jumlah", GetType(Double)))
*Menempatkan kolom tersebut pada DataGridView. (hayalan46110037 adalah nama dari DataGridView)
Hayalan46110037.DataSource = Inna
*Menghubungkan data yang diinput pada textbox dengan nama baris yang akan muncul pada Tabel
If baris Is Nothing Then
   baris = Inna.NewRow

   baris("no. pembelian") = Nopem146110037.Text
   baris("nama barang") = Nabar46110037.Text
   baris("harga per unit") = Val(Harga46110037.Text)
   baris("tanggal pembelian") = Tgl46110037.Value.Date
   baris("unit") = Val(Unit46110037.Text)
   baris("jumlah") = Val(Jumlah46110037.Text)

    Inna.Rows.Add(baris)

*Menampilkan Pesan
MsgBox("baris sudah ada")
Even
TextChanged; dan Click
Property
Property Textbox=> ReadOnly=True
Langkah-Langkah Menjalankan Form
·         Input data pada No.Pembelian, Nama Barang, Harga Perunit, Tanggal, dan unit. Maka Jumlah akan muncul secara otomatis.
·         Click tombol Simpan, maka data yang telah diinput tersebut akan masuk kedalam tabel pada DataGridView serta memunculkan Total unit dan Total.
·         Untuk memunculkan kembali data click tombol Tampilkan. Terserah mau menampilkan berdasarkan apa, anda tinggal memilih. Untuk menghapus juga demikian caranya.
Langkah-langkah Menyelesaikan Form
  • Buka project yang telah dibuat.
  • Buat form baru, caranya click Project pada Toolbar pilih Add Windows Form kemudian ketik nama form yang diinginkan lalu click Add
  • Buat desain form seperti gambar di atas dengan menggunakan Label; DateTimePicker; TextBox; GroupBox; DataGridView dan Button.
  • Ganti nama DateTimePicker; TextBox; GroupBox; DataGridView dan Button di properties-Name
  • Ganti status Textbox menjadi ReadOnly di properties lalu pilih ReadOnly True.
  • Click Kanan lalu pilih View Code kemudian buatlah Script seperti di bawah ini:

Dim Inna As New DataTable
-----------------------------------------------------------------------------
    Private Sub latihan_12_026_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Inna.Columns.Add(New DataColumn("no. pembelian", GetType(String)))
    Inna.Columns.Add(New DataColumn("nama barang", GetType(String)))
    Inna.Columns.Add(New DataColumn("harga per unit", GetType(Double)))
    Inna.Columns.Add(New DataColumn("tanggal pembelian", GetType(Date)))
    Inna.Columns.Add(New DataColumn("unit", GetType(Integer)))
    Inna.Columns.Add(New DataColumn("jumlah", GetType(Double)))

    Hayalan46110037.DataSource = Inna

    Dim kolom(1) As DataColumn
    kolom(0) = Inna.Columns("no. pembelian")
    Inna.PrimaryKey = kolom

    End Sub

  • Kembali ke design Form Latihan 12. Kemudian click double Textbox Harga Per Unit, kemudian ketik scriptnya:

   Jumlah46110037.Text = Val(Harga46110037.Text) * Val(Unit46110037.Text)
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Simpan, kemudian ketik scriptnya:
     Dim baris As DataRow
     baris = Inna.Rows.Find(Nopem146110037.Text)

     If baris Is Nothing Then
       baris = Inna.NewRow

     baris("no. pembelian") = Nopem146110037.Text
     baris("nama barang") = Nabar46110037.Text
     baris("harga per unit") = Val(Harga46110037.Text)
     baris("tanggal pembelian") = Tgl46110037.Value.Date
     baris("unit") = Val(Unit46110037.Text)
     baris("jumlah") = Val(Jumlah46110037.Text)

       Inna.Rows.Add(baris)

     Nopem146110037.Text = ""
     Nabar46110037.Text = ""
     Harga46110037.Text = ""
     Unit46110037.Text = ""
     Jumlah46110037.Text = ""

     Else : MsgBox("baris sudah ada")
     Jumlah46110037.Text = ""
     End If
     XXX()
 
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Tampilkan pada GroupBox Berdasarkan No.Baris, kemudian ketik scriptnya:
     If Val(NoBar146110037.Text) <= Inna.Rows.Count Then

        baris = Inna.Rows(Val(NoBar146110037.Text) - 1)

        Nopem146110037.Text = baris("no. pembelian")
        Nabar46110037.Text = baris("nama barang")
        Harga46110037.Text = baris("harga per unit")
        Tgl46110037.Value = baris("tanggal pembelian")
        Unit46110037.Text = baris("unit")
        Jumlah46110037.Text = baris("jumlah")

    Else
        MsgBox("baris terlalu besar")

    End If
        NoBar146110037.Text = ""
 
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Hapus pada GroupBox Berdasarkan No.Baris, kemudian ketik scriptnya:
     Dim baris As DataRow


        If Val(NoBar146110037.Text) <= Inna.Rows.Count Then

          baris = Inna.Rows(Val(NoBar146110037.Text) - 1)
          baris.Delete()

        Else
          MsgBox("no. baris yang dimasukkan tidak ada")

        End If
        NoBar146110037.Text = ""
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Tampilkan pada GroupBox Berdasarkan No.Pembelian, kemudian ketik scriptnya:
     Dim baris As DataRow
        baris = Inna.Rows.Find(Nopem246110037.Text)

        If Not baris Is Nothing Then
            Nopem146110037.Text = baris("no. pembelian")
            Nabar46110037.Text = baris("nama barang")
            Harga46110037.Text = baris("harga per unit")
            Tgl46110037.Value = baris("tanggal pembelian")
            Unit46110037.Text = baris("unit")
            Jumlah46110037.Text = baris("jumlah")

        Else
            MsgBox("no. pembelian tidak ada")

        End If
        Nopem246110037.Text = ""
 
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Hapus pada GroupBox Berdasarkan No.Pembelian, kemudian ketik scriptnya:
     Dim baris As DataRow
        baris = Inna.Rows.Find(Nopem246110037.Text)

        If Not baris Is Nothing Then
            baris.Delete()
            Nopem246110037.Text = ""
        Else
            MsgBox("no. pembelian yang dimasukkan tidak ada")
            Nopem246110037.Text = ""
        End If
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Tampilkan pada GroupBox Berdasarkan Baris Sekarang, kemudian ketik scriptnya:
     Dim baris As DataRow
        baris = Inna.DefaultView(BindingContext(Inna).Position).Row

        Nopem146110037.Text = baris("no. pembelian")
        Nabar46110037.Text = baris("nama barang")
        Harga46110037.Text = baris("harga per unit")
        Tgl46110037.Value = baris("tanggal pembelian")
        Unit46110037.Text = baris("unit")
        Jumlah46110037.Text = baris("jumlah")
 
  • Kembali ke design Form Latihan 12. Kemudian click double tombol Hapus pada GroupBox Berdasarkan Baris Sekarang, kemudian ketik scriptnya:
     Dim baris As DataRow
        baris = Inna.DefaultView(BindingContext(Inna).Position).Row
        baris.Delete()
  • Buatlah Prosedure dibawah Srcipt “Hapus berdasarkan Baris Sekarang”, yaitu:
     Private Sub XXX()
        Dim tu, total As Integer
        For Each Y As DataRow In Inna.Rows
            tu = tu + Y("unit")
            total = total + Y("jumlah")
        Next
        TotUn46110037.Text = tu
        Total46110037.Text = total
    End Sub
  •  Kemudian Start Debugging.

Tidak ada komentar:

Posting Komentar