Monday 9 September 2013

Tahap Perkuliahan ke-22 : DTKJ312 Pemrograman Aplikasi C# II Tutorial Login-Insert-Update-Delete- C# & MySQL Part 1 - 6


Laporan Aktivitas Belajar
Nama Lengkap
:
WAWAN SARWANI
No. Registrasi
:
1108261344
Alamat email
:
wa1gokill@gmail.com
Opsi
:
Aplikasi Perangkat Lunak
Tahap Perkuliahan ke-
:
22 – DTKJ312
USBJJ
:
SMK Negeri 1 Tanjung Selor

Aktivitas Belajar Mandiri
Kolom di bawah ini berisi uraian singkat aktivitas belajar rutin saya selama Tahap Perkuliahan ini.

Tahap Perkuliahan Ke – 22 (2 s/d 14 September 2013), Mahasiswa diberi tugas untuk membuat aplikasi sederhana menggunakan database MySQL, pada tahap perkuliahan ini, saya membuat aplikasi untuk entry data karyawan ditempat saya magang,

Hari – 1 : Mencari literatur mengenai cara penulisan source code agar bisa terintegrasi dengan database MySQL, melalui internet, buku dan media sosial.

Hari – 2 : Memulai membuat database pada MySQL sesuai dengan keperluan aplikasi yang akan dibuat

Hari – 3 : Memulai mendesain tampilan pada form Visual studio C# 2012, mulai dari login, maupun entry data

Hari – 4 : Mengkoneksikan form login dengan database MySQL, agar bisa membuka dan membaca database yang sudah dibuat

Hari – 5 : Penulisan code program  untuk form entry data, serta mencoba menjalankan program yang sudah dibuat

Hari – 6 : Mendokumentasikan dengan membuat video tutorial.

Hari – 7 : Upload Video

Kolom di bawah ini berisi uraian singkat aktivitas saya di USBJJ selama Tahap Perkuliahan ini.
Minggu Ketujuh magang di PD Bank Perkreditan Rakyat Kabupaten Bulungan, adapun kegiatan dalam minggu ketujuh ( 5 s/d 10 Agustus 2013) adalah Libur dalam rangka Idul Fitri 1434 H:
Minggu Kedelapan magang di PD Bank Perkreditan Rakyat Kabupaten Bulungan, adapun kegiatan dalam minggu kedelapan ( 12 s/d 17 Agustus 2013) adalah :
·     Tanggal 12 Agustus 2013 – Membantu mengecek semua perangkat setelah kegiatan libur panjang idul fitri 1434 H
·   Tanggal 13 Agustus 2013 – Memperbaiki system error karena tidka bisa menyimpan data pada laporan bulanan Bank Indonesia
·  Tanggal 14 Agustus 2013 – Menginstall ulang system operasi untuk Laporan Bank Indonesia karena terkena virus, sehingga menyebabkan SQL database error.
·     Tanggal 15 Agustus 2013 – Mengisi tinta printer yang telah habis
·      Tanggal 16 Agustus 2013 – Backup database server.
·      Tanggal 17 Agustus 2013 – Libur dalam Rangka Perayaan Kemerdekaan RI

