Anda di halaman 1dari 25

TESTING SURAT

Contents
......................................................................................... Error! Bookmark not defined.

JAWABAN ESSAY ......................................................................................................... 4

1. (L001, 5 poin) ........................................................................................................ 4

2. (LO01, 5 poin) ....................................................................................................... 5

3. (LO01, 5 poin) ....................................................................................................... 5

4. (LO02, 10 poin) ..................................................................................................... 6


5. (LO02, 10 poin) ..................................................................................................... 7

6. (LO03, 10 poin) ..................................................................................................... 8

JAWABAN PRAKTIKUM .............................................................................................. 9

A. (7 poin) Create Database .................................................................................... 9

B. (8 poin) Create Table ....................................................................................... 11

C. (8 poin) Insert Into ........................................................................................... 14

D. (8 poin) Select Where ...................................................................................... 20

E. (8 poin) Update ................................................................................................ 25

Gambar 1 Create Database Tokosepatu............................................................................ 9


Gambar 2 Use database tokosepatu ................................................................................ 10
Gambar 3 Create Tabel pembeli ..................................................................................... 12
Gambar 4 Create Tabel Sepatu ....................................................................................... 12
Gambar 5 Create Tabel Transaksi .................................................................................. 13
Gambar 6 Insert 13 baris record ke Tabel Pembeli ........................................................ 16
Gambar 7 Select semua data Tabel Pembeli .................................................................. 16
Gambar 8 Insert 13 baris record ke Tabel Sepatu .......................................................... 17
Gambar 9 Select semua data Tabel Sepatu ..................................................................... 17
Gambar 10 Insert 13 baris record ke Tabel Transaksi .................................................... 18
Gambar 11 Select semua data Tabel Transaksi .............................................................. 18
Gambar 12 Query Where ................................................................................................ 21
Gambar 13 Query Where-Or .......................................................................................... 21
Gambar 14 Query Where-And ....................................................................................... 22
Gambar 15 Query Where-And-Or .................................................................................. 22
Gambar 16 Query Where-Not ........................................................................................ 23
Gambar 17 Query Where-Like ....................................................................................... 23
Gambar 18 Query Where-In ........................................................................................... 24
Gambar 19 Update 3 Row Record .................................................................................. 25
JAWABAN ESSAY

1. (L001, 5 poin)
Jelaskan apa kondisi yang menyebabkan kita harus beralih ke database
management system seperti My SQL daripada menggunakan spreadsheet seperti
Ms Excel. Buat table perbanduingan antara keduanya.
Jawaban:
Kondisi yang menyebabkan kita harus beralih ke DBMS apabila suatu perusahaan
memiliki banyak sekali data dan belum memiliki database management system
(DBMS) maka semua data yang terdapat pada perusahaan tersebut akan disimpan
secara manual. Ketika semua data dalam sebuah perusahaan disimpan secara
manual maka semakin tinggi tingkat kesalahan dalam penyimpanan maupun
untuk mengakses data tersebut. Faktor human error merupakan salah satu faktor
yang paling berpengaruh besar terhadap tingkat kesalahan tersebut. Bisa saja
seseorang lupa dimana dia menempatkan data yang dimiliki perusahaan atau
bahkan hilang. Hal tersebut tentu saja dapat merugikan perusahaan dikarenakan
salah satu aset berharga dalam perusahaan tersebut lenyap. Lalu apabila data
dalam sebuah perusahaan disimpan secara manual maka akan sangat memakan
banyak waktu yang menyebabkan perusahaan tersebut tidak efektif dalam
menjalankan bisnisnya.
Excel/Spreadsheet DBMS
aplikasi komputer interaktif untuk kumpulan data yang terorganisir,
organisasi, analisis, dan penyimpanan umumnya disimpan dan diakses
data dalam bentuk tabel secara elektronik dari sistem
komputer
relatif lebih mudah untuk didesain dan mampu berbagi-pakai data yang sama
diimplementasikan di banyak aplikasi dan sistem
dapat digunakan dioptimalisasi untuk menyediakan skalabilitas superior
akses aplikasi
Terdapat duplikasi item-item data pada Mudah dalam mengelola data duplikat
berbagai file atau yang tidak beraturan
tidak fleksibel dan tidak dapat Data akan disimpan dalam format
diskalakan yang fleksibel
Tidak kompleks lebih kompleks
Tidak mampu meyimpan lebih banyak dapat menyimpan lebih banyak data
data
Tidak membutuhkan investasi yang membutuhkan investasi yang cukup
besar besar
Meningkatnya vulnerabilitas yang
melekat pada penggunaan data
berbagi-pakai

