Cara Membuat Autonumber di Visual Basic.Net Menggunakan SQL 2005

Sudah tentu banyVisual Studio 2008ak dari programmer menggunakan fasilitas autonumber untuk membuat unique id dari klien yang membutuhkan suatu software yang diinginkan. Sebenarnya gampang2 susah untuk membuat autonumber tersebut. Maksud gw kalo kita nga hati-hati error yang bakal keluar di messagebox. Kali ini gw membuat postingan untuk sharing keteman-teman cara effektif untuk penomoran otomatis tersebut. Adapun contoh yang bakal gw berikan dibuat dengan VB.Net 2008 dan SQL Server 2005.

Latar belakang gw buat membuat postingan kali ini adalah karena gw dulu sempet berkutat dengan autonumber yang kurang variatif. It means, autonumber yang gw buat otomatis increment dari database-nya. Penomoran tersebut hanya menggunakan angka-angka seperti : 1,2,3,4, dsb. Sehingga kita yang ingin membuat penomoran unique seperti : D0001, D0002, D0003 akan kesulitan dan ujung-ujungnya searching di google dan tidak menemukan bentuk ideal dari yang kita maksud.

Ok, sekarang gw sharing langkah-langkah pembuatannya. Kali ini contoh diambil dari Aplikasi Medis Klinik. Sebelum ‘bermain’ dengan programming code ada baik-nya kita mempersiapkan databasenya dulu di SQL Server 2005. Buka Microsoft SQL Server Management dan add database dengan nama Puskesmas. Setelah itu masukkan query untuk table-tablenya yaitu :

create table tpasien(
kode_pas char(10) primary key,
nama_pas varchar(25),
kelamin char(10),
usia int,
pekerjaan char(30),
ktp varchar(15),
alamat varchar(50),
telepon varchar(30));
insert into tpasien values(‘PAS-001′,’Berbatov’,’Pria’,30,’Pegawai Negeri’,’2170000′,’Komp. Semua Bisa No. 17′,’082177777′);

Setelah rampung dengan database-nya maka kita buka Program Visual Basic.Net 2008. Buat project tersebut di WindowsApplication. Dan lo buat nama project tersebut sesuai keinginan lo. Berikut step-step yang akan gw sharing :

Tampilan Program Klinik

Lo buat tampilan seperti pada gambar diatas dengan attribute antara lain : (nomor yang gw berikan di atas)

  1. txtkodepasien
  2. txtnamapasien
  3. combobox1
  4. textbox1
  5. combobox2
  6. textbox2
  7. textbox3
  8. textbox4
  9. DGPasien (Data Grid View)
  10. BtnTambah
  11. BtnBatal
  12. BtnUbah
  13. BtnHapus

Ok apabila tampilan sudah dibuat seperti contoh gambar diatas, maka langkah berikutnya adalah membuat Class yang diaplikasi ini gw beri nama ClsKoneksi. Adapun cara menambahkan Class tersebut, lo tinggal klik kanan pada project di jendela Solution Explore. Setelah itu muncul dialog box dan lo pilih Add > Class. Lo berinama Class tersebut sesuai keinginan lo, tapi diprogram yang gw buat namanya seperti yang sudah gw sebutkan; ClsKoneksi. Lalu lo tinggal masukan kode pemrograman ke ClsKoneksi sbb :

Imports Microsoft.VisualBasic
Imports System.Data.Sql
Public Class ClsKoneksi
Protected tblPengguna = New DataTable
Protected SQL As String
Protected Cn As SqlClient.SqlConnection
Protected Cmd As SqlClient.SqlCommand
Protected Da As SqlClient.SqlDataAdapter
Protected Ds As DataSet
Protected Dt As DataTable
Public Function OpenConn() As Boolean
Cn = New SqlClient.SqlConnection(“Data Source=.\SQLEXPRESS;Initial Catalog=Puskesmas;Integrated Security=True”)
Cn.Open()
If Cn.State <> ConnectionState.Open Then
Return False
Else
Return True
End If
End Function
Public Sub CloseConn()
If Not IsNothing(Cn) Then
Cn.Close()
Cn = Nothing
End If
End Sub
Public Function ExecuteQuery(ByVal Query As String) As DataTable
If Not OpenConn() Then
MsgBox(“Koneksi Gagal..!!”, MsgBoxStyle.Critical, “Access Failed”)
Return Nothing
Exit Function
End If

Cmd = New SqlClient.SqlCommand(Query, Cn)
Da = New SqlClient.SqlDataAdapter
Da.SelectCommand = Cmd

Ds = New Data.DataSet
Da.Fill(Ds)

Dt = Ds.Tables(0)

Return Dt

Dt = Nothing
Ds = Nothing
Da = Nothing
Cmd = Nothing

CloseConn()

End Function
Public Sub ExecuteNonQuery(ByVal Query As String)
If Not OpenConn() Then
MsgBox(“Koneksi Gagal..!!”, MsgBoxStyle.Critical, “Access Failed..!!”)
Exit Sub
End If

Cmd = New SqlClient.SqlCommand
Cmd.Connection = Cn
Cmd.CommandType = CommandType.Text
Cmd.CommandText = Query
Cmd.ExecuteNonQuery()
Cmd = Nothing
CloseConn()
End Sub
End Class

Aplikasi sudah 70% untuk dijalankan bro and sis ^-^. Sekarang waktunya memasukan kode program ke Form yang telah lo buat sebelumnya. Berikut kode-nya :

