Isnin, 18 November 2013

Operasi Matematika pada VBNET

Operator Artimatika
Jika kalian pernah mencoba Visual Basic 6, mungkin anda biasa membuat kalkulator sederhana ( dan itu juga terjadi karena tugas dari kampus hahaha). Oke sekarang anda pasti mengenal :
X = kali
/ = bagi
- = Kurang
+ = Tambah
Sebelumnya saya akan mengulangi matematika dasar, apakah anda pernah dengar KABATAKU ?
KABATAKU adalah prioritas operator aritmatika yaitu KALI BAGI TAMBAH KURANG
Kasus :
S=4-6x7
Berapakah hasil S ?
Jawaban : S= 4 – (6x7)
        S= 4 – 42
        S= -38 (minus tiga delapan)
Namun bagaimanapun sudah mempelajari matematika dasar, masih banyak juga orang menghitung operator dari awal 4-6 = -2x7 = -14
Oke, sekarang kita mulai membuat aplikasi kalkulator sangaaaat sederhana pada visual basic net.
Buatlah interface/desain form seperti ini
 
Keterangan :
1 = TextBox
2 = ComboBox
3 = Label

Ada 3 textbox di sini, buatlah namenya secara berbeda dan mudah diingat :
Contoh : nilai1, nilai2 , hasil



Begitu juga pada combobox, contoh name op
Lalu tambahkan properties Items pada Combobox , isi dengan lambang operator



Beberapa operator aritmatika yang dikenal pada sebuah pemrograman :
* = Kali
/ = bagi
+ = tambah
- = kurang
^ = pangkat
mod = pembagi

Pengkodeaan

Klik 2x pada combobox, lalu tulislah kode di bawah ini pada event op_SelectedIndexChanged

If nilai1.Text <> vbNullString And nilai2.Text <> vbNullString Then

            If Me.op.Text = "*" Then

                Me.hasil.Text = CInt(nilai1.Text) * CInt(nilai2.Text)

            ElseIf Me.op.Text = "/" Then

                Me.hasil.Text = CInt(nilai1.Text) / CInt(nilai2.Text)

            ElseIf Me.op.Text = "+" Then

                Me.hasil.Text = CInt(nilai1.Text) + CInt(nilai2.Text)

            ElseIf Me.op.Text = "-" Then

                Me.hasil.Text = CInt(nilai1.Text) - CInt(nilai2.Text)

            End If



End If

Wah,banyak if nya ya? Tidak apa-apa yang penting kita di sini belajar sebuah logika pemrograman hehe.
Jalankan Program dengan menekan F5 lalu isi nilai1 dan nilai2 dan pilih operatornya, setelah memilih operator maka akan didapatkan perhitungannya pada komponen TextBox hasil

Sekarang mari kita diskusikan source codenya :
Format IF sebuah logika pemrograman, kalau dibahasakan Jika(IF) proses_benar maka(THEN) lakukan_proses_lain Selesai(END IF). Apabila ada logika banyak jika bisa dipakai (ELSEIF)


If nilai1.Text <> vbNullString And nilai2.Text <> vbNullString Then
Kode <> adalah nilai TIDAK SAMA , vbNullString adalah String(karakter) Kosong.


If Me.op.Text = "*" Then
Jika ComboBox op adalah karakter * (bintang) maka


Me.hasil.Text = CInt(nilai1.Text) * CInt(nilai2.Text)
Lakukan operasi perkalian dan outputkan pada komponen TextBox hasil.

Apa itu CInt ? ini bukan CINTA loh tapi Singkatan Dari Convert To Interger, banyak cara untuk mengkonversikan tipe data,seperti :
CDbl = konversi ke Double
CStr = konversi ke String
CBool = konversi ke Boolean
Dan banyak lagi

Jika program tersebut dibahasakan ke Bahasa Indonesia :
JIKA nilai1 tidak kosong dan nilai2 tidak kosong MAKA
    JIKA teks operator adalah kali MAKA
        Lakukan perkalian
    DAN_JIKA teks operator adalah bagi MAKA
        Lakukan pembagian
    DAN_JIKA teks operator adalah tambah MAKA
        Lakukan penambahan
DAN_JIKA teks operator adalah kurang MAKA
        Lakukan pengurangan
    SELESAI_LOGIKA_HITUNG
SELESAI_LOGIKA_CEK_NILAI

sumber :  http://www.ilmuprogrammer.com/2013/08/v-behaviorurldefaultvmlo.html#.Uoo56ifDueY

Label:

Modul Belajar Pemrograman Visual Basic NET