2. (LO01, 5 poin)
Kondisi apa yang menyebabkan kita sebaiknya menggunakan view? Jelaskan
alasan anda
Jawaban:
View atau biasa disebut Tabel Virtual. Kondisi yang menyebabkan harus
menggunakan View adalah ketika ingin menyembunyikan beberapa kolom yang
bersifat rahasia atau Ketika dalam beberapa kasus ingin menggunakan view untuk
mempercepat proses menampilkan data (terutama jika kita akan menjalankan
query tersebut secara berulang). Karena tujuan dari pembuatan VIEW adalah
untuk kenyamanan (mempermudah penulisan query) dan untuk keamanan

3. (LO01, 5 poin)
Apakah redundancy dapat dihilangkan ? atau hanya bisa diminimalkan ? Jelaskan
alasan anda.
Jawaban:
Redudansi dapat dihilangkan, akan tetapi untuk mengatasi redudansi data tidak
selalu dengan menghilangkannya agar tidak terbuang Siasia. Caranya bisa dengan
membuat data master untuk memastikan konsistensi dan akurasi data, kemudian
cara lain yaitu menghapus data yang tidak perlu atau merancang basis data dan
melakukan normalisasi basis data. Intinya adalah penting untuk menghapus
sebanyak mungkin data yang berlebihan, tetapi perlu berhati-hati.

4. (LO02, 10 poin)
Sebuah klinik memungkinkan pasien dapat melihat skedul poli gigi, poli umum,
poli fisioterapi, poli kebidanan dan poli terapi wicara lewat aplikasi mobile. Lalu
dapat melihat skedul petugas pada shift poli tertentu, dan pasien dapat melakukan
booking pada tanggal, petugas tertentu dan shift tertentu, serta mendapatkan
nomor antrian. Shift terbagi menjadi 3, yakni pagi 07:00 sd 14:00, lalu 14:00 sd
21:00 dan 21:00 sd 07:00. Sistem ini juga diharapkan dapat menangani group
klinik yang terdiri dari beberapa cabang. Setelah melakukan booking pasien juga
dapat memantau, saat ini pasien nomor berapa yang sedang diproses, untuk
memperkirakan jam berapa sebaiknya pasien tsb datang. Sama seperti pasien yang
mengakses aplikasi booking dari aplikasi mobile mereka, pasien yang berada di
ruang tunggu dapat memantau antrian setiap poli melalui display besar di dinding
ruang tunggu.
a. Buat sebuah ER model dengan menggunakan varian crow foot, untuk kasus
booking di atas (agar memudahkan mengidentifikasi atribut relasi many to
many, ubah semua relasi many to many menjadi 2 relasi many to 1)
b. Lengkapi dengan atribut untuk setiap entity, dan tandai mana yang menjadi
primary key.

c.
5. (LO02, 10 poin)
Ubah data dalam ER model di atas ke dalam sebuah sampel database relasional
yang terdiri dari beberapa table, tambahkan nama nama field, lalu lengkapi
dengan sampel data, untuk menggambarkan kondisi sebenarnya yang akan
dihadapi aplikasi booking.
Poli
Id_poli Nama_poli Lokasi
PL0001 Poli Umum Gedung C

Petugas
Id_petugas Nama_petugas Id_poli
PT0001 Adinda PL0001

Shift
Id_shift Nama_shift Jam_awal Jam_akhir
SH0001 Shift Malam 07.00 14.00
Skedul
Id_skedul tanggal hari Id_petugas Id_shift
SK0001 2022-11-25 Jumat PT0001 SH0001

Pasien
no_rm nama_pasien alamat no_telp
RM0001 Adam Suseno Jl. Ahmad Yani 0891111111

Booking Antrian
No_booking Tgl_booking No_rm Id_skedul No_antri
20221125103700 2022-25-11 RM0001 SK0001 A0001

6. (LO03, 10 poin)
Gunakan notasi aljabar relasional pada kasus di atas untuk
a. Menampilkan semua skedul petugas setiap poli pada shift dan tanggal tertentu
σ id_shift=’SH0001’ ˄ tanggal=’2022-11-25’ (Skedul)
b. Menampilkan semua list antrian pasien pada shift tertentu untuk semua poli
pada shift dan tanggal tertentu.
σ id_shift=’SH0001’ ˄ tanggal=’2022-11-25’ ˄ bookingantrian.id_skedul =
skedul.id_skedul (Skedul X Bookingantrian)
JAWABAN PRAKTIKUM

A. (7 poin) Create Database


Buatkan sebuah database dengan judul yg mengacu pada 3 tabel di atas, Alasan
anda ingin membuat database tersebut, serta tujuannya

a) Query

Create Database Tokosepatu;


use tokosepatu;

b) Hasil

Gambar 1 Create Database Tokosepatu


Gambar 2 Use database tokosepatu

c) Alasan
Sintaks CREATE DATABASE adalah blok kode yang berisi perintah
untuk membuat sebuah database baru. Sehingga, query CREATE DATABASE
Tokosepatu yaitu perintah untuk membuat sebuah database bernama Tokosepatu.
Setelah eksekusi, database Tokosepatu sudah tersedia namun komponen lain
seperti tabel masih dalam keadaan kosong.
Alasan membuat database tokosepatu karena tabel data tersebut terdiri dari
pembeli, data sepatu dan transaksi penjualan sepatu, sehingga nama database yang
dibuat adalah Tokosepatu.
Sintaks USE digunakan untuk menggunakan database yang telah dibuat
sebelumnya, dan intinya database ini akan aktif untuk di edit atau dimodifikasi
(penambahan tabel, ubah tabel dan sebagainya
B. (8 poin) Create Table
Buatlah 3 buah table pada database tsb, pada masing-masing tabel tersebut harus
memiliki kolom dengan constraint Primary Key, Null, dan Not Null
a) Query
Membuat Tabel Pembeli

CREATE TABLE Pembeli (


Id_Pembeli char(8) PRIMARY KEY,
Nama_Pembeli varchar(30) NOT NULL,
Alamat_Pembeli varchar(50) NOT NULL,
No_Telepon varchar(10) NOT NULL,
Email varchar(30) NOT NULL
);

Membuat Tabel Sepatu

CREATE TABLE Sepatu (


Id_Sepatu char(8) PRIMARY KEY,
Nama_Sepatu varchar(20) NOT NULL,
Merk_Sepatu varchar(20) NOT NULL,
No_Sepatu char(2) NOT NULL,
Harga_Sepatu int NOT NULL,
Stok int NOT NULL,
Tanggal_Produksi date NOT NULL
);

Membuat Tabel Transaksi

CREATE TABLE Transaksi (


No_Nota char(9) PRIMARY KEY,
Tgl_Nota date NOT NULL,
Id_Pembeli char(8) NOT NULL,
Id_Sepatu char(8) NOT NULL,
Jumlah_Sepatu int NOT NULL,
Total_Harga int NOT NULL,
Tgl_Garansi date NOT NULL,
CONSTRAINT fk_idpembeli
FOREIGN KEY (Id_Pembeli) REFERENCES Pembeli(Id_Pembeli)
ON UPDATE CASCADE ON DELETE CASCADE,
CONSTRAINT fk_idsepatu
FOREIGN KEY (Id_Sepatu) REFERENCES Sepatu(Id_Sepatu)
ON UPDATE CASCADE ON DELETE CASCADE
);
b) Hasil

Gambar 3 Create Tabel pembeli

Gambar 4 Create Tabel Sepatu


Gambar 5 Create Tabel Transaksi

c) Analisa
Sintaks CREATE TABLE adalah perintah yang digunakan untuk membuat
sebuah tabel di database Mysql. Setelah sintaks tersebut biasanya dilanjutkan
dengan nama tabel sebagai penamaan untuk tabel yang akan dibuat di dalam
database tersebut. Setiap field yang ada pada tabel perlu didefinisikan jenis, length
dan constraint nya, apakah field tersebut merupakan sebuah Primary Key, Foreign
Key atau lain sebagainya
C. (8 poin) Insert Into
Masukkan nilai pada 3 tabel tersebut, masing-masing tabel harus dimasukkan 10
record, sehingga masing2 tabel tsb memiliki 13 record.
a) Query
Menambahkan data ke Tabel Pembeli

