Jawaban Soal UAS

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

relasitabelNggak 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 ada

if 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 query

if kebutuhan layanan yang diminta ada yang tidak tersedia
then cetak kebutuhan yang tidak tersedia

cetak 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 supplier

tampung 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

Menu Utama

Menu Utama

Proses 1.1 & 1.2

Form Pengunjung

Form Pengunjung

Form Pemesanan Sesi

Form Pemesanan Sesi

Proses 2.1 & 2.2

Form Kebutuhan Layanan

Form Kebutuhan Layanan

Proses 3.1

Form Testimoni

Form Testimoni

Proses 4.1

Form Supplier

Form Supplier

Proses 4.2 & 4.3

Form Inventori

Form Inventori

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.


Advertisement

Tags: , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s


Follow

Get every new post delivered to your Inbox.