Skip to main content

(MySQL) Part 6 Hapus Data Pengguna Pemograman Berorientasi Objek (PBO)

(MySQL) Part 6 Hapus Data Pengguna Pemograman Berorientasi Objek (PBO)

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek.

Class

MySQLConn.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace Youtube.Class
{
    abstract class MySQLConn
    {
        //Penggunaan ExecNonQuery untuk Insert, Delete dan Update
        public abstract int ExecNonQuery(String query);
        //Penggunaan ExecQuery untuk Select
        public abstract DataTable ExecQuery(String query);
    }
}
MySQLService.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Data;
using MySql.Data.MySqlClient;

namespace Youtube.Class
{
    class MySQLService : MySQLConn
    {
        private String strCon = "";
        private MySqlConnection sConn;
        private MySqlCommand sComm;
        private MySqlDataAdapter dtAdp;
        public String Query;

        public MySQLService()
        {
            strCon = Constr();
            sConn = new MySqlConnection(strCon);
            sComm = new MySqlCommand();
            dtAdp = new MySqlDataAdapter();
        }

        public String Constr()
        {
            String data;
            data = "datasource=localhost;port=3306;Initial Catalog='youtube';username=root;password=gizenzio";
            return data;
        }

        public void BukaKoneksi()
        {
            if (sConn.State == ConnectionState.Closed)
            {
                try
                {
                    sConn.Open();
                }
                catch (Exception)
                {}
            }
        }

        public void TutupKoneksi()
        {
            sConn.Close();
        }

        public override int ExecNonQuery(String Query)
             {
                 int retVal = -1;

                 try
                 {
                     BukaKoneksi();
                     sComm.Connection = sConn;
                     sComm.CommandText = Query;
                     retVal = sComm.ExecuteNonQuery();
                 }
                 catch (Exception) { }
                 finally
                 {
                     TutupKoneksi();
                 }
                 return retVal;
             }

        public override DataTable ExecQuery(String Query)
             {
                 DataTable retVal = new DataTable();
                 try
                 {
                     BukaKoneksi();
                     sComm.Connection = sConn;
                     sComm.CommandText = Query;
                     dtAdp.SelectCommand = sComm;
                     dtAdp.Fill(retVal);
                 }
                 catch (Exception) { }
                 finally
                 {
                     TutupKoneksi();
                 }
                 return retVal;
             }
     }
 }

Pengguna.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Youtube.Class
{
    class Pengguna
    {
        private String id;
        private String nama;
        private String email;
        private String subscribe;

        public Pengguna()
        {
            id = "";
            nama = "";
            email = "";
            subscribe = "";
        }

        public String ID
        {
            set { id = value; }
            get { return id; }
        }

        public String NAMA
        {
            set { nama = value; }
            get { return nama; }
        }

        public String EMAIL
        {
            set { email = value; }
            get { return email; }
        }

        public String SUBCRIBE
        {
            set { subcribe = value; }
            get { return subcribe; }
        }
    }
}

PenggunaService.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace Youtube.Class
{
    class PenggunaService : Pengguna
    {
        MySQLService mysql;
        DataTable dt;

        public PenggunaService()
        {
            mysql = new MySQLService();
            dt = new DataTable();
        }

        public void Hapus(String id)
        {
            //Query Hapus Ke Database youtube table pengguna.
            mysql.Query = "DELETE FROM pengguna WHERE id = '" + id + "'";
            if (!(mysql.ExecNonQuery(mysql.Query) > 0))
            {
                throw new Exception("Terjadi kesalahan saat menghapus!");
            }
        }
    }
}

Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Youtube
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }
}

Form
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Youtube.Class;

namespace Youtube
{
    public partial class Form1 : Form
    {
        //Memanggil atau menggunakan class yang telah dibuat
        PenggunaService ps = new PenggunaService();

        public Form1()
        {
            InitializeComponent();
        }

        private void tampilpengguna()
        {
            //Meenggunakan class untuk tampil ke datagridview
            dgvselect.DataSource = ps.Tampil();
        }

        private void btnselect_Click(object sender, EventArgs e)
        {
            //Pada saat button menu select diklik panel insert tinggi menjadi 0 dan panel select menjadi 255
            panelwelcome.Height = 0;
            panelinsert.Height = 0;
            panelupdate.Height = 0;
            paneldelete.Height = 0;
            panelselect.Height = 255;

            //Button akan disable atau tidak bisa diklik
            btnselect.Enabled = false;

            //Button menu lainya akan aktif kecuali button menu select
            btndelete.Enabled = true;
            btninsert.Enabled = true;
            btnupdate.Enabled = true;
        }

        private void btninsert_Click(object sender, EventArgs e)
        {
            //Pada saat button menu insert diklik panel select tinggi menjadi 0 dan panel insert menjadi 255
            panelwelcome.Height = 0;
            panelselect.Height = 0;
            panelupdate.Height = 0;
            paneldelete.Height = 0;
            panelinsert.Height = 255;

            //Button akan disable atau tidak bisa diklik
            btninsert.Enabled = false;

            //Button menu lainya akan aktif kecuali button menu insert
            btnselect.Enabled = true;
            btndelete.Enabled = true;
            btnupdate.Enabled = true;
        }

