Kamis, 05 April 2018

Membuat Module Koneksi Database

Assalamu'alaikum Wr. Wb..

Teman-teman, adik-adikku dan semuanya.. maaf saya baru lagi membuat postingan dikarenakan kesibukan. Akhir-akhir ini banyak sekali chat dan email yang menanyakan kesulitan dalam membuat program, terutama adik-adik yang sedang melakukan tugas kuliah. Untuk hal ini saya akan membahas yang sangat mendasar sekali, yaitu bagaimana caranya koneksi ke database.

Dalam postingan sebelumnya, saya membahas bagaimana perintah untuk membuat koneksi ke berbagai database. Namun banyak juga yang belum memahami dalam perepannya. Sekarang akan saya bahas lebih lanjut. Yaitu dengan cara membuat module dan di gunakan di prosedure di tempat lain.

Baik kita mulai pembahasannya. Pertama kali kita buat suatu Module, kita beri nama MdlBase.vb

kemudian ketikan deklarasi berikut :

#Region "Setting variabel global"
    Public MyServerName As String
    Public MyDatabaseName As String  
    Public MyProvider As String = ""
    Public MyProvider1 As String = "" 
    Public SQLConn As New SqlConnection(MyProvider)
    Public SQLConn1 As New SqlConnection(MyProvider1)
    Public SQLComm As SqlCommand = Nothing
    Public objDataAdapter As SqlDataAdapter = Nothing
    Public ObjDataSet As DataSet = Nothing    
    Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer
    Public strINIFile As String = Application.StartupPath + "\Project.ini"
#End Region


setelah mengetikan deklarasi, kita buat  prosedure untuk proses koneksinya. Ketikan sbb :

#Region "Cek Connection String"
    Public Sub CheckConnection()

        Dim StrConn As String = ""
        
        StrConn = "Persist Security Info=false;"
        StrConn = StrConn & "Data Source=" + (ketik alamat IP database) + ";"
        StrConn = StrConn & "Initial Catalog=" + (Nama Database) + ";"
        StrConn = StrConn & "User ID=" + (Nama user Database) + ";"
        StrConn = StrConn & "Password=" + (Password user Database) + ";"

        MyProvider = StrConn
        MyProvider1 = StrConn

        SQLConn = New SqlConnection(MyProvider)
        SQLConn1 = New SqlConnection(MyProvider1)

        If SQLConn Is Nothing Then
            SQLConn = New SqlConnection(MyProvider)
            SQLConn.Open()
        ElseIf SQLConn1 Is Nothing Then
            SQLConn1 = New SqlConnection(MyProvider1)
            SQLConn1.Open()
        Else
            If SQLConn.State = ConnectionState.Closed Or SQLConn.State = ConnectionState.Broken Then
                SQLConn.Open()
            ElseIf SQLConn1.State = ConnectionState.Closed Or SQLConn1.State = ConnectionState.Broken Then
                SQLConn1.Open()
            End If          
        End If
    End Sub
#End Region

simpan module koneksi tersebut. Untuk proses pamanggilannya, ketika kita membuat form input data, report atau sebagaimnya cukup mengetikan  CheckConnection()

demikian pembahasan koneksi ke database, semoga bermanfaat.




Kamis, 23 Maret 2017

Metode Next Page dan Previous Page dengan Tabcontrol

Assalamu'alaikum Wr. Wb....Selamat berjumpa lagi..
Kali ini saya akan membahas pembuatan apilkasi dengan metode Next Page dan Previous Page.

