Penulis :
Frellian
Tuhumury 672007031
Bryan Zico
Octavian 672011015
Robertus Adi
Dwianto 672011028
Latar Belakang
Pada jaman sekarang ini mukin orang banyak berpikir bahwa
kebanyakan orang lebihmemilih mendownload lagu secara ilegal dari internetn.
Padahal pada kenyataanya tidak seperti itu. Sudah banyak orang yang berpikir
untuk memilih memiliki cd atau kaset dari artist yang di gemarinya, karana
dengan memiliki cd atau kaset memiliki keuntungan sendiri yaitu mendapatkan
kualitas audio ‘lossless’ yg lebih baik dari mp3 dan bisa sebagai bahan
koleksi. Hal ini mulai membuat banyak toko musik yang mulai kewalahan sehingga
kadang melupakan pendataan yang teratur dan terperinci pada barang (cd dan
kaset) yang mereka jual Untuk itu aplikasi ini kami buat supaya dapat membantu toko-toko musik dalam
menage data barang mereka.
Sistem Informasi
Data Barang untuk Toko Musik
Untuk masuk ke aplikasi kami user
harus login terlebih dulu,
saat tombol login di tekan maka akan di lakukan
proses pengecekan user name dan password di database jika benar maka di
lanjutkan ke proses berikutnya tapi jika salah maka akan muncul pemberitahuan
lewat messaggebox.
Untuk pengecekan user name dan
password kami membuat sebuah class baru
dengan 2 parameter untuk menampung hasil pengecekan.
private Boolean statusLogin(string
nama, string pass)
{
MySqlConnection
db = new MySqlConnection(connectionSQL);
db.Open();
MySqlCommand
dbcmd = db.CreateCommand();
string
sql = "select Nama,Password from
tb_accounts";
dbcmd.CommandText = sql;
MySqlDataReader
reader = dbcmd.ExecuteReader();
//
membaca data user name dan password
while
(reader.Read())
{
if
((reader.GetString(0).ToString() == nama) &&
(reader.GetString(1).ToString() == pass))
{
return
true;
//mengembalikan
nilai 'true' jika benar
}
}
db.Close();
return
false;
}
Dan pada button login akan
dilakukan proses pengecekan jika isi parameter adalah ‘true’ maka dilanjutkan
ke prosses selanjutnya.
if (statusLogin(txt_user.Text,
txt_pass.Text) == true)
{
if
(txt_user.Text == "admin") {
Form2
f2 = new Form2();
f2.Show();
this.Visible
= false;
}else{
Form3
f3 = new Form3();
f3.Show();
this.Visible
= false;
}
}
else
{
MessageBox.Show("Username atau password salah");
}
Pada aplikasi kami terdapat 2
jenis user yaitu user biasa dan admin (dengan user name ‘admin’), jika login di
lakukan oleh admin maka akan masuk ke form untuk menejement user & password,
sedangkan untuk user bisa akan masuk ke form data barang. Di form ini admin
dapat melakukan penambahan user baru meng-update password, dan men-delete.
Sedangkan untuk data user ‘admin’ hanya bisa meng-update password, tanpa bisa
men-delete.
Button logout di gunakan untuk kembbali ke form
lagin. Sedangkan untuk penjlasan cara menamilkan data ke DataGridView, insert,
update, dan delete akan di jelaskan di form data barang.
Tampilan form barang:
Untuk menampilkan data di dataGridView kami
membuat sebuah fungsi metohod yang akan di panggil saat program di jalankan dan
setiap selesai proses di lakukan.
public void dataRe() //fungsi
untuk memasukan data ke 'dataGridView1'
{
MySqlConnection
db = new MySqlConnection(connectionSQL);
MySqlCommand
comand = db.CreateCommand();
db.Open();
dataGridView1.Columns.Clear();
MySqlDataAdapter
Adapter = new MySqlDataAdapter("Select `id` , `Artist` , `Album` , `Rating` ,
`Tipe` , `Harga` , `Jumlah` from tb_barang", db);
DataSet
x = new DataSet();
Adapter.Fill(x);
dataGridView1.DataSource =
x.Tables[0];
}
Untuk mengganti album cover tekan button ‘ganti
cover’ openFileDialog yang digunakan untuk mengambil gambar dari komputer.
Source code di dalam button
openFileDialog1.InitialDirectory
= " C:\\ ";
openFileDialog1.Filter = "All
Files|*.*|JPEGs|*.jpg|JPEGs|*.jpeg|Bitmaps|*.bmp|GIFs|*.gif";
openFileDialog1.FilterIndex = 2;
if
(openFileDialog1.ShowDialog() == DialogResult.OK)
{
//set
image sesuai yg sudah di pilih di 'openFileDialog1'
pb_ucover.Image = Image.FromFile(openFileDialog1.FileName);
pb_ucover.SizeMode = PictureBoxSizeMode.Zoom;
pb_ucover.BorderStyle = BorderStyle.None;
}
Gambar yang sudah di pilih akan di tapilkan di
pictureBox di bawah button ‘ganti cover’
Proses insert data akan di lakukan saat button
‘add’ di tekan, tetapi jika data belum lengkap maka akan di beri pemberitahuan
lewat ‘messagebox’.
MySqlConnection
db = new MySqlConnection(connectionSQL);
MySqlCommand
comand = db.CreateCommand();
db.Open();
//pengecekan
isi data jika belum lengkap maka peringatan muncul melalui messagebox
if
((txt_id.Text == "") ||
(txt_artis.Text == "") ||
(txt_album.Text == "") ||
(txt_harga.Text == "") ||
(txt_jumlah.Text == ""))
{
MessageBox.Show("Data belum lengkap, coba periksa kembali");
}
else
{
string
id = txt_id.Text;
string
artis = txt_artis.Text;
string
album = txt_album.Text;
string
rating = cmb_rating.SelectedIndex +1 + "
star";
string
harga = txt_harga.Text;
string
jumlah = txt_jumlah.Text;
string
tipe;
string
cover;
//
pengecekan radio button
if
(rbtn_cd.Checked == true)
{
tipe = "Audio CD";
}
else
{
tipe = "Kaset";
}
//pengecekan
data untuk database colom 'cover'
if
(pb_cover.Image == global::WindowsFormsApplication1.Properties.Resources.pilh)
{
cover = "";
}
else
{
cover = "cov_" + id + ".jpg";
pb_cover.Image.Save("d:\\cover_tr\\cov_" + id + ".jpg");
//\
untuk save as image dan rename ke directori d:\cover_tr
}
try
{
//memasukan
data ke database
comand.CommandText = "INSERT INTO `db_trpv`.`tb_barang` (`id` ,`Artist`
,`Album` ,`Rating` ,`Tipe` ,`Harga` ,`Jumlah`,`cover`)VALUES ('" +
id + "', '" + artis + "', '" + album + "', '" + rating + "',
'" + tipe + "', '" +
harga + "', '" + jumlah + "','"+cover+"');";
comand.ExecuteNonQuery();
}
catch
(MySqlException m)
{
MessageBox.Show(m.Message);
}
// membersihkan
isi textbox, dan riset combobox
txt_id.Text = "";
txt_artis.Text = "";
txt_album.Text = "";
cmb_rating.SelectedIndex = 2;
txt_harga.Text = "";
txt_jumlah.Text = "";
//mengembalikan
image picturebox pb_cover menjadi 'pilih'
pb_cover.Image = global::WindowsFormsApplication1.Properties.Resources.pilh;
dataRe(); //memanggil method dataRe(); untuk memperbaharui
datagridview
}
Untuk penyimpanan gambar tidak di simpan di
database tetapi disimpan di directori komputer yaitu pada (D:\\cover_tr\) ,
sedang di data base hanya menyimpan nama file yang sudah direname sesuai tabel
‘id’.
Untuk cara proses update/delete user tinggal
mengklik ‘Header Row’ pada ‘DataGridView’ maka otomatis data akan masuk ke form
sesuai dengan tipenya.
//memasukan
data dari datagridview ke textbox
txt_uid.Text =
dataGridView1.Rows[e.RowIndex].Cells[0].Value as
string;
txt_uartist.Text =
dataGridView1.Rows[e.RowIndex].Cells[1].Value as
string;
txt_ualbum.Text =
dataGridView1.Rows[e.RowIndex].Cells[2].Value as
string;
txt_ujumlah.Text =
dataGridView1.Rows[e.RowIndex].Cells[6].Value as
string;
txt_uharga.Text =
dataGridView1.Rows[e.RowIndex].Cells[5].Value as
string;
string
urating = dataGridView1.Rows[e.RowIndex].Cells[3].Value as string;
//pengecekan
untuk memasukan data rating yg di simpan di 'uratnig' ke combobox 'cmb_urating'
if
(urating == "1 star")
{
cmb_urating.SelectedIndex = 0;
}
else
if (urating == "2
star")
{
cmb_urating.SelectedIndex = 1;
}
else
if (urating == "3
star")
{
cmb_urating.SelectedIndex = 2;
}
else
if (urating == "4
star")
{
cmb_urating.SelectedIndex = 3;
}
else
if (urating == "5
star")
{
cmb_urating.SelectedIndex = 4;
}
string
utipe = dataGridView1.Rows[e.RowIndex].Cells[4].Value as
string;
if
(utipe == "Audio CD")
{
rbtn_ucd.Checked = true;
}
else
{
rbtn_ukset.Checked = true;
}
string
tid = txt_uid.Text;
//mengambil
source data dari database colom 'cover' untuk mengganti image 'pb_ucover'
MySqlConnection
db = new MySqlConnection(connectionSQL);
db.Open();
MySqlCommand
dbcmd = db.CreateCommand();
string
sql = "SELECT `cover` FROM `tb_barang` WHERE
`id` = '"+tid+"'";
// string
sql = "select Nama,Password from tb_accounts";
dbcmd.CommandText = sql;
MySqlDataReader
reader = dbcmd.ExecuteReader();
string
ucover = "";
if
(reader.Read())
{
ucover =
reader.GetString(0).ToString();
}
db.Close();
if
(ucover != "")
{
//pengecekan
keberadaan file di directori komputer
if
(File.Exists("d:\\cover_tr\\"
+ ucover + ""))
{
pb_ucover.Image = Image.FromFile("d:\\cover_tr\\"
+ ucover + "");
}
else
{
//jika
file image hulang atau terhapus dari directori
//maka
image picturebox 'pb_ucover' di ganti dengan 'filang' dari Resource project
pb_ucover.Image = global::WindowsFormsApplication1.Properties.Resources.filang;
}
}
else
{
pb_ucover.Image = global::WindowsFormsApplication1.Properties.Resources.emty;
}
Jika file image hilang dari directori komputer
maka image picturebox untuk album coverdi ganti menjadi :
Proses update bisa di lakukan untuk semua data,
kecuali id barang yang tidak bisa di ganti. Sedangkan proses delete di lakukan
berdasarkan id barang.
Kemudian tombol ‘search’ berfungsi untuk membuka
form search:
Di sini pencarian bisa dilakukan berdasarkan 4
kategori yaitu; berdasarkan nama artis, album, rating, dan tipe barang.
string cari
= txt_cri.Text;
string
rating = " ";
string
tipe = " ";
if(cmb_rating.SelectedIndex
== 0){
rating = "1 star";
}
else
if (cmb_rating.SelectedIndex == 1) {
rating = "2 star";
}
else
if (cmb_rating.SelectedIndex == 2)
{
rating = "3 star";
}
else
if (cmb_rating.SelectedIndex == 3)
{
rating = "4 star";
}
else
if (cmb_rating.SelectedIndex == 4)
{
rating = "5 star";
}
if
(rb_cd.Checked == true)
{
tipe = "Audio
CD";
}
else
{
tipe = "Kaset";
}
MySqlConnection
db = new MySqlConnection(connectionSQL);
MySqlCommand
comand = db.CreateCommand();
db.Open();
dataGridView1.Columns.Clear();
string
tb= "";
if(cmb_kategori.SelectedIndex
== 0)
{
tb = "SELECT
* FROM `tb_barang` WHERE `Artist` = '"+cari+"'";
}
else
if (cmb_kategori.SelectedIndex == 1) {
tb = "SELECT
* FROM `tb_barang` WHERE `Album` = '" + cari + "'";
} else
if(cmb_kategori.SelectedIndex == 2){
tb = "SELECT
* FROM `tb_barang` WHERE `Rating` = '" + rating + "'";
}else
if(cmb_kategori.SelectedIndex == 3){
tb = "SELECT
* FROM `tb_barang` WHERE `Tipe` = '" + tipe + "'";
}
DataSet
x = new DataSet();
MySqlDataAdapter
Adapter = new MySqlDataAdapter(""+tb+"",
db);
Adapter.Fill(x);
dataGridView1.DataSource =
x.Tables[0];
Penutup
·
Kesimpulan
Jadi kesimpulan mengenai
aplikasi Toko Musik ini adalah dengan
aplikasi ini dapat membantu penataan dan menejemen data barang pada toko musik
ditambah lagi dengan adanya form untuk menejemen account pengguna sehingga
tidak sembarang pegawai toko yang bisa mengotak-atik isi data tersebut tanpa
ijin dari menager toko, kepala toko atau sejenisnya yang menjabat sebagai admin
di aplikasi ini.
Untuk lebih jelasnya silahkan download pada link yang ada di
bawah ini.
Tidak ada komentar:
Posting Komentar