Imports System.Data.SqlClient
Imports System.Data
Public Class Form1
Dim SQL As String
Dim Proses As New ClsKoneksi
Dim tblMerk As DataTable
Sub Data_Record()
tblMerk = Proses.ExecuteQuery(“Select * From tpasien”)
DGPasien.DataSource = tblMerk
DGPasien.Columns(1).Width = 130
End Sub
Sub Kode_Otomatis()
tblMerk = Proses.ExecuteQuery(“Select * From tpasien order by kode_pas desc”)
If tblMerk.Rows.Count = 0 Then
txtkodepasien.Text = “PAS-001”
Else
With tblMerk.Rows(0)
txtkodepasien.Text = .Item(“kode_pas”)
End With

txtkodepasien.Text = Val(Microsoft.VisualBasic.Mid(txtkodepasien.Text, 5, 3)) + 1

If Len(txtkodepasien.Text) = 1 Then
txtkodepasien.Text = “PAS-00” & txtkodepasien.Text & “”
ElseIf Len(txtkodepasien.Text) = 2 Then
txtkodepasien.Text = “PAS-0” & txtkodepasien.Text & “”
ElseIf Len(txtkodepasien.Text) = 3 Then
txtkodepasien.Text = “PAS-” & txtkodepasien.Text & “”
End If

End If
End Sub

Sub bersih()
Call Data_Record()
Call Kode_Otomatis()
BtnTambah.Enabled = True
BtnUbah.Enabled = False
BtnHapus.Enabled = False
txtkodepasien.Enabled = False
txtnamapasien.Text = “”
TextBox1.Text = “”
TextBox2.Text = “”
TextBox3.Text = “”
TextBox4.Text = “”
ComboBox1.Text = “”
ComboBox2.Text = “”
txtkodepasien.Focus()
End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call bersih()
End Sub

Private Sub BtnTambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTambah.Click
If txtkodepasien.Text = “” Then txtnamapasien.Focus() : Exit Sub
SQL = “Insert Into tpasien Values (‘” & txtkodepasien.Text & “‘,'” & txtnamapasien.Text & “‘,'” & ComboBox1.Text & “‘,'” & TextBox1.Text & “‘,'” & ComboBox2.Text & “‘,'” & TextBox2.Text & “‘,'” & TextBox3.Text & “‘,'” & TextBox4.Text & “‘)”
Proses.ExecuteNonQuery(SQL)
Call bersih()

End Sub

Private Sub DGJenisBrg_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGPasien.DoubleClick
txtkodepasien.Text = DGPasien.SelectedCells(0).Value
txtnamapasien.Text = DGPasien.SelectedCells(1).Value
ComboBox1.Text = DGPasien.SelectedCells(2).Value
TextBox1.Text = DGPasien.SelectedCells(3).Value
ComboBox2.Text = DGPasien.SelectedCells(4).Value
TextBox2.Text = DGPasien.SelectedCells(5).Value
TextBox3.Text = DGPasien.SelectedCells(6).Value
TextBox4.Text = DGPasien.SelectedCells(7).Value
BtnUbah.Enabled = True
BtnHapus.Enabled = True
BtnTambah.Enabled = False
End Sub

Private Sub BtnUbah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnUbah.Click
If txtkodepasien.Text = “” Then txtnamapasien.Focus() : Exit Sub
SQL = “update tpasien ”
SQL += “Set nama_pas='” & txtnamapasien.Text & “‘,”
SQL += “kelamin='” & ComboBox1.Text & “‘,”
SQL += “usia='” & TextBox1.Text & “‘,”
SQL += “pekerjaan='” & ComboBox2.Text & “‘,”
SQL += “ktp='” & TextBox2.Text & “‘,”
SQL += “alamat='” & TextBox3.Text & “‘,”
SQL += “telepon='” & TextBox4.Text & “‘ ”
SQL += “Where kode_pas='” & txtkodepasien.Text & “‘”
Proses.ExecuteNonQuery(SQL)
Call bersih()

End Sub

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

Private Sub BtnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHapus.Click
SQL = “delete from tpasien where kode_pas = ‘” & txtkodepasien.Text & “‘”
Proses.ExecuteNonQuery(SQL)
Call bersih()
End Sub
End Class

Sekarang aplikasi siap dijalankan! Diaplikasi tersebut dapat lo liat, setiap kali penambahan pasien maka autonumber-nya akan bekerja dengan otomatis. Penomoran otomatis ini akan memakai attribut “PAS-“. Apabila kalian ingin mengubah sesuai keinginan maka dapat kalian modify dengan sendirinya. Tapi perhatikan proses pengambilan nomor otomatis tersebut :

txtkodepasien.Text = Val(Microsoft.VisualBasic.Mid(txtkodepasien.Text, 5, 3)) + 1

Jadi penghitungannya harus diperhatikan lagi yah bro/sis. Diprogram tersebut lo dapat memanipulasi data seperti add, update, delete.

Berikut ini gw kasih link download untuk Program Klinik yang gw buat buat teman-teman. Semoga bermanfaat…….

———————————————————————————————————————————————————————————————

UPDATED

Bagi teman-teman yang mau membuat autonumber berdasarkan kombinasi Bulan dan Tahun bisa lihat di postingan gw.

LIHAT POSTING TERBARU

Tagged , , , , ,

3 thoughts on “Cara Membuat Autonumber di Visual Basic.Net Menggunakan SQL 2005

  1. fazjrul says:

    wisss mantap’.. calon enginer nih hhee 🙂 😀

  2. Tks bro. Tapi ini belum ada apa2-nya. Ilmu-nya masih cetek abis. Hanya berbagi aja. Calon engineer masih terlalu jauh bro….hehe.
    Anyway tks yah

  3. […] postingan terdahulu gw sudah pernah buat sharing ide cara membuat penomoran otomatis. Baca sebelumnya. Nah kali ini gw mau sedikit improve cara membuat autonumber dengan kombinasi bulan (MM) dan tahun […]

Leave a comment