Latihan
Soal Cerita
Saat ini kamu sedang bekerja disebuah toko komputer yang bernama "sehat com - toko komputer serba ada" sebaagain seorang programmer. Kamu diminta untuk membuat sebuah penyimpnan data yang mana data ini akan disimpan didalam sebuah database. Manager kamu sudah memberikan data contoh yang akan diinput ke dalam database seperti dibawah ini:
Contoh Tabel Barang
1
Logitech MX Master 3
15
1.000.000
1.299.000
01-08-2024
2
Razer DeathAdder V2
10
800.000
999.000
05-08-2024
3
Corsair Dark Core RGB SE
8
1.200.000
1.499.000
10-08-2024
4
SteelSeries Rival 3
12
700.000
899.000
12-08-2024
5
Logitech G502 Hero
14
1.100.000
1.399.000
03-08-2024
6
HyperX Pulsefire FPS Pro
10
950.000
1.199.000
07-08-2024
7
Razer Naga X
9
850.000
1.100.000
15-08-2024
8
Glorious Model O
11
1.000.000
1.299.000
09-08-2024
9
Cooler Master MM710
10
850.000
1.100.000
13-08-2024
10
Logitech G Pro X Superlight
8
1.400.000
1.799.000
06-08-2024
11
Corsair K95 RGB Platinum
10
2.000.000
2.499.000
03-08-2024
12
Razer BlackWidow V3
12
1.800.000
2.199.000
09-08-2024
13
Logitech G Pro X
14
1.500.000
1.799.000
12-08-2024
14
Ducky One 2 Mini
8
1.200.000
1.499.000
10-08-2024
15
HyperX Alloy FPS Pro
11
1.000.000
1.299.000
07-08-2024
16
SteelSeries Apex Pro
9
1.800.000
2.199.000
06-08-2024
17
Logitech G815 RGB
10
1.600.000
1.999.000
15-08-2024
18
Razer Huntsman Elite
8
2.200.000
2.699.000
01-08-2024
19
Ducky One 3 SF
7
1.500.000
1.799.000
12-08-2024
20
Corsair K70 RGB MK.2
6
1.800.000
2.299.000
08-08-2024
21
Dell UltraSharp U2720Q
5
5.500.000
6.500.000
07-08-2024
22
Asus ROG Swift PG259QN
6
12.000.000
13.499.000
15-08-2024
23
Samsung Odyssey G7
7
7.500.000
8.999.000
03-08-2024
24
LG UltraWide 34WK95U
8
8.000.000
9.499.000
10-08-2024
25
AOC CQ32G1
10
4.000.000
4.999.000
06-08-2024
26
MSI Optix MAG272CQR
9
4.500.000
5.499.000
14-08-2024
27
BenQ ZOWIE XL2546
5
6.500.000
7.999.000
11-08-2024
28
Acer Predator X34
6
9.500.000
10.999.000
13-08-2024
29
ViewSonic Elite XG270QG
7
7.000.000
8.499.000
04-08-2024
30
Philips 345B1C
8
5.000.000
6.000.000
02-08-2024
31
Lenovo LOQ Gaming i5-12450HX
9
10.500.000
11.999.000
13-08-2024
32
LENOVO LOQ 15IRX9 i7-13650HX RTX 4060
10
18.500.000
19.699.000
10-08-2024
33
Asus ROG Zephyrus G16 GU605MV-I946OL7G
10
39.000.000
39.999.000
01-08-2024
34
Acer Predator Helios 300 PH315-55
8
21.500.000
22.999.000
12-08-2024
35
MSI Katana GF66 12UE i7-12700H RTX 3050Ti
5
17.000.000
18.499.000
05-08-2024
36
Dell XPS 15 9520 i7-12700H
7
24.500.000
25.999.000
15-08-2024
37
Gigabyte AERO 16 XE5 i9-12900H RTX 3080
6
39.500.000
41.999.000
09-08-2024
38
Razer Blade 15 i7-12800H RTX 3070Ti
4
45.000.000
46.999.000
08-08-2024
39
Asus TUF Gaming F15 i7-12700H RTX 3060
9
15.500.000
16.999.000
14-08-2024
40
HP Omen 16 Ryzen 9 5900HX RTX 3070
5
29.000.000
30.999.000
07-08-2024
41
Lenovo ThinkPad X1 Carbon Gen 9 i7-1185G7
8
28.500.000
30.499.000
01-08-2024
42
Asus ExpertBook B9 i7-1165G7
5
26.000.000
27.999.000
15-08-2024
43
Dell Latitude 7420 i7-1185G7
9
22.500.000
23.999.000
12-08-2024
44
MacBook Air M1 2020
6
18.500.000
19.999.000
03-08-2024
45
Lenovo Yoga Slim 7i Carbon i5-1135G7
8
16.000.000
17.499.000
14-08-2024
46
HP Spectre x360 14 i7-1165G7
5
22.000.000
23.499.000
05-08-2024
47
Acer Spin 5 i7-1165G7
7
18.000.000
19.499.000
09-08-2024
48
MSI Prestige 14 Evo i7-1185G7
6
22.500.000
23.999.000
11-08-2024
49
Asus VivoBook S14 i5-1135G7
9
12.500.000
13.999.000
02-08-2024
50
Dell XPS 13 9310 i7-1165G7
4
25.500.000
27.499.000
07-08-2024
51
Origin EON15-X
1
6.000.000
6.500.000
01-07-2020
52
MSI GT80 Titan
1
6.300.000
6.800.000
01-07-2020
Latihan 1: Membuat Database
Buatlah database dengana database:
Latihan 2: Buatlah Tabel Barang
Kemudian buatlah sebuat tabel dengan nama tbl_barang:
Latihan 3: Insert Data
Untuk menampilkan data yang sudah di insert bisa menggunakan query berikut ini:
Maka akan menampilkan data seperti dibawah ini:

Latihan 4: Update Data
Selanjutnya ubahlah data seperti contoh dibawah ini:
Corsair K95 RGB Platinum ubah kuantitinya menjadi 20
Dell UltraSharp U2720Q ubah harga jual nya menjadi 7.000.000
BenQ ZOWIE XL2546 ubah tanggal input menjadi 2024 - 07 - 30
Latihan 5: Menampilkan Data Setelah di Update
Sekarang coba tampilkan data yang sudah di update dengan menggunakan query dibawah ini:
Maka akan menampilkan data seperti ini:

Latihan 6: Menampilkan Total Kuantitas Semua Barang
Setelah kita sudah berhasil melakukan update terhadap tabel tbl_barang selanjutnya kita di minta untuk menampilkan total dari kuantitas. Untuk menampilkan total dari kuantitas dari semua barang bisa menggunakan query berikut ini:
Maka akan menghasilkan tampilan seperti berikut ini:

Penjelasan:
SELECT:Bagian ini digunakan untuk memilih data dari tabel dalam database. Kata kunci
SELECTmenunjukkan bahwa kita akan mengambil data dari tabeltbl_barang.
SUM(kuantitas):Fungsi
SUM()digunakan untuk menjumlahkan semua nilai di kolomkuantitas. Dalam konteks ini,SUM(kuantitas)akan menghitung total keseluruhan dari semua nilaikuantitasdi dalam tabeltbl_barang.
AS total_kuantitas:Kata kunci
ASdigunakan untuk memberi nama alias pada hasil dari fungsiSUM(kuantitas). Dalam hal ini, hasil penjumlahan semua nilaikuantitasakan diberi nama aliastotal_kuantitas. Nama alias ini digunakan untuk memudahkan identifikasi kolom hasil ketika output ditampilkan.
FROM tbl_barang:Bagian ini menunjukkan dari mana data tersebut diambil.
tbl_barangadalah nama tabel dari mana data akan dipilih.
Latihan 7: Manampilkan Barang dengan Kuantitas Tertinggi
Sekarang kita diminta untuk nampilkan 5 data kuantitas barang yang paling banyak. Untuk menampilkan 5 barang dengan kuntitas terbanyak kita bisa menggunakan query berikut ini:
Maka akan menghasil tampilan seperti ini:

