TUGAS MADYA
Diajukan Oleh :
Komputer Informatika
Program Pendidikan Keahlian Bisnis
UNIVERSITAS NEGERI SURABAYA
2009
i
ii
Oleh :
Dosen Pembimbing,
(Ahmad Fauzi)
ii
iii
LEMBAR PERNYATAAN
Tim Penulis
iii
iv
KATA PENGANTAR
Tim Penulis
iv
v
DAFTAR ISI
Halaman Judul......................................................................................i
Lembar Pengesahan.............................................................................ii
Lembar Pernyataan.............................................................................iii
Kata Pengantar...................................................................................iv
Daftar Isi..............................................................................................v
Daftar Gambar....................................................................................vi
Daftar Tabel.......................................................................................vii
BAB I PENDAHULUAN
1.1 Latar Belakang......................................................................1
1.2 Rumusan Masalah.................................................................2
1.3 Tujuan....................................................................................3
1.4 Batasan Masalah...................................................................3
v
vi
BAB IV PENUTUP
4.1 Kesimpulan...........................................................................59
4.2 Saran.....................................................................................59
DAFTAR GAMBAR
2.1 Flowchart Proses Pembelian Obat...............................................4
2.2 Desain Data Base.........................................................................5
2.3 Desain Form Login/Awal............................................................9
2.4 Desain Form Utama...................................................................10
2.5 Desain Form Obat .....................................................................11
2.6 Desain Form Jenis Obat.............................................................13
2.7 Desain Form Pembeli................................................................14
2.8 Desain Form Supplier................................................................16
2.9 Desain Form Transaksi Penjualan............................................18
2.10 Desain Output............................................................................20
3.1 Form Log In...............................................................................21
3.2 Form Utama...............................................................................22
3.3 Form Obat..................................................................................25
3.4 Form Jenis Obat.........................................................................31
3.5 Form Transaksi Penjualan.........................................................37
3.6 Form Pembeli............................................................................44
3.7 Form Supplier............................................................................50
3.8 Form Laporan............................................................................56
vi
vii
DAFTAR TABEL
2.1 Tabel Obat......................................................................................6
2.2 Tabel Jenis Obat.............................................................................6
2.3 Tabel Pembeli................................................................................6
2.4 Tabel Supplier................................................................................7
2.5 Tabel Detail Masuk........................................................................7
2.6 Tabel Detail Jual............................................................................8
2.7 Tabel Transaksi Jual.......................................................................8
2.8 Tabel Transaksi Masuk..................................................................9
vii
viii
viii
ix
BAB I
PENDAHULUAN
ix
1
BAB I
PENDAHULUAN
1
2
dari segi waktu dan akan memberikan data yang cepat, tepat
dan akurat.
Sistem informasi apotek sangatlah penting bagi
Apotek Dharma dalam proses penyajian dan pengolahan data
sehingga memberikan informasi yang dibutuhkan pimpinan
apotek itu sendiri. Oleh karena itu, kualitas sumber daya
manusia juga merupakan faktor penting, di samping itu
diperlukan pula adanya kerjasama yang baik antara karyawan
dan pimpinan apotek akan sangat membantu dalam tercapainya
suatu tujuan pada Apotek Dharma.
Dilihat dari latar belakang tersebut, kami mengambil
suatu kesimpulan bagaimana memberikan yang terbaik bagi
apotek tersebut. Terutama dalam hal mengolah data maka, kami
merasa perlu mengadakan penelitian dengan judul Sistem
Informasi Penjualan Obat Apotek Dharma Jl. Ketintang 170
Surabaya Dengan Menggunakan Microsoft Visual Studio 2005
dan Microsoft Access 2003.
2
3
1.3 Tujuan
3
4
Gambar 2.1
Keterangan :
1. Pembeli memesan obat pada penjual.
2. Apakah obat yang dikehendaki cocok.
3. Kalau tidak cocok pembeli memilih obat yang
cocok lagi. Kalau cocok, obat itu dibeli.
4
5
Gambar 2.2
1. TABEL OBAT
5
6
Tabel 2.1
Tabel 2.2
3. TABEL PEMBELI
Tabel 2.3
4. TABEL SUPPLIER
6
7
Alamat_Supplier No Text
Telepon_Supplier No Text
Tabel 2.4
Tabel 2.5
7
8
Tabel 2.6
Tabel 2.7
8
9
Kode_Supplier No Text
Tanggal_Masuk No Date/Time
Tabel 2.8
Gambar 2.3
Keterangan :
Kolom Username : Digunakan untuk memasukkan nama user.
Kolom Password : Digunakan untuk mengisi password.
9
10
Gambar 2.4
10
11
Gambar 2.5
Keterangan :
Kolom Kode Obat : Kolom yang digunakan untuk
menginputkan kode obat yang
akan kita masukkan.
Kolom Nama Obat : Kolom yang digunakan untuk
menginputkan nama obat yang
akan kita masukkan.
Kolom Harga Jual : Kolom yang digunakan untuk
menginputkan harga obat yang
akan kita masukkan.
Icon Add : Adalah sebuah tombol yang
digunakan untuk menambah data
11
12
12
13
Gambar 2.6
Keterangan :
Kolom Kode Jenis : Kolom yang digunakan untuk
menginputkan kode jenis obat yang
akan kita masukkan.
Kolom Nama Jenis : Kolom yang digunakan untuk
menginputkan jenis obat yang akan
kita masukkan.
Icon Add : Adalah sebuah tombol yang digunakan
untuk menambah data jenis obat yang baru.
Icon Edit : Adalah sebuah tombol yang digunakan
13
14
Gambar 2.7
Keterangan :
Kolom Kode Pembeli : Kolom yang digunakan untuk
14
15
15
16
Gambar 2.8
Keterangan :
Kolom Kode Supplier : Kolom yang digunakan untuk
menginputkan kode supplier yang
akan kita masukkan.
Kolom Nama Supplier : Kolom yang digunakan untuk
menginputkan nama supplier yang
akan kita masukkan.
Kolom Alamat Supplier : Kolom yang digunakan untuk
menginputkan alamat supplier
yang akan kita masukkan.
16
17
17
18
Gambar 2.9
Keterangan :
Kolom Kode Detail Jual : Kolom yang digunakan untuk
menginputkan kode detail jual
yang akan kita masukkan.
Kolom Tanggal Jual : Kolom tanggal ini bekerja secara
otomatis menurut tanggal
terjadinya transaksi.
Kolom Id Pembeli : Kolom yang digunakan untuk
menginputkan id pembeli yang
akan kita masukkan.
Kolom pembeli : Kolom yang digunakan untuk
menginputkan nama pembeli.
Kolom Alamat : Kolom yang digunakan untuk
menginputkan alamat pembeli
yang akan kita masukkan.
18
19
19
20
Gambar 2.10
20
21
BAB III
IMPLEMENTASI SISTEM
Gambar 3.1
Kode Form Log In
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
21
22
AWAL.Show();
txtpassword.Clear();
txtusername.Clear();
}
else
{
MessageBox.Show("GAGAL LOGIN",
"LOGIN", MessageBoxButtons.OK);
txtpassword.Clear();
txtusername.Clear();
txtusername.Focus();
return;
}
}
}
Gambar 3.2
Kode Form Utama
22
23
private void
dataObatToolStripMenuItem_Click(object sender,
EventArgs e)
{
Obat OBAT = new Obat();
OBAT.MdiParent = this;
OBAT.Show();
}
private void
obatToolStripMenuItem1_Click(object sender, EventArgs
e)
{
JenisObat macam = new JenisObat();
macam.MdiParent = this;
macam.Show();
}
private void
dataPembeliToolStripMenuItem_Click(object sender,
EventArgs e)
{
pembeli pelanggan = new pembeli();
pelanggan.MdiParent = this;
pelanggan.Show();
}
private void
dataSupplierToolStripMenuItem_Click(object sender,
EventArgs e)
{
supplier agen = new supplier();
agen.MdiParent = this;
agen.Show();
}
private void
detailToolStripMenuItem1_Click(object sender,
23
24
EventArgs e)
{
DetailObat data = new DetailObat();
data.MdiParent = this;
data.Show();
}
private void
dataTransaksiToolStripMenuItem_Click(object sender,
EventArgs e)
{
penjualan jual= new penjualan(1);
jual.MdiParent = this;
jual.Show();
}
private void
deailPenjualanToolStripMenuItem_Click(object sender,
EventArgs e)
{
DetailPenjualan datapenjualan = new
DetailPenjualan();
datapenjualan.MdiParent = this;
datapenjualan.Show();
}
private void
lAPORANToolStripMenuItem_Click(object sender,
EventArgs e)
{
Laporan laporan = new Laporan();
laporan.MdiParent = this;
laporan.Show();
}
}
24
25
Gambar 3.3
Kode Form Obat
public partial class Obat : Form
{
bool simpan_baru;
string SQL;
DataTable tabelobat = new DataTable();
public Obat()
{
InitializeComponent();
}
25
26
tb_KodeObat.Enabled = status;
tb_NamaObat.Enabled = status;
txtharga.Enabled = status;
tb_KodeObat.Focus();
}
26
27
27
28
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
}
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
simpan_baru = false;
MessageBox.Show("Data berhasil
28
29
29
30
tb_KodeObat.ReadOnly = true;
tb_NamaObat.Focus();
data_edit();
}
private void
toolStripButtondelete_Click(object sender, EventArgs
e)
{
if (tabelobat.Rows.Count > 0)
{
DialogResult tombol =
MessageBox.Show(this, "Apakah data yang terpilih akan
dihapus?", "Hapus Data", MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (tombol == DialogResult.Yes)
{
data_hapus();
}
else
{
MessageBox.Show("Data batal
dihapus", "Data Hapus");
}
}
else
{
MessageBox.Show("Batal menghapus
data", "Data Hapus");
}
}
}
30
31
Gambar 3.4
Kode Form Jenis Obat
public partial class JenisObat : Form
{
bool simpan_baru;
string SQL;
DataTable tabeljenis = new DataTable();
public JenisObat()
{
InitializeComponent();
}
private void status_text(bool status)
31
32
{
tb_kodejenis.Enabled = status;
tb_namajenis.Enabled = status;
tb_kodejenis.Focus();
}
}
private void data_edit()
{
int bariske
32
33
=dg_jenisobat.SelectedCells[0].RowIndex;
try
{
tb_kodejenis.Text
=dg_jenisobat["kode_jenis", bariske].Value.ToString();
tb_namajenis.Text =
dg_jenisobat["nama_jenis", bariske].Value.ToString();
}
catch (Exception X)
{
MessageBox.Show("Data gagal diedit
karena:\n" + X.Message, "Edit Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void data_hapus()
{
int bariske
=dg_jenisobat.SelectedCells[0].RowIndex;
string kode_jenis =dg_jenisobat[0,
bariske].Value.ToString();
SQL = "DELETE FROM Jenis_Obat WHERE
kode_jenis='" + kode_jenis + "'";
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
MessageBox.Show("Data berhasil
dihapus.", "Delete Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
{
MessageBox.Show("Data gagal dihapus
karena:\n" + X.Message, "Delete Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
33
34
}
}
private void data_simpan()
{
if (tb_namajenis.Text == "" ||
tb_namajenis.Text == "")
{
MessageBox.Show("ID dan Nama harus
diisi.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
tb_kodejenis.Focus();
}
else
{
if (simpan_baru == true)
{
SQL = "INSERT INTO
Jenis_Obat(kode_jenis,nama_jenis)" + "VALUES('"
+tb_kodejenis.Text + "','" +tb_namajenis.Text + "')";
}
else
{
SQL = "UPDATE Jenis_Obat SET
nama_jenis='" + tb_namajenis.Text+ "' WHERE
kode_jenis='" +tb_kodejenis.Text + "'";
}
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
simpan_baru = false;
MessageBox.Show("Data berhasil
disimpan.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
{
MessageBox.Show("Data gagal
disimpan karena:\n" + X.Message, "Save Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
34
35
}
finally
{
Program.koneksi.Close();
}
status_text(false);
hilang();
}
}
private void hilang()
{
tb_kodejenis.Clear();
tb_kodejenis.Focus();
tb_namajenis.Clear();
}
35
36
36
37
Gambar 3.5
Kode Form Transaksi
public partial class penjualan : Form
{
protected int Tujuan = 0;
string SQL;
DataTable tabelpenjualan = new DataTable();
InitializeComponent();
status_text(false);
Tujuan =tujuan;
37
38
Program.koneksi.Open();
dataGridView1.ColumnCount = 5;
dataGridView1.Columns[0].HeaderText =
"Kode Obat";
dataGridView1.Columns[1].HeaderText =
"Nama Obat";
dataGridView1.Columns[2].HeaderText =
"Jumlah";
dataGridView1.Columns[3].HeaderText =
"Harga";
dataGridView1.Columns[4].HeaderText =
"Total";
}
private void status_text(bool status)
{
tb_kode.Enabled = status;
tb_tgl.Enabled = status;
tb_jam.Enabled = status;
comboBox1.Enabled = status;
tb_jmlh.Enabled = status;
tb_total.Enabled = status;
tb_kodeobat.Enabled = status;
}
try
38
39
{
if (Program.koneksi.State !=
ConnectionState.Open)
Program.koneksi.Open();
cmdPembuatan.Connection =
Program.koneksi;
//transaksi dimulaui
transaksi =
Program.koneksi.BeginTransaction();
cmdPembuatan.Transaction = transaksi;
cmdPembuatan.CommandText = "UPDATE
rincipenjualan2 SET Kode_Penjualan=" + tb_kode.Text +
",Tanggal_Penjualn='" +
DateTime.Today.ToString("yyyy-MM-dd")
+ "',Jam_Penjualan='" +
DateTime.Now.ToString("HH:mm:ss") + "' WHERE
Kode_Penjualan='" + tb_kode.Text + "'";
cmdPembuatan.ExecuteNonQuery();
for (int i = 0; i <dataGridView1
.RowCount; i++)
{
cmdPembuatan.CommandText = "INSERT
INTO
rincian2(Kode_Penjualan,Tanggal_Penjualan,Jam_Penjualn
) VALUES('" + tb_kode.Text + "' ,'" + dataGridView1[0,
i].Value.ToString() + "','" + dataGridView1[1,
i].Value.ToString() + "','" + dataGridView1[2,
i].Value.ToString() + "')";
cmdPembuatan.ExecuteNonQuery();
}
transaksi.Commit();
MessageBox.Show("Tranaksi Tersimpan");
//return true;
}
catch (Exception ex)
{
transaksi.Rollback();
MessageBox.Show("Data dibatalkan,
ERROR :" + ex.Message);
//return false;
}
}
39
40
int bariske
=dataGridView1.SelectedCells[0].RowIndex;
string Kode_Penjualan =dataGridView1[0,
bariske].Value.ToString();
SQL = "DELETE FROM rincipenjualan2 WHERE
Kode_Penjualan='" + Kode_Penjualan + "'";
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
MessageBox.Show("Data berhasil
dihapus.", "Delete Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
{
MessageBox.Show("Data gagal dihapus
karena:\n" + X.Message, "Delete Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
}
private void data_simpan()
{
OleDbTransaction transaksi = null;
OleDbCommand cmdPemesanan = new
OleDbCommand();
try
{
cmdPemesanan.Connection =
Program.koneksi;
transaksi =
Program.koneksi.BeginTransaction();
cmdPemesanan.Transaction = transaksi;
cmdPemesanan.CommandText = "INSERT
INTO
Transaksi_Jual(Kode_Transaksi_Jual,Kode_Pembeli,Nama_P
embeli,Alamat,Tanggal_Beli,Jam) VALUES('" +
40
41
41
42
//status_text(false);
//cbobt
//data_refresh();
status_text(false);
OleDbDataAdapter adapter4 = new
OleDbDataAdapter("SELECT * FROM obat ORDER BY
Nama_Obat", "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" + Application.StartupPath +
"\\si_apotek.mdb");
DataTable ptg = new DataTable();
adapter4.Fill(ptg);
comboBox1.DataSource = ptg;
comboBox1.ValueMember = "kode_obat";
comboBox1.DisplayMember = "nama_obat";
}
private void
comboBox1_SelectedIndexChanged(object sender,
EventArgs e)
42
43
{
if (comboBox1.Items.Count > 0)
tb_kodeobat.Text =
comboBox1.SelectedValue.ToString();
}
private void tooladd_Click(object sender,
EventArgs e)
{
OleDbCommand cmdMenu = new
OleDbCommand("select * from Obat where Kode_Obat = '"
+ tb_kodeobat.Text + "'",Program.koneksi);
OleDbDataReader rdMenu =
cmdMenu.ExecuteReader();
rdMenu.Read();
if (tb_jmlh.Text.Trim().Length == 0)
tb_jmlh.Text = "1";
dataGridView1.RowCount =
dataGridView1.RowCount + 1;
dataGridView1[0, dataGridView1.RowCount -
1].Value = rdMenu[0].ToString();
dataGridView1[1, dataGridView1.RowCount -
1].Value = rdMenu[1].ToString();
dataGridView1[3, dataGridView1.RowCount -
1].Value = tb_jmlh.Text;
dataGridView1[2, dataGridView1.RowCount -
1].Value = rdMenu[2].ToString();
dataGridView1[4, dataGridView1.RowCount -
1].Value = Convert.ToDouble(rdMenu[2].ToString()) *
Convert.ToDouble(tb_jmlh.Text);
tb_harga.Text = rdMenu[2].ToString();
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentCell.
RowIndex);
43
44
}
}
Gambar 3.6
Kode Form Pembeli
public partial class pembeli : Form
{
bool simpan_baru;
string SQL;
DataTable tabelpembeli = new DataTable();
public pembeli()
{
44
45
InitializeComponent();
}
private void status_text(bool status)
{
tb_kdepembeli.Enabled = status;
tb_namapmb.Enabled = status;
tb_alamat.Enabled = status;
dateTimePickerPembeli.Enabled = status;
tb_kdepembeli.Focus();
}
45
46
tb_alamat.Clear();
}
private void data_edit()
{
int bariske =
dgpembeli.SelectedCells[0].RowIndex;
try
{
tb_kdepembeli.Text =
dgpembeli["kode_pembeli", bariske].Value.ToString();
tb_namapmb.Text =
dgpembeli["nama_pembeli", bariske].Value.ToString();
tb_alamat.Text =
dgpembeli["alamat_pembeli", bariske].Value.ToString();
dateTimePickerPembeli.Text =
dgpembeli["tanggal_beli", bariske].Value.ToString();
}
catch (Exception X)
{
MessageBox.Show("Data gagal diedit
karena:\n" + X.Message, "Edit Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void data_hapus()
{
int bariske
=dgpembeli.SelectedCells[0].RowIndex;
string kode_pembeli =dgpembeli[0,
bariske].Value.ToString();
SQL = "DELETE FROM pembeli WHERE
kode_pembeli='" + kode_pembeli+ "'";
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
MessageBox.Show("Data berhasil
dihapus.", "Delete Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
46
47
{
MessageBox.Show("Data gagal dihapus
karena:\n" + X.Message, "Delete Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
}
private void data_simpan()
{
if (tb_kdepembeli.Text == "" ||
tb_namapmb.Text == "")
{
MessageBox.Show("ID dan Nama harus
diisi.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
tb_kdepembeli.Focus();
}
else
{
if (simpan_baru == true)
{
SQL = "INSERT INTO
pembeli(kode_pembeli,nama_pembeli,alamat_pembeli,tangg
al_beli)" + "VALUES('" + tb_kdepembeli.Text + "','" +
tb_namapmb.Text +
"','"+tb_alamat.Text+"','"+dateTimePickerPembeli.Value
+"')";
}
else
{
SQL = "UPDATE pembeli SET
nama_pembeli='" + tb_namapmb.Text +
"',alamat_pembeli='"+tb_alamat.Text+"',tanggal_beli='"
+dateTimePickerPembeli.Value+"' WHERE kode_pembeli='"
+ tb_kdepembeli.Text+ "'";
}
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
47
48
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
simpan_baru = false;
MessageBox.Show("Data berhasil
disimpan.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
{
MessageBox.Show("Data gagal
disimpan karena:\n" + X.Message, "Save Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
status_text(false);
hilang();
}
}
private void hilang()
{
tb_kdepembeli.Clear();
tb_namapmb.Clear();
tb_alamat.Clear();
tb_kdepembeli.Focus();
}
48
49
sender, EventArgs e)
{
simpan_baru = false;
status_text(true);
tb_kdepembeli.ReadOnly = true;
tb_namapmb.Focus();
data_edit();
}
49
50
Gambar 3.7
Kode Form Supplier
public partial class supplier : Form
{
bool simpan_baru;
string SQL;
DataTable tabelsupplier = new DataTable();
public supplier()
{
50
51
InitializeComponent();
}
private void status_text(bool status)
{
tbkdsup.Enabled = status;
tbnmsup.Enabled = status;
tbalmtsup.Enabled = status;
tbtlpsup.Enabled = status;
tbkdsup.Focus();
}
51
52
tbalmtsup.Clear();
tbtlpsup.Clear();
}
private void data_edit()
{
int bariske
=dgsup.SelectedCells[0].RowIndex;
try
{
tbkdsup.Text = dgsup["kode_supplier",
bariske].Value.ToString();
tbnmsup.Text = dgsup["nama_supplier",
bariske].Value.ToString();
tbalmtsup.Text =
dgsup["alamat_supplier", bariske].Value.ToString();
tbtlpsup.Text =
dgsup["telepon_supplier", bariske].Value.ToString();
}
catch (Exception X)
{
MessageBox.Show("Data gagal diedit
karena:\n" + X.Message, "Edit Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void data_hapus()
{
int bariske
=dgsup.SelectedCells[0].RowIndex;
string kode_supplier =dgsup[0,
bariske].Value.ToString();
SQL = "DELETE FROM supplier WHERE
kode_supplier='" + kode_supplier + "'";
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
MessageBox.Show("Data berhasil
dihapus.", "Delete Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
52
53
}
catch (Exception X)
{
MessageBox.Show("Data gagal dihapus
karena:\n" + X.Message, "Delete Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
}
private void data_simpan()
{
if (tbkdsup.Text == "" || tbnmsup.Text ==
"")
{
MessageBox.Show("ID dan Nama harus
diisi.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
tbkdsup.Focus();
}
else
{
if (simpan_baru == true)
{
SQL = "INSERT INTO
supplier(kode_supplier,nama_supplier,alamat_supplier,t
elepon_supplier)" + "VALUES('" + tbkdsup.Text+ "','" +
tbnmsup.Text +
"','"+tbalmtsup.Text+"','"+tbtlpsup.Text+"')";
}
else
{
SQL = "UPDATE supplier SET
nama_supplier='" + tbnmsup.Text +
"',alamat_supplier='"+tbalmtsup.Text+"',telepon_suppli
er='"+tbtlpsup.Text+"' WHERE kode_supplier='" +
tbkdsup.Text+ "'";
}
try
{
Program.koneksi.Open();
OleDbCommand olecmd = new
53
54
OleDbCommand(SQL, Program.koneksi);
olecmd.ExecuteNonQuery();
Program.koneksi.Close();
data_refresh();
simpan_baru = false;
MessageBox.Show("Data berhasil
disimpan.", "Save Data", MessageBoxButtons.OK,
MessageBoxIcon.Information);
}
catch (Exception X)
{
MessageBox.Show("Data gagal
disimpan karena:\n" + X.Message, "Save Data",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
Program.koneksi.Close();
}
status_text(false);
hilang();
}
}
private void hilang()
{
tbkdsup.Clear();
tbnmsup.Clear();
tbalmtsup.Clear();
tbkdsup.Focus();
tbtlpsup.Clear();
}
54
55
status_text(false);
data_simpan();
}
55
56
Gambar 3.8
Kode Form Laporan
public partial class Laporan : Form
{
adapterSupplier adpSupplier = new
adapterSupplier();
adapterPembeli adpPembeli = new
adapterPembeli();
adapterObat adpObat = new adapterObat();
adapterDetailJual adpDetailJual = new
adapterDetailJual();
56
57
private void
suplierToolStripMenuItem_Click(object sender,
EventArgs e)
{
RptSupplier rpt = new RptSupplier();
adpSupplier.Fill(dsReport.Supplier);
rpt.SetDataSource((DataTable)dsReport.Supplier);
crvlaporan.ReportSource = rpt;
}
private void
pembeliToolStripMenuItem_Click(object sender,
EventArgs e)
{
RptPembeli rpt = new RptPembeli();
adpPembeli.Fill(dsReport.Pembeli);
rpt.SetDataSource((DataTable)dsReport.Pembeli);
crvlaporan.ReportSource = rpt;
}
private void
obatToolStripMenuItem_Click(object sender, EventArgs
e)
{
RptObat rpt = new RptObat();
adpObat.Fill(dsReport.Obat);
rpt.SetDataSource((DataTable)dsReport.Obat);
crvlaporan.ReportSource = rpt;
}
private void
transaksiToolStripMenuItem_Click(object sender,
EventArgs e)
{
RptDetailJual rpt = new RptDetailJual();
57
58
adpDetailJual.Fill(dsReport.Detail_Jual);
rpt.SetDataSource((DataTable)dsReport.Detail_Jual);
crvlaporan.ReportSource = rpt;
}
}
58
59
BAB IV
PENUTUP
4.1 Kesimpulan
Dengan dibuatnya aplikasi Sistem Informasi Apotek,
maka kami menyimpulkan :
Memperlancar dan mempermudah dalam
memasukkan data transaksi yang ada pada
APOTEK DHARMA.
Memperlancar dan mempercepat proses
transaksi sesuai dengan keinginan user
sehingga dapat tercapai hasil yang
memuaskan.
Mempermudah dalam pembuatan laporan.
4.2 Kritik dan Saran
Kami menyadari bahwa dalam pembuatan Tugas
Madya ini jauh dari kesempurnaan, sesuai dengan peribahasa
Tak ada gading yang tak retak, maka kami mengharapkan
59
60
60
61
BAB II
DESAIN SISTEM
61
62
BAB III
IMPLEMENTASI SISTEM
62
63
BAB IV
PENUTUP
63