Contents
......................................................................................... Error! Bookmark not defined.
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) Query
b) Hasil
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
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
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
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
UPDATE Sepatu
SET Merk_Sepatu = "Merk Lain"
WHERE Id_Sepatu IN ("21220001","21220010","21220019");
b) Hasil