Setelah beberapa hari lalu saya memposting tentang Validasi Email dengan VB.NET dan C#
Pada malam hari ini saya akan memposting tentang Membuat Penomoran Otomatis dengan C# dan VB.NET.
Penomoran otomatis biasanya di gunakan ketika kita ingin membuat sebuah program dimana data yang kita inginkan otomatis muncul dengan bentuk yang kita inginkan tanpa harus kita mengetik secara manual,
biasanya penomoran otomatis ada pada penomoran barang,nota dan lain lain

Contoh penomoran dengan format 0001,0002,0003 dan seterusnya

VB.NET
Private conn As SqlConnection
    Private cmd As SqlCommand
    Private rd As SqlDataReader
    Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123"

    Private Sub btn_gen1_Click(sender As Object, e As EventArgs) Handles btn_gen1.Click
        Dim hitung As Long
        Dim urut As String
        ' Mempersiapkan koneksi database
        conn = New SqlConnection(strconn)
        conn.Open()
        ' Perintah untuk mendapatkan nilai terbesar dari field nomor
        cmd = New SqlCommand("select nomor from format1 where nomor in(select max(nomor) from format1) order by nomor desc", conn)
        rd = cmd.ExecuteReader
        rd.Read()
        ' Jika data ditemukan
        If rd.HasRows Then
            ' Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1
            hitung = Strings.Right(rd("nomor"), 4) + 1
            ' Mengambil 4 karakter kanan terakhir dari string hitung+0000
            urut = Strings.Right("0000" & hitung, 4)
        Else
            ' Jika tidak ditemukan maka mengisi variable urut dnegna 0001
            urut = "0001"
        End If
        rd.Close()
        txt_format1.Text = urut
        conn.Close()
    End Sub
C#
private SqlConnection conn;
        private SqlCommand cmd;
        private SqlDataReader rd;
        private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123";

        private void btn_gen1_Click(object sender, EventArgs e)
        {
            long hitung;
            string urut;
            // Mempersiapkan koneksi database
            conn = new SqlConnection(strconn);
            conn.Open();
            // Perintah untuik mendapatkan nilai terbesar dari field nomor
            cmd = new SqlCommand("select nomor from format1 where nomor in (select max(nomor) from format1) order by nomor desc",conn);
            rd =cmd.ExecuteReader();
            rd.Read();
            // Jika data ditemukan
            if (rd.HasRows)
            {
                // Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1
                hitung = Convert.ToInt64(rd["nomor"])+1;
                string joinstr = "0000" + hitung;
                // Mengambil 4 karakter kanan terakhir dari string joinstr
                urut = joinstr.Substring(joinstr.Length-4, 4);
            }
            else
            {
                // Jika tidak ditemukan maka mengisi variable urut dnegna 0001
                urut = "0001";
            }
            rd.Close();
            txt_format1.Text = urut;
            conn.Close();
        }


Contoh penomoran dengan format 0001,0002,0003 dan seterusnya

VB.NET
' Mendeklarasikan variable
    Private conn As SqlConnection
    Private cmd As SqlCommand
    Private rd As SqlDataReader
    Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123"

    Private Sub btn_gen2_Click(sender As Object, e As EventArgs) Handles btn_gen2.Click
        Dim hitung As Long
        Dim urut As String
        ' Mempersiapkan koneksi database
        conn = New SqlConnection(strconn)
        conn.Open()
        ' Perintah untuk mendapatkan nilai terbesar dari field nomor
        cmd = New SqlCommand("select nomor from format2 where nomor in(select max(nomor) from format2) order by nomor desc", conn)
        rd = cmd.ExecuteReader
        rd.Read()
        ' Jika data ditemukan
        If rd.HasRows Then
            ' Mengambil 4 karakter kanan terakhir dari field nomor lalu menambahkan dengan 1
            hitung = Strings.Right(rd("nomor"), 4) + 1
            ' Menambahkan string BRG dengan 4 karakter paling kanan dari string 0000+hitung
            urut = "BRG" + Strings.Right("0000" & hitung, 4)
        Else
            ' Jika tidak ditemukan maka mengisi variable urut dengan BRG0001
            urut = "BRG0001"
        End If
        rd.Close()
        conn.Close()
        txt_format2.Text = urut
    End Sub