Minggu Kesembilan magang di PD Bank Perkreditan Rakyat Kabupaten Bulungan, adapun kegiatan dalam minggu kesembilan ( 19 s/d 24 Agustus 2013) :
·     Tanggal 19 Agustus 2013 – Membersihkan perangkat komputer dan ruang server
·   Tanggal 20 Agustus 2013 – membantu update aplikasi karena adanya penambahan menu pada komputer client.
·     Tanggal 21 Agustus 2013 – Mengisi tinta printer yang telah habis
·     Tanggal 22 Agustus 2013 – Membantu memperbaiki jaringan listrik kantor yang rusak.
·    Tanggal 23 Agustus 2013 – Instalasi sound system untuk kegiatan senam jum’at pagi.
·    Tanggal 24 Agustus 2013 – Membantu pemeliharaan mesing genset.
Minggu Kesepuluh magang di PD Bank Perkreditan Rakyat Kabupaten Bulungan, adapun kegiatan dalam minggu kesepuluh ( 26 s/d 31 Agustus 2013) :
·    Tanggal 26 Agustus 2013 – Backup Aplikasi dan database server.
·    Tanggal 27 Agustus 2013 – memeriksa jaringan CCTV karena terjadi kerusakan.
·    Tanggal 28 Agustus 2013 – Mengisi tinta printer yang telah habis
·    Tanggal 29 Agustus 2013 – Membantu mempersiapkan data untuk laporan bulanan BI
·     Tanggal 30 Agustus 2013 – Instalasi sound system untuk kegiatan senam jum’at pagi.
·     Tanggal 31 Agustus 2013 – Backup dan export data untuk laporan bulanan
Minggu Kesebelas magang di PD Bank Perkreditan Rakyat Kabupaten Bulungan, adapun kegiatan dalam minggu kesebelas (2 s/d 9 September 2013) :
· Tanggal 2 September 2013 – Menyalakan dan menghidupkan genset karena adanya pemadaman listrik.
·  Tanggal 3 September 2013 – Menginstall PC baru karena adanya penambahan karyawan baru
·    Tanggal 4 September 2013 – Memasang jaringan LAN untuk PC baru
·    Tanggal 5 September 2013 – Mengisi tinta printer yang telah habis.
·   Tanggal 6 September 2013 – Membantu mengentry data laporan bulanan BI
·  Tanggal 7 September 2013 – Ijin tidak masuk, karena periksa kesehatan kerumah sakit.
Perkuliahan rutin yang dilaksanakan oleh USBJJ pada hari sabtu tanggal 24 Agustus 2013, saya tidak bisa menghadiri karena kesibukan magang dan keperluan keluarga.
Tanggal 7 Spetember 2013, adanya kunjungan dari Dosen ITB ibu Aciek untuk monitoring kegiatan perkuliahan dan magang pada USBJJ, serta memberika motivasi untuk tetap semangat dalam perkuliahan.
Kolom di bawah ini berisi kendala-kendala yang saya hadapi selama Tahap Perkuliahan ini.
·          


Rangkuman Materi Perkuliahan
Kolom di bawah ini berisi rangkuman materi perkuliahan yang telah saya pelajari dan pahami selama Tahap Perkuliahan ini.

Membuat Aplikasi sederhana menggunakan C# dan database Mysql :
Dalam pembuatan aplikasi ini, sayang menggunakan aplikasi adalah sebagai berikut :
-   Microsoft Visual Studio 2012 Ultimate C#
-   Xampp – phpmyadmin untuk mengelola database MySQL “xampp-win32-1.8.3-beta1-VC11-installer”
-   mysql-connector-net-6.7.4

Adapun Tahapan untuk membuat aplikasi adalah sebagai Berikut :
   1.  Membuat database Menggunakan Code SQl

CREATE DATABASE karyawan

2.  Membuat Table untuk Login : 

 


   
     3.  Membuat Desain Login dan source Code



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 MySql.Data.MySqlClient;

namespace DataKaryawan
{
    public partial class LoginForm : Form
    {
        public LoginForm()
        {
            InitializeComponent();
        }

        MySqlConnection conn = new MySqlConnection("server=localhost;username=root;password=root;");

        public bool trylogin (string username, string password)
        {
            MySqlCommand cmd = new MySqlCommand("select * from karyawan.user where username='" + username + "' and password='" + password + "' ;");
            cmd.Connection = conn;
            conn.Open();
            MySqlDataReader reader = cmd.ExecuteReader();
            if (reader.Read() != false)
            {
                if (reader.IsDBNull(0) == true)
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return true;
                }
                else
                {
                    cmd.Connection.Close();
                    reader.Dispose();
                    cmd.Dispose();
                    return true;
                }
            }
            else
            {
                return false;
            }

        }

        private void btn_login_Click(object sender, EventArgs e)
        {
            if (trylogin(txt_username.Text, txt_password.Text) == true)
            {
                MessageBox.Show("Selamat Datang");
                this.Hide();
                EntryData f2 = new EntryData();
                f2.Show();
            }
            else
            {
                MessageBox.Show("User dan Password Salah");
            }
        }
              
               
    }
}


    4.  Membuat Database Untuk Entry Data



    5.  Membuat Desain Entry Data dan Source Code



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 MySql.Data.MySqlClient;
using System.IO;

namespace DataKaryawan
{
    public partial class EntryData : Form
    {
        public EntryData()
        {
            InitializeComponent();
            DBCombo();//Membuat Public ComboBox
        }

