HENDIKA

Sunday, 20 October 2013


Assalamu 'alaikum...
Salam sejahtera....
Selamat Sore...

Saya di sore hari ini menjelang maghrib saya ingin menulis lagi nih...
Judul saya panjang banget yah Xixixi...:)   inilah program pertama saya saat saya berkenalan dengan yang namanya Database....

Jadi langsung saja yah kita buka VB 2008 nya lalu buat project baru dan design form nya seperti dibawah ini.... gak usah harus sama yah asal ada aja seperti form dibawah ini :)


Setelah itu tambahakan satu lagi contextmenustrip pada form ini.... seperti gambar dibawah ini...


Nah untuk penamaan masing-masing komponen sesuaikan saja yah pada script di bawah ini... :)
dan kopi paste saja script di bawah ini.... :)


Imports MySql.Data.MySqlClient

Public Class Form1
  
    Dim db As New MySql.Data.MySqlClient.MySqlConnection
    Dim sql As String
    Dim cmd As MySqlCommand
    Dim rs As MySqlDataReader
  
    Sub tampil_prodi()
        prodi.Items.Clear()
        If jenjang.Text = "D1" Then
            prodi.Items.Add("Teknisi Komputer")
            prodi.Items.Add("Manajemen Informatika")
            prodi.Items.Add("Desain Grafis")
        ElseIf jenjang.Text = "D3" Then
            prodi.Items.Add("Manajemen Informatika")
            prodi.Items.Add("Komputer Akuntansi")
        Else
            prodi.Items.Add("Teknik Informatika")
            prodi.Items.Add("Sistem Informasi")
        End If
    End Sub

    Sub koneksi_database()
        sql = "server=localhost;uid =root; database = db_mahasiswa"
        Try
            db.ConnectionString = sql
            db.Open()
            MsgBox("Koneksi Database Sukses !!!", , "Informasi Konek")
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            End
        End Try
    End Sub

    Sub isitabel()
        lv.Items.Clear()
        sql = "select * from tbl_mahasiswa"
        cmd = New MySqlCommand(sql, db)
        rs = cmd.ExecuteReader
        Try
            Dim no As Integer = 0
            While rs.Read
                no += 1
                Dim isi As New ListViewItem
                isi.Text = no
                isi.SubItems.Add(rs("npm"))
                isi.SubItems.Add(rs("nama"))
                isi.SubItems.Add(rs("alamat"))
                isi.SubItems.Add(rs("tempat_lahir") & ", " & rs("tanggal_lhr"))
                isi.SubItems.Add(rs("jenjang"))
                isi.SubItems.Add(rs("prodi"))
                isi.SubItems.Add(rs("telephone"))
                lv.Items.Add(isi)
            End While
        Catch ex As Exception
            MessageBox.Show(ex.Message)
            End
        End Try
        rs.Close()
    End Sub

    Sub buat_table()
        lv.Columns.Add("No", 30, HorizontalAlignment.Center)
        lv.Columns.Add("NPM", 80, HorizontalAlignment.Center)
        lv.Columns.Add("Nama", 170, HorizontalAlignment.Left)
        lv.Columns.Add("Alamat", 270, HorizontalAlignment.Left)
        lv.Columns.Add("Tempat/Tanggal Lahir", 120, HorizontalAlignment.Center)
        lv.Columns.Add("Jenjang", 70, HorizontalAlignment.Center)
        lv.Columns.Add("Prodi", 130, HorizontalAlignment.Left)
        lv.Columns.Add("Telephone", 100, HorizontalAlignment.Center)
        lv.GridLines = True
        lv.FullRowSelect = True
        lv.View = View.Details
    End Sub

    Sub bersih()
        npm.Text = ""
        nama.Text = ""
        alamat.Text = ""
        tempat.Text = ""
        tanggal.Text = Now
        jenjang.Text = ""
        jenjang.Items.Clear()
        prodi.Text = ""
        prodi.Items.Clear()
        telepon.Text = ""
        npm.Enabled = True
        btn_simpan.Text = "Simpan"
        npm.Focus()
        jenjang_tampil()
    End Sub

    Sub jenjang_tampil()
        jenjang.Items.Add("D1")
        jenjang.Items.Add("D3")
        jenjang.Items.Add("S1")
    End Sub

    Sub aktif(ByVal a As Boolean, ByVal b As Boolean)
        npm.Enabled = a
        nama.Enabled = b
        alamat.Enabled = b
        tempat.Enabled = b
        tanggal.Enabled = b
        jenjang.Enabled = b
        prodi.Enabled = b
        telepon.Enabled = b
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        If MsgBox("Yakin Anda Ingin Keluar..", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "Informasi") = MsgBoxResult.No Then
            e.Cancel = True
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        koneksi_database()
        jenjang_tampil()
        buat_table()
        isitabel()
        aktif(0, 0)
        btn_batal.Enabled = False
        btn_hapus.Enabled = False
        btn_simpan.Enabled = False
    End Sub

    Private Sub btn_keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_keluar.Click
        Me.Close()
    End Sub

    Private Sub jenjang_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles jenjang.KeyDown
        If e.KeyCode = Keys.Enter Then prodi.Focus()
    End Sub

    Private Sub jenjang_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles jenjang.SelectedIndexChanged
        tampil_prodi()
        prodi.Focus()
    End Sub

    Private Sub npm_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles npm.KeyDown
        If e.KeyCode = Keys.Enter Then
            If npm.Text = "" Then
                MsgBox("NPM Tidak Boleh Kosong", , "Informasi Isi Control")
                npm.SelectAll()
            Else
                sql = "select *from tbl_mahasiswa where npm='" & npm.Text & "'"
                cmd = New MySqlCommand(sql, db)
                rs = cmd.ExecuteReader
                rs.Read()
                If rs.HasRows Then
                    npm.Text = rs("npm")
                    nama.Text = rs("nama")
                    alamat.Text = rs("alamat")
                    tempat.Text = rs("tempat_lahir")
                    tanggal.Text = rs("tanggal_lhr")
                    jenjang.Text = rs("jenjang")
                    prodi.Text = rs("prodi")
                    telepon.Text = rs("telephone")
                    btn_simpan.Text = "Edit"
                    aktif(0, 1)
                    btn_simpan.Enabled = True
                    btn_hapus.Enabled = True
                Else
                    aktif(0, 1)
                    btn_simpan.Text = "Simpan"
                    nama.Focus()
                    btn_simpan.Enabled = True
                End If
                rs.Close()
            End If
        End If
    End Sub

    Private Sub npm_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles npm.KeyPress
        If InStr("0123456789", e.KeyChar) = 0 And e.KeyChar <> Chr(8) Then e.KeyChar = Chr(0)
    End Sub

    Private Sub btn_simpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_simpan.Click
        If btn_simpan.Text = "Simpan" Then
            sql = "insert into tbl_mahasiswa values('" & _
            npm.Text & "','" & _
            nama.Text & "','" & _
            alamat.Text & "','" & _
            tempat.Text & "','" & _
            Format(tanggal.Value, "yyyy-MM-dd") & "','" & _
            jenjang.Text & "','" & _
            prodi.Text & "','" & _
            telepon.Text & "')"
            Try
                cmd = New MySqlCommand(sql, db)
                cmd.ExecuteNonQuery()
                MsgBox("Data Telah Berhasil Disimpan", , "Informasi Simpan")
                isitabel()
                bersih()
                btn_simpan.Enabled = False
                btn_hapus.Enabled = False
                aktif(0, 0)
                si.Enabled = True
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        Else
            sql = "update tbl_mahasiswa set nama= '" & nama.Text & _
            "', alamat = '" & alamat.Text & _
            "', tempat_lahir = '" & tempat.Text & _
            "', tanggal_lhr = '" & Format(tanggal.Value, "yyyy-MM-dd") & _
            "', jenjang = '" & jenjang.Text & _
            "', prodi = '" & prodi.Text & _
            "', telephone = '" & telepon.Text & _
            "' where npm='" & npm.Text & "'"
            Try
                cmd = New MySqlCommand(sql, db)
                cmd.ExecuteNonQuery()
                MsgBox("Data Telah Berhasil di Edit", , "Informasi Edit")
                isitabel()
                bersih()
                btn_hapus.Enabled = False
                btn_simpan.Enabled = False
                aktif(0, 0)
                si.Enabled = True
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            End Try
        End If
    End Sub

    Private Sub btn_baru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles si.Click
        aktif(1, 0)
        bersih()
        npm.Focus()
        si.Enabled = False
        btn_simpan.Enabled = False
        btn_hapus.Enabled = False
    End Sub

    Private Sub btn_batal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_batal.Click
        aktif(1, 0)
        bersih()
        btn_simpan.Enabled = False
        btn_hapus.Enabled = False
    End Sub

    Private Sub btn_hapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_hapus.Click
        sql = "delete from tbl_mahasiswa where npm='" & npm.Text & "'"
        Try
            cmd = New MySqlCommand(sql, db)
            If MsgBox("Yakin ingin di hapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "") = MsgBoxResult.Yes Then
                cmd.ExecuteNonQuery()
                MsgBox("Data Sudah Terhapus", , "Informasi Hapus")
                isitabel()
                bersih()
                btn_simpan.Enabled = False
                btn_hapus.Enabled = False
                aktif(0, 0)
                si.Enabled = True
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub npm_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles npm.TextChanged
        If npm.Text = "" Then
            btn_batal.Enabled = False
        Else
            btn_batal.Enabled = True
        End If
    End Sub

    Private Sub nama_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles nama.KeyDown
        If e.KeyCode = Keys.Enter Then alamat.Focus()
    End Sub

    Private Sub tempat_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tempat.KeyDown
        If e.KeyCode = Keys.Enter Then tanggal.Focus()
    End Sub

    Private Sub prodi_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles prodi.KeyDown
        If e.KeyCode = Keys.Enter Then telepon.Focus()
    End Sub

    Private Sub prodi_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles prodi.SelectedIndexChanged
        telepon.Focus()
    End Sub

    Private Sub telepon_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles telepon.KeyDown
        If e.KeyCode = Keys.Enter Then btn_simpan_Click(sender, e)
    End Sub

    Private Sub lv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lv.MouseUp
        If lv.SelectedItems.Count <> 0 Then
            If e.Button = Windows.Forms.MouseButtons.Right Then
                lv.ContextMenuStrip = ContextMenuStrip1
            End If
        End If
    End Sub

    Private Sub HapusToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HapusToolStripMenuItem.Click
        sql = "delete from tbl_mahasiswa where npm='" & lv.SelectedItems(0).SubItems(1).Text & "'"
        Try
            cmd = New MySqlCommand(sql, db)
            If MsgBox("Yakin ingin di hapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "") = MsgBoxResult.Yes Then
                cmd.ExecuteNonQuery()
                MsgBox("Data Sudah Terhapus", , "Informasi Hapus")
                isitabel()
                bersih()
                btn_simpan.Enabled = False
                btn_hapus.Enabled = False
                aktif(0, 0)
                si.Enabled = True
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub EditToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EditToolStripMenuItem.Click
        sql = "select *from tbl_mahasiswa where npm='" & lv.SelectedItems(0).SubItems(1).Text & "'"
        cmd = New MySqlCommand(sql, db)
        rs = cmd.ExecuteReader
        rs.Read()
        Try
            npm.Text = rs("npm")
            nama.Text = rs("nama")
            alamat.Text = rs("alamat")
            tempat.Text = rs("tempat_lahir")
            tanggal.Text = rs("tanggal_lhr")
            jenjang.Text = rs("jenjang")
            prodi.Text = rs("prodi")
            telepon.Text = rs("telephone")
            btn_simpan.Text = "Edit"
            aktif(0, 1)
            nama.Focus()
            btn_simpan.Enabled = True
            btn_hapus.Enabled = True
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
        rs.Close()
    End Sub
End Class


Lumayan panjang yah... scriptnya...   :)
kalau mau download program jadinya klik disini  :)

Ok Selamat Sore... :)
dan Selamat Mencoba :)
Salam hangat selalu... :*

0 komentar:

Post a Comment