C#
private SqlConnection conn;
        private SqlCommand cmd;
        private SqlDataReader rd;
        private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123";

        private void btn_gen2_Click(object sender, EventArgs e)
        {
            long hitung;
            string urut;
            // Mempersiapkan koneksi database;
            conn = new SqlConnection(strconn);
            conn.Open();
            // Perintah untuk mendapatkan nilai terbesar dari field nomor
            cmd = new SqlCommand("select nomor from format2 where nomor in(select max(nomor) from format2) order by nomor desc", conn);
            rd = cmd.ExecuteReader();
            rd.Read();
            // Jika data ditemukan
            if (rd.HasRows)
            {
                // Menambahkan data dari field nomor
                hitung = Convert.ToInt64(rd[0].ToString().Substring(rd["nomor"].ToString().Length - 4,4))+1;
                string joinstr = "0000" + hitung;
                // Mengambil 4 karakter kanan terakhir dari string joinstr lalu di tambahkan dengan string BRG
                urut = "BRG" + joinstr.Substring(joinstr.Length - 4, 4);
            }
            else
            {
                // Jika tidak ditemukan maka mengisi variable urut dengan BRG0001
                urut = "BRG0001";
            }
            rd.Close();
            txt_format2.Text = urut;
            conn.Close();
        }

Contoh penomoran dengan format yyyMMddxxx

VB.NET
Private conn As SqlConnection
    Private cmd As SqlCommand
    Private rd As SqlDataReader
    Private strconn As String = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123"

    Private Sub btn_gen3_Click(sender As Object, e As EventArgs) Handles btn_gen3.Click
        Dim hitung As Long
        Dim urut As String
        ' Mempersiapkan koneksi database
        conn = New SqlConnection(strconn)
        ' Perintah untuk mendapatkan nilai terbesar dari field nomor
        cmd = New SqlCommand("select nomor from format3 where nomor in(select max(nomor) from format3) order by nomor desc", conn)
        conn.Open()
        rd = cmd.ExecuteReader
        rd.Read()
        ' Jika data ditemukan
        If rd.HasRows Then
            ' Jika 8 karakter dari kiri pada field nomor tidak sama dengan Format(Now, "yyyyMMdd")
            If Strings.Left(rd("nomor"), 8) <> Format(Now, "yyyyMMdd") Then
                ' Mengisi variable urut
                urut = Format(Now, "yyyyMMdd") + "0001"
            Else
                ' Menambahkan data dari filed nomor
                hitung = rd("nomor") + 1
                ' Mengisi variable urut
                urut = hitung
            End If
        Else
            ' Jika tidak ditemukan maka mengisi variable urut dengan format date yyyyMMdd+0001
            urut = Format(Now, "yyyyMMdd") + "0001"
        End If
        rd.Close()
        conn.Close()
        txt_format3.Text = urut
    End Sub
C#
private SqlConnection conn;
        private SqlCommand cmd;
        private SqlDataReader rd;
        private string strconn = "Data Source=Kanzato;Initial Catalog=latnomor;Persist Security Info=True;User ID=sa; Password=root123";

        private void btn_gen3_Click(object sender, EventArgs e)
        {
            long hitung;
            string urut;
            // Mempersiapkan koneksi database;
            conn = new SqlConnection(strconn);
            // Perintah untuk mendapatkan nilai terbesar dari field nomor
            cmd = new SqlCommand("select nomor from format3 where nomor in(select max(nomor) from format3) order by nomor desc", conn);
            conn.Open();
            rd = cmd.ExecuteReader();
            rd.Read();
            // Jika data ditemukan
            if (rd.HasRows)
            {
                // Jika 8 karakter dari kiri pada field nomor tidak sama dengan Format(Now, "yyyyMMdd")
                if (rd["nomor"].ToString().Substring(0, 8) != DateTime.Now.ToString("yyyyMMdd"))
                {
                    // Mengisi variable urut
                    urut = DateTime.Now.ToString("yyyyMMdd");
                }
                else
                {
                    // Menambahkan data dari field nomor
                    hitung = Convert.ToInt64(rd["nomor"].ToString())+1;
                    // Mengisi variable urut
                    urut = Convert.ToString(hitung);
                }
            }
            else
            {
                // Jika tidak ditemukan maka mengisi variable urut dengan format date yyyyMMdd0001
                urut = DateTime.Now.ToString("yyyyMMdd") + "0001";
            }
            rd.Close();
            txt_format3.Text = urut;
            conn.Close();
        }

Jalankan program tersebut, berikut screen shot contoh yang saya buat

Membuat Penomoran Otomatis dengan C# dan VB.NET

Anda dapat mendownload source codenya dibawah ini
| VB.NET | C# |
Untuk password silahkan klik disini

Sekian dari saya.
Terima kasih atas kunjugannya semoga bermanfaat
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