Anda di halaman 1dari 25

LABORATORIUM PEMBELAJARAN ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER


UNIVERSITAS BRAWIJAYA
BAB : AKSES DATA
NAMA : NURUL AZMI
NIM : 175150209111010
TANGGAL : 03/11/2017
ASISTEN : FACHRUL ROZY SAPUTRA RANGKUTI

TUGAS 1
A. Soal
Buat aplikasi untuk peminjaman buku di perpustakaan dengan ketentuan
sebagai berikut:
1. Pengguna aplikasi harus memasukkan username dan password
untuk memeriksa apakah memiliki hak untuk akses atau tidak
2. Terdapat beberapa fitur pengelolaan data:
a. Master peminjam
b. Master buku
c. Transaksi peminjaman/pengembalian
d. Daftar buku yang dipinjam
Tentukan kolom data buku sesuai dengan kreativitas masing-masing

B. Source Code
Login.cs
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 bab4
{
public partial class login : Form
{
// membuat koneksi database
MySqlConnection data = new
MySqlConnection("server=localhost;database=bab4;usern
ame=root;password=;");

public login()
{
InitializeComponent();
}

//cek koneksi
public void Cek_Koneksi()
{
try
{
data.Open();
MessageBox.Show("Selamat Datang,
Silahkan Login Terlebih Dahulu ");
}
catch (Exception view)
{
MessageBox.Show("Pastikan Komputer
terhubung ke jaringan");
this.Close();
}
finally
{
data.Close();
}
}

// proses login
public void Login()
{
try
{
string akses;
string nama;
akses = "kosong";
nama = "kosong";
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT * FROM user
WHERE uname='" + txtusername.Text + "' AND pass='" +
txtpass.Text + "';";
MySqlDataReader baca =
sql.ExecuteReader();
while (baca.Read())
{
nama = (baca[0] + "");
akses = (baca[5] + "");
}
baca.Close();

if (akses == "adm")
{
MessageBox.Show("selamat datang "
+ nama);
Hide();
using (admin form = new admin())
form.ShowDialog();
Show();
}
else if (akses == "pmj")
{
MessageBox.Show("selamat datang "
+ nama);
Hide();
using (peminjam form = new
peminjam(txtusername.Text))
form.ShowDialog();
Show();
}
else
{
MessageBox.Show("UserName atau
Password Salah");
}
}
catch (MySqlException ex)
{
MessageBox.Show("Mohon Periksa
Kembali Koneksi Jaringan Anda");
this.Show();
}
finally
{
data.Close();
}
}

private void button1_Click(object sender,


EventArgs e)
{
Login();
txtusername.Text = "";
txtpass.Text = "";
}
}
}

admin.cs
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 bab4
{
public partial class admin : Form
{
// membuat koneksi database
MySqlConnection data = new
MySqlConnection("server=localhost;database=bab4;username=root;pa
ssword=;");

public admin()
{
InitializeComponent();
}
// meload semua data yang konek databse
public void LoadAllData()
{
try
{
data.Open();
LoadBuku();
LoadPeminjam();
LoadAdmin();
LoadPinjam();
}
catch
{

}
finally
{
data.Close();
}
}

// menampilkan data buku dalam tabel


public void LoadBuku()
{
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "SELECT id AS 'kode buku', judul AS
'Judul Buku', penulis AS 'Penulis Buku', jml AS 'Buku Yang Tersedia'
FROM buku";
MySqlDataAdapter adapter = new
MySqlDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
databuku.DataSource = dataSet.Tables[0].DefaultView;
}

// menampilkan data user peminjam dalam tabel


public void LoadPeminjam()
{
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "SELECT nama AS 'Nama', telp AS
'No. Telepon', alamat AS 'Alamat', uname AS 'Username', pass AS
'Password' FROM user WHERE akses='pmj'";
MySqlDataAdapter adapter = new
MySqlDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
datapeminjam.DataSource = dataSet.Tables[0].DefaultView;
}

// menampilkan data user admin dalam tabel


public void LoadAdmin()
{
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "SELECT nama AS 'Nama', telp AS
'No. Telepon', alamat AS 'Alamat', uname AS 'Username', pass AS
'Password' FROM user WHERE akses='adm'";
MySqlDataAdapter adapter = new
MySqlDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
dataadmin.DataSource = dataSet.Tables[0].DefaultView;
}

// menampilkan data buku yang dipinjan dalam tabel


public void LoadPinjam()
{
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "SELECT pinjam.id AS 'Kode
Peminjaman', user.nama AS 'Nama Peminjam', buku.judul AS 'Judul
Buku', pinjam.tgl_pinjam AS 'Tanggal Pinjam', pinjam.tgl_kembali 'Batas
Tanggal di Kembalikan', pinjam.buku, pinjam.peminjam FROM pinjam,
buku, user WHERE pinjam.buku=buku.id AND
pinjam.peminjam=user.uname";
MySqlDataAdapter adapter = new
MySqlDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
databukupinjam.DataSource = dataSet.Tables[0].DefaultView;
this.databukupinjam.Columns[5].Visible = false;
this.databukupinjam.Columns[6].Visible = false;
}

// menambahkan user peminjam ke database


public void TambahPeminjam()
{
try
{
data.Open();
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "INSERT INTO user VALUES ('" +
txtnama1.Text + "', '" + txttelp1.Text + "', '" + txtalamat1.Text + "', '" +
txtuname1.Text + "', '" + txtpass1.Text + "', 'pmj');";
command.ExecuteNonQuery();
MessageBox.Show("data berhasil ditambah");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
}

// menambahkan user admin ke database


public void TambahAdmin()
{
try
{
data.Open();
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "INSERT INTO user VALUES ('" +
txtnama2.Text + "', '" + txttelp2.Text + "', '" + txtalamat2.Text + "', '" +
txtuname2.Text + "', '" + txtpass2.Text + "', 'adm');";
command.ExecuteNonQuery();
MessageBox.Show("data berhasil ditambah");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
}

// mengurangi stok buku


public void StockBuku()
{
string awal;
int akhir;
awal = "";
akhir = 0;
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT jml FROM buku WHERE id='" +
lbidnyabukukembali.Text + "';";
MySqlDataReader baca = sql.ExecuteReader();
while (baca.Read())
{
awal = (baca[0] + "");
}
baca.Close();
}
catch (MySqlException ex)
{

}
finally
{
data.Close();
}
int awall = Int32.Parse(awal);
akhir = awall + 1;
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "UPDATE buku SET jml = '" + akhir + "'
WHERE id = '" + lbidnyabukukembali.Text + "';";
sql.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
}

//menambahkan histori peminjaman


public void HistoryPinjam()
{
string tglsekarang;
tglsekarang = DateTime.Now.ToString("yyyy-MM-dd");
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "INSERT INTO riwayat VALUES ('', '" +
lbpeminjam.Text + "', '" + lbbukunya.Text + "', '" + tglsekarang + "');";
sql.ExecuteNonQuery();
MessageBox.Show("Buku Telah di Kembalikan");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
}

//mengembalikan buku
public void BukuKembali()
{
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "DELETE FROM pinjam WHERE id = '" +
lbidbukukembali.Text + "';";
sql.ExecuteNonQuery();
MessageBox.Show("Buku Telah di Kembalikan");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
StockBuku();
HistoryPinjam();
LoadAllData();
}

//bersihkan text
public void Bersihkan()
{
txtnama1.Text = "";
txtnama2.Text = "";
txttelp1.Text = "";
txttelp2.Text = "";
txtalamat1.Text = "";
txtalamat2.Text = "";
txtuname1.Text = "";
txtuname2.Text = "";
txtpass1.Text = "";
txtpass2.Text = "";
}

private void admin_Load(object sender, EventArgs e)


{
LoadAllData();
}

private void button1_Click(object sender, EventArgs e)


{
Hide();
using (tambahbuku form = new tambahbuku())
form.ShowDialog();
LoadAllData();
Show();
}

private void databuku_MouseClick(object sender, MouseEventArgs


e)
{
string idbook;
idbook = "";
try
{
idbook = databuku.SelectedRows[0].Cells[0].Value.ToString();
}
catch (Exception view)
{
MessageBox.Show("tidak ada 'data' yang dipilih");
}
finally
{
lbidbuku.Text = idbook;
}
}

private void btubahbuku_Click(object sender, EventArgs e)


{
if (lbidbuku.Text == "")
{
MessageBox.Show("Silahkan Pilih Buku Terlebih Dahulu");
}
else
{
using (ubahbuku form = new ubahbuku(lbidbuku.Text))
form.ShowDialog();
LoadAllData();
Show();
}
}

private void btntambahpeminjam_Click(object sender, EventArgs


e)
{
TambahPeminjam();
LoadAllData();
Bersihkan();
}

private void btntambahadmin_Click(object sender, EventArgs e)


{
TambahAdmin();
LoadAllData();
Bersihkan();
}

private void databukupinjam_MouseClick(object sender,


MouseEventArgs e)
{
string idpinjam;
string idnyabook;
string peminjamnya;
string bukunya;
idpinjam = "";
idnyabook = "";
peminjamnya = "";
bukunya = "";
try
{
idpinjam =
databukupinjam.SelectedRows[0].Cells[0].Value.ToString();
idnyabook =
databukupinjam.SelectedRows[0].Cells[5].Value.ToString();
peminjamnya =
databukupinjam.SelectedRows[0].Cells[6].Value.ToString();
bukunya =
databukupinjam.SelectedRows[0].Cells[2].Value.ToString();
}
catch (Exception view)
{
MessageBox.Show("tidak ada 'data' yang dipilih");
}
finally
{
lbidbukukembali.Text = idpinjam;
lbidnyabukukembali.Text = idnyabook;
lbpeminjam.Text = peminjamnya;
lbbukunya.Text = bukunya;
}
}

private void btnbukukembali_Click(object sender, EventArgs e)


{
if (lbidbukukembali.Text == "")
{
MessageBox.Show("SIlahkan Pilih Data Terlebih Dahulu");
}
else
{
BukuKembali();
LoadAllData();
}
}
}
}

tambahbuku.cs
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 bab4
{
public partial class tambahbuku : Form
{

// membuat koneksi database


MySqlConnection data = new
MySqlConnection("server=localhost;database=bab4;username=root;pa
ssword=;");
public tambahbuku()
{
InitializeComponent();
}

// menambahkan daftar buku ke database


public void TambahBuku()
{
try
{
data.Open();
MySqlCommand command;
command = data.CreateCommand();
command.CommandText = "INSERT INTO buku VALUES (NULL,
'" + txtjudul.Text + "', '" + txtpenulis.Text + "', '" + txttersedia.Text + "')";
command.ExecuteNonQuery();
MessageBox.Show("data berhasil ditambah");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
this.Close();
data.Close();
}
}

private void btntambah_Click(object sender, EventArgs e)


{
TambahBuku();
}
}
}

ubahbuku.cs
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 bab4
{
public partial class ubahbuku : Form
{
// membuat koneksi database
MySqlConnection data = new
MySqlConnection("server=localhost;database=bab4;username=root;pa
ssword=;");

string dataPassing;
public ubahbuku(string data)
{
InitializeComponent();
this.dataPassing = data;
}

//meload data buku berdasarkan kode


public void load()
{
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT * FROM buku WHERE id='" +
dataPassing + "';";
MySqlDataReader baca = sql.ExecuteReader();
while (baca.Read())
{
txtjudul.Text = (baca[1] + "");
txtpenulis.Text = (baca[2] + "");
txttersedia.Text = (baca[3] + "");
}
baca.Close();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
this.Close();
}
finally
{
data.Close();
}
}

//mengubah data
public void ubah()
{
if (txtjudul.Text == "")
{
MessageBox.Show("Mohon Masukkan Judul Buku Terlebih
Dahulu");
}
else if (txtpenulis.Text == "")
{
MessageBox.Show("Mohon Masukkan Penulis Buku Terlebih
Dahulu");
}
else if (txttersedia.Text == "")
{
MessageBox.Show("Mohon Masukkan Jumlah Tersedia
Terlebih Dahulu");
}
else
{
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "UPDATE buku SET judul = '" +
txtjudul.Text + "', penulis = '" + txtpenulis.Text + "', jml = '" +
txttersedia.Text + "' WHERE id = '" + dataPassing + "';";
sql.ExecuteNonQuery();
MessageBox.Show("data berhasil di Ubah");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
this.Close();
}
}
}

private void ubahbuku_Load(object sender, EventArgs e)


{
load();
}

private void btnubah_Click(object sender, EventArgs e)


{
ubah();
}
}
}
peminjam.cs
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 bab4
{
public partial class peminjam : Form
{
// membuat koneksi database
MySqlConnection data = new
MySqlConnection("server=localhost;database=bab4;username=root;pa
ssword=;");

string dataPassing;
public peminjam(string get)
{
InitializeComponent();
this.dataPassing = get;
}

// meload semua data yang konek databse


public void LoadAllData()
{
try
{
data.Open();
LoadBuku();
LoadPinjam();
LoadRiwayat();
}
catch
{

}
finally
{
data.Close();
txtpeminjam.Text = dataPassing;
}
}
// menampilkan data buku dalam tabel
public void LoadBuku()
{
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT id AS 'kode buku', judul AS 'Judul
Buku', penulis AS 'Penulis Buku' FROM buku WHERE jml>'0'";
MySqlDataAdapter adapter = new MySqlDataAdapter(sql);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
databuku.DataSource = dataSet.Tables[0].DefaultView;

// menampilkan data buku yang di pinjam dalam tabel


public void LoadPinjam()
{
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT pinjam.id AS 'Kode Peminjaman',
buku.judul AS 'Judul Buku', pinjam.tgl_pinjam AS 'Tanggal Peminjaman',
pinjam.tgl_kembali AS 'Tanggal Dikembalikan' FROM pinjam, buku
WHERE pinjam.buku=buku.id AND pinjam.peminjam='" + dataPassing +
"'";
MySqlDataAdapter adapter = new MySqlDataAdapter(sql);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
datapinjam.DataSource = dataSet.Tables[0].DefaultView;
//this.datapinjam.Columns[1].Visible = false;
}

// menampilkan data Riwayat buku yang telah di pinjam dalam


tabel
public void LoadRiwayat()
{
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT buku AS 'Judul Buku', dikembalikan
AS 'Dikembalikan Pada Tanggal' FROM riwayat WHERE peminjam='" +
dataPassing + "'";
MySqlDataAdapter adapter = new MySqlDataAdapter(sql);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
datariwayat.DataSource = dataSet.Tables[0].DefaultView;
}

// menampikan detail buku yang akan dipnjam


public void LoadDetailBuku()
{
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT * FROM buku WHERE id='" +
txtkode.Text + "';";
MySqlDataReader baca = sql.ExecuteReader();
while (baca.Read())
{
txtkode.Text = (baca[0] + "");
txtjudul.Text = (baca[1] + "");
txtpenulis.Text = (baca[2] + "");
}
baca.Close();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
this.Close();
}
finally
{
data.Close();
}
}

// mengurangi stok buku


public void StockBuku()
{
string awal;
int akhir;
awal = "" ;
akhir = 0 ;
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "SELECT jml FROM buku WHERE id='" +
txtkode.Text + "';";
MySqlDataReader baca = sql.ExecuteReader();
while (baca.Read())
{
awal = (baca[0]+"");
}
baca.Close();
}
catch (MySqlException ex)
{

}
finally
{
data.Close();
}
int awall = Int32.Parse(awal);
akhir = awall - 1;
try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "UPDATE buku SET jml = '" + akhir + "'
WHERE id = '" + txtkode.Text + "';";
sql.ExecuteNonQuery();
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
}

// menambahkan daftar pinjaman buku


public void pinjam()
{
string tglsekarang;
tglsekarang = DateTime.Now.ToString("yyyy-MM-dd");

try
{
data.Open();
MySqlCommand sql;
sql = data.CreateCommand();
sql.CommandText = "INSERT INTO pinjam VALUES ('','" +
txtpeminjam.Text + "','" + txtkode.Text + "', '" + tglsekarang + "', '" +
txttgl.Text + "');";
sql.ExecuteNonQuery();
MessageBox.Show("data berhasil ditambah");
}
catch (MySqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
data.Close();
}
StockBuku();
LoadAllData();
}

//kosongkan textbox
public void bersih()
{
txtkode.Text = "";
txtjudul.Text = "";
txtpenulis.Text = "";
txttgl.Text = "";
btnpilihbuku.Visible = true;
btnpinjam.Visible = false;
}

private void peminjam_Load(object sender, EventArgs e)


{
LoadAllData();
}

private void btnpilih_Click(object sender, EventArgs e)


{
if (lbidbuku.Text == "")
{
MessageBox.Show("Silahkan Pilih Buku Terlebih Dahulu");
}
else
{
tabControl.SelectTab(1);
txtkode.Text = lbidbuku.Text;
LoadDetailBuku();
btnpilihbuku.Visible = false;
btnpinjam.Visible = true;
}
}

private void databuku_MouseClick(object sender, MouseEventArgs


e)
{
string idbook;
string judul;
idbook = "";
judul = "";
try
{
idbook = databuku.SelectedRows[0].Cells[0].Value.ToString();
judul = databuku.SelectedRows[0].Cells[1].Value.ToString();
}
catch (Exception view)
{
MessageBox.Show("tidak ada 'data' yang dipilih");
}
finally
{
lbidbuku.Text = idbook;
lbbuku.Text = judul;
}
}

private void tabpinjam_Enter(object sender, EventArgs e)


{
bersih();
}

private void button1_Click(object sender, EventArgs e)


{
pinjam();
bersih();
}

private void btnpilihbuku_Click(object sender, EventArgs e)


{
tabControl.SelectTab(0);
}

}
}

C. Screenshot
1. Halaman Login
2. Keluar welcome notification beserta nama

3. Masuh menu halaman ADMIN

4. Menu tambah buku


5. Mengubah data buku

6. Menu menambah data peminjam

7. Menu menambah data admin


8. Daftar buku yang tersedia untuk di pinjam

9. Form peminjaman buku

10. List buku yang sedang di pinjam oleh pengguna


11. Menu Pengembalian Buku

12. List buku yang pernah di pinjam pengguna


D. Penjelasan
Pada aplikas perpustakaan ini terdapat form login sebagai halaman awal,
sekaligus sebagai portal masuknya user sebagai ADMIN atau
PEMINJAM.
Admin, dapat menambahkan data buku, menambahkan data user admin
dan peminjam, dan juga mengembalikan buku. Sedangkan Peminjam
dapat melihat list buku yang dapat dipinjam, meminjam buku, melihat
list buku yang sedang ia pinjam, dan juga melihat riwayat buku apa saja
yang sudah pernah dia pinjam.
Untuk penyimpanan data pada aplikasi perpustakaan,
menggunakan database MySQL. Untuk membuat dan
memodifikasi tabel datanya menggunakan phpMyAdmin.
UI pada aplikasi ini terdapat beberapa textbox untuk menuliskan
data inputan, button untuk mengeksekusi sebuah perintah, dan
datagridview untuk menampilkan data buku yang sudah
tersimpan di dalam database.
Pada form pinjam buku terdapat query sql untuk mengurangi
jumlah buku yang tersedia dan juga query untuk menyimpan
data pinjaman buku kedalam database.
Pada form pengembalian buku terdapat query sql untuk
menambah jumlah buku yang tersedia kedalam database, dan
juga query untuk menyimpan ke daftar riwayat.

Anda mungkin juga menyukai