        void DBCombo()//Koneksi Ke Database Melalui Combo Box dan menapilakannya
        {
            try
            {
                conn.Open();
                string Lihat_data = "select * from data_kar;";
                MySqlCommand cmd = new MySqlCommand(Lihat_data, conn);
                MySqlDataReader BacaData;
                BacaData = cmd.ExecuteReader();

                while (BacaData.Read())
                {
                    string ListNama = BacaData.GetString("nama");
                    tampildata_combo.Items.Add(ListNama);
                }
                conn.Close();
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

   
        //Koneksi Ke Database

        MySqlConnection conn = new MySqlConnection("server=localhost;username=root;password=root;database=karyawan;");

        // Untuk Pilihan Radio Button Jenis Kelamin
        string Jenis_Kelamin;

        private void lk_btn_CheckedChanged(object sender, EventArgs e)
        {
            Jenis_Kelamin = "Laki - Laki";
        }

        private void pr_btn_CheckedChanged(object sender, EventArgs e)
        {
            Jenis_Kelamin = "Perempuan";
        }

        // Untuk Pilihan Radio Button Status Perkawinan
        string Status_Perkawinan;

        private void BlmNkh_btn_CheckedChanged(object sender, EventArgs e)
        {
            Status_Perkawinan = "Belum Menikah";
        }

        private void nkh_btn_CheckedChanged(object sender, EventArgs e)
        {
            Status_Perkawinan = "Menikah";
        }

        private void cerai_btn_CheckedChanged(object sender, EventArgs e)
        {
            Status_Perkawinan = "Cerai";
        }

       

//Untuk Memilih Gambar dan Disimpan pada Database

private void plh_gmbr_btn_Click(object sender, EventArgs e)
        {
           
            OpenFileDialog DialogImg = new OpenFileDialog();
            DialogImg.Filter = "JPG Files (*.jpg)|*.jpg|PNG Files (*.png)|*.png|All Files (*.*)|*.*";
            if (DialogImg.ShowDialog() == DialogResult.OK)
            {
                string ImgLoc = DialogImg.FileName.ToString();
                Img_Loc_txt.Text = ImgLoc;
                Img_Foto.ImageLocation = ImgLoc;
            }

        }


//Private Untuk membersihkan layar ketika disimpan, edit atau delete
        private void BersihLayar()
        {
            nik_txt.Text = "";
            nama_txt.Text = "";
            tmpt_lhr_txt.Text = "";
            tgl_lhr_timepicker.Text = "";
            alamat_txt.Text = "";
            Img_Foto.Image = null;
            Img_Loc_txt.Text = "";
        }
       
       
     //Untuk Menyimpan Data Kedalam Database MySQL
  
        private void simpan_btn_Click(object sender, EventArgs e)
        {
            byte[] ImgByte = null;
            FileStream FStream = new FileStream(Img_Loc_txt.Text,FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(FStream);
            ImgByte = br.ReadBytes((int)FStream.Length);

            try
            {
                conn.Open();
                string simpan_data = "insert into data_kar (id,nik,nama,tmpt_lhr,tgl_lhr,jns_klmn,stat_kwn,alamat,picture) values ('" + null + "','" + nik_txt.Text + "','" + nama_txt.Text + "','" + tmpt_lhr_txt.Text + "','" + tgl_lhr_timepicker.Text + "','" + Jenis_Kelamin + "','" + Status_Perkawinan + "','" + alamat_txt.Text + "',@Picture)";
                MySqlCommand cmd = new MySqlCommand(simpan_data, conn);
                cmd.Parameters.Add(new MySqlParameter("@Picture", ImgByte));
                cmd.ExecuteReader();
                conn.Close();
                MessageBox.Show("Data Berhasil Simpan");
                BersihLayar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


//Untuk Mengedit Data Kedalam Database MySQL

        private void edit_btn_Click(object sender, EventArgs e)
        {
            byte[] ImgByte = null;
            FileStream FStream = new FileStream(Img_Loc_txt.Text, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(FStream);
            ImgByte = br.ReadBytes((int)FStream.Length);

            try
            {
                conn.Open();
                string edit_data = "update data_kar set nik='" + nik_txt.Text + "',nama='" + nama_txt.Text + "',tmpt_lhr='" + tmpt_lhr_txt.Text + "',tgl_lhr='" + tgl_lhr_timepicker.Text + "',jns_klmn='" + Jenis_Kelamin + "',stat_kwn='" + Status_Perkawinan + "',alamat='" + alamat_txt.Text + "',picture=@Picture where nik='" + nik_txt.Text + "'";
                MySqlCommand cmd = new MySqlCommand(edit_data, conn);
                cmd.Parameters.Add(new MySqlParameter("@Picture", ImgByte));
                cmd.ExecuteReader();
                conn.Close();
                MessageBox.Show("Data Berhasil Edit");
                BersihLayar();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

//Untuk Menghapus Data dari Database MySQL

        DialogResult HapusResult;
        private void hapus_btn_Click(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                string Hapus_data = "delete from data_kar where nik='" + nik_txt.Text + "'";
                MySqlCommand cmd = new MySqlCommand(Hapus_data, conn);                
                cmd.ExecuteReader();
                conn.Close();
               HapusResult = MessageBox.Show("Apakah Anda Ingin Menghapus Data","Konfirmasi",MessageBoxButtons.YesNo);
               if (HapusResult == DialogResult.Yes)
               {
                   string hapus_query = Hapus_data;
                   BersihLayar();
               }
                else
               {
                   MessageBox.Show ("Data Tidak Dihapus");
               }


            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

//Untuk Keluar Dari Aplikasi

        private void keluar_btn_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Benarkah Anda Ingin Keluar Dari Aplikasi Ini", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

//Untuk Menampilkan Data dari Database MySQL melalui ComboBox

        private void tampildata_combo_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                conn.Open();
                string LihatData = "select * from data_kar where nama='"+tampildata_combo.Text+"'";
                MySqlCommand cmd = new MySqlCommand(LihatData, conn);
                MySqlDataReader BacaData;
                BacaData = cmd.ExecuteReader();

                while (BacaData.Read())
                {
                    string SNik = BacaData.GetInt32("nik").ToString();
                    string SNama = BacaData.GetString("nama");
                    string STmpt_lhr = BacaData.GetString("tmpt_lhr");
                    string STgl_lhr = BacaData.GetString("tgl_lhr");
                    string SJns_Klmn = BacaData.GetString("jns_klmn");
                    string SStat_Kwn = BacaData.GetString("stat_kwn");
                    string SAlamat = BacaData.GetString("alamat");

                    nik_txt.Text = SNik;
                    nama_txt.Text = SNama;
                    tmpt_lhr_txt.Text = STmpt_lhr;
                    tgl_lhr_timepicker.Text = STgl_lhr;
                    alamat_txt.Text = SAlamat;

                    // Jenis Kelamin
                    if ((SJns_Klmn) == "Laki - Laki")
                    {
                        lk_btn.Checked = true;
                    }
                    else
                    {
                        pr_btn.Checked = true;
                    }
                  
                    //Status Perkwinan
                    if ((SStat_Kwn) == "Belum Menikah")
                    {
                        BlmNkh_btn.Checked = true;
                    }
                    else if ((SStat_Kwn) == "Menikah")
                    {
                        nkh_btn.Checked = true;
                    }
                    else
                    {
                        cerai_btn.Checked = true;
                    }

                    //Menampilkan Gambar
                    byte[] TampilGambar = (byte[])(BacaData["picture"]);
                    if (TampilGambar == null)
                        Img_Foto.Image = null;
                    else
                    {
                        MemoryStream MStream = new MemoryStream(TampilGambar);
                        Img_Foto.Image = System.Drawing.Image.FromStream(MStream);
                    }

                }
                conn.Close();
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
     
    }
               
}
Video Dokumentasi
Pada kolom ini berisi cuplikan gambar (screenshots) dari Video Dokumentasi yang telah saya buat pada Tahap Perkuliahan ini.



Kolom di bawah ini merupakan uraian yang menceritakan isi Video Dokumentasi yang telah saya buat.
Dalam video tutorial ini, dijelaskan cara :
Membuat Aplikasi sederhana entry data karyawan dengan menggunakan database MySQL, Insert, Update, Delete, Serta menampilkan data kedalam text box
Kolom di bawah ini berisi link yang menampilan Video Dokumentasi yang telah saya upload di Youtube.
Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 1


Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 2


Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 3


Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 4


Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 5


Tugas Tahap Perkuliahan Ke - 22 - Tutorial Login-Insert-Update-Delete- C# & MySQL Part 6


2 comments:

  1. saya sudah mengikuti lagkah2 nya master dan sudah benar semuanya, tp pas yang di combo box ketika datanya sudah tampil , emang gk bisa langsung di edit yah?
    pas saya udah edit ,

    ReplyDelete
  2. apa memang selalu harus diikuti dengan ganti gambar ? baru bisa di edit?

    ReplyDelete