Penjelasan:
SELECT nama_barang, kuantitas:Bagian ini digunakan untuk memilih kolom
nama_barangdankuantitasdari tabeltbl_barang. Query ini akan mengembalikan nilai-nilai dari kolomnama_barang(nama barang) dankuantitas(jumlah barang).
FROM tbl_barang:Menunjukkan tabel
tbl_barangsebagai sumber data. Semua data yang dipilih berasal dari tabel ini.
ORDER BY kuantitas DESC:Mengurutkan hasil berdasarkan kolom
kuantitasdalam urutan menurun (descending). Ini berarti bahwa barang dengan kuantitas terbesar akan muncul terlebih dahulu dalam hasil. Kata kunciDESCsingkatan dari "descending" atau menurun.
LIMIT 5:Membatasi hasil query hanya pada 5 baris pertama. Jadi, hanya 5 barang dengan kuantitas terbesar yang akan ditampilkan.
Latihan 8: Delete Data
Selanjutnya kita mendapatkan kabar bahwa ada 2 barang yang sudah tidak ada didalam gudang, barang tersebut adalah Origin EON15-X dan MSI GT80 Titan yang sudah laku terjual. Jadi kita diminta untuk menghapus 2 barang tersebut dari database. Untuk menghapus data tersebut manager meminta kita menghapusnya berdasarkan ID dengan ketentuan seperti dibawah ini:
Hapus barang dengan nomor ID 51 dan 52 karena barang tersebut sudah laku terjual
Untuk menghapus data berdasarkan ID kita bisa menggunakan query berikut ini:
Untuk memastikan apakah data tersebut sudah terhapus kita bisa menggunakan query berikut ini:
Jika tidak menampilkan data apapun maka data sudah berhasil dihapus.
Latihan 9: Menampilkan Total Kuantitas Barang Berdasarkan Bulan
Selanjut manager kita meminta kita untuk menampilkan total kuantitas barang berdasarkan bulan. Untuk manampilkan total kuantitas barang berdasarkan bulan bisa menggunakan query berikut ini:
Maka akan menampilkan data seperti berikut ini:

Penjelasan:
SELECT:Bagian ini digunakan untuk memilih kolom yang ingin ditampilkan dari tabel
tbl_barang.
DATE_FORMAT(tanggal, '%Y-%m') AS bulan:Fungsi
DATE_FORMATdigunakan untuk memformat kolomtanggalagar hanya menampilkan tahun (%Y) dan bulan (%m). Contohnya, jikatanggaladalah2024-08-28, fungsi ini akan mengubahnya menjadi2024-08.Hasil dari fungsi ini diberi alias
bulan, sehingga dalam hasil query, kolom yang menunjukkan bulan akan diberi namabulan.
SUM(kuantitas) AS total_kuantitas:Fungsi
SUM()digunakan untuk menjumlahkan semua nilai dalam kolomkuantitasuntuk setiap kelompok data. Dalam hal ini, penjumlahan dilakukan untuk setiap bulan.Hasil penjumlahan ini diberi alias
total_kuantitas, sehingga dalam hasil query, kolom yang menunjukkan total kuantitas akan diberi namatotal_kuantitas.
FROM tbl_barang:Bagian ini menunjukkan bahwa data yang diambil berasal dari tabel
tbl_barang.
GROUP BY DATE_FORMAT(tanggal, '%Y-%m'):GROUP BYdigunakan untuk mengelompokkan data berdasarkan nilai yang dihasilkan oleh fungsiDATE_FORMAT. Artinya, data akan dikelompokkan berdasarkan bulan. Setiap grup akan berisi semua baris data yang jatuh pada bulan yang sama.Penjumlahan
SUM(kuantitas)akan dilakukan untuk setiap grup (yaitu, untuk setiap bulan).
ORDER BY bulan:Bagian ini mengatur hasil query berdasarkan kolom
bulan, dari bulan yang paling awal hingga yang paling akhir. Dengan kata lain, hasil akan diurutkan dalam urutan kronologis.
Latihan 10: Menambah Kolom Baru
Last updated