Apa itu Visual Basic.Net ?
Visual Basic.Net atau yang disingkat dengan VB.Net adalah sebuah pengembangan dari Visual Basic 6 yang disesuaikan dengan NET Framework.
Net Framework sendiri adalah sebuah library yang digunakan agar lebih mudah membuat aplikasi pada Sistem Operasi khususnya Windows
Pengkodean VB.Net tidak jauh beda dengan Visual Basic 6, jadi jika anda adalah seorang penggemar Visual Basic 6 akan mudah untuk mengerti dengan penulisan pengkodean VB.Net. Perbedaannya yang sangat mencolok adalah VB.Net berbasis OOP (Object Orientied Programming).

Modul Belajar Pemrograman Visual Basic NET

Bagaimana Menggunakan Visual Basic.Net ?
Anda dapat menulis dan membuat aplikasi pengkodean VB.Net dengan Visual Studio, hingga saat ini versi Visual Studio memasuki 12 atau 2012. Dengan menggunakan Net Framework yang terupdate setiap release Visual Studio, maka programmer perlu menyesuaikan diri dengan Framework yang digunakan.
Jenis Visual Studio pun banyak, ada jenis Developer, Enterprise, Professional ataupun versi gratis yaitu Express. Sayangnya untuk membuat aplikasi windows dengan VB.Net membutuhkan uang yang lebih banyak, karena versi Express pun tidak bias mengelola aplikasi data yang besar.
Keunggulan License
Walaupun jenis Visual Studio banyak beredar beserta cracknya atau dapat di download dengan illegal, akan tetapi anda harus mengetahui pelajaran tentang license tersebut.
Saya tidak melarang apapun yang anda lakukan untuk mendownload Visual Studio yang bajakan, namun sebuah kualitas license tersebut sangat berpengaruh pada programmer ataupun sebuah perusahaan yang mempekerjakan programmer Visual Basic.Net. Apapun yang dilakukan dengan tidak baik, maka hasil dari apa yang dikerjakan tersebut tidak baik juga.
sumber :  http://www.ilmuprogrammer.com/2013/08/modul-belajar-pemrograman-visual-basic.html

Label:

Pengolahan Database pada VB.NET

aplikasi tak luput dari  database, sekarang kita akan mendiskusikan bagaimana mengkoneksikan database pada VB.NET
Banyak database engine yang support dengan VB.NET, Microsoft SQL Server, MySQL, Microsoft Access, Oracle, Postgre SQL dan lain-lain.
Namun untuk menghubungkan VB.NET dengan database diperlukan sebuah Connection String.

Apa itu Connection String ?
Connection String adalah sebuah tipe data string yang dijadikan sebagai penghubung antara database dan project/kode.


Untuk informasi Connection String lebih lanjut , anda bisa mengunjungi website yang mendalami ilmu tersebut
http://www.connectionstrings.com/ (Jadi untuk Connection String dibaca dulu)


Beberapa cara untuk mengkoneksikan database , yaitu dengan komponen (ADODC,DAO,dll) ataupun dengan kode. Yang kita diskusikan pada artikel ini adalah dengan menggunakan kode.
Jika pada Visual Basic anda menggunakan ADODC, bisa dipertimbangkan lagi bagaimana setiap form diisi dengan komponen tersebut. Bisa dibilang aplikasi jadi lebih berat kan?

Diskusi ini mungkin dapat mengubah cara pengkodean anda. Kenapa ?


Terbayang tidak begitu ribetnya masukin komponen setiap Form ?

Lalu bagaimana bentuk dari handcode/kode tersebut ?

Contoh :
Saya mengkoneksikan project VB.NET dengan database SQL Server Database File dengan sebuah module yang bernama ModDatabase, berikut source code nya :

Imports System.Data.SqlClient

Imports System.Data.SqlClient.SqlCommandBuilder

Module ModDatabase

    Public con As SqlClient.SqlConnection

    Public cmd As SqlClient.SqlCommand

    Public dtr As SqlClient.SqlDataReader

    Dim mydatatable As DataTable

    Dim adapter As SqlClient.SqlDataAdapter

    Private bindingSource1 As New BindingSource()



Public Function OpenDB() As Boolean

        con = New SqlClient.SqlConnection

        con.ConnectionString = "Data Source=.\SQLEXPRESS;AttachDbFilename="D:\data.mdf";Integrated Security=True;User Instance=True"

        Try

            con.Open()

            Return True

        Catch ex As Exception

            MsgBox("Terjadi Error : " & ex.Message)

            Return False

        End Try

    End Function



