Rabu, 26 Maret 2014

Udah membuat ID otomatis, tapi kok ga urut ya setelah di ascending atau descending ?
Contoh misalnya kita mempunyai ID (N-1, N-2, N-3,... N-11) setelah kita mengurutkan berdasarkan ascending kok malah jadi (N-1, N-10, N-11,.... , N9) ?

Bukan Query kita yang salah kok, tapi itu dikarenakan ID kita String ..
Untuk mengurutkan data String memang agak ribet, untuk kali ini kakthoy dengan senang hati berbagi kodingan langsung :)



password : kakthoy.blogspot.com

Tidak lupa program diatas dibuat oleh M Rizki Nugraha (rizki-nugraha.blogspot.com)

Catatan
1. Program diatas menggunakan Visual Studio 2010
2. SQL Server yang digunakan SQL Server 2008
3. Program diatas belum sempurna jadi silahkan di kembangkan

Senin, 24 Maret 2014


                   Mesin pencarian merupakan salah satu elemen penting dari sebuah pemrograman. Hal ini dikarenakan, dengan pencarian kita dapat mengetahui atau mencari data dengan mudah. Mungkin hal tersebut tidak berlaku apabila data hanya sedikit, tapi bagaimana bila datanya ribuan atau jutaan ?Apakah anda dengan tega membuat user mencari data satu persatu ?Oleh karena dasar tersebut kak thoy memberikan solusi, untuk membuat source code pencarian pada Visual Basic.NET.

Disini kak thoy seperti biasa menggunakan Visual Basic 2010 dan SQL Server sebagai databasenya. Kak thoy menggunakan StoredProcedure yah ..
hhe :)
Sebelum
 Sesudah

1. Masukkan textbox dan beri nama txt_cari
2. Database dengan nama "testing"
3. Masukkan DataGridView dengan nama dg_negara
4. klik 2x pada textbox "txt_cari" dan ketikkan kode seperti di bawah ini


Private Sub txt_cari_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_cari.TextChanged
        ds = New DataSet
        da = New SqlDataAdapter
        Dim dv As DataView
        If txt_cari.Text = "" Then 'Test if the textbox is null, then reset thegrid.
            Call tampil_data()
           
        Else
            dc.Connection = konek()
            dc.CommandType = CommandType.StoredProcedure
            dc.CommandText = "cari_negara"
            dc.Parameters.Add("@cari", SqlDbType.VarChar, 255).Value = txt_cari.Text
            da.SelectCommand = dc
            da.Fill(ds, "caripenyakit")
            dv = New DataView(ds.Tables(0))
            dg_negara.DataSource = ds
            dg_negara.DataMember = "caripenyakit"
          
            dc.Parameters.Clear()
        End If
    End Sub


5. dengan tambahan untuk menampilkan data

Private Sub tampil_data()
        dc = New SqlCommand
        da = New SqlDataAdapter
        ds = New DataSet
        dc.Connection = konek()
        dc.CommandType = CommandType.StoredProcedure
        dc.CommandText = "tampil_negara"
        da.SelectCommand = dc
        da.Fill(ds, "Negara")
        dg_negara.DataSource = ds
        dg_negara.DataMember = "Negara"
End Sub

6. dengan tambahan untuk membuat koneksi

Public Function konek() As SqlConnection
        cone = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=SSPI;Persist Security Info=true;")
        Try
            cone.Open()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        Return cone
    End Function

7. isi dari StoredProcedure cari_negara
create proc cari_negara (@cari varchar(255))
as
select @cari= '%'+RTRIM(@cari)+'%';
select id_negara as [ID Negara], nama_negara as [Nama Negara] from tbl_negara where nama_negara like @cari

8. isi dari StoredProcedure tampil_negara
create proc [dbo].[tampil_negara]
as

select * from tbl_negara

9. selesai~


Catatan
1. Program diatas bukan program sepenuhnya, jadi masih perlu dipahami
2. VB yang digunakan Visual Basic 2010 dengan database SQL Server 2008
3. Program diatas benar2 saya buat, jadi sudah dicoba dan hasilnya work 100%

Jumat, 21 Maret 2014

Lagi ngerjain tugas atau melakukan hal asik dengan laptop anda tiba-tiba teman jail dengan menekan tombol Shutdown laptop anda ?
Tenang saja Disini kak thoy akan memberikan trick agar tombol Shutdown tidak berfungsi apabila di pencet. Tidak berfungsi disini bukam rusak ya, tapi untuk menghindari kejadian di atas tadi.

1. Pertama-tama yuuk pilih icon Battery yang berada di pojok kanan bawah (tergantung posisi startnya ada yang di kiri, kanan dan atas) lalu pilih "More power options"


2. Pilih "Choose what the power button does" yang berada diseblah kiri


3. Jadikan pilihan sleep menjadi Do nothing pada pilihan disebalah kanan  "When I press the power button"

4. Dan terakhir pilih Save changes