Biasanya metode ini diperuntukan bagi aplikasi yang membutuhkan beberapa halaman dan menuntun user untuk input data secara bertahap. Metode ini banyak diterapkan dalam sistem aplikasi wizard. sebagai contoh misalnya aplikasi input data karyawan, dimana user harus input data selengkap mungkin sehingga membutuhkan banyak halaman.

 Baik kita mulai pembahasan metode ini :
    1. Buat sebuah form
    2. Buat Tabcontrol
    3. Klik Properties Tabcontrol --> TabPages lihat gambar (klik tombol ...)

 
            akan muncul gambar sebagai berikut :


          buatlah tabpage dengan klik tombol add sebanyak 4 buah dengan properties sbb :
             Text : dihapus/dihilangkan sehingga diatas tab nanti tidak ada nama tab
     
    4. Buat 3 tombol didalam form dengan nama : Cancel, Next dan Prev seperti gbr dibawah ini :
        berinama BtnBatal, BtnNext dan BtnPrev


    5. Buat object bebas disetiap tabpage. agar kita tahu apakah tombol next - prev bekerja.
    6. ketik list prog ini dalam form load

   Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        TabControl1.SelectedIndex = 0
        BtnNext.Enabled = True
        BtnPrev.Enabled = False
        TabControl1.Appearance = TabAppearance.FlatButtons
        TabControl1.ItemSize = New Size(0, 1)
        TabControl1.SizeMode = TabSizeMode.Fixed
    End Sub

    7. Ketik list Prog berikut dalam prosedur BtnNext Klik sbb :

Private Sub BtnNext_Click(sender As System.Object, e As System.EventArgs) Handles BtnNext.Click
        For Each tc In {TabControl1}
            With tc
                If TabControl1.SelectedIndex = 0 Then
                     ---- isi sesuai kebutuhan aplikasi
                ElseIf TabControl1.SelectedIndex = 1 Then
                     ---- isi sesuai kebutuhan aplikasi
                ElseIf TabControl1.SelectedIndex = 2 Then
                    BtnNext.Enabled = False                
                    ---- isi sesuai kebutuhan aplikasi
                End If

                TabControl1.SelectedIndex = TabControl1.SelectedIndex + 1
                BtnPrev.Enabled = True

           End With
       Next
End Sub

    8. Ketik list prog. dalam prosedur BtnPrev klik sbb :

 Private Sub BtnPrev_Click(sender As System.Object, e As System.EventArgs) Handles BtnPrev.Click
      For Each tc In {TabControl1}
            With tc
                TabControl1.SelectedIndex = TabControl1.SelectedIndex - 1
                BtnNext.Enabled = True
                If TabControl1.SelectedIndex = 0 Then
                    BtnPrev.Enabled = False
                End If
            End With
      Next
End Sub

 9. Terakhir Ketik close di prosedur btnclose sbb :

Private Sub BtnBatal_Click(sender As System.Object, e As System.EventArgs) Handles BtnBatal.Click
        Close()
    End Sub

10. Run Aplikasi.

Ketika proses running berjalan, dihalaman pertama tombol next enable sementara tombol Previous Disable. Dihalaman berikutnya keduanya enable. Dihalaman terakhir tombol next Disable sedangkan tombol previous enable.

demikian pembahasan metode ini, semoga bermanfaat. selamat mencoba...

Jumat, 21 Agustus 2015

Text Box Seperti Radio Button di DataGridView

Pada kasus tertentu, kita sering membutuhkan pilihan pada kolom tertentu untuk menentukan apakah data sudah di verifikasi atau belum. Sebagai contoh : Misalkan terdapat Soal Ujian Pilihan Benar atau salah atau Benar keduanya. Atau Ceklist Formulir atau data barang yang harus di cek oleh Ceker. Untuk lebih lanjut kita langsung ke permasalahan dengan contoh kasus dibawah ini :


user harus melakukan ceklist pada salah satu kolom Ya, Tidak atau Tidak Perlu. Sementara sifat Chekbox adalah bisa melakukan ceklist semuanya. Tapi kita menginginkan perlakuannya seperti Radio Button, Ceklist harus dilakukan pada salahsatunya.

Ini List Programnya.. Agar sifat checkbox diatas seperti radio Button :

Private Sub Datagridview1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dglist.CellContentClick
        Dim firstCheckboxColIndex = 2
        Dim secondCheckboxColIndex = 3
        Dim ThirdCheckboxColIndex = 4
        Select Case e.ColumnIndex
            Case firstCheckboxColIndex
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(3).Value = False
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(4).Value = False              
            Case secondCheckboxColIndex
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(2).Value = False
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(4).Value = False              
            Case ThirdCheckboxColIndex
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(2).Value = False
                DirectCast(sender, DataGridView).Rows(e.RowIndex).Cells(3).Value = False            
        End Select
    End Sub

