NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014
1. Lakukan analisis terhadap CV Ayo Baca dan buatlah CDM dan PDM pada studi kasus tersebut. BerI penjelasan untuk setiap langkah pembuatan CDM dan PDM nya
Pertama klik create model, lalu Conceptual Diagram klik oke Pembuatan tabel karyawan
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Attribute dari tabel karyawan,pada id_karyawan diberi primary key
Pembuatan tabel komik
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Attributes dari tabel komik, pada field id_komik diberi primary key
Pembuatan tabel member
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Attributes dari tabel member, pada field id_member diberi primary key
Pembuatan tabel transaksi peminjaman
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Attributes dari tabel transaksi peminjaman, pada field id_transaksi diberi primary key
Pembuatan tabel denda
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Attributes dari tabel denda, pada field id_denda diberi primary key
Lalu setiap tabel dihubungkan dengan relationship
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Contohnya tabel karyawan dengan tabel member
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Lalu cardinalities lalu oke
Maka akan seperti ini
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Cek jika ada kesalah apa tidak dengan klik f4, lalu oke
Setelah CDM selesai selanjutnya PDM dengan klik menu tools lalu pilih generate physical data model
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Ganti name sesuai yang diinginkan
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Lalu klik details, isi table prefix dengan TBL_ dan ganti Delete rule dengan cascade
Akan muncul seperti ini PDM
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Selanjutnya pembuatan query dengan cara klik menu database lalu klik generate database,lalu oke
Lalu klik edit
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 Akan mucul scriptnya sebagai berikut
Lalu buka localhost/phpmyadmin, lalu klik import di CV_Ayo_Baca.sql, lalu klik GO, maka akan mucul
2. Tampilkan query untuk memasukkan 3 data pada masing-masing tabel yg telah dibuat. Jelaskan arti query yg ditulis. a) Pengisian tabel karyawan INSERT INTO `cv_ayo_baca`.`tbl_tabel_karyawan` (`ID_KARYAWAN`, `NAMA_KARYAWAN`, `NOHP_KARYAWAN`, `ALAMAT_KARYAWAN`) VALUES ('K001', 'Agus, '085612312312', 'JL.Durian No:10 Purwokerto'), ('K002', 'Asep', ‘085623423423', 'JL.Rambutan No:11 Tambun’),
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 ('K003', 'Budi’, '085634534534’, 'Jl.Ceri No:12 Purwokerto');
Penjelasan : INSERT INTO `cv_ayo_baca` digunakan untuk perintah menambahkan data ke dalam database cv_ayo_baca `tbl_tabel_karyawan` untuk tabel yang digunakan dan yang akan dimasukan data. (`ID_KARYAWAN`, `NAMA_KARYAWAN`, `NOHP_KARYAWAN`, `ALAMAT_KARYAWAN`) adalah Field yang terdapat pada tabel karyawan serta urutan field yang akan dimasukan data. VALUES ('K001', 'Agus, '085612312312', 'JL.Durian No:10 Purwokerto'), ('K002', 'Asep', ‘085623423423', 'JL.Rambutan No:11 Tambun’), ('K003', 'Budi’, '085634534534’, 'Jl.Ceri No:12 Purwokerto'); -> untuk data yang dimasukan kedalam tabel karyawan dan sesuai urutan field yang diatas, data yang dimasukan pada kali ini sebanyak 3 data. b) Pengisian tabel transaksi peminjaman INSERT INTO `cv_ayo_baca`.`tbl_transaksi_peminjaman` (`ID_TRANSAKSI`, `ID_KARYAWAN`, `TGL_KEMBALI`, `TGL_PINJAM`, `TOTAL_PINJAM`, `TOTAL_HARGA`) VALUES ('trans1', 'K001', '2016-01-04', '2016-01-01', '1', '2500'), ('trans2', 'K002', '2016-01-08', '2016-01-05', '2', '5000'), ('trans3', 'K003', '2016-01-12', '2016-01-09', '3', '10000');
Penjelasan: INSERT INTO `cv_ayo_baca` digunakan untuk perintah menambahkan data ke dalam database cv_ayo_baca `tbl_transaksi_peminjaman` tabel yang digunakan dan yang akan dimasukan data. (`ID_TRANSAKSI`, `ID_KARYAWAN`, `TGL_KEMBALI`,`TGL_PINJAM`, `TOTAL_PINJAM`, `TOTAL_HARGA`) field yang terdapat pada tabel transaksi_peminjaman serta urutan field yang akan dimasukan data. VALUES ('trans1', 'K001', '2016-01-04', '2016-01-01', '1', '2500'), ('trans2', 'K002', '2016-01-08', '2016-01-05', '2', '5000'), ('trans3', 'K003', '2016-01-12', '2016-01-09', '3', '10000'); -> data yang dimasukan kedalam tabel transaksi_peminjaman dan sesuai urutan field yang diatas, data yang dimasukan pada kali ini sebanyak 3 data. c) Pengisian tabel member INSERT INTO `cv_ayo_baca`.`tbl_tabel_member` (`ID_MEMBER`, `ID_TRANSAKSI`, `ID_KARYAWAN`, `NAMA_MEMBER`, `ALAMAT_MEMBER`, `KTP_MEMBER`, `NOHP_MEMBER`, `EMAIL_MEMBER`) VALUES ('M0007', 'trans1', 'K001', 'Doni',
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 'JL.Tomat NO:20 Purwokerto', '1388888', '085632132132', '
[email protected]'), ('M0008', 'trans2', 'K002', 'Bening', 'JL.Kentang NO:21 Bekasi', '1277777', '085643243243', '
[email protected]'), ('M0009', 'trans3', 'K003', 'Ermas', 'Jl Cabai No:22 Cikarang', '1366666', '085654354354', '
[email protected]');
Penjelasan: INSERT INTO `cv_ayo_baca` digunakan untuk perintah menambahkan data ke dalam database cv_ayo_baca `tbl_tabel_member` tabel yang digunakan dan yang akan dimasukan data. (`ID_MEMBER`, `ID_TRANSAKSI`, `ID_KARYAWAN`, `NAMA_MEMBER`, `ALAMAT_MEMBER`, `KTP_MEMBER`, `NOHP_MEMBER`, `EMAIL_MEMBER`) Field yang terdapat pada tabel member serta urutan field yang akan dimasukan data. VALUES ('M0007', 'trans1', 'K001', 'Doni', 'JL.Tomat NO:20 Purwokerto', '1388888', '085632132132', '
[email protected]'), ('M0008', 'trans2', 'K002', 'Bening', 'JL.Kentang NO:21 Bekasi', '1277777', '085643243243', '
[email protected]'), ('M0009', 'trans3', 'K003', 'Ermas', 'Jl Cabai No:22 Cikarang', '1366666', '085654354354', '
[email protected]'); -> data yang dimasukan kedalam tabel member dan sesuai urutan field yang diatas, data yang dimasukan pada kali ini sebanyak 3 data.
d) Pengisian tabel komik INSERT INTO `cv_ayo_baca`.`tbl_tabel_komik` (`ID_KOMIK`, `ID_MEMBER`, `ID_KARYAWAN`, `PENGARANG_KOMIK`, `PENERBIT_KOMIK`, `KATEGORI_KOMIK`,`JUDUL_KOMIK` ) VALUES ('KOM1', 'M0007', 'K001', 'Toni', 'Yudhistira', 'Anime', 'Naruto'), ('KOM02', 'M0112', 'K0002', 'Dadang', 'Yudhistira', 'Scifi', 'Iron Man'), ('KOM03', 'M0113', 'K0003', 'Tatang', 'Yudhistira', 'Horor', 'Annabele');
Penjelasan: INSERT INTO `cv_ayo_baca` digunakan untuk perintah menambahkan data ke dalam database cv_ayo_baca. `tbl_tabel_komik` tabel yang digunakan dan yang akan dimasukan data. (`ID_KOMIK`, `ID_MEMBER`, `ID_KARYAWAN`, `PENGARANG_KOMIK`, `PENERBIT_KOMIK`, `KATEGORI_KOMIK`,`JUDUL_KOMIK` ) Field yang terdapat pada tabel member serta urutan field yang akan dimasukan data. VALUES ('KOM1', 'M0007', 'K001', 'Toni', 'Yudhistira', 'Anime', 'Naruto'), ('KOM02', 'M0112', 'K0002', 'Dadang', 'Yudhistira', 'Scifi', 'Iron Man'), ('KOM03', 'M0113', 'K0003', 'Tatang',
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 'Yudhistira', 'Horor', 'Annabele'); -> data yang dimasukan kedalam tabel komik dan sesuai urutan field yang diatas, data yang dimasukan pada kali ini sebanyak 3 data. e) Pengisian tabel denda INSERT INTO `cv_ayo_baca`.`tbl_tabel_denda` (`ID_DENDA`, `ID_TRANSAKSI`, `JUMLAH_KOMIK`, `JUMLAH_HARI`) VALUES ('D1', 'trans1', '1', '3'), ('D2', 'trans2', '2', '3'), ('D3', 'trans3', '3', '3');
Penjelasan: INSERT INTO `cv_ayo_baca` digunakan untuk perintah menambahkan data ke dalam database cv_ayo_baca `tbl_tabel_denda` tabel yang digunakan dan yang akan dimasukan data. (`ID_DENDA`, `ID_TRANSAKSI`, `JUMLAH_KOMIK`, `JUMLAH_HARI`) Field yang terdapat pada tabel denda serta urutan field yang akan dimasukan data. VALUES ('D1', 'trans1', '1', '3'), ('D2', 'trans2', '2', '3'), ('D3', 'trans3', '3', '3'); data yang dimasukan kedalam tabel denda dan sesuai urutan field yang diatas, data yang dimasukan pada kali ini sebanyak 3 data.
3. Tampilkan data dengan menggunakan JOIN untuk minimal 2 tabel. Simpan query dan tampilkan hasilnya. Jelaskan arti query yg ditulis. SELECT tbl_transaksi_peminjaman.ID_TRANSAKSI, tbl_tabel_member.NAMA_MEMBER, tbl_tabel_komik.JUDUL_KOMIK, tbl_tabel_komik.KATEGORI_KOMIK, tbl_transaksi_peminjaman.TGL_PINJAM, tbl_transaksi_peminjaman.TGL_KEMBALI FROM tbl_transaksi_peminjaman, tbl_tabel_member, tbl_tabel_komik WHERE tbl_transaksi_peminjaman.ID_TRANSAKSI=tbl_tabel_member.ID_TRANSAKSI AND tbl_tabel_member.ID_MEMBER=tbl_tabel_komik.ID_MEMBER
penjelasan : SELECT tbl_transaksi_peminjaman.ID_TRANSAKSI, merupakan perintah memilih tabel dan field yang akan ditampilkan , field yang akan ditampilkan ID_TRANSAKSI dari tabel tbl_transaksi_peminjaman. tbl_tabel_member.NAMA_MEMBER, merupakan field yang akan ditampilkan NAMA_MEMBER dari tabel tbl_tabel_member.
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 tbl_tabel_komik.JUDUL_KOMIK, merupakan field yang akan ditampilkan JUDUL_KOMIK dari tabel tbl_tabel_komik tbl_tabel_komik.KATEGORI_KOMIK, merupakan field yang akan ditampilkan KATEGORI_KOMIK dari tabel tbl_tabel_komik. tbl_transaksi_peminjaman.TGL_PINJAM, merupakan field yang akan ditampilkan TGL_PINJAM dari tabel tbl_transaksi_peminjaman. tbl_transaksi_peminjaman.TGL_KEMBALI merupakan field yang akan ditampilkan TGL_KEMBALI dari tabel tbl_transaksi_peminjaman. FROM tbl_transaksi_peminjaman, tbl_tabel_member, tbl_tabel_komik merupakan Asal tabel yang akan ditampilkan datanya. WHERE tbl_transaksi_peminjaman.ID_TRANSAKSI=tbl_tabel_member.ID_TRANSAKSI AND tbl_tabel_member.ID_MEMBER=tbl_tabel_komik.ID_MEMBER kondisi dimana antara 2 tabel yang akan dihubungkan dengan menggunakan field yang sama pada kedua tabel tersebut. Pada kondisi diatas tabel ‘tbl_transaksi_peminjaman’ dengan field ID_TRANSAKSI dihubungkan dengan tabel ‘tbl_tabel_member’ dengan field yang sama seperti pada tabel ‘tbl_transaksi_peminjaman’ yaitu field ‘ID_TRANSAKSI’ , begitu pula selanjutnya . 4. Apakah yg dimaksud dengan TRIGGER? Trigger merupakan sebuah objek database yang di asosiasikan dengan sebuah tabel dan akan aktif (terpicu/trigger) ketika sebuah event terjadi pada tabel tersebut. Trigger hanya terjadi ketika ada eksekusi INSERT, DELETE, dan UPDATE pada tabel yang bersangkutan. Waktu eksekusi trigger yang mungkin terjadi terdiri dari 2 yaitu BEFORE dan AFTER dari statement SQLnya. Implementasi trigger yang sering ditemui dalam dunia nyata adalah untuk mengreset dan mengubah nilai kolom dalam suatu tabel sehingga validasi nilai dari tabel tersebut akan terjaga. Adanya trigger dalam database akan meringankan kita dalam pembuatan aplikasi karena di dalam aplikasi yang kita buat kita tidak perlu lagi untuk melakukan validasi data.
5. Buat 1 contoh TRIGGER pada database yg telah dibuat. Dan jelaskan arti dari query tersebut. CREATE TRIGGER insert_tbl_tabel_member AFTER INSERT ON tbl_tabel_member FOR EACH ROW INSERT INTO log_member VALUES("Tambah data",NOW());
Penjelasan:
NAMA : Arof Arto Perdana NIM : 14102007 KELAS : Informatika A 2014 CREATE TRIGGER insert_tbl_tabel_member ->membuat triger dengan nama insert_tbl_tabel_member AFTER INSERT ON tbl_tabel_member -> Trigger akan dijalankan otomatis setelah ada instruksi insert pada tbl_tabel_member. FOR EACH ROW INSERT INTO log_member VALUES("Tambah data",NOW()); -> Secara otomatis akan mengisi tabel log_member dengan “Tambah data” dan tanggal serta waktu pada saat dilakukan insert di tbl_tabel_member.