Selamat Laptop anda sudah tidak mati lagi apabila tombol Shutdown di pencet.

Catatan:
1. Bisa juga dilakukan untuk mengatur LID seperti mengatur tombol Shutdown
2. On Battery : Pengaturan saat laptop menggunakan Battery
3. Plugged in : Pengaturan saat laptop dalam keadaan ter-charger

Kamis, 20 Maret 2014


Kali ini kak thoy akan berbagi ilmu untuk membuat Insert, Update dan Delete pada Visual Studio 2010 dengan database SQL Server

Dari pada basa-basi mending kita ke tkp saja lah..


keterangan:
1. beri nama textbox pada id menjadi txt_id
2. beri nama textbox pada negara menjadi txt_nama
3. beri nama datagridnya menjadi dg_negara
4. beri nama tombol tambah menjadi btn_tambah
5. beri nama tombol ubah menjadi btn_ubah
6. beri nama tombol hapus menjadi btn_hapus
7. beri nama tombol simpan menjadi btn_simpan
8. beri nama datagridview menjadi dg_negara
9. bikin database pada sqlserver dengan nama bebas
10. pada database buat tabel dengan nama tbl_negara dengan isi (id_negara varchar(10) dan nama_negara varchar(255))
11. jadikan primary key pada id_negara
12. Visual Basic yang digunakan adalah Visual Basic 2010
13. Database yang digunakan adalah SQLServer 2008 Express Edition

berikut kodingannya :

Imports System.Data.SqlClient