Public Sub _ComboData(ByVal sql As String, ByVal obj As Object)

        OpenDB()

        cmd = New SqlClient.SqlCommand(sql, con)

        Try

            obj.Items.Clear()

            dtr = cmd.ExecuteReader

            While dtr.Read()

                obj.Items.Add(dtr.Item(0).ToString)

            End While

        Catch ex As Exception

            MsgBox("Terjadi Error : " & ex.Message)

        Finally

            con.Close()

            con = Nothing

        End Try

    End Sub



    Public Sub _TableData(ByVal sql As String, ByVal obj As Object)

        OpenDB()

        cmd = New SqlClient.SqlCommand(sql, con)

        Try

            'obj.DataSource = Nothing

            dtr = cmd.ExecuteReader

            obj = New DataTable

            obj.Load(dtr)

        Catch ex As Exception

            MsgBox("Terjadi Error : " & ex.Message)

        Finally

            dtr.Close()

            con.Close()

        End Try

    End Sub



    Public Function _DataToValue(ByVal sql As String) As String

        OpenDB()

        cmd = New SqlClient.SqlCommand

        Try

            Dim p As String

            p = ""

            cmd.Connection = con

            cmd.CommandType = CommandType.Text

            cmd.CommandText = sql

            dtr = cmd.ExecuteReader

            If dtr.HasRows Then

                dtr.Read()

                p = (dtr.Item(0))

            End If

            Return p.ToString

        Catch ex As Exception

            Return ex.Message

        Finally

            'dtr.Close()

            con.Close()

        End Try

    End Function


Public Sub _RunSQL(ByVal sql As String)

        OpenDB()

        cmd = New SqlClient.SqlCommand(sql, con)

        Try

            cmd.ExecuteNonQuery()

        Catch ex As Exception

            MsgBox(ex.Message)

        Finally

            con.Close()

        End Try

    End Sub



Function _isBOF(ByVal table As String, ByVal field As String, ByVal whereValue As String) As Boolean

        Dim p As Integer

        p = _DataToValue("Select count(" & field & ") from " & table & " Where " & field & "='" & whereValue & "'")

        If p < 1 Then

            Return True

        Else

            Return False

        End If

    End Function



End Module

Lihat yang saya bold pada kode di atas. Semua bisa anda gunakan pada semua form.

1. OpenDB() As Boolean
Fungsi ini berguna untuk membuka database, namun outputnya sebagai boolean (true/false), anda bisa menggunakan untuk cek koneksi database. Contoh kode :

if OpenDB=false then

   msgbox "Tidak tersambung ke database"

else

  msgbox "Tersambung"

end if

2. _ComboData(ByVal sql As String, ByVal obj As Object)
Fungsi ini berguna jika anda ingin mengisi sebuah combobox dengan isi field pada database. Contoh :

_ComboData("Select nama_barang from barang",Me.ComboBox1)
3. _TableData(ByVal sql As String, ByVal obj As Object)
Pernahkah anda membuat kode untuk menampilkan data pada DataGridView? Panjang bukan? Nah, fungsi ini berguna untuk menampilkan data pada DataGridView dengan cepat, hanya 1 baris kode saja. Contoh :

_TableData("Select * from barang",Me.DataGridView1)

4. _DataToValue(ByVal sql As String) As String
Jika anda hanya menginginkan output 1 data bertipe string saja, maka anda membutuhkan fungsi ini.
Contoh event klik saat combobox yang menampilkan nama barang pada TextBox1 menampilkan kode barangnya :

Me.TextBox1.Text = _DataToValue("Select kode_barang from Barang Where nama_barang='" & Me.ComboBox1.Text & "'")
Pengkodean (kutip_satu)(kutip_dua) & komponen & (kutip_dua)(kutip_satu) membedakan yang mana kode sql dan yang mana komponen VB.NET



5. _RunSQL(ByVal sql As String)
Mengalami Insert,Edit,Delete yang kodenya ribet? Cukup panggil fungsi ini , Contoh :


_RunSQL("Insert into barang (kode_barang,nama_barang) values ('" & Me.ComboBox1.Text & "','" & Me.TextBox1.Text & "')")


_RunSQL("Update barang Set nama_barang='" & Me.TextBox1.Text & "' Where kode_barang='" & Me.ComboBox1.Text & "'")


_RunSQL("Delete from barang Where kode_barang='" & Me.ComboBox1.Text & "'")

6. _isBOF(ByVal table As String, ByVal field As String, ByVal whereValue As String) As Boolean
Gunakan fungsi ini untuk mengecek data ada atau tidak , Contoh :

if _isBOF("barang","kode_barang","0001")=false Then
    msgbox("Barang tidak ada")
Else
    msgbox("Barang Ada")
End If

Postingan ini tidak bertujuan untuk meniru ataupun harus mengikuti kode saya. Namun saya mengharapkan jika anda semua dapat merangkum semua kebutuhan aktif menjadi satu ruang.
Berikut saya share module file nya, di dalam paket ada koneksi dengan SQL Server dan MySQL

sumber :  http://www.ilmuprogrammer.com/2013/08/pengolahan-database-pada-vbnet.html#.Uoo3zifDueY

Label: