crud

Tutorial Operasi CRUD pada Visual Basic .NET

1 Desembr 2012

tutorial visual studio1 Tutorial Operasi CRUD pada Visual Basic .NET

Setelah cukup lama melupakan .NET kali ini kita akan mencoba membuat suatu aplikasi sederhana yang terdiri dari proses-proses Create, Read, Update dan Delete (CRUD)/membuat, membaca, merubah, menghapus data dalam database menggunakan Visual Basic .NET.

Dengan IDE Visual Studio 2008, proses development suatu aplikasi jadi lebih mudah, tinggal klik n drop, semuanya jadi.

Sekarang kembali kepada tiap-tiap individu, ingin menekan remote untuk menonton TV tanpa perlu tahu proses apa yang ada dibalik remote tersebut? Atau menekan remote untuk menonton TV sambil mempelajari bagaimana suatu perangkat bisa dihidupkan hanya dengan menekan sebuah tombol?.. ^^

 

Karena gaya pemrograman setiap programmer berbeda-beda, maka jangan heran jika kode-kode yang akan disertakan berbeda dengan kode-kode yang terdapat dalam buku-buku.

Ok langsung aja, yang perlu dipersiapkan adalah Visual Studio 2008 (trial/full). Yup, hanya itu…

1. Membuat Project Baru

Buka Visual Studio 2008, Klik File > New > Project (atau dengan menekan kombinasi tombol CTRL+SHIFT+N). Akan muncul dialog ‘New Project’, pilih Visual Basic > Windows, pilih template ‘Windows Forms Application’ masukkan ‘DataBarang’ pada bagian ‘Name’ kemudian klik OK.

newProject1 300x217 Tutorial Operasi CRUD pada Visual Basic .NET
[Klik gambar untuk memperbesar]

2. Membuat Database Baru

Server database yang akan digunakan adalah SQLExpress 2005 yang sudah terintegrasi ke dalam IDE Visual Studio 2008. Untuk membuat suatu database, kita bisa membuatnya melalui panel Server Explorer. Munculkan panel Server Explorer dengan menekan kombinasi tombol ‘CTRL+W, L’ bila panel Server Explorer belum tampil.

Pada panel Server Explorer, klik kanan pada ‘Data Connection’ dan pilih ‘Create New SQL Server Database’, akan muncul dialog baru. Masukkan pada kolom ‘Server Name’ dengan (local)SQLEXPRESS dan masukkan pada bagian ‘New Database Name’ dengan DataBarang. Klik ‘OK’.

server dialog new1 286x300 Tutorial Operasi CRUD pada Visual Basic .NET

Tampilan dalam Server Explorer akan menjadi seperti ini:

server explorer view1 150x150 Tutorial Operasi CRUD pada Visual Basic .NET

3. Membuat Tabel Baru

Berikut setelah Database telah selesai dibuat, kita lanjutkan dengan membuat tabel pada database yang baru tersebut.

Masih pada panel Server Explorer, klik kanan pada ‘Tables’ dan pilih ‘Add New Table’. Masukkan data-data berikut:

KdBarang, Tipe: nvarchar(10), PRIMARY KEY, NOT NULL < Menyimpan kode dari tiap barang

NmBarang, Tipe: nvarchar(50), NOT NULL < Menyimpan nama barang

Jumlah, Tipe: smallint, Default: 0, NULL < Menyimpan jumlah dari tiap barang

Harga, Tipe: money, Default: 0, NULL < Menyimpan data dari harga barang

table newtable1 300x272 Tutorial Operasi CRUD pada Visual Basic .NET

Tentukan KdBarang sebagai PRIMARY KEY. Klik kanan pada bagian KdBarang dan pilih ‘Set Primary Key’, akan muncul tanda berbentuk kunci di sebelah kiri KdBarang.

table primary key1 300x118 Tutorial Operasi CRUD pada Visual Basic .NET

Klik tombol ‘Save’ dan beri nama ‘tblBarang’. Tabel baru kita telah jadi, berikutnya kita akan mulai menulis suatu class untuk mengatur koneksi database dan proses-proses CRUD terhadap tabel ‘tblBarang’.

Sebelum lanjut membuat Class, kita akan menambah sedikit pengaturan untuk project ini. Yang akan ditambahkan adalah pengaturan untuk ConnectionString (String koneksi yang akan digunakan agar bisa terhubung dengan Database DataBarang).

Pilih menu ‘Project > DataBarang Properties’. Masuk ke Tab ‘Settings’ dan masukkan ConnectionString pada kolom ‘Name’ dengan Type String dan Scope pilih Application. Pada bagian Value, isikan string koneksi berikut dan klik tombol Save untuk menyimpan :

Data Source=(local)SQLEXPRESS;Initial Catalog=DataBarang;Integrated Security=True

setting connectionstring 300x88 Tutorial Operasi CRUD pada Visual Basic .NET


4. Membuat Class

Class pertama yang akan dibuat adalah Class Database dengan nama ‘clsDatabase’. Fungsi dari Class ini nantinya akan mengatur proses koneksi ke dalam database (fungsi Connect, Disconnect dan eksekusi perintah-perintah SQL).

Buat folder baru dengan nama ‘Class’ dalam project DataBarang lewat panel ‘Solution Explorer’.

project add newfolder 300x263 Tutorial Operasi CRUD pada Visual Basic .NET

Tambahkan item baru dalam folder ‘Class’ dengan klik kanan folder ‘Class’ dan pilih ‘Add’ > ‘New Item’. Akan tampil kotak dialog ‘Add New Item’, pilih Class dan pada bagian ‘Name’ masukkan nama ‘clsDatabase’ kemudian klik ‘Add’.

project add newitem 300x172 Tutorial Operasi CRUD pada Visual Basic .NET

project add newclass 300x184 Tutorial Operasi CRUD pada Visual Basic .NET

Masukkan kode berikut ke dalam dokumen clsDatabase.vb :

  1. ‘Import Namespace System.Data.SQLClient untuk menggunakan beberapa Class SQLClient
  2. ‘agar dapat mengakses database SQL Server
  3. Imports System.Data.SqlClient
  4. Public Class clsDatabase
  5.     ‘Deklarasikan beberapa variabel
  6.     ‘m_sConnectionString : String koneksi ke database SQL Server
  7.     Private m_sConnectionString As String = “”
  8.     ‘objConnection : Objek koneksi ke database SQL Server
  9.     Private objConnection As SqlConnection
  10.     Sub New()
  11.         ‘String koneksi yang diambil dari Namespace Databarang pada property ConnectionString
  12.         ‘Berfungsi supaya bisa terhubung dengan database server.
  13.         m_sConnectionString = DataBarang.My.Settings.ConnectionString
  14.     End Sub
  15.     Sub New(ByVal sConnectionString As String)
  16.         ‘Untuk mengganti string koneksi (ConnectionString)
  17.         m_sConnectionString = sConnectionString
  18.     End Sub
  19.     ‘Fungsi untuk melakukan proses koneksi ke database
  20.     Public Function Connect() As Boolean
  21.         Dim cc As Boolean = False
  22.         Try
  23.             ‘objConnection sebagai Class SQLConnection
  24.             ‘dengan menggunakan string koneksi dari m_sConnectionString
  25.             objConnection = New SqlConnection(m_sConnectionString)
  26.             ‘Buka koneksi ke database dengan menggunakan method Open()
  27.             objConnection.Open()
  28.             ‘Jika berhasil melakukan koneksi ke database
  29.             ‘set cc=True
  30.             cc = True
  31.         Catch
  32.             ‘Jika tidak berhasil melakukan koneksi ke database
  33.             ‘set cc=False
  34.             cc = False
  35.         End Try
  36.         ‘Mengembalikan nilai cc, True atau False, tergantung sukses tidaknya koneksi
  37.         Return cc
  38.     End Function
  39.     ‘Fungsi untuk menutup koneksi ke database
  40.     Public Function Disconnect() As Boolean
  41.         Try
  42.             ‘Disini method Close() digunakan untuk menutup koneksi
  43.             objConnection.Close()
  44.             ‘Kosongkan objConnection
  45.             objConnection = Nothing
  46.             ‘Kembalikan nilai True, jika koneksi telah tertutup
  47.             Return True
  48.         Catch e As Exception ‘Sebaliknya….
  49.             ‘Tampilkan pesan kesalahan yang terjadi
  50.             MsgBox(e.Message())
  51.             ‘Kembalikan nilai False, jika terjadi masalah dalam menutup koneksi
  52.             Return False
  53.         End Try
  54.     End Function
  55.     ‘Fungsi mengeksekusi perintah SQL
  56.     ‘@sSql : berisi perintah-perintah SQL
  57.     ‘Deklarasikan ExecuteSql sebagai SqlDataReader untuk membaca baris dari database
  58.     Public Function ExecuteSql(ByVal sSql As String) As SqlDataReader
  59.         Try
  60.             ‘Deklarasikan objCommand sebagai SqlCommand untuk mengeksekusi perintah SQL
  61.             Dim objCommand As SqlCommand
  62.             ‘Deklarasikan myReader sebagai SqlDataReader
  63.             Dim myReader As SqlDataReader
  64.             ‘objCommand sebagai SqlCommand dengan perintah SQL diambil dari ‘sSql’ dan
  65.             ‘koneksi yang digunakan diambil dari objConnection
  66.             objCommand = New SqlCommand(sSql, objConnection)
  67.             ‘Eksekusi perintah SQL yang terdapat dalam ‘sSql’
  68.             ‘dengan menggunakan ExecuteReader()
  69.             myReader = objCommand.ExecuteReader()
  70.             ‘Kembalikan nilai myReader
  71.             Return myReader
  72.         Catch e As Exception
  73.             ‘Jika terjadi kesalahan, tampilkan pesan kesalahannya.
  74.             MsgBox(e.Message())
  75.             Return Nothing
  76.         End Try
  77.     End Function
  78. End Class

