|
|
Metode dan Algoritma | Pemrograman OOP Class Entity, Control, Boundary pada C#.NET . Anda bisa melakukan konsultasi tentang Pemrograman OOP Class Entity, Control, Boundary pada C#.NET melalui form di samping kanan !!!
Pada pemrograman web dikenal cara pemrograman MVC atau Model View Controller. Di pemrograman Desktop C#.NET juga dikenal model pemrograman OOP tersebut dengan bentuk class Entity Boundary Control. Misalnya ingin membuat aplikasi yang menampilkan data Buku, maka kita harus membuat Entity/Buku.cs, Control/BukuManager.cs dan Boundary/BukuUI
Pertama-tama pisahkan dahulu koneksi database di Class Connection.cs :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
namespace SIP
{
public class Connection
{
private static string con_str;
static Connection()
{
con_str = @"Data Source=DELL-PC\SQLEXPRESS;Initial Catalog=Perpustakaan_6035_6064;Integrated Security=True";
}
public static string CON_STR
{
set
{
con_str = value;
}
get
{
return con_str;
}
}
public static SqlConnection CON
{
get
{
return new SqlConnection(con_str);
}
}
}
}
Kemudian berikut ini contohnya. buat dahulu folder Entity untuk menempatkan file Entity/Buku.cs :
using System;
using System.Collections.Generic;
using System.Text;
namespace SIP.Entity
{
public class Buku
{
private string isbn;
private string judul;
private string pengarang;
private string penerbit;
private int tahun;
private string status;
public Buku()
{
isbn = "";
judul = "";
pengarang = "";
penerbit = "";
tahun = 0;
status = "";
}
public Buku(string noisbn, string jdl, string pengarangnya, string penerbitnya, int thn, string stat)
{
isbn = noisbn;
judul = jdl;
pengarang = pengarangnya;
penerbit = penerbitnya;
tahun = thn;
status = stat;
}
public string ISBN
{
get
{
return isbn;
}
set
{
isbn = value;
}
}
public string Judul
{
get
{
return judul;
}
set
{
judul = value;
}
}
public string Pengarang
{
get
{
return pengarang;
}
set
{
pengarang = value;
}
}
public string Penerbit
{
get
{
return penerbit;
}
set
{
penerbit = value;
}
}
public int Tahun
{
get
{
return tahun;
}
set
{
tahun = value;
}
}
public string Status
{
get
{
return status;
}
set
{
status = value;
}
}
}
}
Kemudian buat folder Control untuk menempatkan file Control/BukuManager.cs :
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace SIP.Control
{
public class BukuManager
{
public BukuManager()
{
}
public bool addBuku(SIP.Entity.Buku buku)
{
SqlConnection con = Connection.CON;
try
{
con.Open();
SqlCommand sc = new SqlCommand("INSERT INTO BUKU VALUES('" + buku.ISBN + "','" + buku.Judul + "','" + buku.Pengarang + "','"+ buku.Penerbit + "','" + buku.Tahun + "','" + buku.Status + "')", con);
sc.ExecuteNonQuery();
return true;
}
catch (System.Data.SqlClient.SqlException e)
{
return false;
}
catch (Exception e2)
{
return false;
}
finally
{
con.Close();
}
}
public bool validateIsbn(string isbn)
{
SqlConnection con = Connection.CON;
try
{
con.Open();
SqlCommand sc = new SqlCommand("SELECT * FROM BUKU where ISBN= '" + isbn + "'", con);
SqlDataReader dr = sc.ExecuteReader();
return (dr.HasRows ? false : true);
}
catch (System.Data.SqlClient.SqlException e)
{
return false;
}
catch (Exception e1)
{
return false;
}
finally
{
con.Close();
}
}
public DataTable getAllBuku()
{
DataTable dt = new DataTable();
SqlConnection con = Connection.CON;
try
{
con.Open();
SqlDataAdapter ad = new SqlDataAdapter("SELECT * FROM BUKU", con);
ad.Fill(dt);
return (dt);
}
catch (System.Data.SqlClient.SqlException e)
{
return (null);
}
catch (Exception e2)
{
return (null);
}
finally
{
con.Close();
}
}
public bool updateBukuByIsbn(string isbnLama, SIP.Entity.Buku buku)
{
SqlConnection con = Connection.CON;
try
{
con.Open();
SqlCommand sc = new SqlCommand("UPDATE BUKU SET ISBN ='" + buku.ISBN + "', Judul='" + buku.Judul + "', Pengarang='" + buku.Pengarang + "', Penerbit='" + buku.Penerbit + "', Tahun='" + buku.Tahun+ "', Status='" + buku.Status + "' WHERE ISBN='" + isbnLama + "'", con);
sc.ExecuteNonQuery();
return true;
}
catch (System.Data.SqlClient.SqlException e)
{
return false;
}
catch (Exception e2)
{
return false;
}
finally
{
con.Close();
}
}
public bool deleteBukuByIsbn(string isbn)
{
SqlConnection con = Connection.CON;
try
{
con.Open();
SqlCommand sc = new SqlCommand("DELETE FROM BUKU WHERE ISBN = '" + isbn + "'", con);
sc.ExecuteNonQuery();
return true;
}
catch (System.Data.SqlClient.SqlException e)
{
return false;
}
catch (Exception e2)
{
return false;
}
finally
{
con.Close();
}
}
}
}
Setelah itu terakhir buat folder Boundary untuk menempatkan file Boundary/BukuUI.cs :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace SIP.Boundary
{
public partial class BukuUI : Form
{
string isbnLama;
public BukuUI()
{
InitializeComponent();
RefreshGrid();
isbnLama = "";
fillComboKota();
fillComboRole();
}
/*private void fillComboRole()
{
DataTable dt = new DataTable();
CSDS.Control.RoleManager roleManager = new CSDS.Control.RoleManager();
dt.Clear();
dt = roleManager.getAllRole();
comboRole.DataSource = dt;
comboRole.DisplayMember = "NAMAROLE";
comboRole.ValueMember = "IDROLE";
}
private void fillComboKota()
{
DataTable dt = new DataTable();
CSDS.Control.KotaManager kotaManager = new CSDS.Control.KotaManager();
dt.Clear();
dt = kotaManager.getAllKota();
comboKota.DataSource = dt;
comboKota.DisplayMember = "NAMAKOTA";
comboKota.ValueMember = "IDKOTA";
} */
private void RefreshGrid()
{
DataTable dt = new DataTable();
SIP.Control.BukuManager bukMan = new SIP.Control.BukuManager();
try
{
dt.Clear();
dt = bukMan.getAllBuku();
dataGridView1.DataSource = dt;
}
catch (System.Data.SqlClient.SqlException e1)
{
MessageBox.Show("Terjadi kesalahan pada Koneksi database" + e1.Message.ToString().Trim(), "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
catch (Exception e2)
{
MessageBox.Show("Terjadi kesalahan pada Koneksi database" + e2.Message.ToString().Trim(), "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
textISBN.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
textJudul.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
textPengarang.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
textPenerbit.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
textTahun.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
comboStat.Text = dataGridView1.CurrentRow.Cells[5].Value.ToString();
isbnLama = textISBN.Text;
}
private void btnAdd_Click(object sender, EventArgs e)
{
SIP.Entity.Buku buku = new SIP.Entity.Buku();
SIP.Control.BukuManager bukMan = new SIP.Control.BukuManager();
if (textISBN.Text.Trim() != String.Empty && textJudul.Text.Trim() != String.Empty && textPengarang.Text.Trim() != String.Empty && textPenerbit.Text.Trim() != String.Empty && textTahun.Text.Trim() != String.Empty && comboStat.Text.Trim() != String.Empty)
{
if (bukMan.validateIsbn(textISBN.Text.Trim()))
{
buku.ISBN = textISBN.Text.Trim();
buku.Judul = textJudul.Text.Trim();
buku.Pengarang = textPengarang.Text.Trim();
buku.Penerbit = textPenerbit.Text.Trim();
buku.Tahun = int.Parse(textTahun.Text.Trim());
buku.Status = comboStat.Text.Trim();
if (bukMan.addBuku(buku))
{
MessageBox.Show("Data berhasil disimpan!", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
RefreshGrid();
}
else
MessageBox.Show("Data gagal disimpan", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
MessageBox.Show("ISBN '" + textISBN.Text.Trim() + "' sudah terdaftar di database, masukkan ISBN yang lain", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
MessageBox.Show("Masukkan data dengan benar!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void btnEdit_Click(object sender, EventArgs e)
{
SIP.Entity.Buku buku = new SIP.Entity.Buku();
SIP.Control.BukuManager bukMan = new SIP.Control.BukuManager();
if (textISBN.Text.Trim() != String.Empty && textJudul.Text.Trim() != String.Empty && textPengarang.Text.Trim() != String.Empty && textPenerbit.Text.Trim() != String.Empty && textTahun.Text.Trim() != String.Empty && comboStat.Text.Trim() != String.Empty)
{
buku.ISBN = textISBN.Text.Trim();
buku.Judul = textJudul.Text.Trim();
buku.Pengarang = textPengarang.Text.Trim();
buku.Penerbit = textPenerbit.Text.Trim();
buku.Tahun = int.Parse(textTahun.Text.Trim());
buku.Status = comboStat.Text.Trim();
if (bukMan.updateBukuByIsbn(isbnLama, buku))
{
MessageBox.Show("Data berhasil diubah!", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
RefreshGrid();
}
else
MessageBox.Show("Data gagal diubah!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
MessageBox.Show("Masukkan data dengan benar!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
private void btnDelete_Click(object sender, EventArgs e)
{
SIP.Control.BukuManager bukMan = new SIP.Control.BukuManager();
if (bukMan.deleteBukuByIsbn(isbnLama))
{
MessageBox.Show("Data berhasil dihapus!", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
RefreshGrid();
}
else
MessageBox.Show("Data gagal dihapus!", "Perhatian", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
}
ActionScript AS3 ASP.NET AJAX C / C++ C# Clipper COBOL ColdFusion DataFlex Delphi Emacs Lisp Fortran FoxPro Java J2ME JavaScript JScript Lingo MATLAB Perl PHP PostScript Python SQL VBScript Visual Basic 6.0 Visual Basic .NET Flash MySQL Oracle Android
Related Post :

Judul: Pemrograman OOP Class Entity, Control, Boundary pada C#.NET
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Anda sedang membaca artikel tentang
Pemrograman OOP Class Entity, Control, Boundary pada C#.NET, Semoga artikel tentang Pemrograman OOP Class Entity, Control, Boundary pada C#.NET ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link
Pemrograman OOP Class Entity, Control, Boundary pada C#.NET.

{ 0 komentar... Views All / Send Comment! }
Posting Komentar