Posted by : Cyborgnime
October 29, 2019
UJIAN TENGAH SEMESTER GANJIL TAHUN 2019/2020
Nama :Rofiul Arsadiyanto
Nim: 1119101779
KETENTUAN
TUGAS
1. Soal terdiri dari 5 point soal.
2. Soal dikumpulkan melalui elearning dalam bentuk
file yang formatnya sudah dishare sebelumnya. (skor: 5%)
3. Selain mengumpulkan file juga harus memposting
hasil pengerjaan di blog masing-masing dan file hasil pengerjaan dikopikan pada
kolom komentar pada postingan.(skor 5%)
Batas waktu pengerjaan
adalah rabu 30 oktober 2019 jam 23:55 melalui akun masing-masing.
INDIKATOR
PENILAIAN
1. Masing-masing soal memiliki bobot
penilaian masing-masing soal no.1 (skor maksimal 15%), Soal no.2 (skor maksimal
10%), Soal no.3 (skor maksimal 25%), Soal no.4 (skor maksimal 20%), Soal no.5
(skor maksimal 20%), kirim file di elearning (skor: 5%), kirim komentar (skor:
5%)
2.
Total nilai akan dikonversi menjadi nilai huruf
dengan ketentuan sebagai berikut
NILAI
|
INDIKATOR PENILAIAN
|
A
|
Total point antara 81-100
|
AB
|
Total point antara 71-80
|
B
|
Total point antara 61-70
|
BC
|
Total point antara 51-60
|
C
|
Total point antara 41-50
|
CD
|
Total point antara 31-40
|
D
|
Total point antara 21-30
|
DE
|
Total point antara 11-20
|
E
|
Total point antara 1-10
|
Tabel
pelanggan
no
|
Nama
Field
|
Type
data
|
Keterangan
|
1.
|
idPelanggan
|
Int
|
Pk,
auto_increment
|
2.
|
namaPelanggan
|
Varchar(25)
|
idPelanggan
|
namaPelanggan
|
1.
|
Cristiano
Ronaldo
|
2.
|
Lionel
Messi
|
3.
|
Frank
Lampard
|
4.
|
Rumelu
Lukaku
|
5.
|
Zlatan
Ibrahimovic
|
6.
|
Neymar
Jr
|
7.
|
Paul
Pogba
|
8.
|
Muhammad
Salah
|
9.
|
Mesut
Ozil
|
10.
|
Luiz
Suares
|
Tabel
perangkat
no
|
Nama
Field
|
Type
data
|
Keterangan
|
1.
|
idPerangkat
|
Int
|
Pk,
auto_increment
|
2.
|
namaPerangkat
|
Varchar(20)
|
|
3.
|
Keterangan
|
Text
|
|
4.
|
idBilik
|
Int
|
FK
|
idPerangkat
|
namaPerangkat
|
Keterangan
|
idbilik
|
1.
|
Perangkat
1
|
PS4,
TV 21 Inc, 2 Stick
|
1
|
2.
|
Perangkat
2
|
PS4,
TV 32 Inc, 2 Stick
|
2
|
3.
|
Perangkat
3
|
PS4,
TV 21 Inc, 2 Stick
|
3
|
4.
|
Perangkat
4
|
PS4,
TV 21 Inc, 2 Stick
|
4
|
5.
|
Perangkat
5
|
PS4,
TV 32 Inc, 2 Stick
|
5
|
Tabel
paket
No
|
Nama
Field
|
Type
data
|
Keterangan
|
1.
|
idPaket
|
Int
|
Pk,
auto_increment
|
2.
|
namaPaket
|
Varchar(20)
|
|
3.
|
Durasi
|
Int
|
|
4.
|
Harga
|
Int
|
idPaket
|
namaPaket
|
Durasi
|
harga
|
1.
|
Paket
1
|
1
|
10000
|
2.
|
Paket
2
|
2
|
15000
|
3.
|
MidNight
|
6
|
25000
|
4.
|
Daylight
|
4
|
20000
|
5.
|
Begadang
|
8
|
30000
|
Tabel
bilik
No
|
Nama
Field
|
Type
data
|
Keterangan
|
1.
|
idBilik
|
Int
|
Pk,
auto_increment
|
2.
|
namaBilik
|
Varchar(20)
|
idBilik
|
namaBilik
|
1.
|
Bilik
1
|
2.
|
Bilik
2
|
3.
|
Bilik
3
|
4.
|
Bilik
4
|
5.
|
Bilik
5
|
Tabel
transaksi
No
|
Nama
Field
|
Type
data
|
Keterangan
|
1.
|
idTransaksi
|
Int
|
Pk,
auto_increment
|
2.
|
idPelanggan
|
Int
|
Fk
|
3.
|
idPerangkat
|
Int
|
Fk
|
4.
|
idPaket
|
Int
|
Fk
|
5.
|
Tanggal
|
date
|
idTransaksi
|
idPelanggan
|
idPerangkat
|
IdPaket
|
Tanggal
|
1.
|
1
|
1
|
5
|
2019-10-01
|
2.
|
1
|
3
|
3
|
2019-10-05
|
3.
|
5
|
4
|
1
|
2019-10-05
|
4.
|
2
|
2
|
1
|
2019-10-05
|
5.
|
4
|
5
|
1
|
2019-10-05
|
6.
|
7
|
1
|
4
|
2019-10-06
|
7.
|
8
|
4
|
2
|
2019-10-06
|
8.
|
6
|
3
|
4
|
2019-10-06
|
9.
|
4
|
2
|
3
|
2019-10-06
|
10.
|
5
|
1
|
3
|
2019-10-06
|
11.
|
3
|
3
|
1
|
2019-10-08
|
12.
|
1
|
4
|
2
|
2019-10-08
|
13.
|
9
|
5
|
3
|
2019-10-09
|
14.
|
10
|
2
|
4
|
2019-10-10
|
15.
|
5
|
3
|
3
|
2019-10-10
|
16.
|
4
|
2
|
1
|
2019-10-11
|
17.
|
2
|
1
|
1
|
2019-10-11
|
18.
|
1
|
4
|
3
|
2019-10-12
|
19.
|
3
|
5
|
4
|
2019-10-12
|
20.
|
4
|
4
|
5
|
2019-10-12
|
Perintah:
1. 1. Buatlah query untuk membuat seluruh tabel
Query 1 : CREATE
TABLE pelanggan (id_pelanggan int PRIMARY KEY AUTO_INCREMENT,nama_pelanggan varchar
(25))
Query 2 : CREATE
TABLE perangakat (id_perangkat int PRIMARY KEY AUTO_INCREMENT,nama_perangkat
varchar (20),keterangan text ,id_bilik int )
Query 3 : CREATE
TABLE paket (id_paket int PRIMARY KEY AUTO_INCREMENT,nama_paket varchar
(20),durasi int ,harga int )
Query 4 : CREATE
TABLE bilik (id_bilik int PRIMARY KEY AUTO_INCREMENT,nama_bilik varchar (20))
Query 5 : CREATE
TABLE Transaksi (id_transaksi int PRIMARY KEY AUTO_INCREMENT,id_pelanggan
int,id_perangkat int,id_paket int,tanggal date)
2.
Isikan data sesuai tabel yang ada:
Query 1 : INSERT into pelanggan VALUES
('1','Cristiano Ronaldo'),
('2','Lionel Messi'),
('3','Frank Lampard'),
('4','Rumelu Lukaku'),
('5','Zlatan Ibrahimovic'),
('6','Neymar Jr'),
('7','Paul Pogba'),
('8','Muhammad Salah'),
('9','Mesut Ozil'),
('10','Luiz Suares');
Query 2 : INSERT INTO perangkat VALUES
('1','Perangkat 1','PS4,TV 21 Inc,2 Stick','1'),
('2','Perangkat 2','PS4,TV 32 Inc,2 Stick','2'),
('3','Perangkat 3','PS4,TV 21 Inc,2 Stick','3'),
('4','Perangkat 4','PS4,TV 21 Inc,2 Stick','4'),
('5','Perangkat 5','PS4,TV 32 Inc,2 Stick','5');
Query 3 : INSERT INTO bilik VALUES
('1','Paket 1','1','10000'),
('2','Paket 2','2','15000'),
('3','MidNight','6','25000'),
('4','Daylight','4','20000'),
('5','Begadang','8','30000');
Query 4 : INSERT INTO bilik VALUES
('1','Bilik 1'),
('2','Bilik 2'),
('3','Bilik 3'),
('4','Bilik 4'),
('5','Bilik 5');
Query 5 : INSERT INTO transaksi VALUES
('1','1','1','5','2019-10-01'),
('2','1','3','3','2019-10-05'),
('3','5','4','1','2019-10-05'),
('4','2','2','1','2019-10-05'),
('5','4','5','1','2019-10-05'),
('6','7','1','4','2019-10-06'),
('7','8','4','2','2019-10-06'),
('8','6','3','4','2019-10-06'),
('9','4','2','3','2019-10-06'),
('10','5','1','3','2019-10-06'),
('11','3','3','1','2019-10-08'),
('12','9','4','2','2019-10-08'),
('13','10','5','3','2019-10-09'),
('14','5','2','4','2019-10-10'),
('15','5','3','3','2019-10-10'),
('16','4','2','1','2019-10-11'),
('17','2','1','1','2019-10-11'),
('18','1','4','3','2019-10-12'),
('19','3','5','4','2019-10-12'),
('20','4','4','5','2019-10-12');
3. 2. Tampilkan
idPelanggan,Namapelanggan,namaPerangkat,NamaPaket,Harga
Query: SELECT
transaksi.id_pelanggan, pelanggan.nama_pelanggan, perangkat.nama_perangkat,
paket.nama_paket, paket.harga FROM transaksi JOIN pelanggan JOIN perangkat JOIN
paket ON transaksi.id_pelanggan=pelanggan.id_pelanggan AND
transaksi.id_perangkat=perangkat.id_perangkat AND
transaksi.id_paket=paket.id_paket
4. 3. Tampilkan penghasilan
perhari(group by tanggal)
Query: SELECT Tanggal,
SUM(Harga) FROM paket JOIN transaksi ON paket.Id_Paket=transaksi.Id_Paket GROUP
BY tanggal
5. 4. Tampilkan berapa penghasilan
rental perorang pelanggan(group by pelanggan)
Query: SELECT
pelanggan.nama_pelanggan, SUM(paket.harga) AS Penghasilan
FROM pelanggan JOIN paket JOIN
transaksi ON paket.id_paket=transaksi.id_paket AND
pelanggan.id_pelanggan=transaksi.id_pelanggan GROUP BY pelanggan.nama_pelanggan