LAMPIRAN LISTI NG PROGRAM
loginForm.cs using System;
using System.Collections.Generic;
using System.ComponentM odel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
namespace skripsiKristian {
public partial class loginForm : Form {
public loginForm() {
InitializeComponent();
}
OleDbConnection con = new OleDbConnection();
private void login_Click(object sender, EventArgs e) {
if (check() == true) {
homeForm home = new homeForm();
home.Show();
this.Hide();
home.Enabled = true;
} else {
if(usrtxt.Text == "" && passtxt.Text == "") {
M essageBox.Show("Username atau Password Salah","Warning!!");
}
else if (usrtxt.Text == "") {
M essageBox.Show("Silahkan masukkan username", "Warning!!");
}
else if (passtxt.Text == "") {
M essageBox.Show("Silahkan masukkan password", "Warning!!");
} else {
M essageBox.Show("Username dan password salah", "Warning!!");
usrtxt.Text = "";
passtxt.Text = "";
} }
con.Close();
}
//method to check the input public bool check()
{
con.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=
..\\skripsidb.mdb";
con.Open();
DataTable dt = new DataTable();
DataSet ds = new DataSet();
ds.Tables.Add(dt);
OleDbDataAdapter da = new OleDbDataAdapter("Select * from userTable", con);
da.Fill(dt);
foreach (DataRow r in dt.Rows) {
if (r[1].ToString() == usrtxt.Text && r[2].ToString() == passtxt.Text) {
return true;
} }
return false;
} } }
transForm.cs using System;
using System.Collections.Generic;
using System.ComponentM odel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using M icrosoft.VisualBasic;
namespace skripsiKristian {
public partial class transForm : Form {
OleDbConnection conn;
public transForm() {
InitializeComponent();
}
private void open() {
if(conn != null && conn.State == ConnectionState.Open) {
conn.Close();
} try {
conn = new OleDbConnection();
conn.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=
..\\skripsidb.mdb";
conn.Open();
}
catch(Exception ex) {
M essageBox.Show(ex.M essage);
} }
private void itemForm_Load(object sender, EventArgs e)
{
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns.Add("transID", "Trans Id");
dataGridView1.Columns.Add("namapengirim", "Nama Pengirim");
dataGridView1.Columns.Add("alamatpengirim", "Alamat Pengirim");
dataGridView1.Columns.Add("kotaasal", "Kota Asal");
dataGridView1.Columns.Add("namajalantujuan", "Nama Jalan Tujuan");
dataGridView1.Columns.Add("alamattujuanlengkap", "Alamat Tujuan");
dataGridView1.Columns.Add("kotatujuan", "Kota Tujuan");
dataGridView1.Columns.Add("jenispaket", "Jenis Paket");
dataGridView1.Columns.Add("biaya", "Biaya");
dataGridView1.Columns.Add("status", "Status");
dataGridView1.Columns.Add("tanggalmasuk", "Tanggal M asuk");
dataGridView1.Columns.Add("tanggalkeluar", "Tanggal Keluar");
open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM transTable";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value
= reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
}
conn.Close();
}
private void addbtn_Click(object sender, EventArgs e) {
addNewTransForm addData = new addNewTransForm();
addData.Show();
addData.Enabled = true;
}
private void updatebtn_Click(object sender, EventArgs e) {
OleDbDataReader rdr = null;
if (updatetxt.Text != "") {
try {
string sql = string.Format("select * from transTable where transID='" + updatetxt.Text + "'");
open();
OleDbCommand cmd2 = new OleDbCommand(sql, conn);
rdr = cmd2.ExecuteReader();
if (rdr.Read()) {
updateForm update = new updateForm(rdr[0].ToString());
update.Show();
update.Enabled = true;
conn.Close();
} else {
M essageBox.Show("ID tidak ditemukkan", "Warning!!");
conn.Close();
} }
catch (Exception ex) {
M essageBox.Show(ex.M essage);
} } else {
M essageBox.Show("Please enter the Trans ID");
} }
//untuk merefresh tampilan datagrid
private void refreshbtn_Click(object sender, EventArgs e) {
dataGridView1.Rows.Clear();
dataGridView1.AllowUserToAddRows = false;
open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM transTable";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value
= reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
}
conn.Close();
}
private void srcbtn_Click(object sender, EventArgs e) {
OleDbDataReader reader = null;
try {
//menentukan jenis search text if(namaradiobtn.Checked == true) {
string sql = string.Format("select * from transTable where namapengirim like '%" + searcht xt.Text + "%'");
open();
OleDbCommand cmd4 = new OleDbCommand(sql,conn);
reader = cmd4.ExecuteReader();
if (reader.Read()) {
M essageBox.Show("Data ditemukan");
dataGridView1.Rows.Clear();
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
while (reader.Read()) {
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
} } else {
M essageBox.Show("Data tidak ditemukan");
conn.Close();
} }
else if (tujuanradiobtn.Checked == true) {
string sql = string.Format("select * from transTable where alamattujuanlengkap like '%"+searcht xt.Text+"%'");
open();
OleDbCommand cmd4 = new OleDbCommand(sql, conn);
reader = cmd4.ExecuteReader();
if (reader.Read()) {
M essageBox.Show("Data ditemukan");
dataGridView1.Rows.Clear();
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
while (reader.Read()) {
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
}
conn.Close();
} else {
M essageBox.Show("Data tidak ditemukan");
conn.Close();
} } else {
M essageBox.Show("Error");
}
}
catch(Exception ex) {
M essageBox.Show(ex.M essage);
} }
private void deletebtn_Click(object sender, EventArgs e) {
if (deletetxt.Text != "") {
try {
string sql = string.Format("delete * from transTable where transID='" + deletetxt.Text + "'");
open();
OleDbCommand cmd5 = new OleDbCommand(sql, conn);
cmd5.ExecuteNonQuery();
conn.Close();
M essageBox.Show("delete success");
dataGridView1.Rows.Clear();
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns.Add("transID", "Trans Id");
dataGridView1.Columns.Add("namapengirim", "Nama Pengirim");
dataGridView1.Columns.Add("alamatpengirim", "Alamat Pengirim");
dataGridView1.Columns.Add("kotaasal", "Kota Asal");
dataGridView1.Columns.Add("namajalantujuan", "Nama Jalan Tujuan");
dataGridView1.Columns.Add("alamattujuanlengkap", "Alamat Tujuan");
dataGridView1.Columns.Add("kotatujuan", "Kota Tujuan");
dataGridView1.Columns.Add("jenispaket", "Jenis Paket");
dataGridView1.Columns.Add("biaya", "Biaya");
dataGridView1.Columns.Add("status", "Status");
dataGridView1.Columns.Add("tanggalmasuk", "Tanggal M asuk");
dataGridView1.Columns.Add("tanggalkeluar", "Tanggal Keluar");
open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM transTable";
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value = reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
}
conn.Close();
}
catch(Exception ex) {
M essageBox.Show(ex.M essage);
conn.Close();
}
deletetxt.Text = "";
} else {
M essageBox.Show("Silahkan masukkan trans ID");
} } }
}
addNewTransForm.cs using System;
using System.Collections.Generic;
using System.ComponentM odel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
//import refference untuk cek angka using M icrosoft.VisualBasic;
namespace skripsiKristian {
public partial class addNewTransForm : Form {
OleDbConnection conn;
string ambilidjalan;
string ambilwilayah;
OleDbDataReader rdr = null;
public addNewTransForm() {
InitializeComponent();
}
//function to open connection from database private void open()
{
if (conn != null && conn.State == ConnectionState.Open) {
conn.Close();
} try {
conn = new OleDbConnection();
conn.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=
..\\skripsidb.mdb";
conn.Open();
}
catch (Exception ex) {
M essageBox.Show(ex.M essage);
} }
private void clearall() {
namapgtxt.Text = "";
alamatpgtxt.Text = "";
kotaasaltxt.Text = "";
namajalant xt.Text = "";
alamattjtxt.Text = "";
kotatjtxt.Text = "";
biayatxt.Text = "";
}
private void addbtn_Click(object sender, EventArgs e) {
DateTime dt = DateTime.Now;
string date = string.Format("{0:dd/MM /yyyy}", dt) ; DateTime dt2 = DateTime.Now;
string date2 = string.Format("{0:ddMMyy}", dt2);
int number = 1;
int cek = 0;
string id = "TR";
string numberdigit = number.ToString();
id += date2;
if(namapgt xt.Text == "") {
M essageBox.Show("Silahkan masukkan nama pengirim","Warning!!");
}
else if(alamatpgtxt.Text == "") {
M essageBox.Show("Silahkan masukkan alamat pengirim","Warning!!");
}
else if (kotaasalt xt.Text == "") {
M essageBox.Show("Silahkan masukkan kota asal", "Warning!!");
}
else if(namajalant xt.Text == "") {
M essageBox.Show("Silahkan masukkan nama jalan tujuan", "Warning!!");
}
else if (alamattjtxt.Text == "") {
M essageBox.Show("Silahkan masukkan alamat tujuan lengkap",
"Warning!!");
}
else if (kotatjtxt.Text == "") {
M essageBox.Show("Silahkan masukkan kota tujuan", "Warning!!");
}
else if (jenispktcmb.GetItemText(jenispktcmb.SelectedItem).Equals("")) {
M essageBox.Show("Silahkan pilih jenis paket", "Warning!!");
}
else if (biayatxt.Text == "") {
M essageBox.Show("Silahkan masukkan biaya pengiriman", "Warning!!");
}
else if (Information.IsNumeric(biayatxt.Text) == false) {
M essageBox.Show("Biaya pengiriman harus angka", "Warning");
} else {
open();
string sql = string.Format("select * from jalanTable where namajalan = '"+namajalantxt.Text+"'");
OleDbCommand cmd2 = new OleDbCommand(sql, conn);
rdr = cmd2.ExecuteReader();
if (rdr.Read()) {
ambilidjalan = rdr[0].ToString();
ambilwilayah = rdr[4].ToString();
for (int i = 0; i < 4; i++) {
if (numberdigit.Length == 4) break;
else
numberdigit = "0" + numberdigit;
}
id += numberdigit;
while (cek == 0) {
OleDbCommand cmd3 = new OleDbCommand();
cmd3.Connection = conn;
cmd3.CommandText = "SELECT * FROM transTable where transID = '"
+ id + "'";
OleDbDataReader reader = cmd3.ExecuteReader();
if (reader.Read()) {
number++;
id = "TR" + date2;
numberdigit = number.ToString();
for (int i = 0; i < 4; i++) {
if (numberdigit.Length == 4) break;
else
numberdigit = "0" + numberdigit;
}
id += numberdigit;
} else {
cek = 1;
} }
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT INTO transTable (transID, namapengirim, alamatpengirim, kotaasal, namajalantujuan, alamattujuanlengkap, kotatujuan, jenispaket, biaya, status, jalanID, wilayah, tanggalmasuk) VALUES('"+ id +"','" + namapgtxt.Text +
"','" + alamatpgtxt.Text + "','" + kotaasaltxt.Text + "', '"+namajalantxt.Text+"','" + alamattjtxt.Text + "','" + kotatjtxt.Text + "','" + jenispktcmb.SelectedItem.ToString() +
"','" + biayatxt.Text + "', 'Belum Terkirim', '"+ambilidjalan+"', '"+ambilwilayah+"', '"+date+"')";
try {
int count = cmd.ExecuteNonQuery();
M essageBox.Show("Tambah transaksi sukses");
conn.Close();
}
catch(Exception ex) {
M essageBox.Show(ex.M essage);
}
clearall();
//this.Hide();
} else {
M essageBox.Show("Jalan tidak terdapat didalam database","Warning!!");
} } } } }
updateForm.cs using System;
using System.Collections.Generic;
using System.ComponentM odel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
//import refference untuk cek angka using M icrosoft.VisualBasic;
namespace skripsiKristian {
public partial class updateForm : Form {
public string ambil = null;
public string namaPengirim = null;
public string alamatPengirim = null;
public string kotaAsal = null;
public string alamatTujuan = null;
public string kotaTujuan = null;
public string jenisPaket = null;
public string biaya = null;
public string status = null;
public string namajalan = null;
public string idjalan = null;
public string wilayah = null;
public string tanggalmasuk = null;
public string tanggalkeluar = null;
OleDbDataReader rdr = null;
OleDbConnection conn = new OleDbConnection();
public updateForm(string update) {
InitializeComponent();
ambil = update;
}
private void open() {
if (conn != null && conn.State == ConnectionState.Open) {
conn.Close();
} try {
conn = new OleDbConnection();
conn.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=
..\\skripsidb.mdb";
conn.Open();
}
catch (Exception ex) {
M essageBox.Show(ex.M essage);
} }
private void updateForm_Load(object sender, EventArgs e) {
dataGridView1.AllowUserToAddRows = false;
dataGridView1.Columns.Add("transID", "Trans Id");
dataGridView1.Columns.Add("namapengirim", "Nama Pengirim");
dataGridView1.Columns.Add("alamatpengirim", "Alamat Pengirim");
dataGridView1.Columns.Add("kotaasal", "Kota Asal");
dataGridView1.Columns.Add("namajalantujuan", "Nama Jalan Tujuan");
dataGridView1.Columns.Add("alamattujuanlengkap", "Alamat Tujuan");
dataGridView1.Columns.Add("kotatujuan", "Kota Tujuan");
dataGridView1.Columns.Add("jenispaket", "Jenis Paket");
dataGridView1.Columns.Add("biaya", "Biaya");
dataGridView1.Columns.Add("status", "Status");
dataGridView1.Columns.Add("tanggalmasuk", "Tanggal M asuk");
dataGridView1.Columns.Add("tanggalkeluar", "Tanggal Keluar");
open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "SELECT * FROM transTable where transID='" + ambil + "'";
OleDbDataReader reader = cmd.ExecuteReader();
//menampilkan data dari database di datagridview while (reader.Read())
{
dataGridView1.Rows.Add();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["transID"].Value
= reader[0].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namapengirim"].Value = reader[1].ToString();
namaPengirim = reader[1].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamatpengirim"].Value = reader[2].ToString();
alamatPengirim = reader[2].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotaasal"].Value = reader[3].ToString();
kotaAsal = reader[3].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["namajalantujuan"].Value = reader[4].ToString();
namajalan = reader[4].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["alamattujuanlengkap"].Value = reader[5].ToString();
alamatTujuan = reader[5].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["kotatujuan"].Value = reader[6].ToString();
kotaTujuan = reader[6].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["jenispaket"].Value = reader[7].ToString();
jenisPaket = reader[7].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["biaya"].Value = reader[8].ToString();
biaya = reader[8].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["status"].Value = reader[9].ToString();
status = reader[9].ToString();
idjalan = reader[10].ToString();
wilayah = reader[11].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalmasuk"].Value = reader[12].ToString();
tanggalmasuk = reader[12].ToString();
dataGridView1.Rows[dataGridView1.Rows.Count - 1].Cells["tanggalkeluar"].Value = reader[13].ToString();
tanggalkeluar = reader[13].ToString();
}
conn.Close();
}
private void ubahbtn1_Click(object sender, EventArgs e) {
if (ubahbtn1.Text == "Change") {
namapgupdatetxt.ReadOnly = false;
ubahbtn1.Text = "Close";
} else {
namapgupdatetxt.ReadOnly = true;
ubahbtn1.Text = "Change";
} }
private void ubahbtn2_Click(object sender, EventArgs e) {
if (ubahbtn2.Text == "Change") {
alamatpgupdateRtxt.ReadOnly = false;
ubahbtn2.Text = "Close";
} else {
alamatpgupdateRtxt.ReadOnly = true;
ubahbtn2.Text = "Change";
} }
private void ubahbtn3_Click(object sender, EventArgs e) {
if (ubahbtn3.Text == "Change") {
kotaasalupdatetxt.ReadOnly = false;
ubahbtn3.Text = "Close";
} else {
kotaasalupdatetxt.ReadOnly = true;
ubahbtn3.Text = "Change";
} }
private void ubahbtn5_Click(object sender, EventArgs e) {
if (ubahbtn5.Text == "Change") {
alamattjupdateRtxt.ReadOnly = false;
ubahbtn5.Text = "Close";
} else {
alamattjupdateRtxt.ReadOnly = true;
ubahbtn5.Text = "Change";
} }
private void ubahbtn6_Click(object sender, EventArgs e) {
if (ubahbtn6.Text == "Change")
{
kotatjupdatetxt.ReadOnly = false;
ubahbtn6.Text = "Close";
} else {
kotatjupdatetxt.ReadOnly = true;
ubahbtn6.Text = "Change";
} }
private void ubahbtn8_Click(object sender, EventArgs e) {
if (ubahbtn8.Text == "Change") {
jenispktupdatecmbx.Enabled = true;
ubahbtn8.Text = "Close";
} else {
jenispktupdatecmbx.Enabled = false;
ubahbtn8.Text = "Change";
} }
private void ubahbtn10_Click(object sender, EventArgs e) {
if (ubahbtn10.Text == "Change") {
biayaupdatetxt.ReadOnly = false;
ubahbtn10.Text = "Close";
} else {
biayaupdatetxt.ReadOnly = true;
ubahbtn10.Text = "Change";
} }
private void ubahbtn11_Click(object sender, EventArgs e) {
if (ubahbtn11.Text == "Change") {
statuscmbbox.Enabled = true;
ubahbtn11.Text = "Close";
} else {
statuscmbbox.Enabled = false;
ubahbtn11.Text = "Change";
} }
private void addUpdatebtn_Click(object sender, EventArgs e) {
if (namapgupdatetxt.ReadOnly == false && namapgupdatetxt.Text == "") {
M essageBox.Show("Silahkan masukkan nama pengirim", "Warning!!");
}
else if (alamatpgupdateRtxt.ReadOnly == false && alamatpgupdateRtxt.Text ==
"") {
M essageBox.Show("Silahkan masukkan alamat pengirim", "Warning!!");
}
else if (kotaasalupdatetxt.ReadOnly == false && kotaasalupdatetxt.Text == "") {
M essageBox.Show("Silahkan masukkan kota asal", "Warning!!");
}
else if(namajalant xt.ReadOnly == false && namajalantxt.Text == "") {
M essageBox.Show("Silahkan masukkan nama jalan tujuan","Warning!!");
}
else if (alamattjupdateRtxt.ReadOnly == false && alamattjupdateRtxt.Text ==
"") {
M essageBox.Show("Silahkan masukkan alamat tujuan lengkap",
"Warning!!");
}
else if (kotatjupdatetxt.ReadOnly == false && kotatjupdatetxt.Text == "") {
M essageBox.Show("Silahkan masukkan kota tujuan", "Warning!!");
}
else if (jenispktupdatecmbx.Enabled == true &&
jenispktupdatecmbx.GetItemText(jenispktupdatecmbx.SelectedItem).Equals("")) {
M essageBox.Show("Silahkan masukkan jenis paket", "Warning!!");
}
else if (biayaupdatetxt.ReadOnly == false && biayaupdatetxt.Text == "") {
M essageBox.Show("Silahkan masukkan biaya pengiriman", "Warning!!");
}
//validas angka biaya
else if (Information.IsNumeric(biayaupdatetxt.Text) == false &&
biayaupdatetxt.Text != "") {
M essageBox.Show("Biaya pengiriman harus angka", "Warning");
}
else if (statuscmbbox.Enabled == true &&
statuscmbbox.GetItemText(statuscmbbox.SelectedItem).Equals("")) {
M essageBox.Show("Silahkan masukkan perubahan status transaksi",
"Warning!!");
}
else if (namapgupdatetxt.ReadOnly == true && alamatpgupdateRtxt.ReadOnly
== true && kotaasalupdatetxt.ReadOnly == true && alamattjupdateRtxt.ReadOnly ==
true && kotatjupdatetxt.ReadOnly == true && jenispktupdatecmbx.Enabled == false
&& biayaupdatetxt.ReadOnly == true && statuscmbbox.Enabled == false &&
namajalant xt.ReadOnly == true) {
M essageBox.Show("Tidak ada update");
this.Close();
} else {
if (namapgupdatetxt.ReadOnly == false) {
namaPengirim = namapgupdatetxt.Text;
}
if (alamatpgupdateRtxt.ReadOnly == false) {
alamatPengirim = alamatpgupdateRtxt.Text;
}
if (kotaasalupdatetxt.ReadOnly == false) {
kotaAsal = kotaasalupdatetxt.Text;
}
if(namajalantxt.ReadOnly == false) {
namajalan = namajalant xt.Text;
}
if (alamattjupdateRtxt.ReadOnly == false) {
alamatTujuan = alamattjupdateRtxt.Text;
}
if (kotatjupdatetxt.ReadOnly == false) {
kotaTujuan = kotatjupdatetxt.Text;
}
if (jenispktupdatecmbx.Enabled == true) {
jenisPaket = jenispktupdatecmbx.SelectedItem.ToString();
}
if (biayaupdatetxt.ReadOnly == false) {
biaya = biayaupdatetxt.Text;
}
if(statuscmbbox.Enabled == true) {
status = statuscmbbox.SelectedItem.ToString();
} open();
if (namajalantxt.ReadOnly == false && namajalantxt.Text != "") {
string sql5 = string.Format("select * from jalanTable where namajalan = '" + namajalant xt.Text + "'");
OleDbCommand cmd5 = new OleDbCommand(sql5, conn);
rdr = cmd5.ExecuteReader();
if (rdr.Read()) {
idjalan = rdr[0].ToString();
wilayah = rdr[4].ToString();
try {
string sql = string.Format("update transTable set namapengirim='" + namaPengirim + "',alamatpengirim='" + alamatPengirim + "',kotaasal='" + kotaAsal +
"',namajalantujuan='" + namajalan + "',alamattujuanlengkap='" + alamatTujuan +
"',kotatujuan='" + kotaTujuan + "',jenispaket='" + jenisPaket + "',biaya='" + biaya +
"',status='" + status + "', jalanID='" + idjalan + "', wilayah='" + wilayah + "', tanggalmasuk='" + tanggalmasuk + "', tanggalkeluar='" + tanggalkeluar + "' where transID=" + ambil + "");
OleDbCommand cmd3 = new OleDbCommand(sql, conn);
cmd3.ExecuteNonQuery();
conn.Close();
M essageBox.Show("Update Success");
this.Hide();
}
catch (Exception ex) {
M essageBox.Show(ex.M essage);
conn.Close();
} } else {
M essageBox.Show("Jalan tidak terdapat didalam database",
"Warning!!");
} } else { try {
string sql3 = string.Format("update transTable set namapengirim='" + namaPengirim + "',alamatpengirim='" + alamatPengirim + "',kotaasal='" + kotaAsal +
"',namajalantujuan='" + namajalan + "',alamattujuanlengkap='" + alamatTujuan +
"',kotatujuan='" + kotaTujuan + "',jenispaket='" + jenisPaket + "',biaya='" + biaya +
"',status='" + status + "', jalanID='" + idjalan + "', wilayah='" + wilayah + "', tanggalmasuk='" + tanggalmasuk + "', tanggalkeluar='" + tanggalkeluar + "' where transID='" + ambil + "'");
OleDbCommand cmd5 = new OleDbCommand(sql3, conn);
cmd5.ExecuteNonQuery();
conn.Close();
M essageBox.Show("Update Success");
this.Hide();
}
catch (Exception ex) {
M essageBox.Show(ex.M essage);
conn.Close();
} } } }
private void ubahbtn12_Click(object sender, EventArgs e) {
if (ubahbtn12.Text == "Change")
{
namajalant xt.ReadOnly = false;
ubahbtn12.Text = "Close";
} else {
namajalant xt.ReadOnly = true;
ubahbtn12.Text = "Change";
} } } }
proccessForm.cs using System;
using System.Collections.Generic;
using System.ComponentM odel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using M icrosoft.VisualBasic;
//library untuk write and read file using System.IO;
namespace skripsiKristian {
public partial class proccessForm : Form {
OleDbConnection conn;
string[] idtrans;
string[] idjalan;
string[] optimumrute;
double[] koordinat x;
double[] koordinaty;
double[,] jarak;
public int loadmap = 0;
public int loaddata = 0;
public int jmltransaksi = 0;
public proccessForm()
{
InitializeComponent();
}
private void open() {
if (conn != null && conn.State == ConnectionState.Open) {
conn.Close();
} try {
conn = new OleDbConnection();
conn.ConnectionString = "provider= microsoft.jet.oledb.4.0;data source=
..\\skripsidb.mdb";
conn.Open();
}
catch (Exception ex) {
M essageBox.Show(ex.M essage);
} }
private void clearbtn_Click(object sender, EventArgs e) {
jmltranstxt.Text = "";
ruterichtxt.Text = "";
totaljrktxt.Text = "";
}
private void proccessbtn_Click(object sender, EventArgs e) {
DateTime dt = DateTime.Now;
string date = string.Format("{0:dd/MM /yyyy}", dt);
OleDbDataReader rdr2 = null;
koordinatx = new double[101];
koordinaty = new double[101];
jarak = new double[101, 101];
optimumrute = new string[101];
int k = 0;
int i = 0;
int j = 0;
int id = 0;
int cek = 0;
if(loadmap == 0) {
M essageBox.Show("Silahkan Load M ap terlebih dahulu", "Warning!!");
}
else if (loaddata == 0) {
M essageBox.Show("Silahkan Load Data terlebih dahulu", "Warning!!");
} else {
M essageBox.Show("Proccess Start");
string sql2;
open();
do {
sql2 = string.Format("select * from jalanTable");
OleDbCommand cmd2 = new OleDbCommand(sql2, conn);
rdr2 = cmd2.ExecuteReader();
//mengambil koordinat x dan y dari database while (rdr2.Read())
{ try {
cek = 0;
for (int z = 0; z < k; z++) {
if (idjalan[k] == idjalan[z]) {
cek++;
id = z;
} }
if (cek == 0) {
if (idjalan[k] == rdr2[0].ToString()) {
koordinatx[k] = Convert.ToDouble(rdr2[2]);
koordinaty[k] = Convert.ToDouble(rdr2[3]);
k++;
} } else {
koordinatx[k] = koordinat x[id];
koordinaty[k] = koordinaty[id];
k++;
} }
catch (Exception ex) {
M essageBox.Show(ex.M essage);
} }
} while (k != jmltransaksi);
M essageBox.Show("Proccess Finish");
//M essageBox.Show(idjalan[3]);
//M essageBox.Show(Convert.ToString(koordinatx[3]));
//M essageBox.Show(Convert.ToString(koordinaty[3]));
for (i = 0; i < jmltransaksi; i++ ) {
for (j = 0; j < jmltransaksi; j++ ) {
if(i == j) {
jarak[i, j] = 0;
} else {
jarak[i, j] = M ath.Sqrt(((koordinatx[j] - koordinatx[i]) * (koordinatx[j]
- koordinatx[i])) + ((koordinaty[j] - koordinaty[i]) * (koordinaty[j] - koordinaty[i])));
} } } try {
StreamWriter write = new StreamWriter("Jalan.Txt");
for (i = 0; i < jmltransaksi; i++) {
for (j = 0; j < jmltransaksi; j++ )
{
write.Write(Convert.ToString(jarak[i,j]));
if(j == jmltransaksi-1 && i < jmltransaksi-1) {
write.WriteLine();
}
else if(j < jmltransaksi - 1) {
write.Write(" ");
}
else if(j == jmltransaksi && i == jmltransaksi-1 ) {
M essageBox.Show("Write success");
} } }
write.Close();
}
catch(Exception ex) {
M essageBox.Show(ex.M essage);
}
if(jmltransaksi == 1) {
M essageBox.Show("Jumlah Transaksi hanya 1");
ruterichtxt.Text = Convert.ToString(idtrans[0]);
} else {
//Simulated annealing proccess
TravellingSalesmanProblem problem = new TravellingSalesmanProblem();
problem.FilePath = "Jalan.txt";
problem.Anneal();
//inisialisasi gambar
Graphics gambar = this.pictureBox1.CreateGraphics();
Pen pen = new Pen(Color.Black, 2);
SolidBrush brush = new SolidBrush(Color.DarkBlue);
Font font = new Font("Arial", 9);
string path = "";
int x = 0;
path += "Start -> ";
gambar.DrawString(" Start | Finish", font, brush, Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x]] - 20));
for (x = 0; x < problem.CitiesOrder.Count - 1; x++) {
cek = 0;
for (int z = 0; z < x; z++ ) {
if (idjalan[problem.CitiesOrder[x]] ==
idjalan[problem.CitiesOrder[z]]) {
cek++;
} }
if (cek == 0) {
path += idjalan[problem.CitiesOrder[x]] + " -> ";
gambar.DrawString(idjalan[problem.CitiesOrder[x]].ToString(), font, brush, Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]),
Convert.ToInt32(koordinaty[problem.CitiesOrder[x]]));
gambar.DrawLine(pen,
Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x]]), Convert.ToInt32(koordinatx[problem.CitiesOrder[x + 1]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x + 1]]));
} else {
gambar.DrawLine(pen,
Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x]]), Convert.ToInt32(koordinatx[problem.CitiesOrder[x + 1]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x + 1]]));
} } cek = 0;
for (int z = 0; z < x; z++) {
if (idjalan[problem.CitiesOrder[x]] == idjalan[problem.CitiesOrder[z]]) {
cek++;
} }
if (cek == 0) {
path += idjalan[problem.CitiesOrder[x]] + " -> Finish";
} else {
path += " Finish";
}
//draw string id
gambar.DrawString(idjalan[problem.CitiesOrder[x]].ToString(), font, brush, Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]),
Convert.ToInt32(koordinaty[problem.CitiesOrder[x]]));
gambar.DrawLine(pen,
Convert.ToInt32(koordinatx[problem.CitiesOrder[x]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[x]]), Convert.ToInt32(koordinatx[problem.CitiesOrder[0]]), Convert.ToInt32(koordinaty[problem.CitiesOrder[0]]));
//cetak rute
ruterichtxt.Text = path;
//cetak jarak terpendek
//skala google map 200m :: 85 pixel = 200 m, mka 1 pixel = 2.35294 m double totaljarak =
((Convert.ToDouble(problem.ShortestDistance.ToString()) * 2.35294) / 1000);
totaljrktxt.Text = totaljarak.ToString();
loadmap = 0;
//mengganti status menjadi terkirim string sql3;
for (k = 0; k < jmltransaksi; k++) {
sql3 = string.Format("update transTable set status='Terkirim', tanggalkeluar='"+date+"' where transID=" + idtrans[k] + "");
OleDbCommand cmd5 = new OleDbCommand(sql3, conn);
cmd5.ExecuteNonQuery();
} }
conn.Close();
}