Tambah satu Class baru dalam folder ‘Class’ dengan nama ‘clsBarang.vb’. Fungsi dari Class ini adalah untuk mengatur semua proses yang terjadi dalam tabel ‘tblBarang’ mulai dari properti-propertinya sampai proses CRUD yang terjadi dalam tabel tblBarang.

Kode untuk Class clsBarang.vb:

  1. Imports System.Data.SqlClient
  2. Public Class clsBarang
  3.     ‘Barang memiliki beberapa properti,
  4.     ‘seperti Kode, Nama, Jumlah dan Harga…
  5.     Private KdBarang As String
  6.     Private NmBarang As String
  7.     Private JmBarang As Integer
  8.     Private HrBarang As Double
  9.     ‘Deklarasikan oBD sebaga Class dari clsDatabase
  10.     Private oBD As New clsDatabase()
  11.     ‘Properti untuk Kode dari barang dengan tipe String
  12.     Public Property KodeBarang() As String
  13.         ‘Ambil nilai dari kode barang
  14.         Get
  15.             ‘Beritahukan kodenya..
  16.             Return KdBarang
  17.         End Get
  18.         ‘Atur Kode barang dengan kode yang akan diberikan dalam nilai
  19.         ‘yang terdapat dalam ‘value’ yang bertipe String
  20.         Set(ByVal value As String)
  21.             ‘Berikan kode barang dengan kode yang baru yang terdapat dalam nilai ‘value’
  22.             KdBarang = value
  23.         End Set
  24.         ‘Dengan kata lain, Get: Mengambil dan memberitahukan hasilnya (memilih data).
  25.         ‘Set : Mengambil data yang baru dan menyimpan hasilnya (merubah data).
  26.     End Property
  27.     ‘Penjelasan di bawah hampir sama dengan penjelasan di atas..
  28.     Public Property NamaBarang() As String
  29.         Get
  30.             Return NmBarang
  31.         End Get
  32.         Set(ByVal value As String)
  33.             NmBarang = value
  34.         End Set
  35.     End Property
  36.     Public Property JumlahBarang() As Integer
  37.         Get
  38.             Return JmBarang
  39.         End Get
  40.         Set(ByVal value As Integer)
  41.             JmBarang = value
  42.         End Set
  43.     End Property
  44.     Public Property HargaBarang() As Double
  45.         Get
  46.             Return HrBarang
  47.         End Get
  48.         Set(ByVal value As Double)
  49.             HrBarang = value
  50.         End Set
  51.     End Property
  52.     ‘Fungsi untuk memilih data-data barang dari tabel tblBarang dengan kode yang telah ditentukan
  53.     ‘dari properti KodeBarang
  54.     Public Function Pilih() As Boolean
  55.         ‘Deklarasikan ‘proses’ dengan nilai False
  56.         ‘befungsi untuk memberitahukan apakah suatu proses sukses dijalankan atau tidak.
  57.         Dim proses As Boolean = False
  58.         Try
  59.             Dim odr As SqlDataReader
  60.             Dim ssql As String
  61.             ‘Jika proses koneksi sukses, maka…
  62.             If oBD.Connect() Then
  63.                 ‘Masukkan perintah yang akan dieksekusi ke dalam variabel ssql
  64.                 If KodeBarang = Nothing Then
  65.                     ssql = “select * from tblBarang”
  66.                 Else
  67.                     ssql = String.Format(“select * from tblBarang WHERE KdBarang='{0}'”, KodeBarang)
  68.                 End If
  69.                 ‘Eksekusi perintah dari ssql
  70.                 odr = oBD.ExecuteSql(ssql)
  71.                 ‘Gunakan Fungsi Read() untuk membaca data yang didapat dari perintah SQL di atas
  72.                 ‘Jika ada data yang terbaca, maka..
  73.                 If odr.Read() Then
  74.                     ‘Masukkan masing2 nilai dari Nama Barang, Jumlah, Harga dari dalam tabel tblBarang
  75.                     ‘ke dalam variabel NmBarang, JmBarang, HrBarang
  76.                     NmBarang = CStr(odr(“NmBarang”)) ‘Convert ke tipe string
  77.                     JmBarang = CInt(odr(“Jumlah”)) ‘Convert ke tipe Integer
  78.                     HrBarang = CDbl(odr(“Harga”)) ‘Convert ke tipe Double
  79.                     ‘Proses telah sukses dijalankan, jadikan nilai ‘proses’ menjadi True
  80.                     proses = True
  81.                 End If
  82.                 ‘Tutup koneksi ke database
  83.                 oBD.Disconnect()
  84.             Else
  85.                 ‘Jika proses koneksi gagal
  86.                 MsgBox(“Tidak ada koneksi”)
  87.             End If
  88.         Catch
  89.             ‘Jika terjadi kesalahan selama proses di atas, tampilkan pesan kesalahan
  90.             MsgBox(“Terjadi masalah dengan DataBase”)
  91.             ‘Berikan nilai dari variabel ‘proses’, dalam hal ini masih False
  92.             Return proses
  93.         End Try
  94.         ‘Kembalikan nilai dari variabel ‘proses’, True atau False tergantung dari
  95.         ‘sukses atau tidak proses-proses di atas..
  96.         Return proses
  97.     End Function
  98.     ‘Fungsi untuk menambah data barang yang baru
  99.     Public Function Tambah() As Boolean
  100.         Dim proses As Boolean = False
  101.         Try
  102.             Dim ODR As SqlDataReader
  103.             Dim ssql As String
  104.             If oBD.Connect() Then
  105.                 ssql = String.Format(“INSERT INTO tblBarang(KdBarang, NmBarang, Jumlah, Harga)VALUES(‘{0}’,'{1}’,'{2}’,'{3}’)”, _
  106.                            KdBarang, _
  107.                            NmBarang, _
  108.                            JmBarang, _
  109.                            HrBarang)
  110.                 ODR = oBD.ExecuteSql(ssql)
  111.                 If IsNothing(ODR) Then
  112.                     MsgBox(“Tidak ada yang dimasukkan”)
  113.                 Else
  114.                     proses = True
  115.                 End If
  116.                 oBD.Disconnect()
  117.             End If
  118.         Catch
  119.             MsgBox(“Masalah terjadi pada DataBase”)
  120.             Return proses
  121.         End Try
  122.         Return proses
  123.     End Function
  124.     ‘Fungsi untuk menghapus data barang dengan Kode barang yang ditentukan
  125.     Public Function Hapus() As Boolean
  126.         Dim proses As Boolean = False
  127.         Try
  128.             Dim ODR As SqlDataReader
  129.             Dim ssql As String
  130.             If oBD.Connect() Then
  131.                 ssql = String.Format(“DELETE  FROM tblBarang WHERE KdBarang ='{0}'”, _
  132.                            KdBarang)
  133.                 ODR = oBD.ExecuteSql(ssql)
  134.                 If IsNothing(ODR) Then
  135.                     MsgBox(“Tidak ada yang dihapus”)
  136.                 Else
  137.                     proses = True
  138.                 End If
  139.                 oBD.Disconnect()
  140.             End If
  141.         Catch
  142.             MsgBox(“Masalah terjadi dalam database”)
  143.             Return proses
  144.         End Try
  145.         Return proses
  146.     End Function
  147.     ‘Fungsi untuk mengupdate data barang dengan Kode barang yang telah ditentukan
  148.     Public Function Update() As Boolean
  149.         Dim proses As Boolean = False
  150.         Try
  151.             Dim ODR As SqlDataReader
  152.             Dim ssql As String
  153.             If oBD.Connect() Then
  154.                 ssql = String.Format(“UPDATE  tblBarang SET NmBarang='{0}’,Jumlah='{1}’,Harga='{2}’ WHERE (KdBarang ='{3}’)”, _
  155.                            NmBarang, _
  156.                            JmBarang, _
  157.                            HrBarang, _
  158.                            KdBarang)
  159.                 ODR = oBD.ExecuteSql(ssql)
  160.                 If IsNothing(ODR) Then
  161.                     MsgBox(“Tidak ada data yang diUpdate”)
  162.                 Else
  163.                     proses = True
  164.                 End If
  165.                 oBD.Disconnect()
  166.             End If
  167.         Catch
  168.             MsgBox(“Masalah dengan Database”)
  169.             Return proses
  170.         End Try
  171.         Return proses
  172.     End Function
  173. End Class

 

5. Menambah Kontrol DataGridView

Pertama kita akan menambah sebuah kontrol ‘DataGridView’ untuk menampilkan data-data dari tabel barang ke dalam bentuk Grid menggunakan kontrol DataGridView.

Munculkan panel Toolbox (jika belum muncul, tekan kombinasi tombol CTRL+W, X), pilih kontrol DataGridView dari panel Toolbox dan geser ke area Form1.

DataGridView toForm 300x195 Tutorial Operasi CRUD pada Visual Basic .NET

Kontrol DataGridView akan muncul di dalam Form dengan nama DataGridView1, sesuaikan posisinya.

Berikut kita akan mengatur beberapa properti dari DataGridView1 yang barusan kita buat. Klik DataGridView1 dan pada panel ‘Properties’ (CTRL+W, P) ubah beberapa properti agar user tidak bisa menambah baris/row, user tidak bisa menghapus baris/row, user tidak bisa mengatur posisi baris/row dan user tidak bisa merubah ukuran baris/row menjadi ‘False’ dan juga SelectionMode = FullRowSelect seperti pada gambar.

DataGridView Properties 300x271 Tutorial Operasi CRUD pada Visual Basic .NET

 

6. Menambah Tombol dan TextBox

Setelah DataGridView1 telah dibuat, selanjutnya kita tambahkan beberapa tombol untuk menjalankan proses-proses penambahan data, perubahan data, dan penghapusan data dari dalam tabal barang.

Geser kontrol Button dari panel ToolBox ke area Form1 (caranya sama dengan proses untuk menambah kontrol DataGridView sebelumnya).

Buat 5 buah Button..

Dengan nama masing-masing : cmdBaru, cmdEdit, cmdSimpan, cmdHapus dan cmdTutup.

Dengan teks masing-masing : Baru, Edit, Simpan, Hapus, dan Tutup.

form1 button 300x155 Tutorial Operasi CRUD pada Visual Basic .NET
[klik gambar untuk memperbesar]

 

Tambahkan juga beberapa TextBox untuk memasukkan data dan beberapa label :

txtKode, txtNama, txtJumlah, txtHarga

lblKode, lblNama, lblJumlah, lblHarga

form1 button textbox 300x243 Tutorial Operasi CRUD pada Visual Basic .NET

Atur posisi dari tiap kontrol seperti gambar di atas.. ^^

 

7. Menulis Kode

Akan dilanjutkan pada pembahasan berikutnya.. ^^ (Bersambung….).

SELAMAT MENCOBA…………………………………………………………………….

Iklan

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s