Kali ini saya akan share tentang penggunaan USING, END USING di VBNET. Intinya adalah untuk mengoptimalkan sintak dan performance aplikasi agar tidak banyak memory komputer yang terpakai dan terbuang percuma. Maksudnya? seringkali jika kita mendeklarasikan variable tidak kita hapus (dispose/erase/clear/nothing) saat variable itu tidak kita gunakan lagi, sehingga aplikasi anda semakin lama akan semakin berat.
Contoh dalam membuat form master data saja, biasanya kita deklarasikan seperti ini kan ? 

    Dim con As Odbc.OdbcConnection
    Dim cmd As Odbc.OdbcCommand
    Dim adp As Odbc.OdbcDataAdapter
    Dim reader As Odbc.OdbcDataReader
    Dim tbl As DataTable
    Dim constr As String ="dsn=djiesoft_db;uid=sa;password=12345"
Dari contoh diatas kita bisa tahu saat form active saja sudah 6 variable yang diload ke memory, dan variable itu akan selalu ada di memory sampai form tersebut ditutup, jika kita membuka banyak form??? Baiklah langsung keUSING, END USING adalah suatu metode untuk mendeklarasikan variable/object dimana variable itu akan otomatis terhapus saat keluar dari END USING. jadi tidak perlu report untuk menulis sintak hapus seperti : variable.dispose, erase variable, variable.clear atau variable = nothing, dll. Sehingga memory kita akan aman karena object/variable tersebut otomatis di hapus. Contohnya adalah :
Contoh (sebelum menggunakan USING, END USING) : 

Lalu di event form load kita open koneksi :

        con = New Odbc.OdbcConnection(constr)
        con.Open()

Setelah itu ini contoh sintak di tombol simpan :

        cmd = New Odbc.OdbcCommand("INSERT INTO ...", con)
        cmd.ExecuteNonQuery()

dan ini contoh sintak di tombol refresh :

       cmd = New Odbc.OdbcCommand("SELECT * FROM ...", con)
        reader = cmd.ExecuteReader
        Do While reader.Read
            'ADD TO LISTVIEW/DATAGRIDVIEW...
        Loop
        reader.Close() 
'jika anda tidak .Close maka akan error saat anda tekan tombol refresh lagi/selanjutnya.

atau jika anda lebih suka menggunakan Datasource maka biasanya sintaknya seperti ini :


        adp = New Odbc.OdbcDataAdapter("SELECT * FROM ...", con)
        tbl = New DataTable
        adp.Fill(tbl)
        DataGridView1.DataSource = tbl
  
Saat anda ingin menggunakan USING, END USING maka dari contoh di atas kita hanya akan mengunakan 1 variable saja yaitu constr, selanjutnya sintak2 tersebut akan berubah menjadi :
1. di form load tidak ada sintak untuk open koneksi 
2. sintak di tombol simpan berubah menjadi :

        Using con As New Odbc.OdbcConnection(constr)
            con.Open()
            Using cmd As New Odbc.OdbcCommand("INSERT INTO...", con)
                cmd.ExecuteNonQuery()
            End Using
        End Using

3. sintak di tombol refresh berubah menjadi :
3.1 via datareader

        Using con As New Odbc.OdbcConnection(constr)
            con.Open()
            Using cmd As New Odbc.OdbcCommand("SELECT * FROM...", con)
                Using reader As Odbc.OdbcDataReader = cmd.ExecuteReader
                    Do While reader.Read
                        'ADD TO LISTVIEW/DATAGRIDVIEW...
                    Loop
                End Using
            End Using
        End Using

3.2 via dataadapter

        Using con As New Odbc.OdbcConnection(constr)
            con.Open()
            Using adp As New Odbc.OdbcDataAdapter("SELECT * FROM ...", con)
                Using tbl As New DataTable
                    adp.Fill(tbl)
                    DataGridView1.DataSource = tbl
                End Using
            End Using
        End Using
Dengan cara ini juga dapat mempersingkat anda saat ingin mengeksekusi beberapa perintah sql secara bertahap, contoh :  pertama delete, kedua insert, ketiga update :


Using cmd As New SqlClient.SqlCommand("DELETE FROM TABLE .. WHERE ..”, v_con)
     cmd.ExecuteNonQuery()
End Using

Using cmd As New SqlClient.SqlCommand("INSERT INTO TABLE .. VALUES ..”, v_con)
     cmd.ExecuteNonQuery()
End Using

Using cmd As New SqlClient.SqlCommand("UPDATE TABLE .. WHERE ..”, v_con)
     cmd.ExecuteNonQuery()
End Using
  


Nah bagaimana, cukup jelas kan? ini memang bukan aturan baku (wajib) karena setiap programmer punya logika dan style sendiri dalam menulis sintak, tetapi ada baiknya apa yang kita tahu dan menurut kita bermanfaat kita bagikan ke yang lain. Selain itu ada juga variable2 yang kita harus deklarasikan sebagai PUBLIC (module/class), semua sesuaikan dengan kondisi yang terjadi.

Author image

About the Author :

Nama Saya Dwi Randy Herdinanto. Saya Tinggal Di Bandar Lampung, Saat Ini SayaKuliah di Salah Satu Perguruan Tinggi di Lampung dan Juga Bekerja di Software House Lampung

Connect with me on :

2 Comments
Comments
 
Top