Minggu, 27 Oktober 2019

UTS Basis Data


 

UJIAN TENGAH SEMESTER GANJIL TAHUN 2019/2020




Nama    : Abdi Sinaga
Nim       : 1119101817






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 waktupengerjaanadalahrabu 30 oktober 2019 jam 23:55 melaluiakunmasing-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 nilaiakandikonversimenjadinilaihurufdenganketentuansebagaiberikut
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












Tabelpelanggan
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

Tabelperangkat
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.        
Perangkat4
PS4, TV 21 Inc, 2 Stick
4
5.        
Perangkat5
PS4, TV 32 Inc, 2 Stick
5

Tabelpaket
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

Tabelbilik
No
Nama Field
Type data
Keterangan
1.        
idBilik
Int
Pk, auto_increment
2.        
namaBilik
Varchar(20)


idBilik
namaBilik
1.        
Bilik 1
2.        
Bilik2
3.        
Bilik3
4.        
Bilik4
5.        
Bilik5

Tabeltransaksi
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.    
91
4
3
2019-10-12
19.    
3
5
4
2019-10-12
20.    
4
4
5
2019-10-12

Perintah:
1.       Buatlah query untukmembuatseluruhtabel
Query 1 :create table pelanggan (Id_Pelanggan int, Nama_Pelanggan Varchar (25))
Query 2 :create table perangkat (Id_Perangkat int, Nama_Perangkat Varchar (20), Keterangan Text, Id_Bilik Int)
Query 3 :create table Paket (Id_Paket Int, Nama_Paket Varchar(20), Durasi Int, Harga Int)
Query 4 :create table Bilik (Id_Bilik Int, Nama_Bilik Varchar(20))
Query 5 :create table Transaksi (Id_Transaksi Int, Id_Pelanggan Int, Id_Perangkat Int, Id_Paket Int, Tanggal date)

2.       Isikan data sesuaitabel 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 Paket 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,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,91,4,3,'2019-10-12'),
(19,3,5,4,'2019-10-12'),
(20,4,4,5,'2019-10-12')

3.       TampilkanidPelanggan,Namapelanggan,namaPerangkat,NamaPaket,Harga
Query: Select Pelanggan.Id_Pelanggan, Pelanggan.Nama_Pelanggan, Perangkat.Nama_Perangkat, Paket.Nama_Paket, Paket.Harga From Pelanggan Join Perangkat Join Paket

4.       Tampilkanpenghasilanperhari(group by tanggal)
Query: SELECT Tanggal, SUM(Harga) FROM paket JOIN transaksi ON paket.Id_Paket=transaksi.Id_Paket GROUP BY tanggal

5.       Tampilkanberapapenghasilan rental perorangpelanggan(group by pelanggan)
Query: select pelanggan.nama_pelanggan, sum(paket.harga) 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