INSERT INTO Pembeli (Id_Pembeli, Nama_Pembeli, Alamat_Pembeli, No_Telepon, Email) VALUES


("22100001","Abrahan Kusnadi","Jln. Setiabudi, no. 56, Bandung","2264758264",
"abraham@gmail.com"),
("22100002","Irfan Maulana","Jln. Sudirman, no. 143, Surabaya","3189546272","irfan@gmail.com"),
("22100003","Andi Zulhikam","Jln. Ahmad Yani, no. 55, Surabaya","3142850182","andi@gmail.com"),
("22100004","Sebastian","Jln. A, no. 1, Bandung","1111111111","sebastian@gmail.com"),
("22100005","Aria","Jln. B, no. 2, Bandung","2222222222","aria@gmail.com"),
("22100006","Nugraha","Jln. C, no. 3, Bandung","3333333333","nugraha@gmail.com"),
("22100007","Tian","Jln. D, no. 4, Bandung","4444444444","tian@gmail.com"),
("22100008","Bastian","Jln. E, no. 5, Bandung","5555555555","bastian@gmail.com"),
("22100009","Adam","Jln. F, no. 6, Bandung","6666666666","adam@gmail.com"),
("22100010","Maulana","Jln. G, no. 7, Bandung","7777777777","maulana@gmail.com"),
("22100011","Setiawan","Jln. H, no. 8, Bandung","8888888888","setiawan@gmail.com"),
("22100012","Budi","Jln. I, no. 9, Bandung","9999999999","budi@gmail.com"),
("22100013","Ajeng","Jln. J, no. 10, Bandung","0123456789","ajeng@gmail.com");

Menambahkan data ke Tabel Sepatu

INSERT INTO Sepatu (Id_Sepatu, Nama_Sepatu, Merk_Sepatu, No_Sepatu,


Harga_Sepatu, Stok, Tanggal_Produksi) VALUES
("21220001","White Eagle","Baginda","45",270000,25,"2020-05-19"),
("21220010","Super Sonic","Champion","42",250000,10,"2021-11-20"),
("21220019","Blue Dragon","Champion","43",450000,35,"2022-01-05"),
("21220003","Nike Premium","Nike","43",450000,40,"2022-11-11"),
("21220020","Nike A Series","Nike","40",100000,10,"2022-11-11"),
("21220021","Nike B Series","Nike","41",200000,10,"2022-11-11"),
("21220022","Nike C Series","Nike","42",300000,10,"2022-11-11"),
("21220023","Nike D Series","Nike","43",400000,10,"2022-11-11"),
("21220024","Nike E Series","Nike","44",500000,10,"2022-11-11"),
("21220025","Nike F Series","Nike","45",600000,10,"2022-11-11"),
("21220026","Nike G Series","Nike","40",700000,10,"2022-11-11"),
("21220027","Nike H Series","Nike","41",800000,10,"2022-11-11"),
("21220028","Nike I Series","Nike","42",900000,10,"2022-11-11");

Menambahkan data ke Tabel Transaksi

INSERT INTO Transaksi (No_Nota, Tgl_Nota, Id_Pembeli, Id_Sepatu,


Jumlah_Sepatu, Total_Harga, Tgl_Garansi) VALUES
("221010001","2022-04-15","22100001","21220003",1,450000,"2022-04-26"),
("221010002","2022-07-02","22100002","21220001",2,540000,"2022-07-09"),
("221010003","2022-09-25","22100003","21220003",5,1900000,"2022-10-02"),
("221010004","2022-10-01","22100004","21220001",1,270000,"2022-10-08"),
("221010005","2022-10-02","22100005","21220020",1,100000,"2022-10-09"),
("221010006","2022-10-03","22100006","21220021",1,200000,"2022-10-10"),
("221010007","2022-10-04","22100007","21220022",1,300000,"2022-10-11"),
("221010008","2022-10-05","22100008","21220023",1,400000,"2022-10-12"),
("221010009","2022-10-06","22100009","21220024",1,500000,"2022-10-13"),
("221010010","2022-10-07","22100010","21220025",1,600000,"2022-10-14"),
("221010011","2022-10-08","22100011","21220026",1,700000,"2022-10-15"),
("221010012","2022-10-09","22100012","21220027",1,800000,"2022-10-16"),
("221010013","2022-10-10","22100013","21220028",1,900000,"2022-10-17");