Keterangan List Program :
Ketika kita ceklist kolom 2, maka kolom 3 dan 4 akan bernilai false
Ketika kita ceklist kolom 3, maka kolom 2 dan 4 akan bernilai false
Ketika kita ceklist kolom 4, maka kolom 2 dan 3 akan bernilai false

hasilnya akan seperti dibawah ini :



Demikian Metodnya..semoga bisa membantu.

Selasa, 20 November 2012

Membuat User Control Progress Bar

Progress Bar sering kali digunakan dalam berbagai aplikasi terutama dalam proses yang memerlukan waktu sedikit lama.Sehingga user dapat membedakan bahwa proses sedang berjalan. Pembahasan kali ini saya akan membuat User Control Progress Bar. Pertama kali kita buat User Control dan beri nama ProgreswsBar, kemudian masukkan Progress Bar dan Label seperti gambar dibawah ini :


progress Bar diberi nama : bar
label diberi nama : lblProgress


kemudian ketikan list program dibawah ini :


    Inherits System.Windows.Forms.UserControl

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()
        InitializeComponent()
    End Sub

    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    Private components As System.ComponentModel.IContainer

    Friend WithEvents Bar As System.Windows.Forms.ProgressBar
    Friend WithEvents lblProgress As System.Windows.Forms.Label
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Bar = New System.Windows.Forms.ProgressBar
        Me.lblProgress = New System.Windows.Forms.Label
        Me.SuspendLayout()
        Me.Bar.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.Bar.Location = New System.Drawing.Point(4, 8)
        Me.Bar.Name = "Bar"
        Me.Bar.Size = New System.Drawing.Size(154, 23)
        Me.Bar.TabIndex = 0       
        Me.lblProgress.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _
                    Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
        Me.lblProgress.Location = New System.Drawing.Point(5, 31)
        Me.lblProgress.Name = "lblProgress"
        Me.lblProgress.Size = New System.Drawing.Size(152, 16)
        Me.lblProgress.TabIndex = 1
        Me.lblProgress.Text = "0% Done"
        Me.lblProgress.TextAlign = System.Drawing.ContentAlignment.TopCenter
        Me.Controls.Add(Me.lblProgress)
        Me.Controls.Add(Me.Bar)
        Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Name = "Progress"
        Me.Size = New System.Drawing.Size(164, 49)
        Me.ResumeLayout(False)

    End Sub

#End Region

    Property Value() As Integer
        Get
            Return Bar.Value
        End Get
        Set(ByVal Value As Integer)
            Bar.Value = Value
            UpdateLabel()
        End Set
    End Property

    Property Maximum() As Integer
        Get
            Return Bar.Maximum
        End Get
        Set(ByVal Value As Integer)
            Bar.Maximum = Value
        End Set
    End Property

    Property [Step]() As Integer
        Get
            Return Bar.Step
        End Get
        Set(ByVal Value As Integer)
            Bar.Step = Value
        End Set
    End Property

    Public Sub PerformStep()
        Bar.PerformStep()
        UpdateLabel()
    End Sub

    Private Sub UpdateLabel()
        lblProgress.Text = ((Bar.Value * 100) \ Bar.Maximum).ToString() & "% Done"
    End Sub

setelah selesai kita akan panggil dalam WinForm. Buat sebuah Form dengan nama FrmBar. Masukkan Timer beri nama tmrIncrementBar. masukkan juga User Control yang sudah dibuat ProgressBar kedalam Form. Dalam Propertis Form ubah Control Box menjadi False, Form Border Style -->FixedToolWindow. Skema UI nya akan seperti gambar dibawah ini :








ketik list prog sbb :

Private Sub LoadProgressBar()
        status.Visible = True

        tmrIncrementBar.Enabled = False

        status.Value = 0
        status.Maximum = 100
        status.Step = 1

        tmrIncrementBar.Enabled = True
End Sub