        private void pictureBox2_Click(object sender, EventArgs e)
        {
            //Keluar atau menghentikan program berjalan
            Environment.Exit(0);
        }

        private void btnsimpan_Click(object sender, EventArgs e)
        {
            //Set nama, nama, subscribe berdasarkan yang diinputkan ke Textbox
            //Menyimpan data pengguna ke database youtube table pengguna
            ps.NIM = txtnim.Text;
            ps.NAMA = txtnama.Text;
            ps.JURUSAN= txtemail.Text;
            ps.SEMESTER = txtsubscriber.Text;
            ps.Simpan();

            //Jika simpan berhasil akan muncul MessageBox dan text akan terbersihkan.
            //MessageBox.Show("Simpan Berhasil");
            txtnim.Clear();
            txtnama.Clear();
            txtemail.Clear();
            txtsubscriber.Clear();

            //Tanpa Message Box hanya bermain text
            btnsimpan.Text = "Simpan Berhasil";

            //Jika button disimpan timer memulai
            timer.Start();

            //Meload datagridview setelah selesai menyimpan
            tampilpengguna();
        }

        public int waktu
        {
            set;
            get;
        }

        private void timer_Tick(object sender, EventArgs e)
        {
            if( waktu > 0 )
            {
                waktu = waktu - 1;
            }
            else
            {
                timer.Stop();
                //Mengganti text btnsimpan yang tadinya Simpan berhasil menjadi Simpan.
                btnsimpan.Text = "Simpan";
                //Mengganti text btnupdate yang tadinya Simpan berhasil menjadi Update.
                btnupdatepengguna.Text = "Update";
                //Mengganti text btnhapus yang tadinya Simpan berhasil menjadi Hapus.
                btnhapus.Text = "Hapus";
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //Form load data akan dipanggil pada saat Form muncul
           tampilpengguna();
        }

        private void btnupdate_Click(object sender, EventArgs e)
        {
            //Pada saat button menu update diklik panel insert tinggi menjadi 0 dan panel select menjadi 255
            panelwelcome.Height = 0;
            panelinsert.Height = 0;
            panelupdate.Height = 255;
            panelselect.Height = 0;
            paneldelete.Height = 0;

            //Button akan disable atau tidak bisa diklik
            btnupdate.Enabled = false;

            //Button menu lainya akan aktif kecuali button menu update
            btnselect.Enabled = true;
            btninsert.Enabled = true;
            btndelete.Enabled = true;
        }

        private void btnupdatepengguna_Click(object sender, EventArgs e)
        {
            //Set nama, nama, subscribe berdasarkan yang diinputkan ke Textbox
            //Mengupdate data pengguna ke database youtube table pengguna
            ps.NAMA = txtnamaupdate.Text;
            ps.JURUSAN = txtemailupdate.Text;
            ps.SEMESTER = txtsubscribeupdate.Text;
            ps.Ubah(txtidupdate.Text);

            //Jika ubah data berhasil
            btnupdatepengguna.Text = "Update Berhasil";
            txtidupdate.Clear();
            txtnamaupdate.Clear();
            txtemailupdate.Clear();
            txtsubscribeupdate.Clear();
           
            //timer berjalan
            timer.Start();

            //Datagridview mereload ulang
            tampilpengguna();
        }

        private void dgvselect_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            //Pada saat datagridview salah satu baris di klik maka value atau isinya akan muncul di textbox bagian update.
            DataGridViewRow row = this.dgvselect.Rows[e.RowIndex];

            //Value Tampil di Textbox Update
            txtidupdate.Text = row.Cells[0].Value.ToString();
            txtnamaupdate.Text = row.Cells[1].Value.ToString();
            txtemailupdate.Text = row.Cells[2].Value.ToString();
            txtsubscribeupdate.Text = row.Cells[3].Value.ToString();

            //Value Tampil di Textbox Delete
            txtidhapus.Text = row.Cells[0].Value.ToString();
            txtnamahapus.Text = row.Cells[1].Value.ToString();
            txtemailhapus.Text = row.Cells[2].Value.ToString();
            txtsubscribehapus.Text = row.Cells[3].Value.ToString();
        }

        private void btnhapus_Click(object sender, EventArgs e)
        {
            //Hanya Text ID pengguna yang digunakan untuk menghapus
            ps.Hapus(txtidhapus.Text);

            //Jika hapus berhasil
            btnhapus.Text = "Hapus Berhasil";
            txtidhapus.Clear();
            txtnamahapus.Clear();
            txtemailhapus.Clear();
            txtsubscribehapus.Clear();

            //Waktu berjalan start
            timer.Start();

            //Reload datagridview
            tampilpengguna();
        }

