Jawaban Nomer 1
Silakan klik di sini untuk profil kami dan di sini untuk site map
Jawaban Nomer 2
Sintaks SQL
#==============================================================
# DBMS name: Microsoft Access 2000
# Created on: 1/14/2009 5:37:01 PM
#==============================================================
#==============================================================
# Table: ENT_1
#==============================================================
CreateTble C=ENT_1 N="Pengunjung"
(
C=P_NOKTP T="CHAR(16)" P=Yes M=Yes N="P_NoKTP" Z=false,
C=P_NAMA T="VARCHAR(25)" P=No M=Yes N="P_Nama" Z=false,
C=P_ALAMAT T="VARCHAR(50)" P=No M=Yes N="P_Alamat" Z=false,
C=P_NOTELP T="VARCHAR(15)" P=No M=Yes N="P_NoTelp" Z=false
);
#==============================================================
# Table: ENT_18
#==============================================================
CreateTble C=ENT_18 N="Sesi Layanan"
(
C=SL_ID T="CHAR(5)" P=Yes M=Yes N="SL_Id" Z=false,
C=L_ID T="CHAR(3)" P=No M=Yes N="L_Id" Z=false,
C=PEG_NOKTP T="CHAR(16)" P=No M=Yes N="Peg_NoKTP" Z=false,
C=SL_TESTIMONI T="VARCHAR(100)" P=No M=Yes N="SL_Testimoni" Z=false,
C=SL_TANGGAL T="DATE" P=No M=Yes N="SL_Tanggal" Z=false,
C=SL_JAMMULAI T="TIME" P=No M=Yes N="SL_JamMulai" Z=false,
C=SL_JAMSELESAI T="TIME" P=No M=Yes N="SL_JamSelesai" Z=false
);
#==============================================================
# Table: ENT_2
#==============================================================
CreateTble C=ENT_2 N="Transaksi Layanan"
(
C=TL_ID T="CHAR(5)" P=Yes M=Yes N="TL_Id" Z=false,
C=P_NOKTP T="CHAR(16)" P=No M=Yes N="P_NoKTP" Z=false,
C=SL_ID T="CHAR(5)" P=No M=Yes N="SL_Id" Z=false,
C=TL_TGLTRANS T="DATE" P=No M=Yes N="TL_TglTrans" Z=false,
C=TL_NILAITRANS T="NUMERIC(7)" P=No M=No N="TL_NilaiTrans" Z=false
);
#==============================================================
# Table: ENT_30
#==============================================================
CreateTble C=ENT_30 N="Layanan"
(
C=L_ID T="CHAR(3)" P=Yes M=Yes N="L_Id" Z=false,
C=L_NAMA T="VARCHAR(20)" P=No M=Yes N="L_Nama" Z=false,
C=L_HARGASATUAN T="NUMERIC(7)" P=No M=Yes N="L_HargaSatuan" Z=false
);
#==============================================================
# Table: ENT_46
#==============================================================
CreateTble C=ENT_46 N="Pegawai"
(
C=PEG_NOKTP T="CHAR(16)" P=Yes M=Yes N="Peg_NoKTP" Z=false,
C=PEG_NAMA T="VARCHAR(30)" P=No M=Yes N="Peg_Nama" Z=false,
C=PEG_ALAMAT T="VARCHAR(50)" P=No M=Yes N="Peg_Alamat" Z=false,
C=PEG_NOTELP T="VARCHAR(15)" P=No M=Yes N="Peg_NoTelp" Z=false
);
#==============================================================
# Table: ENT_53
#==============================================================
CreateTble C=ENT_53 N="Log Peminjaman"
(
C=LP_ID T="CHAR(5)" P=Yes M=Yes N="LP_Id" Z=false,
C=K_ID T="CHAR(4)" P=No M=Yes N="K_Id" Z=false,
C=SL_ID T="CHAR(5)" P=No M=Yes N="SL_Id" Z=false,
C=LP_KUANTITAS T="NUMERIC(2)" P=No M=Yes N="LP_Kuantitas" Z=false,
C=LP_KETERANGAN T="VARCHAR(30)" P=No M=Yes N="LP_Keterangan" Z=false
);
#==============================================================
# Table: ENT_61
#==============================================================
CreateTble C=ENT_61 N="Kebutuhan"
(
C=K_ID T="CHAR(4)" P=Yes M=Yes N="K_Id" Z=false,
C=K_NAMA T="VARCHAR(25)" P=No M=Yes N="K_Nama" Z=false,
C=K_KUANTITAS T="NUMERIC(2)" P=No M=Yes N="K_Kuantitas" Z=false
);
#==============================================================
# Table: ENT_69
#==============================================================
CreateTble C=ENT_69 N="Transaksi Kebutuhan"
(
C=TK_ID T="CHAR(5)" P=Yes M=Yes N="TK_Id" Z=false,
C=S_ID T="CHAR(5)" P=No M=Yes N="S_Id" Z=false,
C=PEG_NOKTP T="CHAR(16)" P=No M=Yes N="Peg_NoKTP" Z=false,
C=TK_TGLTRANS T="DATE" P=No M=Yes N="TK_TglTrans" Z=false,
C=TK_NILAITRANS T="NUMERIC(7)" P=No M=Yes N="TK_NilaiTrans" Z=false
);
#==============================================================
# Table: ENT_70
#==============================================================
CreateTble C=ENT_70 N="Supplier"
(
C=S_ID T="CHAR(5)" P=Yes M=Yes N="S_Id" Z=false,
C=S_NAMA T="VARCHAR(30)" P=No M=Yes N="S_Nama" Z=false,
C=S_ALAMAT T="VARCHAR(50)" P=No M=Yes N="S_Alamat" Z=false,
C=S_NOTELP T="CHAR(15)" P=No M=Yes N="S_NoTelp" Z=false,
C=S_EMAIL T="VARCHAR(30)" P=No M=No N="S_Email" Z=false
);
#==============================================================
# Table: RELATION_89
#==============================================================
CreateTble C=RELATION_89 N="Beli Dari"
(
C=K_ID T="CHAR(4)" P=Yes M=Yes N="K_Id" Z=false,
C=S_ID T="CHAR(5)" P=Yes M=Yes N="S_Id" Z=false
);
CreateJoin C=FK_ENT_18_RELATION__ENT_30 T=ENT_18 P=ENT_30 D=restrict U=restrict
(
P=L_ID F=L_ID
);
CreateJoin C=FK_ENT_18_RELATION__ENT_46 T=ENT_18 P=ENT_46 D=restrict U=restrict
(
P=PEG_NOKTP F=PEG_NOKTP
);
CreateJoin C=FK_ENT_2_RELATION__ENT_1 T=ENT_2 P=ENT_1 D=restrict U=restrict
(
P=P_NOKTP F=P_NOKTP
);
CreateJoin C=FK_ENT_2_RELATION__ENT_18 T=ENT_2 P=ENT_18 D=restrict U=restrict
(
P=SL_ID F=SL_ID
);
CreateJoin C=FK_ENT_53_RELATION__ENT_18 T=ENT_53 P=ENT_18 D=restrict U=restrict
(
P=SL_ID F=SL_ID
);
CreateJoin C=FK_ENT_53_RELATION__ENT_61 T=ENT_53 P=ENT_61 D=restrict U=restrict
(
P=K_ID F=K_ID
);
CreateJoin C=FK_ENT_69_RELATION__ENT_46 T=ENT_69 P=ENT_46 D=restrict U=restrict
(
P=PEG_NOKTP F=PEG_NOKTP
);
CreateJoin C=FK_ENT_69_RELATION__ENT_70 T=ENT_69 P=ENT_70 D=restrict U=restrict
(
P=S_ID F=S_ID
);
CreateJoin C=FK_RELATION_RELATION__ENT_61 T=RELATION_89 P=ENT_61 D=restrict U=restrict
(
P=K_ID F=K_ID
);
CreateJoin C=FK_RELATION_RELATION__ENT_70 T=RELATION_89 P=ENT_70 D=restrict U=restrict
(
P=S_ID F=S_ID
);
Screenshot Tabel
Nggak keliatan ya gambarnya???
Klik di sini untuk melihat gambar yang gedhe!!
Jawaban Nomer 3
Proses 1.1 & 1.2
if pelanggan belum terdaftar
then lakukan pendaftaran pelanggan
melakukan query sesi-sesi layanan yang adaif sesi layanan yang dipilih terisi
then tolak sesi layanan yang dipilih
beri opsi sesi layanan lain
else
then update buku sesi layanan
source code:
- Mengecek apakah pelanggan telah terdaftar atau belum
OleDbConnection conn = DbaseConnection.GetConnection();
DataRow dr = null;
dr = DbaseConnection.ExecuteDataRow("SELECT * FROM Pengunjung WHERE p_NoKTP = '" + textBox5.Text + "'", conn);
textBox5.Text = "";
if (dr != null){
textBox1.Text = dr[0].ToString(); textBox3.Text = dr[2].ToString();
textBox2.Text = dr[1].ToString(); textBox4.Text = dr[3].ToString();
}else
MessageBox.Show("Tidak Ada Data yang Dimaksud", "Konfirmasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
- Melakukan pendaftaran pelanggan
OleDbConnection conn = DbaseConnection.GetConnection();
DbaseConnection.ExecuteNonQuery("INSERT INTO Pengunjung (p_NoKTP,p_Nama,p_Alamat,p_NoTelp)" + "VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "')", conn);
DbaseConnection.CloseConnection(conn);
- Mengecek Sesi
OleDbConnection conn = DbaseConnection.GetConnection();
tgl1 = dateTimePicker1.Value.Day; bln1 = dateTimePicker1.Value.Month;
thn1 = dateTimePicker1.Value.Year;
tgl2 = dateTimePicker2.Value.Day; bln2 = dateTimePicker2.Value.Month;
thn2 = dateTimePicker2.Value.Year;
DataRow dr = null;
dr = DbaseConnection.ExecuteDataRow("SELECT * FROM Sesi_Layanan WHERE SL_TanggalMulai = #"+tgl1+"/"+bln1+"/"+thn1+"# AND "+ "SL_TanggalSelesai = #"+tgl2+"/"+bln2+"/"+thn2+"# AND SL_JamMulai = #12:00# AND SL_JamSelesai = #13:00#", conn);
if (dr == null){
textBox1.Text = "Kosong";
button2.Enabled = true;
}
else
textBox1.Text = "Terisi";
DbaseConnection.CloseConnection(conn);
- Membuat sesi layanan
String idLayanan = "";
switch(comboBox1.SelectedIndex){
case 0:
idLayanan = "001";
break;
case 1:
idLayanan = "002";
break;
case 2:
idLayanan = "003";
break;
case 3:
idLayanan = "004";
break;
}
OleDbConnection conn = DbaseConnection.GetConnection();
DbaseConnection.ExecuteNonQuery("INSERT INTO Sesi_Layanan VALUES (#"+tgl1+"/"+bln1+"/"+thn1+"#"+
",#"+tgl2+"/"+bln2+"/"+thn2+"#,#12:00#,#13:00#)", conn);
DbaseConnection.CloseConnection(conn);
Proses 2.1
if form kebutuhan layanan pengunjung diperoleh
then lakukan query mengecek kebutuhan yang dimaksud tampilkan hasil query
Proses 2.2
tampung hasil query dari proses 2.1
mencocokkan kebutuhan yang diminta dengan hasil queryif kebutuhan layanan yang diminta ada yang tidak tersedia
then cetak kebutuhan yang tidak tersediacetak kebutuhan yang tersedia
lakukan query untuk meng-update tabel kebutuhan yang dipinjam
source code:
- Load Kebutuhan dari Database
OleDbConnection dbasecon = DbaseConnection.GetConnection();
int index = 0;
int jumlahrow = 0;
ds = DbaseConnection.ExecuteDataSet("select k_nama from kebutuhan order by k_id", dbasecon);
jumlahrow = ds.Tables[0].Rows.Count;
for (index = 0; index < jumlahrow; index++)
{
CBkebutuhan.Items.Add
(
ds.Tables[0].Rows[index].ItemArray[0].ToString()
);
}
CBkebutuhan.Text = ds.Tables[0].Rows[0].ItemArray[0].ToString();
DbaseConnection.CloseConnection(dbasecon);
- Set Pilihan Kebutuhan
CBkebutuhan.Items.Clear();
SetCBkebutuhan();
- Tanggal Pilihan User
tanggal = DTPtanggal.Value.Day;
bulan = DTPtanggal.Value.Month;
tahun = DTPtanggal.Value.Year;
- Query Kebutuhan yang Dipilih Sesuai dengan Tanggal
OleDbConnection dbasecon = DbaseConnection.GetConnection();
ds = DbaseConnection.ExecuteDataSet("select k.k_nama as nama," + " k.k_kuantitas as jumlah, (k.k_kuantitas - lp.lp_kuantitas) as tersedia," + " k.k_kondisi as kondisi from kebutuhan as k, log_peminjaman as lp, sesi_layanan sl" + " where k.k_nama like '" + CBkebutuhan.Text + "' and lp.k_id = k.k_id and lp.sl_id = sl.sl_id and" + " sl.sl_tanggalmulai = #" + bulan + "/" + tanggal + "/" + tahun + "#", dbasecon);
DGVhasil.AutoGenerateColumns = true;
DGVhasil.DataSource = ds;
DGVhasil.DataMember = "result";
DbaseConnection.CloseConnection(dbasecon);
Proses 3.1
if testimoni pengunjung telah diterima
then lakukan query untuk meng-update tabel sesi layanan
else
then minta kembali testimoni ke pengunjung
source code:
- Mengecek Id Pengunjung
String sql = "SELECT P.P_Nama, S.SL_Tanggal_Selesai FROM Sesi_Layanan S, Transaksi_Layanan T, Pengunjung P"+" WHERE T.SL_ID = S.SL_ID AND P.P_NoKTP = T.P_NoKTP AND S.SL_ID = '"+ textBox3.Text +"';";
OleDbConnection conn = DbaseConnection.GetConnection();
DataRow dr = null;
dr = DbaseConnection.ExecuteDataRow(sql, conn);
if (dr != null){
textBox1.Text = dr[0].ToString();
textBox2.Text = dr[1].ToString();
}else
MessageBox.Show("Tidak Ada Data yang Dimaksud", "Konfirmasi", MessageBoxButtons.OK,
MessageBoxIcon.Information);
DbaseConnection.CloseConnection(conn);
- Memasukkan Testimonial
OleDbConnection conn = DbaseConnection.GetConnection();
DbaseConnection.ExecuteNonQuery("UPDATE Sesi_Layanan SET SL_TESTIMONI = '"+ richTextBox1.Text +"'", conn);
DbaseConnection.CloseConnection(conn);
Proses 4.1
if katalog diterima
then lakukan query untuk meng-update tabel suppliertampung hasil query kebutuhan layanan
source code:
- Memasukkan Data Supplier
OleDbConnection conn = DbaseConnection.GetConnection();
DbaseConnection.ExecuteNonQuery("INSERT INTO Supplier (S_Nama,S_Alamat,S_NoTelp,S_Email)"+
" VALUES ('"+ textBox2.Text +"','"+ textBox3.Text +"','"+ textBox4.Text +"','"+ textBox5.Text +"')", conn);
DbaseConnection.CloseConnection(conn);
Jawaban Nomer 4
Menu Utama
Proses 1.1 & 1.2
Proses 2.1 & 2.2
Proses 3.1
Proses 4.1
Proses 4.2 & 4.3
Jawaban Nomer 5
Analisis & rancangan yang telah Kami buat sebelumnya tidak dapat implementasikan secara langsung dikarenakan ada beberapa hal sebagai berikut :
- Relasi dari tabel Sesi_Layanan dengan tabel Pegawai seharusnya one-to-many. Oleh karena itu, telah kami perbaiki.
- Dibutuhkan atribut SL_Tanggal_ Mulai dan SL_Tanggal_Selesai pada tabel Sesi_Layanan dan menghapus atribut SL_Tanggal. Lalu, telah kami tambahkan.
- Dibutuhkan atribut kuantitas pada tabel Transaksi_Kebutuhan. Telah kami tambahkan.
Sehingga, hasil program kami yang dikumpulkan dapat diperoleh di sini.
Tags: access, analisa desain terstruktur, jawaban uas ADT, microsoft access, relasi tabel, SQL syntax






