desain database pengelolaan data nilai siswa

Tutorial CRUD C# Sederhana dengan MySql – Studi Kasus Pendataan Nilai Siswa

Posted on

Membuat Koneksi Database di C# dengan MySql

Sebelum kita memulai pembuatan CRUD, anda harus membuat koneksi database terlebih dahulu, agar aplikasi anda dapat terhubung ke database, caranya

  1. Pilih Menu Project kemudian klik Add Class
  2. Beri Nama Koneksi, kemudian tekan Tombol Add
  3. kemudian ketikkan kode beriku tini ke dalam Class Koneksi.cs
public static MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Port=3306;UID=root;PWD=;Database=data_siswa");

dimana “data_siswa” merupakan nama database dari aplikasi ini, sesuaikan namanya jika anda menggunakan nama database yang lain. sehinnga coding lengkapnya seperti ini

Koneksi Database MySql di C 2022

sampai disini anda sudah berhasil membuat koneksi database.

 

Membuat CRUD Aplikasi Pendataan Nilai Siswa

Coding Form Login

Klik 2x pada Button Login kemudian ketik kode berikut

          
Koneksi.conn.Open();
String query = "SELECT * FROM `users` WHERE `email` = '" + txtusername.Text + "' AND `password` = '" + txtpassword.Text + "'";
cmd = new MySqlCommand(query, Koneksi.conn);
dr = cmd.ExecuteReader();

try
{
    if (dr.Read())
    {
        new Dashboard().Show();
        this.Hide();
    }
    else
    {
        MessageBox.Show("Ups! Username atau Password anda Salah");
    }
}
catch (Exception)
{

    MessageBox.Show("Ups! Gagal Login");
}

Koneksi.conn.Close();

Sehingga hasil akhirnya seperti gambar berikut

Coding Login C Mysql

Jalankan Program dengan cara tekan tombol F5 pada Keyboard, kemudian masukkan username : admin@gmail.com dan Password : admin

Coding Form Dashboard

Coding Tombol  Siswa

Klik 2x pada Tombol Siswa, kemudian isi code berikut ini

if (ActiveMdiChild != null)
    ActiveMdiChild.Close();

panel3.Visible = false;
Siswa FormAktif = new Siswa();

FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Siswa";
Coding Tombol Guru

Klik 2x pada Tombol Guru, kemudian isi code berikut ini

if (ActiveMdiChild != null)
    ActiveMdiChild.Close();

panel3.Visible = false;
Guru FormAktif = new Guru();

FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Guru";
Coding Tombol Beranda

Klik 2x pada Logo SMKN 1 Bangil, kemudian isi code berikut ini

if (ActiveMdiChild != null)
    ActiveMdiChild.Close();

panel3.Visible = true;
label1.Text = "Aplikasi Pendataan Nilai";
Coding Tombol Mapel

Klik 2x pada Tombol Mapel, kemudian isi code berikut ini

if (ActiveMdiChild != null)
     ActiveMdiChild.Close();

 panel3.Visible = false;
 Mapel FormAktif = new Mapel();

 FormAktif.MdiParent = this;
 FormAktif.Show();
 label1.Text = "Kelola Data Mata Pelajaran";
Coding Tombol Nilai

Klik 2x pada Tombol Nilai, kemudian isi code berikut ini

if (ActiveMdiChild != null)
    ActiveMdiChild.Close();

panel3.Visible = false;
Nilai FormAktif = new Nilai();

FormAktif.MdiParent = this;
FormAktif.Show();
label1.Text = "Kelola Data Nilai";
Coding Tombol Logout

Klik 2x pada Tombol Logout, kemudian isi code berikut ini

new Login().Show();
this.Hide();

 

Coding Lengkapnya seperti berikut ini

//tombol Siswa
private void btSiswa_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();

            panel3.Visible = false;
            Siswa FormAktif = new Siswa();

            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Siswa";
        }
//Tombol Guru
        private void btGuru_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();

            panel3.Visible = false;
            Guru FormAktif = new Guru();

            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Guru";
        }

//Tombol Beranda di Logo
        private void panel4_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();

            panel3.Visible = true;
            label1.Text = "Aplikasi Pendataan Nilai";
        }
//Tombol Mapel
        private void btMapel_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();

            panel3.Visible = false;
            Mapel FormAktif = new Mapel();

            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Mata Pelajaran";
        }

//Tombol Nilai
        private void btNilai_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();

            panel3.Visible = false;
            Nilai FormAktif = new Nilai();

            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Nilai";
        }

//Tombol Logout
        private void btLogout_Click(object sender, EventArgs e)
        {
            new Login().Show();
            this.Hide();
        }

Coding Form Siswa

Deklarasi Variabel Public