Query Select untuk menampilkan data pada tabel


SELECT * FROM Pembeli;

SELECT * FROM Sepatu;

SELECT * FROM Transaksi;


b) Hasil

Gambar 6 Insert 13 baris record ke Tabel Pembeli

Gambar 7 Select semua data Tabel Pembeli


Gambar 8 Insert 13 baris record ke Tabel Sepatu

Gambar 9 Select semua data Tabel Sepatu


Gambar 10 Insert 13 baris record ke Tabel Transaksi

Gambar 11 Select semua data Tabel Transaksi

c) Analisa
Dalam sebuah database, kegiatan menambahkan data baru akan selalu
bertemu dengan perintah INSERT. Tambahan kata INTO, hanyalah bersifat
opsional meskipun kita lupa menulisnya, perintah tetap akan dijalankan. Tapi,
selalu dianjurkan untuk menulis kata INTO setelah INSERT Jadi tepatnya adalah
INSERT INTO. Sehingga INSERT INTO adalah perintah untuk menambahkan
satu atau beberapa data ke satu tabel. Pada kasus diatas, dilakukan proses INSERT
13 row data ke masing-masing tabel.
Adapun Sintaks SELECT yaitu perintah yang digunakan untuk
menampilkan data dari tabel yang ada di database dan dapat juga menjadi sebuah
ekspesi. Sesuai dengan definisinya, Ketika perintah tersebut dijalankan maka
seluruh row/baris data pada suatu tabel akan ditampilkan. Query SELECT *
artinya perintah untuk menampilkan data dengan seluruh kolom field/atribut pada
suatu tabel.
D. (8 poin) Select Where
Tampilkan nilai didalam suatu tabel (pilih 2 tabel), menggunakan query WHERE,
WHERE-OR, WHERE-AND , WHERE-AND-OR, WHERE-NOT, WHERE-
LIKE, WHERE-IN
a) Query

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE Harga_Sepatu > 500000;

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE Harga_Sepatu > 400000 OR Stok > 30;

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE Harga_Sepatu > 600000 AND Stok < 20;

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE Harga_Sepatu > 600000 AND Stok < 20 OR Merk_Sepatu = "Nike";

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE NOT Merk_Sepatu = "Nike";

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE Nama_Sepatu LIKE "%Series";

SELECT * FROM Sepatu INNER JOIN Transaksi


ON Sepatu.Id_Sepatu=Transaksi.Id_Sepatu
WHERE No_Sepatu IN (40,41,42);
b) Hasil

Gambar 12 Query Where

Gambar 13 Query Where-Or


Gambar 14 Query Where-And

Gambar 15 Query Where-And-Or


Gambar 16 Query Where-Not

Gambar 17 Query Where-Like


Gambar 18 Query Where-In

c) Analisa
Perintah WHERE merupakan perintah dasar SQL yang di gunakan untuk mem-
filter hasil SELECT dengan mengekstrak record yang memenuhi persyaratan
tertentu.
= Sama dengan
<> Tidak sama dengan, pada beberapa versi SQL, operator yang di
gunakan adalah !=
> Lebih besar dari
< Lebih kecil dari
>= Lebih besar sama dengan
<= Lebih kecil sama dengan
BETWEEN Antara rentang inklusif
LIKE Cari pola yang ‘seperti’ parameter
IN Menentukan kemungkinan nilai dari beberapa kolom

Operator AND, OR dan NOT merupakan perintah dasar SQL yang


biasanya di kombinasikan dengan perintah WHERE. Ketiganya di gunakan untuk
mem-filter record berdasarkan suatu kondisi, operator AND akan menampilkan
record apabila semua kondisi bernilai TRUE, operator OR akan menampilkan
record apabila salah satu kondisi bernilai TRUE, sedangkan operator NOT akan
menampilkan record apabila semua kondisi bernilai FALSE.
E. (8 poin) Update
Lakukan pengubahan nilai didalam suatu tabel (pilih salah satu tabel),
pengubahan sebanyak 3 record.
a) Query

UPDATE Sepatu
SET Merk_Sepatu = "Merk Lain"
WHERE Id_Sepatu IN ("21220001","21220010","21220019");

b) Hasil

Gambar 19 Update 3 Row Record

Anda mungkin juga menyukai