Monday, January 14, 2013

Latihan Database Program Mahasiswa

Desain Form Mahasiswa
Kita buat dahulu databasenya
Di bawah ini adalah listing program form di atas

Imports MySql.Data.MySqlClient
Public Class Form1
    Public db As New MySql.Data.MySqlClient.MySqlConnection
    Public sql As String
    Public cmd As MySqlCommand
    Public rs As MySqlDataReader

    Sub opendb()
        sql = "server=localhost;uid=root;pwd;database=AKADEMIK"
        Try
            db.ConnectionString = sql
            db.Open()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Sub bersih()
        NPM.Text = ""
        NM.Text = ""
        JNJNG.Text = ""
        JRSN.Text = ""
        rubahtombol(True, False, False, False, True)
        NPM.Enabled = True
    End Sub
    Sub rubahtombol(ByRef btn1 As Boolean, ByVal btn2 As Boolean, ByVal btn3 As Boolean, ByVal btn4 As Boolean, ByVal btn5 As Boolean)
        BR.Enabled = btn1
        SMPN.Enabled = btn2
        HPS.Enabled = btn3
        BTL.Enabled = btn4
        KLR.Enabled = btn5
    End Sub


    Sub buattabel()
        LV.Columns.Add("NPM", 80, HorizontalAlignment.Center)
        LV.Columns.Add("NAMA", 180, HorizontalAlignment.Left)
        LV.Columns.Add("JENJANG", 80, HorizontalAlignment.Left)
        LV.Columns.Add("JURUSAN", 100, HorizontalAlignment.Left)
        LV.GridLines = True
        LV.FullRowSelect = True
        LV.View = View.Details

    End Sub
    Sub isitabel()
        LV.Items.Clear()
        sql = "select*from mahasiswa"
        cmd = New MySqlCommand(sql, db)
        rs = cmd.ExecuteReader
        Try
            While rs.Read
                Dim lst As New ListViewItem
                lst.Text = rs("NPM")
                lst.SubItems.Add(rs("NAMA"))
                lst.SubItems.Add(rs("JENJANG"))
                lst.SubItems.Add(rs("JURUSAN"))
                LV.Items.Add(lst)

            End While
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        rs.Close()
    End Sub

    Sub prosesdb(ByVal log As Integer)
        Dim pesan As String = ""
        Select Case log
            Case 0
                sql = "insert into mahasiswa(NPM,NAMA,JENJANG,JURUSAN)" & _
                    "values('" & NPM.Text & _
                    "','" & NM.Text & _
                    "','" & JNJNG.Text & _
                    "','" & JRSN.Text & "')"
                pesan = "data telah tersimpan"
            Case 1
                sql = "update mahasiswa set nama='" & NM.Text & "', " & _
                    "jenjang='" & JNJNG.Text & "'," & _
                    "jurusan='" & JRSN.Text & "' " & _
                    "where npm='" & NPM.Text & "'"
                pesan = "data telah terupdate"
            Case 2
                sql = "delete from mahasiswa where npm='" & NPM.Text & "'"
                pesan = "data telah dihapus"
        End Select
        Try
            cmd = New MySqlCommand(sql, db)
            cmd.ExecuteNonQuery()
            MsgBox(pesan, MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "konfirmasi")
            Call bersih()
            Call isitabel()
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Sub showdb()
        rs.Read()
        NPM.Text = rs("npm")
        NM.Text = rs("nama")
        JNJNG.Text = rs("jenjang")
        JRSN.Text = rs("jurusan")
        rubahtombol(False, True, True, True, True)
        SMPN.Text = "Edit"
        NPM.Enabled = False
    End Sub

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

    Private Sub BR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BR.Click
        Call bersih()
        NPM.Focus()

    End Sub

    Private Sub BTL_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTL.Click
        Call bersih()
        NPM.Focus()
    End Sub

    Private Sub KLR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KLR.Click
        End
    End Sub

    Private Sub HPS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HPS.Click
        Dim x As String
        x = MsgBox("anda yakin akan dihapus", MsgBoxStyle.Information + MsgBoxStyle.YesNo, "hapus")

        If x = vbYes Then
            Call prosesdb(2)
        End If
    End Sub

    Private Sub SMPN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMPN.Click

        If SMPN.Text = "Simpan" Then prosesdb(0) Else prosesdb(1)
    End Sub

    Private Sub NPM_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles NPM.KeyPress
        Dim tombol As Integer = Asc(e.KeyChar)

        If tombol = 13 Then
            Dim x As String

            If NPM.Text = "" Then
                MsgBox("isi NPM terlebih dahulu")
            Else
                sql = "select * from mahasiswa where NPM='" & NPM.Text & "'"
                cmd = New MySqlCommand(sql, db)
                rs = cmd.ExecuteReader
                Try
                    Call showdb()
                Catch ex As Exception
                    x = NPM.Text
                    bersih()
                    NPM.Text = x
                    rubahtombol(False, True, False, True, False)
                    SMPN.Text = "Simpan"
                End Try
                NM.Focus()
                rs.Close()
            End If
        End If

    End Sub
End Class

CARA PROSESNYA
Tombol SIMPAN
*Klik tombol BARU
*isi data seseuai yg di inginkan
*lalu klik tombol SIMPAN
Maka data akan tersimpan ke List view
TOMBOL HAPUS
*Isi kan NPM yang ada di dalam LIST VIEW
KEMUDIAN DI ENTER maka hasilnya
Lalu Klik data yang akan di hapus


 klik tombol HAPUS



Maka data yang ada di LIST VIEW akan terhapus
TOMBOL EDIT
*Isi kan NPM

 *Kemudian di ENTER
*Tekan TOMBOL EDIT


*Ganti data sesuai yang kita inginkan
 *Kemudian tekan TOMBOL EDIT




Maka data akan terganti 

TOMBOL BATAL
*Isi NPM
 
*Kemudian tekan ENTER
*Tekan TOMBOL BATAL

Maka prosesnya

TOMBOL  KELUAR

*Klik TOMBOLKELUAR
Sekian info dari saya. Selamat Mencobaaaa


No comments:

Post a Comment