Jul 3, 2021
Basis Data 2
Kuliah
Latihan
Tugas Kuliah
Tugas Praktikum Basis Data 2 - Pertemuan 5
Dalam artikel ini saya akan menyelesaikan tugas praktikum mata kuliah Basis
Data 2 yang diberikan oleh bapak
Nurcholis Ali Sya’bana, M.Kom pada
pertemuan ke 5. Sebelumnya saya telah mempublikasi artikel tentang
Latihan Praktikum Basis Data 2 - Pertemuan 5 sebagai referensi untuk menyelesaikan
tugas
praktikum ini.
Tugas praktikum kali ini saya menggunakan basis data yang sebelumnya saya
pakai untuk
latihan praktikum, didalam basis data tersebut saya menambahkan 2 tabel yang akan diolah yaitu
tabel 1 dan tabel 2. Berikut adalah data tabel yang akan diolah:
Tabel 1
|
|
|
|
|
---|---|---|---|---|
NVL479 | Novel | Penjelajah Senja |
|
|
NVL123 | Novel | Dilan |
|
|
TKS567 | Teks | Metode Numerik |
|
|
KMK876 | Komik | Avatar |
|
|
KMK889 | Komik | Doraemon |
|
|
TKS009 | Teks | Java Mobile |
|
|
KMS112 | Kamus | Kamus Jerman |
|
|
Tabel 2
|
|
|
|
---|---|---|---|
FTI961 | Algoritma |
|
|
TIK267 | Kalkulus 3 |
|
|
TOP777 | Basis Data 2 |
|
|
FTI776 | Struktur Data |
|
|
MUK091 | ANSI |
|
|
LKT229 | AIKA 1 |
|
|
UKT222 | Jarkom |
|
|
Berikut ini adalah beberapa soal yang harus diselesaikan:
- Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan berdasarkan jenis bukunya!
- Berdasarkan tabel 1, dapatkan total stok buku berdasarkan jenis bukunya. Dapatkan hanya jenis buku yang stoknya kurang dari 10!
- Berdasarkan tabel 2, Dapatkan jumlah matakuliah tanpa duplikasi field nama_mk!
- Bedasarkan tabel 2, dapatkan jumlah total sks pada matakuliah dengan kode_mk selain FTI!
- Berdasarkan tabel 1, dapatkan rata-rata penghasilan kotor yang didapat dari penjualan buku dengan stok diatas 10!
- Berdasarkan tabel 1, dapatkan harga buku terbesar yang bukan komik dengan harga dibawah 2000 dan stok diatas 16!
- Berdasarkan tabel 2, dapatkan jumlah matakuliah yang mengandung kata “Sistem” hanya jika jumlahnya lebih dari 3! (jika jumlah kurang dari 3 maka akan menghasilkan “empty set”)
Penyelesaian:
-
Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan
berdasarkan jenis bukunya!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT jenis_buku, nama_buku, MIN(harga) AS harga FROM `tabel_1` GROUP BY jenis_buku;
Berikut hasilnya:
-
Berdasarkan tabel 1, dapatkan total stok buku berdasarkan jenis bukunya.
Dapatkan hanya jenis buku yang stoknya kurang dari 10!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT jenis_buku, SUM(stok) AS stok FROM `tabel_1` GROUP BY jenis_buku HAVING stok < 10;
Berikut hasilnya:
-
Berdasarkan tabel 2, Dapatkan jumlah matakuliah tanpa duplikasi field
nama_mk!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT DISTINCT COUNT(nama_mk) AS jumlah_mk FROM `tabel_2`;
Berikut hasilnya:
-
Bedasarkan tabel 2, dapatkan jumlah total sks pada matakuliah dengan
kode_mk selain FTI!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT SUM(sks) AS total_sks FROM `tabel_2` WHERE kode_mk NOT LIKE 'FTI%';
Berikut hasilnya:
-
Berdasarkan tabel 1, dapatkan rata-rata penghasilan kotor yang didapat
dari penjualan buku dengan stok diatas 10!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT AVG(harga) AS penghasilan_kotor FROM `tabel_1` WHERE stok > 10;
Berikut hasilnya:
-
Berdasarkan tabel 1, dapatkan harga buku terbesar yang bukan komik dengan
harga dibawah 2000 dan stok diatas 16!
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT MAX(harga) AS harga_tertinggi FROM `tabel_1` WHERE stok > 16 AND jenis_buku NOT LIKE 'Komik' AND harga < 2000;
Berikut hasilnya:
-
Berdasarkan tabel 2, dapatkan jumlah matakuliah yang mengandung kata
“Sistem” hanya jika jumlahnya lebih dari 3! (jika jumlah kurang dari 3
maka akan menghasilkan “empty set”)
Untuk menyelesaikan soal ini, gunakan syntax berikut:
SELECT IF(COUNT(nama_mk) > 3, COUNT(nama_mk), "empty set") AS total FROM `tabel_2` WHERE nama_mk NOT LIKE 'Sistem%';
Berikut hasilnya:
Penutup
Demikian tugas praktikum basis data 2 pertemuan ke 5 ini, semoga artikel ini bermanfaat bagi para pembaca. Sekian dan terima kasih.