PEMOGRAMAN LANJUT ADO adalah suatu komponen object model yang memudahkan aplikasi database yang kita buat untuk berhubungan dengan berbagai sumber database melalui provider OLEDB (object linking and embeded system) Disusun Oleh : Angga Setiyadi, S.kom - Dataprovider = menghubungkan data source dan mendukung akses data. - Dataset = objek yang merepresentasikan data dan relasinya di dalam memory. - DataAdapter = berfungsi untuk mengisi dataset dan memperbaharui database. - DataReader = berfungsi untuk membaca data dari database. Disusun Oleh : Angga Setiyadi, S.kom 1. Jalankan file mysql-connector-net-6.5.4.msi 2. Klik Next Disusun Oleh : Angga Setiyadi, S.kom 3. Pilih typical Disusun Oleh : Angga Setiyadi, S.kom Disusun Oleh : Angga Setiyadi, S.kom 4. Pilih install untuk menginstall mysql connector Disusun Oleh : Angga Setiyadi, S.kom 5. Klik Finsih Kasus sistem informasi simple akademik Deskripsi sistem informasi simple akademik dibuat untuk mempermudah bagian sekertariat dalam mengecek semua mahasiswa yang ada di universitas. sistem yang akan dibangun dalam sistem informasi akademik yaitu sistem yang dapat melakukan penambahan data mahasiswa, melihat data mahasiswa, merubah data mahasiswa, serta dapat menghapus data mahasiswa tersebut. Disusun Oleh : Angga Setiyadi, S.kom 1. Buatlah database dengan menggunakan SQLYOG dengan nama c_sharp_akdmk 2. Buatlah table t_mahasiswa 3. Insert data dalam tabel t_mahasiswa Disusun Oleh : Angga Setiyadi, S.kom Field Type Keterangan nim varchar(8) PK nama varchar(30) - ttl varchar(20) - tgl_lahir date - alamat varchar(40) - nim nama ttl tgl_lahir alamat 10105120 Hendra Herlambang Bandung 1988-05-21 Jl. Tubagus Ismail No 5 10105121 Ratu Husna Bandung 1988-03-20 Jl. Cimandiri 15 10105122 Angga Setiyadi Bandung 1988-10-30 Jl. Sekeloa 20 1. Buat 1 buah project windows form application file new project pilih windows form application nama project : appsimpleakdmk 2. Menambahkan library mysql pada solution explorer - klik kanan appsimpleakdmk add reference klik tab .net pilih mysql.data ok - klik kanan appsimpleakdmk add reference klik tab .net pilih mysql.data.entity ok 3. Buat 3 buah folder pada solution explorer Folder 1 : model Folder 3 : dao Folder 2 : view 4. Buat 2 buah windows form pada folder view nama windows form 1 : frm_mahasiswa.cs nama windows form 2 : frm_tmbh_mahasiswa.cs 5. Buat 1 buah class pada folder dao nama class : mahasiswa_dao.cs Disusun Oleh : Angga Setiyadi, S.kom 6. Klik 2 kali frm_mahasiswa.cs pada solution explorer. ambil dan ubah property beberapa komponen sebagai berikut : Disusun Oleh : Angga Setiyadi, S.kom Komponen Properties Nilai Frm_mahasiswa text Form Mahasiswa startposition Center screen dataGridView1 name dgv_mahasiswa readonly True allowusertoaddrows false textbox1 name txt_nim readonly true textbox2 name txt_nama textbox3 name txt_ttl datetimepicker1 name dtp_tgl_lahir format short textbox4 name txt_alamat multiline true label1 text Nim label2 text Nama label3 text Tempat Lahir label4 text Tanggal Lahir label5 text Alamat Disusun Oleh : Angga Setiyadi, S.kom Komponen Properties Nilai button1 name btn_ubah text Ubah button2 name btn_hapus text Hapus button3 name btn_tmbh text Tambah 7. Klik 2 kali frm_tmbh_mahasiswa.cs pada solution explorer. ambil dan ubah property beberapa komponen sebagai berikut : Disusun Oleh : Angga Setiyadi, S.kom Komponen Properties Nilai Frm_tmbh_mahasiswa text Form Tambah Mahasiswa startposition Center screen Label1 text Nim Label2 text Nama Label3 text Tempat Lahir Label4 text Tanggal Lahir Label5 text Alamat textbox1 name txt_nim textbox2 name txt_nama textbox3 name txt_ttl datetimepicker1 name dtp_tgl_lahir format short textbox4 name txt_alamat multiline true button1 name btn_simpan text Simpan button2 name btn_batal text batal 7. Desain tampilan Form frm_mahasiswa adalah sebagai berikut : 8. Desain tampilan Form frm_tmbh_mahasiswa adalah sebagai berikut : Disusun Oleh : Angga Setiyadi, S.kom 9. Klik 2 kali program.cs dan ubah pada static void main() menjadi Disusun Oleh : Angga Setiyadi, S.kom Application.Run(new Form1()); Application.Run(new appsimpleakdmk.view.frm_mahasiswa()); 10. Klik 2 kali mahasiswa_dao.cs dan tuliskan source code berikut ini : Disusun Oleh : Angga Setiyadi, S.kom using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySql.Data.MySqlClient; using appsimpleakdmk.model; namespace appsimpleakdmk.dao { class mahasiswa_dao { string konf = "server= 127.0.0.1; "+ "port=3306;"+ "UID=root;"+ "PWD=;"+ "database=csharp_akdmk"; MySqlConnection conn = new MySqlConnection(); public mahasiswa_dao() { conn.ConnectionString = konf; } Disusun Oleh : Angga Setiyadi, S.kom public DataSet tampilmahasiswa() { DataSet ds = new DataSet(); conn.Open(); MySqlCommand query = new MySqlCommand(); query.Connection = conn; query.CommandText = "SELECT * FROM t_mahasiswa"; MySqlDataAdapter data = new MySqlDataAdapter(query); data.Fill(ds, "t_mahasiswa"); conn.Close(); return ds; } public bool insertdata(mahasiswa m) { bool stat = false; conn.Open(); MySqlCommand query = new MySqlCommand(); query.Connection = conn; query.CommandText = "INSERT INTO `t_mahasiswa`VALUES ( '"+m.nim+"',"+ "'"+m.nama+"','"+m.tempatlahir+"','"+m.tgllahir+"','"+m.alamat+"')"; query.ExecuteNonQuery(); stat = true; conn.Close(); return stat; } Disusun Oleh : Angga Setiyadi, S.kom public bool updatedata(mahasiswa m) { bool stat = false; conn.Open(); MySqlCommand query = new MySqlCommand(); query.Connection = conn; query.CommandText = "UPDATE `t_mahasiswa` " + "SET `nama`='"+m.nama+"',"+ "`ttl`='"+m.tempatlahir+"',"+ "`tgl_lahir`='1988-03-20'," + "`alamat`='"+m.alamat+"' "+ "WHERE `nim`='"+m.nim+"'"; query.ExecuteNonQuery(); stat = true; conn.Close(); return stat; } public bool hapusdata(mahasiswa m) { bool stat = false; conn.Open(); MySqlCommand query = new MySqlCommand(); query.Connection = conn; query.CommandText = "DELETE FROM t_mahasiswa WHERE `nim`='" + m.nim + "'"; query.ExecuteNonQuery(); stat = true; conn.Close(); return stat; } Disusun Oleh : Angga Setiyadi, S.kom } } 10. Buat 1 buah class pada folder model nama class : mahasiswa.cs 11. Klik 2 kali mahasiswa.cs dan tuliskan source code berikut ini : Disusun Oleh : Angga Setiyadi, S.kom using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace appsimpleakdmk.model { class mahasiswa { private string _nim; public string nim { get { return _nim; } set { _nim = value; } } private string _nama; public string nama { get { return _nama; } set { _nama = value; } } private string _tempatlahir; public string tempatlahir { get { return _tempatlahir; } set { _tempatlahir = value; } } private string _tgllahir; public string tgllahir { get { return _tgllahir; } set { _tgllahir = value; } } private string _alamat; public string alamat { get { return _alamat; } set { _alamat = value; } } } } 12. Klik Kanan pada frm_mahasiswa.cs dan tuliskan source code sebagai berikut : Disusun Oleh : Angga Setiyadi, S.kom using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using appsimpleakdmk.dao; using appsimpleakdmk.model; namespace appsimpleakdmk.view { public partial class frm_mahasiswa : Form { public frm_mahasiswa() { InitializeComponent(); } public void eventclickgrid() { txt_nim.Text = Convert.ToString(dgv_mahasiswa.CurrentRow.Cells[0].Value); txt_nama.Text = Convert.ToString(dgv_mahasiswa.CurrentRow.Cells[1].Value); txt_ttl.Text = Convert.ToString(dgv_mahasiswa.CurrentRow.Cells[2].Value); dtp_tgl_lahir.Text = Convert.ToString(dgv_mahasiswa.CurrentRow.Cells[3].Value); txt_alamat.Text = Convert.ToString(dgv_mahasiswa.CurrentRow.Cells[4].Value); } Disusun Oleh : Angga Setiyadi, S.kom public void kosongkantext() { txt_nim.Text = ""; txt_nama.Text = ""; txt_ttl.Text = ""; dtp_tgl_lahir.Text = ""; txt_alamat.Text = ""; } public void binding() { DataSet data = new mahasiswa_dao().tampilmahasiswa(); dgv_mahasiswa.DataSource = data; dgv_mahasiswa.DataMember = "t_mahasiswa"; DataGridViewColumn kolom0 = dgv_mahasiswa.Columns[0]; kolom0.Width = 60; kolom0.HeaderText = "NIM"; DataGridViewColumn kolom1 = dgv_mahasiswa.Columns[1]; kolom1.Width = 150; kolom1.HeaderText = "Nama"; DataGridViewColumn kolom2 = dgv_mahasiswa.Columns[2]; kolom2.Width = 100; kolom2.HeaderText = "Tempat Lahir"; DataGridViewColumn kolom3 = dgv_mahasiswa.Columns[3]; kolom3.Width = 100; kolom3.HeaderText = "Tanggal Lahir"; Disusun Oleh : Angga Setiyadi, S.kom DataGridViewColumn kolom4 = dgv_mahasiswa.Columns[4]; kolom4.Width = 230; kolom4.HeaderText = "Alamat"; eventclickgrid(); } private void frm_mahasiswa_Load(object sender, EventArgs e) { binding(); } private void dgv_mahasiswa_MouseClick(object sender, MouseEventArgs e) { eventclickgrid(); } private void dgv_mahasiswa_KeyUp(object sender, KeyEventArgs e) { eventclickgrid(); } private void btn_tambah_Click(object sender, EventArgs e) { frm_tmbh_mahasiswa frm_tmbh = new frm_tmbh_mahasiswa(); if (frm_tmbh.ShowDialog() == DialogResult.OK) { MessageBox.Show("Data Berhasil Di Ditambah","pesan"); binding(); } } Disusun Oleh : Angga Setiyadi, S.kom private void btn_ubah_Click(object sender, EventArgs e) { mahasiswa m = new mahasiswa(); m.nim = txt_nim.Text; m.nama = txt_nama.Text; m.alamat = txt_alamat.Text; m.tempatlahir = txt_ttl.Text; m.tgllahir = dtp_tgl_lahir.Value.ToString("yyyy-MM-dd"); if (new mahasiswa_dao().updatedata(m)) { MessageBox.Show("Data Berhasil Di Ubah"); binding(); } } private void btn_hapus_Click(object sender, EventArgs e) { if (txt_nim.Text == "") { MessageBox.Show("Nim Kosong", "Pesan", MessageBoxButtons.OK); return; } DialogResult dialogResult = MessageBox.Show("Apakah Data Akan Dihapus", "Pesan", MessageBoxButtons.YesNo, MessageBoxIcon.Error); Disusun Oleh : Angga Setiyadi, S.kom if (dialogResult == DialogResult.Yes) { mahasiswa m = new mahasiswa(); m.nim = txt_nim.Text; if (new mahasiswa_dao().hapusdata(m)) { MessageBox.Show("Data Berhasil Di Hapus"); binding(); kosongkantext(); } } } } } 13. Klik Kanan pada frm_tmbh_mahasiswa.cs dan tuliskan source code sebagai berikut : Disusun Oleh : Angga Setiyadi, S.kom using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using appsimpleakdmk.model; using appsimpleakdmk.dao; namespace appsimpleakdmk.view { public partial class frm_tmbh_mahasiswa : Form { public frm_tmbh_mahasiswa() { InitializeComponent(); } private void btn_batal_Click(object sender, EventArgs e) { this.Close(); } Disusun Oleh : Angga Setiyadi, S.kom private void btn_simpan_Click(object sender, EventArgs e) { mahasiswa m = new mahasiswa(); m.nim = txt_nim.Text; m.nama = txt_nama.Text; m.alamat = txt_alamat.Text; m.tempatlahir = txt_ttl.Text; m.tgllahir = dtp_tgl_lahir.Value.ToString("yyyy-MM-dd"); if (new mahasiswa_dao().insertdata(m)) { this.DialogResult = DialogResult.OK; } } } }