        private void btndelete_Click(object sender, EventArgs e)
        {
            //Pada saat button menu delete diklik panel insert tinggi menjadi 0 dan panel select menjadi 255
            panelwelcome.Height = 0;
            panelinsert.Height = 0;
            panelupdate.Height = 0;
            panelselect.Height = 0;
            paneldelete.Height = 255;

            //Button akan disable atau tidak bisa diklik
            btndelete.Enabled = false;

            //Button menu lainya akan aktif kecuali button menu delete
            btnselect.Enabled = true;
            btninsert.Enabled = true;
            btnupdate.Enabled = true;

        }

        private void btnkeluar_Click(object sender, EventArgs e)
        {
            //Keluar dari program atau close
            Application.Exit();
        }
    }
}
Saya bagi menjadi beberapa bagian :

#1 - Membuat Database : https://youtu.be/Ho1fiH-N1gc

#2 - Membuat Desain : https://youtu.be/kcBhMA-MhrU

#3 - Simpan Data : https://youtu.be/9q_W6EVySdI

#4 - Tampil Data : https://youtu.be/EVPLgHOXPEQ

#6 - Hapus Data : https://youtu.be/RKx2Qilj8og

Ada pertanyaan langsung di comment youtube.

Comments

Popular posts from this blog

Cara Pertama Memainkan Semua Game PC Dengan Gamepad atau Joystick

For English Language click here Cara bermain semua game menggunakan gamepad atau stick atau joystick. Ini merupakan cara pertama dan paling berhasil untuk bermain game dengan stick atau gamepad atau joystick. Dan beberapa game ada yang tidak bisa dengan cara pertama dan saya buat cara kedua silahkan dibaca disini . Gamepad : Semua jenis stick bisa asalkan bisa dicolokin ke laptop berarti bisa digunakan. Unduh Setelan Gamepad : Pangeran Versi 1 https://mega.nz/#!sxI1gbAY!nSyJMNzwTjk_diJ87byZScfpPAFfdtJRi1s9WJ7I1eE Pangeran Versi 2 https://mega.nz/#!Np4mzRyA!NHgvlQUL7Z6gMEzoyqjRbmpz0Zv1E5UDbZ7PcOVpkBs Gambar 1 Penjelasan Gambar 1 Buka Pangeran versi 1.rar ( 64 bit) atau versi 2.rar (32 bit) Copy ke installasi folder yang terdapat exe untuk menajalankan game copy semua disitu. Saya mencontohkan pada gambar yaitu untuk menjalankan game HMA.exe. Contoh Direktori Game F:\Games\Nama Folder Game\Game.exe Gambar 2 Penjelasan Gambar 2 Jalankan x360ce

How To Play The Sims 4 City Living With Gamepad Or Joystick

How To Play The Sims 4 City Living With Gamepad Or Joystick Cara Memainkan The Sims 4 City Living Dengan Stick PS Joystick Gamepad Just Copy To Installation Folder Copy di installasi folder game Example : F:\Games\The Sims 4 City Living Contoh  : F:\Games\The Sims 4 City Living Use the first way in advance because the average mostly work in the first way, if it does not work both ways alternative wear. Gunakan Cara pertama terlebih dahlu karena rata rata kebanyakan work di cara pertama, jika tidak work alternatif pakai cara kedua. Tutorial Text and Video First Way/Cara Pertama https://grizenzio.blogspot.com/2017/03/cara-pertama-cara-memainkan-semua-game.html Second Way/Cara Kedua https://grizenzio.blogspot.com/2017/03/cara-kedua-cara-memainkan-semua-game-pc.html Many video tutorial gamepad settings for all games https://www.youtube.com/c/GrizenzioOrchivillando The Sims 4: City Living adalah pak ekspansi ketiga untuk The Sims 4

Cara Kedua Memainkan Semua Game PC Dengan Gamepad atau Joystick

For English Language click here Cara bermain semua game menggunakan gamepad atau stick atau joystick. Ini merupakan cara kedua dan paling berhasil untuk bermain game dengan stick atau gamepad atau joystick. Perbedaan dari cara pertama yaitu pada settingan terdapat tambahan yang harus dilakukan. Cara kedua ini harus dilakukan ketika cara pertama gagal. Gamepad : Semua jenis stick bisa asalkan bisa dicolokin ke laptop berarti bisa digunakan. Unduh Setelan Gamepad : Durazno v0.6-29 https://mega.nz/#!xgYBnIya!A6XafQKneIQ4mhCgwsvn6SuuY6sBxEixtvpTyBvOMPA Xbox360_64.exe https://mega.nz/#!885R2KDJ!z1yJyH03PStOQ4xJtNuyJDUZvbdstOskOEcsbPFd9rk Pangeran Versi 1 https://mega.nz/#!sxI1gbAY!nSyJMNzwTjk_diJ87byZScfpPAFfdtJRi1s9WJ7I1eE Pangeran Versi 2 https://mega.nz/#!Np4mzRyA!NHgvlQUL7Z6gMEzoyqjRbmpz0Zv1E5UDbZ7PcOVpkBs XOutput.v0.11.zip https://mega.nz/#!gtREDTSA!wIHO1JO4-bcWXUwAhGt69SWP-eR57z7NHRzgh8O3rxA Gambar 1 Penjelasan Gambar 1 Install Xbox360_64.exe