Private Sub tmrIncrementBar_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrIncrementBar.Tick
        Dim sJum As Double

        sJum = status.Value

        status.PerformStep()
        If status.Value = 10 Then
            Call ---Prosedur 1
        ElseIf status.Value = 30 Then
            Call ---Prosedur 2
        ElseIf status.Value = 50 Then
            Call ---Prosedur 3
        ElseIf status.Value = 70 Then
            Call ---Prosedur 4
        ElseIf status.Value = 90 Then
            Call ---Prosedur 5
        ElseIf status.Value = status.Maximum Then
            tmrIncrementBar.Enabled = False
            status.Visible = False
            Close()
        End If
End Sub

dalam load form panggil prosedur LoadProgressBar
     call LoadProgressBar()


demikian pembuatan User Control Progress Bar. Silahkan untuk mencobanya...

Kamis, 25 Oktober 2012

Menggunakan Perintah Pengulangan FOR EACH di VB.NET

Dalam pemrograman sering kali kita melakukan perintah yang berulang terutama ketika kita menggunakan data yang tersimpan dalam Grid atau pun menyimpan ke grid. Untuk itu bisa digunakan perintah berulang, salah satunya adalah perintah FOR EACH LOOP.

Perintah ini biasanya digunakan untuk mengerjakan perintah item dalam suatu grup. Konsep perintah pengualangannya adalah sebagai berikut :


For Each [Item] In [Group]
   [loopBody]
Next [Item]


contoh list programnya adalah sebagai berikut :

      For Each brs As DataGridViewRow In dgJournal.Rows
            GetPosting(brs.Cells(6).Value, brs.Cells(12).Value)
            brs.Cells(14).Value = gCek
            dgJournal.Update()
      Next


brs = item data gridview merupakan variabel
dgjournal = Nama Grid

demikian pembahasan looping dengan perintah FOR EACH LOOP.

Rabu, 24 Oktober 2012

Cara menggunakan IF..ELSE..END IF

Kondisional Pernyataan IF..ELSE digunakan untuk memeriksa kondisi yang diberikan dan membuat keputusan berdasarkan kondisi itu sendiri. Biasanya menggunakan Operator Perbandingan dan Operator Logis.
Konsep pernyataannya adalah sebagai berikut :
 
    If [your condition here]
       Your code here
    Else
       Your code Here
    End If

Jika kondisi bernilai TRUE maka, sistem akan mengambil keputusan diantara IF dan Else. Dan Apabila bernilai FALSE maka, sistem akan mengambil keputusan diantara Else dan End IF.

Bagaimana jika banyak kondisi yang diinginkan ? Jika lebih dari satu kondisi maka bisa digunakan ElseIf.


    If [your condition here]
       Your code here
    ElseIf [your condition here]
       Your code here
    ElseIf [your condition here]
       Your code here
    Else
       Your code Here
    End If 


sebagai contoh misalkan pemberian nilai terhadap siswa dengan aturan atau asumsi sebagai berikut :
  1. Jika nilai lebih dari atau sama dengan 80 maka siswa mendapat nilai A.
  2. Jika nilai lebih dari atau sama dengan 70 maka siswa mendapat nilai B.
  3. Jika nilai lebih dari atau sama dengan 60 maka siswa mendapat nilai C.
  4. Jika nilai lebih dari atau sama dengan 50 maka siswa mendapat nilai D.
  5. Jika nilai lebih dari atau sama dengan 0 maka siswa mendapat nilai E.
maka penulisan List Program adalah sbb :
 
    1. If Nilai >= 80 Then
    2.     MsgBox("Siswa Mendapat Nilai A")
    3. ElseIf Nilai >= 70 Then
    4.     MsgBox("Siswa Mendapat Nilai B")
    5. ElseIf Nilai >= 60 Then
    6.     MsgBox("Siswa Mendapat Nilai C")
    7. ElseIf Nilai >= 50 Then
    8.     MsgBox("Siswa Mendapat Nilai D")
    9. ElseIf Nilai >= 0 Then 
   10.     MsgBox("Siswa Mendapat Nilai E")
   11. Else
   12.     MsgBox("Tidak Terdefinisi")
   13. End If

 demikian pembahasan pernyataan kondisional IF..ELSE..ENDIF. Semoga bermanfaat