Ada beberapa variabel yang harus dideklarasikan secara public agar variabel tersebut dapat diakses di beberapa method, variabel-variebl ini deklarasikan tepat diatasnya public Siswa() {

public MySqlCommand cmd;
public MySqlDataReader dr;
public String id;

Sehingga hasil akhirnya akan seperti gambar berikut ini

Deklarasi Variabel Public C
Load Data Siswa

Agar data siswa tampil pada DataGridView saat pertama kali form dijalankan, anda harus membuat Method baru dengan nama Tampil(), caranya klik kanan pada Form Siswa kemudian klik View Code atau anda juga dapat menekan tombol F7 pada Keyboard

Kemudian buatlah methode baru seperti berikut ini


private void Tampil()
        {
            try
            {
                //MessageBox.Show("Ini Muncul Saat Form dipanggil");

                Koneksi.conn.Open(); //ini membuka koneksi database

                //ini digunakan untuk mengambil data di tabel siswa
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `data_siswa`.`siswa`", Koneksi.conn);

                //membuat objek Dasa Set Baru
                DataSet ds = new DataSet();

                //ini digunakan untuk mengisi dataset dari Data Adapter
                da.Fill(ds);

                //Mengisi DataGrid Siswa dengan DataSet
                dgsiswa.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {

                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }

Setelah berhasil membuat Method Tampil(), selanjutnya panggil Method tersebut kedalam Form_load, caranya Klik 2x pada Form Siswa kemudian ketikan Tampil();, sehingga hasilnya seperti berikut ini

private void Siswa_Load(object sender, EventArgs e)
{
   Tampil();
   btDelete.Enabled=false;
   btUpdate.Enabled=false; 
   btCancel.Enabled=false;
 }
Clear Semua Control Inputan

Untuk menghapus semua inputan yang ada di Control, anda perlu membuat Method baru dengan nama Clear(), letakkan code berikut ini tepat di atas Method Tampil atau diatas kode private void Tampil()

private void Clear()
{
txtnama.Text = "";
txtalamat.Text = "";
txtemail.Text = "";
txtjurusan.Text = "";
txtnohp.Text = "";
txtcari.Text = "";

btDelete.Enabled = false;
btUpdate.Enabled = false;
btCancel.Enabled = false;
btInsert.Enabled = true;
}
Insert Data Siswa

Klik 2x pada Tombol Insert, kemudian masukkan kode berikut


try
 {
     Koneksi.conn.Open();
     String Queri = "INSERT INTO siswa (`nama`, `jenkel`, `alamat`, `nohp`, `jurusan`, `email`) VALUES ('" + txtnama.Text + "', '" + cbkelamin.Text + "', '" + txtalamat.Text + "', '"+txtnohp.Text+"', '"+txtjurusan.Text+"', '"+txtemail.Text+"')";
     cmd = new MySqlCommand(Queri, Koneksi.conn);
     cmd.ExecuteNonQuery();
     MessageBox.Show("Berhasil Simpan Data Siswa");
     Koneksi.conn.Close();

     Tampil(); //memanggil method Tampil
     Clear(); //memanggil method Clear
 }
 catch (Exception)
 {

     MessageBox.Show("Tambah Data Gagal");
 }
Klik DataGridView

Klik 2x pada DataGridViw, kemudian masukkan kode berikut :

btDelete.Enabled = true;
btUpdate.Enabled = true;
btCancel.Enabled = true;
btInsert.Enabled=false;

int baris = dgsiswa.CurrentCell.RowIndex;
id = dgsiswa.Rows[baris].Cells[0].Value.ToString();
txtnama.Text = dgsiswa.Rows[baris].Cells[1].Value.ToString();
cbkelamin.Text = dgsiswa.Rows[baris].Cells[2].Value.ToString();
txtalamat.Text = dgsiswa.Rows[baris].Cells[3].Value.ToString();
txtnohp.Text = dgsiswa.Rows[baris].Cells[4].Value.ToString();
txtjurusan.Text = dgsiswa.Rows[baris].Cells[5].Value.ToString();
txtemail.Text = dgsiswa.Rows[baris].Cells[6].Value.ToString();
Update Data Siswa

Klik 2x pada Tombol Update, kemudian masukkan kode berikut :

try
 {
     Koneksi.conn.Open();
     String Queri = "UPDATE siswa SET `nama`='"+txtnama.Text+"', `jenkel`='"+cbkelamin.Text+"', `alamat`='"+txtalamat.Text+"', `nohp`='"+txtnohp.Text+"', `jurusan`='"+txtjurusan.Text+"', `email`='"+txtemail.Text+"' WHERE  `id`='"+ id +"'";
     cmd = new MySqlCommand(Queri, Koneksi.conn);
     cmd.ExecuteNonQuery();
     MessageBox.Show("Berhasil Update Data Siswa");
     Koneksi.conn.Close();

     Tampil();
     Clear();
 }
 catch (Exception)
 {

     MessageBox.Show("Update Gagal");
 }
Delete Data Siswa

Klik 2x pada Tombol Delete, kemudian masukkan kode berikut :

try
 {
     Koneksi.conn.Open();

     cmd = new MySqlCommand("DELETE FROM siswa WHERE  `id`= '" + id + "'", Koneksi.conn);
     cmd.ExecuteNonQuery();
     MessageBox.Show("Berhasil Hapus Data Siswa");
     Koneksi.conn.Close();

     Tampil();
     Clear();
 }
 catch (Exception)
 {

     MessageBox.Show("Hapus Data Gagal");
 }
Cancel Inputan

Klik 2x pada Tombol Cancel, kemudian masukkan kode berikut :

Clear();
Pencarian Data Siswa

Klik 2x Textbox Pencarian, kemudian inputkan kode berikut ini :

try
{
   
    Koneksi.conn.Open(); 
    MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `siswa` where nama LIKE '%"+txtcari.Text+"%'", Koneksi.conn);
    DataSet ds = new DataSet();
 
    da.Fill(ds);
    dgsiswa.DataSource = ds.Tables[0];
    Koneksi.conn.Close();
}
catch (Exception)
{

    MessageBox.Show("Duh!!, Ada Error Nih");
}

Sampai disini anda sudah berhasil membuat Crud Data Siswa, untuk Coding form form berikutnya sebetulnya sama dengan Form siswa, hanya mengganti Query dan Komponen inputan saja, namun agar lebih dimengerti, akan saya contohkan pada form-form berikutnya

LANJUTKAN BACA DI PAGE 3

Leave a Reply