Public Class Form1
    Dim Conn As SqlConnection
    Dim da As SqlDataAdapter
    Dim ds As DataSet
    Dim dc As SqlCommand
    Dim dr As SqlDataReader
    Dim status As Integer
    Public cone As SqlConnection
    Public Function konek() As SqlConnection
        cone = New SqlConnection("Data Source=.\SQLEXPRESS;Initial Catalog=testing;Integrated Security=SSPI;Persist Security Info=true;")
        Try
            cone.Open()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        Return cone
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call tampil_data()
        Call button_awal()
        Call design_tabel()
    End Sub

    Private Sub id_otomatis()
        Dim sementara As Integer
        Dim isi As String = ""
        dc = New SqlCommand
        dc.Connection = konek()
        dc.CommandType = CommandType.StoredProcedure
        dc.CommandText = "otomatis_id_negara"
        dr = dc.ExecuteReader
        If dr.Read Then
            sementara = CInt(Replace(dr.Item("id_negara"), "N-", ""))
            txt_id.Text = "N-" & CStr(sementara + 1)
        Else
            txt_id.Text = "N-1"
        End If
    End Sub

    Private Sub tampil_data()
        dc = New SqlCommand
        da = New SqlDataAdapter
        ds = New DataSet
        dc.Connection = konek()
        dc.CommandType = CommandType.StoredProcedure
        dc.CommandText = "tampil_negara"
        da.SelectCommand = dc
        da.Fill(ds, "Negara")
        dg_negara.DataSource = ds
        dg_negara.DataMember = "Negara"
    End Sub

    Private Sub button_awal()
        btn_simpan.Enabled = False
        btn_tambah.Enabled = True
        btn_ubah.Enabled = True
        btn_hapus.Enabled = True
        dg_negara.Enabled = True
    End Sub

    Private Sub design_tabel()
        dg_negara.Columns(0).Width = 100
        dg_negara.Columns(1).Width = 175
    End Sub

    Private Sub button_tambah()
        btn_simpan.Enabled = True
        btn_tambah.Enabled = False
        btn_ubah.Enabled = False
        btn_hapus.Enabled = False
        dg_negara.Enabled = False
        txt_id.Enabled = False

    End Sub
    Private Sub button_ubah()
        btn_simpan.Enabled = True
        btn_tambah.Enabled = False
        btn_ubah.Enabled = True
        btn_hapus.Enabled = False
        dg_negara.Enabled = True
        txt_id.Enabled = False

    End Sub
    Private Sub kosongkan()
        txt_id.Text = ""
        txt_nama.Text = ""
    End Sub

    Private Sub btn_ubah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ubah.Click
        Call kosongkan()
        Call button_ubah()
        txt_id.Text = CStr(dg_negara.Item(0, dg_negara.CurrentRow.Index).Value)
        txt_nama.Text = CStr(dg_negara.Item(1, dg_negara.CurrentRow.Index).Value)
    End Sub

    Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hapus.Click
        Dim ans = MsgBox("Apakah anda yakin ingin menghapus data ini?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "")
        If ans = vbNo Then
            Exit Sub
        Else
            dc = New SqlCommand
            dc.Connection = konek()
            dc.CommandType = CommandType.StoredProcedure
            dc.CommandText = "delete_negara"
            dc.Parameters.Add("@id_negara", SqlDbType.VarChar, 10).Value = CStr(dg_negara.Item(0, dg_negara.CurrentRow.Index).Value)
            Try
                dc.ExecuteNonQuery()
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            Call tampil_data()
            Call kosongkan()
            Call button_awal()
            konek.Close()
        End If
    End Sub

    Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_simpan.Click
        If status = 1 Then
            dc = New SqlCommand
            If txt_nama.Text = "" Then
                MsgBox("Nama negara masih kosong")
            Else
                Try
                    dc.Connection = konek()
                    dc.CommandType = CommandType.StoredProcedure
                    dc.CommandText = "insert_negara"
                    dc.Parameters.Add("@id_negara", SqlDbType.VarChar, 10).Value = txt_id.Text
                    dc.Parameters.Add("@nama_negara", SqlDbType.VarChar, 255).Value = txt_nama.Text
                    dc.ExecuteNonQuery()

                    MsgBox("Data Negara Berhasil DItambahkan")
                    Call kosongkan()
                    Call tampil_data()
                    Call button_awal()
                    status = 0
                Catch ex As Exception
                    MsgBox("Data Gagal Disimpan")
                End Try
            End If
        Else
            Dim ans = MsgBox("Apakah anda yakin ingin mengubah data negara ?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "")
            If ans = vbNo Then
                Exit Sub
            Else
                If txt_nama.Text = "" Then
                    MsgBox("Nama Negara masih kosong")
                Else
                    Dim Cd As New SqlCommand
                    Cd.Connection = konek()
                    Cd.CommandType = CommandType.StoredProcedure
                    Cd.CommandText = "update_negara"
                    Cd.Parameters.Add("@id_negara", SqlDbType.VarChar, 10).Value = txt_id.Text
                    Cd.Parameters.Add("@nama_negara", SqlDbType.VarChar, 255).Value = txt_nama.Text
                    status = 0
                    Call button_awal()
                    txt_id.Enabled = True
                    Try
                        Cd.ExecuteNonQuery()
                        Call tampil_data()
                        Call kosongkan()
                        MsgBox("Data negara berhasil diubah")
                        konek.Close()
                        Call kosongkan()
                    Catch ex As Exception
                        MsgBox(ex.Message.ToString)
                    End Try
                End If
            End If
        End If

    End Sub

    Private Sub btn_tambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_tambah.Click
        status = "1"
        Call button_tambah()
        Call id_otomatis()
    End Sub
    
End Class

Penjelasan :
1. isi dari StoredProcedure tampil_negara:
create proc tampil_negara
select id_negara as [ID Negara], nama_negara as [Nama Negara] from tbl_negara

2. isi dari StoredProcedur delete_negara:
create proc delete_negara
as
delete from tbl_negara where id_negara = @id_negara

3. isi dari StoredProcedur update_negara:
create proc update_negara (@id_negara varchar(10),@nama_negara varchar(255))
as
update tbl_negara set id_negara=@id_negara,nama_negara=@nama_negara where id_negara=@id_negara

4. isi dari StoredProcedur insert_negara:
create proc insert_negara (@id_negara varchar(10),@nama_negara varchar(255))
as
insert into tbl_negara values (@id_negara, @nama_negara)

5. untuk menambah data, klik dulu tanda tambahnya dan masukkan nama negaranya -> simpan
6. untuk ubah, pilih dulu data yang mau di ubah pada datagrid trus klik tombol ubah -> nama negara baru -> simpan
7.untuk hapus, pilih dulu data yang mau dihapus pada datagrid trus klik tombol hapus dan selesai

Rabu, 19 Maret 2014



Assalamu'alaykum wr wb

follow my Twitter @ThoyyibA
Berawal dari mencari referensi untuk membuat id otomatis dan selalu berakhir dengan kegagalan ..
kali ini kak thoy akan berbagi sedikit tentang membuat id otomatis pada Visual Studio.NET

Semoga bermanfaat dan bisa dijadikan referensi .. :)
okelah langsung saja kita ke tkp, dari pada lama basa-basi hhe
disini saya ambil contoh untuk pembuatan id otomatis sederhana untuk negara berikut kodingannya

Private Sub id_otomatis()
        Dim sementara As Integer
        Dim isi As String = ""
        dc = New SqlCommand
        dc.Connection = koneksi.konek
        dc.CommandType = CommandType.StoredProcedure
        dc.CommandText = "otomatis_id_negara"
        dr = dc.ExecuteReader
        If dr.Read Then
            sementara = CInt(Replace(dr.Item("id_negara"), "N-", ""))
            txt_id.Text = "N-" & CStr(sementara + 1)
        Else
            txt_id.Text = "N-1"
        End If
    End Sub

Ini Hasilnya :


Catatan dari kak Thoy :
1. Pada program diatas saya menggunakan StoredProcedure dengan nama otomatis_id_negara
2. Isi dari StoredProcedure otomatis_id_ikan adalah select * from tbl_negara order by id_negara desc
3. Pastikan sudah terkoneksi dengan databasenya
4. Data id baru N-5 muncul setelah tombol tambah ane klik

Semoga membantu
Wassalamu'alaykum wr wb