Anda di halaman 1dari 26

laporan praktikum basis data

Oleh : 202253030 – Muhammad Ardi Hermansyah

GASAL 2023-2024
PROGRAM STUDI INFORMASI FAKULTAS TEKNIK
UNIVERSITAS MURIA KUDUS

Daftar Isi
Bab VI. Operasi DML Penggunaan “IF dan CASE”.................................................................3
A. Penjelasan/Uraian...............................................................................................................3
Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 1
B. Praktikum Operasi DML “IF DAN CASE”......................................................................3
C. Analisis Program dan Teori Pendukung tentang Penggunaan “IF dan CASE”........22
D. Tugas Terstruktur tentang Penggunaan “IF dan CASE”............................................23

Bab VI. Operasi DML Penggunaan “IF dan CASE”


Sub Bahasan : Mengenal Operasi DML Penggunaan “IF dan CASE” pada MYSQL
Pengampu : Dr. Eko Darmanto, S.Kom., M.Cs. MTA
Pertemuan ke- :6
Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 2
Nama : Muhammad Ardi Hermansyah
NIM : 202253030

A. Penjelasan/Uraian
Pertemuan kali ini materi yang dibahas yaitu operasi DML penggunaan “IF dan CASE”
pada MYSQL. Fungsi If adalah salah satu fungsi untuk mengetes suatu kondisi. Jika kondisi
bernilai benar (kondisi <> 0 dan kondisi <> NULL), maka fungsi IF akan mengembalikan nilai
benar, jika tidak benar maka akan mengembalikan nilai salah.
Sedangkan perintah CASE sering digunakan untuk menampilkan nilai tertentu dari
beberapa barisan data dengan syarat-syarat atau kondisi yang kita berikan. Fungsinya CASE
hampir sama. Bedanya perintah CASE digunakan untuk beberapa kondisi sekaligus, dan didalam
SQL perintah CASE tidak bisa berdiri sendiri melainkan harus disisipkan dalam perintah
SELECT, Jadi berbeda dengan perintah IF yang lebih bebas.

B. Praktikum Operasi DML “IF DAN CASE”


1) Langkah-langkah praktik.
a) Buka Aplikasi XAMPP lalu klik start pada apache, mysq dan pilih sell.
Setelah itu jalankan aplikasi tersebut menggunakan format mysql -u root -
p

Gambar 1 Shell pada XAMPP

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 3


Gambar 2 Format Menjalankan MYSQL

b) Tampilkan database yang sudah anda buat sebelumnya dengan format


show databases.

Gambar 3 Show Database pada XAMPP

2) Pembuatan Kode Program

Kode Program : Penggunaan “IF dan CASE dalam MYSQL”

1 Setting environment for using XAMPP for Windows.


2 Ardi@DESKTOP-POAA26D c:\xampp
3 # mysql -u root -p
4 Enter password:
5 Welcome to the MariaDB monitor. Commands end with ; or \g.
6 Your MariaDB connection id is 38
7 Server version: 10.4.28-MariaDB mariadb.org binary distribution
8
9 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
10
11 Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
12

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 4


13
14 MariaDB [(none)]> show databases;
15 +--------------------+
16 | Database |
17 +--------------------+
18 | 202253030_ardi |
19 | information_schema |
20 | mysql |
21 | performance_schema |
22 | phpmyadmin |
23 | test |
24 +--------------------+
25 6 rows in set (0.001 sec)
26
27 MariaDB [(none)]> use 202253030_ardi;
28 Database changed
29 MariaDB [202253030_ardi]> show tables;
30 +--------------------------+
31 | Tables_in_202253030_ardi |
32 +--------------------------+
33 | dosen |
34 | mahasiswa |
35 | matakuliah |
36 | mengajar |
37 | penilaian |
38 +--------------------------+
39 5 rows in set (0.001 sec)
40
41 MariaDB [202253030_ardi]> # Logika "IF"
42 MariaDB [202253030_ardi]> # "IF" (Kondisi, Nilai benar, Nilai salah)
43 MariaDB [202253030_ardi]> # Contoh :
44 MariaDB [202253030_ardi]> SELECT IF(200>1000,'C','E');

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 5


45 +----------------------+
46 | IF(200>1000,'C','E') |
47 +----------------------+
48 | E |
49 +----------------------+
50 1 row in set (0.001 sec)
51
52 MariaDB [202253030_ardi]> SELECT IF(200>1000,'C','E') AS Uji;
53 +-----+
54 | Uji |
55 +-----+
56 | E |
57 +-----+
58 1 row in set (0.000 sec)
59
60 MariaDB [202253030_ardi]> SELECT IF(5<>(2+3),'C','E');
61 +----------------------+
62 | IF(5<>(2+3),'C','E') |
63 +----------------------+
64 | E |
65 +----------------------+
66 1 row in set (0.000 sec)
67
68 MariaDB [202253030_ardi]> SELECT IF((1/5)<0.5,'C','E');
69 +-----------------------+
70 | IF((1/5)<0.5,'C','E') |
71 +-----------------------+
72 | C |
73 +-----------------------+
74 1 row in set (0.000 sec)
75
76 MariaDB [202253030_ardi]> CREATE TABLE R

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 6


77 -> (First Char(10),
78 -> Last Char(10),M
79 -> Age Int);
80 ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right
81 syntax to use near 'Int)' at line 4
82 MariaDB [202253030_ardi]> CREATE TABLE R (First Char(10),Last
83 Char(10),M Age Int);

84 ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right
85 syntax to use near 'Int)' at line 1

86 MariaDB [202253030_ardi]> CREATE TABLE R

87 -> (First Char(10), Last Char(10),Age Int);

89 Query OK, 0 rows affected (0.024 sec)

90
91 MariaDB [202253030_ardi]> DESC R;

92 +-------+----------+------+-----+---------+-------+

93 | Field | Type | Null | Key | Default | Extra |

94 +-------+----------+------+-----+---------+-------+

95 | First | char(10) | YES | | NULL | |

96 | Last | char(10) | YES | | NULL | |

97 | Age | int(11) | YES | | NULL | |

98 +-------+----------+------+-----+---------+-------+

99 3 rows in set (0.030 sec)

100
101 MariaDB [202253030_ardi]> INSERT INTO R Values

102 -> ("Bill", "Smith", "22"),

102 -> ("Sally", "Green", "28"),

103 -> ("Mary" , "Keen", "23"),

104 -> ("Tony" , "Jones", "32");

105 Query OK, 4 rows affected (0.006 sec)

106 Records: 4 Duplicates: 0 Warnings: 0

107
108 MariaDB [202253030_ardi]> Select * From R;

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 7


109 +-------+-------+------+
110 | First | Last | Age |
111 +-------+-------+------+
112 | Bill | Smith | 22 |
113 | Sally | Green | 28 |
114 | Mary | Keen | 23 |
115 | Tony | Jones | 32 |
116 +-------+-------+------+
117 4 rows in set (0.001 sec)
118
119 MariaDB [202253030_ardi]> Create Table S
120 -> (First Char(10),
121 -> Last Char(10),
122 -> Age Int);
123 Query OK, 0 rows affected (0.021 sec)
124
125 MariaDB [202253030_ardi]> DESC S;
126 +-------+----------+------+-----+---------+-------+
127 | Field | Type | Null | Key | Default | Extra |
128 +-------+----------+------+-----+---------+-------+
129 | First | char(10) | YES | | NULL | |
130 | Last | char(10) | YES | | NULL | |
131 | Age | int(11) | YES | | NULL | |
132 +-------+----------+------+-----+---------+-------+
133 3 rows in set (0.022 sec)
134
135 MariaDB [202253030_ardi]> INSERT INTO S Values
136 -> ("Forrest" , "Gump", "36"),
137 -> ("Sally" , "Green", "28"),
138 -> ("DonJuan" , "DeMarco", "27");
139 Query OK, 3 rows affected (0.005 sec)
140 Records: 3 Duplicates: 0 Warnings: 0

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 8


141
142 MariaDB [202253030_ardi]> Select * From S;
143 +---------+---------+------+
144 | First | Last | Age |
145 +---------+---------+------+
146 | Forrest | Gump | 36 |
147 | Sally | Green | 28 |
148 | DonJuan | DeMarco | 27 |
149 +---------+---------+------+
150 3 rows in set (0.001 sec)
151
152 MariaDB [202253030_ardi]> # Contoh Soal
153 MariaDB [202253030_ardi]> # " Jika umur lebih dari 30 maka keterangan
adalah dewasa "
154
MariaDB [202253030_ardi]> # " Jika umur kurang dari atau sama dengan
155 30, maka keterangan remaja "
156 MariaDB [202253030_ardi]> # Nilai_Benar " Dewasa "
157 MariaDB [202253030_ardi]> # Nilai_Salah " Remaja "
158 MariaDB [202253030_ardi]> # jawab :
159 MariaDB [202253030_ardi]> SELECT *, IF(Age>30, "Dewasa", "Remaja") AS
160 Keterangan

161 -> FROM R;

162 +-------+-------+------+------------+

163 | First | Last | Age | Keterangan |

164 +-------+-------+------+------------+

165 | Bill | Smith | 22 | Remaja |

166 | Sally | Green | 28 | Remaja |

167 | Mary | Keen | 23 | Remaja |

168 | Tony | Jones | 32 | Dewasa |

169 +-------+-------+------+------------+

170 4 rows in set (0.001 sec)

171
172 MariaDB [(none)]> # Pencabangan CASE-WHEN

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 9


173 MariaDB [(none)]> # CASE "input expression"
174 MariaDB [(none)]> # WHEN "when expression"
175 MariaDB [(none)]> # THEN "result expression"
176 MariaDB [(none)]> # Contoh Pencabangan CASE-WHEN
177 MariaDB [(none)]> CREATE TABLE Kunjungan
178 -> (Kode Char(7),
179 -> B Char(9),
180 -> Ruang Char(9),
181 -> Tanggal date);
182 ERROR 1046 (3D000): No database selected
183 MariaDB [(none)]> show databases;
184 +--------------------+
185 | Database |
186 +--------------------+
187 | 202253030_ardi |
188 | information_schema |
189 | mysql |
190 | performance_schema |
191 | phpmyadmin |
192 | test |
193 +--------------------+
194 6 rows in set (0.001 sec)
195
196 MariaDB [(none)]> use 202253030_ardi;
197 Database changed
198 MariaDB [202253030_ardi]> # Pencabangan CASE-WHEN
199 MariaDB [202253030_ardi]> # CASE "input expression"
200 MariaDB [202253030_ardi]> # WHEN "when expression"
201 MariaDB [202253030_ardi]> # THEN "result expression"
202 MariaDB [202253030_ardi]> # Contoh Pencabangan CASE-WHEN
203 MariaDB [202253030_ardi]> CREATE TABLE Kunjungan
203 -> (Kode Char(7),

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 10


204 -> B Char(9),
205 -> Ruang Char(9),
206 -> Tanggal date);
207 Query OK, 0 rows affected (0.021 sec)
208
209 MariaDB [202253030_ardi]> DESC Kunjungan;
210 +---------+---------+------+-----+---------+-------+
211 | Field | Type | Null | Key | Default | Extra |
212 +---------+---------+------+-----+---------+-------+
213 | Kode | char(7) | YES | | NULL | |
214 | B | char(9) | YES | | NULL | |
215 | Ruang | char(9) | YES | | NULL | |
216 | Tanggal | date | YES | | NULL | |
217 +---------+---------+------+-----+---------+-------+
218 4 rows in set (0.023 sec)
219
220 MariaDB [202253030_ardi]> INSERT INTO Kunjungan Values
221 -> ("AA", "201953001", "1-AA", "2020-12-05"),
222 -> ("BB", "201953002", "1-BB", "2019-05-23"),
223 -> ("BB", "201953003", "1-BC", "2018-08-17");
224 Query OK, 3 rows affected (0.005 sec)
225 Records: 3 Duplicates: 0 Warnings: 0
226
227 MariaDB [202253030_ardi]> SELECT * FROM Kunjungan;
228 +------+-----------+-------+------------+
229 | Kode | B | Ruang | Tanggal |
230 +------+-----------+-------+------------+
231 | AA | 201953001 | 1-AA | 2020-12-05 |
232 | BB | 201953002 | 1-BB | 2019-05-23 |
233 | BB | 201953003 | 1-BC | 2018-08-17 |
234 +------+-----------+-------+------------+
235 3 rows in set (0.001 sec)

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 11


236
237 MariaDB [202253030_ardi]> SELECT Kode, B,
238 -> CASE RUANG
239 -> WHEN '1-AA' THEN 'Lt.1 Ruang Baca'
240 -> WHEN '1-BB' THEN 'Lt.1 Ruang Pinjam'
241 -> WHEN '1-BC' THEN 'Lt.1 Ruang Kembali'
242 -> ELSE RUANG
243 -> END AS Ket_Gedung
244 -> FROM Kunjungan;
245 +------+-----------+--------------------+
246 | Kode | B | Ket_Gedung |
247 +------+-----------+--------------------+
248 | AA | 201953001 | Lt.1 Ruang Baca |
249 | BB | 201953002 | Lt.1 Ruang Pinjam |
250 | BB | 201953003 | Lt.1 Ruang Kembali |
251 +------+-----------+--------------------+
252 3 rows in set (0.001 sec)
253
254 MariaDB [202253030_ardi]> # Mempraktekan beberapa contoh soal latihan
255 MariaDB [202253030_ardi]> # disini soal latihan menggunakan tabel
"Pinjam"
256
MariaDB [202253030_ardi]> #
257 ==============================================
258 MariaDB [202253030_ardi]> CREATE TABLE Pinjam
259 -> (id Char(7),
260 -> NP VarChar(9),
261 -> TanggalPinjam date,
262 -> TanggalKembali date);
263 Query OK, 0 rows affected (0.023 sec)
264
265 MariaDB [202253030_ardi]> DESC Pinjam;
266 +----------------+------------+------+-----+---------+-------+
267 | Field | Type | Null | Key | Default | Extra |

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 12


268 +----------------+------------+------+-----+---------+-------+
269 | id | char(7) | YES | | NULL | |
270 | NP | varchar(9) | YES | | NULL | |
271 | TanggalPinjam | date | YES | | NULL | |
272 | TanggalKembali | date | YES | | NULL | |
273 +----------------+------------+------+-----+---------+-------+
274 4 rows in set (0.019 sec)
275
276 MariaDB [202253030_ardi]> INSERT INTO Pinjam Values
277 -> ("3", "201953002", "2020-10-20", "0000-00-00"),
278 -> ("4", "201953002", "2020-10-21", "0000-00-00"),
279 -> ("5", "201953003", "2020-10-17", "2020-10-21"),
280 -> ("8", "201953007", "2020-10-27", "2020-12-27");
281 Query OK, 4 rows affected, 2 warnings (0.006 sec)
282 Records: 4 Duplicates: 0 Warnings: 2
283
284 MariaDB [202253030_ardi]> SELECT * FROM Pinjam;
285 +------+-----------+---------------+----------------+
286 | id | NP | TanggalPinjam | TanggalKembali |
287 +------+-----------+---------------+----------------+
288 | 3 | 201953002 | 2020-10-20 | 0000-00-00 |
289 | 4 | 201953002 | 2020-10-21 | 0000-00-00 |
290 | 5 | 201953003 | 2020-10-17 | 2020-10-21 |
291 | 8 | 201953007 | 2020-10-27 | 2020-12-27 |
292 +------+-----------+---------------+----------------+
293 4 rows in set (0.001 sec)
294
295 MariaDB [202253030_ardi]> SELECT *, DateDiff(TanggalKembali,
TanggalPinjam) AS LamaPinjam FROM Pinjam;
296
+------+-----------+---------------+----------------+------------+
297
| id | NP | TanggalPinjam | TanggalKembali | LamaPinjam |
298
+------+-----------+---------------+----------------+------------+
299

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 13


300 | 3 | 201953002 | 2020-10-20 | 0000-00-00 | NULL |
301 | 4 | 201953002 | 2020-10-21 | 0000-00-00 | NULL |
302 | 5 | 201953003 | 2020-10-17 | 2020-10-21 | 4 |
303 | 8 | 201953007 | 2020-10-27 | 2020-12-27 | 61 |
304 +------+-----------+---------------+----------------+------------+
305 4 rows in set (0.001 sec)
306
307 MariaDB [202253030_ardi]> SELECT *, DateDiff(TanggalKembali,
TanggalPinjam) AS LamaPinjam,
308
-> IF(DateDiff(TanggalKembali,TanggalPinjam)>30, 'Denda','--') AS
309 KetDenda
310 -> FROM Pinjam;
311 +------+-----------+---------------+----------------+------------
312 +----------+

313 | id | NP | TanggalPinjam | TanggalKembali | LamaPinjam |


KetDenda |
314
+------+-----------+---------------+----------------+------------
315 +----------+

316 | 3 | 201953002 | 2020-10-20 | 0000-00-00 | NULL | --


|
317
| 4 | 201953002 | 2020-10-21 | 0000-00-00 | NULL | --
318 |
319 | 5 | 201953003 | 2020-10-17 | 2020-10-21 | 4 | --
320 |

321 | 8 | 201953007 | 2020-10-27 | 2020-12-27 | 61 |


Denda |
322
+------+-----------+---------------+----------------+------------
323 +----------+

324 4 rows in set (0.001 sec)

325
326 MariaDB [202253030_ardi]> # Menampilkan seluruh data pinjam disertai
nama pelajarnya
327
MariaDB [202253030_ardi]> #
328 ========================================================
328 MariaDB [202253030_ardi]> CREATE TABLE Pelajar
329 -> (NP VarChar(9),
330 -> Nama Char(9),

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 14


331 -> TanggalLahir date);
332 Query OK, 0 rows affected (0.022 sec)
333
334 MariaDB [202253030_ardi]> DESC Pelajar;
335 +--------------+------------+------+-----+---------+-------+
336 | Field | Type | Null | Key | Default | Extra |
337 +--------------+------------+------+-----+---------+-------+
338 | NP | varchar(9) | YES | | NULL | |
339 | Nama | char(9) | YES | | NULL | |
340 | TanggalLahir | date | YES | | NULL | |
341 +--------------+------------+------+-----+---------+-------+
342 3 rows in set (0.018 sec)
343
344 MariaDB [202253030_ardi]> INSERT INTO Pelajar Values
345 -> ("201953001", "Petruk", "2000-10-20"),
346 -> ("201953002", "Semar", "1999-12-31"),
347 -> ("201953003", "Bagonk S", "2000-07-09"),
348 -> ("201953007", "Gareng A", "2020-08-27");
349 Query OK, 4 rows affected (0.005 sec)
350 Records: 4 Duplicates: 0 Warnings: 0
351
352 MariaDB [202253030_ardi]> SELECT * FROM Pelajar;
353 +-----------+----------+--------------+
354 | NP | Nama | TanggalLahir |
355 +-----------+----------+--------------+
356 | 201953001 | Petruk | 2000-10-20 |
357 | 201953002 | Semar | 1999-12-31 |
358 | 201953003 | Bagonk S | 2000-07-09 |
359 | 201953007 | Gareng A | 2020-08-27 |
260 +-----------+----------+--------------+
361 4 rows in set (0.001 sec)
362

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 15


363 MariaDB [202253030_ardi]> SELECT Pinjam.NP, Nama, TanggalPinjam,
TanggalKembali
364
-> FROM Pinjam, Pelajar
365
-> WHERE Pinjam.NP=Pelajar.NP;
366
+-----------+----------+---------------+----------------+
367
| NP | Nama | TanggalPinjam | TanggalKembali |
368
+-----------+----------+---------------+----------------+
369
| 201953002 | Semar | 2020-10-20 | 0000-00-00 |
370
| 201953002 | Semar | 2020-10-21 | 0000-00-00 |
371
| 201953003 | Bagonk S | 2020-10-17 | 2020-10-21 |
372
| 201953007 | Gareng A | 2020-10-27 | 2020-12-27 |
373
+-----------+----------+---------------+----------------+
374
4 rows in set (0.001 sec)
375
376
377

Penjelasan dari setiap baris program:


1. Baris ke-3 perintah untuk menjalankan xampp dengan format mysql –u root –p.
2. Baris ke-13 s.d ke-27 melihat databases dan menggunakan database 202253030_ardi.
3. Baris Baris ke-41 s.d ke-74 mempraktekan contoh penggunaan “IF” sederhana tanpa
menggunakan tabel.
4. Baris ke-76 s.d ke-106 membuat tabel R dan memasukkan data kedalam tabel R.
5. Baris ke-119 s.d ke-150 membuat tabel S dan memasukkan data kedalam tabel S.
6. Baris ke-152 s.d ke-170 mempraktekan contoh penggunaan logika “IF” dengan
menggunakan tabel R.
7. Baris ke-196 s.d ke-235 membuat tabel kunjungan dan mempraktekan penngunaan
percabangan “CASE WHEN” dengan menggunakan tabel kunjungan.
8. Baris ke-237 s.d ke-252 mempraktekan percabangan “CASE WHEN” menampilkan
atribut Kode dan B kemudian di buat pencabangan “CASE” dengan tambahan atribut
Ket_Gedung.
9. Baris ke-254 s.d ke-293 mempraktekan beberapa contoh soal dengan menggunakan tabel
pinjam, dengan menggunakan Proyeksi, Seleksi kemudian di kombinasikan dengan
General Life Proyection.
10. Baris ke-296 s.d ke-305 mempraktekan dan menampilkan tabel untuk mencari tahu
berapa lama pinjamnya.
11. Baris ke-308 s.d ke-325 mempraktekan dan menampilkan tabel dengan logika IF apabila
lama pinjam melebihi 30 hari atau 1 bulan maka akan di kenakan denda dan akan ada
KetDenda.

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 16


12. Baris ke-327 s.d ke-351 membuat tabel Pelajar untuk menampilkan seluruh data Pinjam
disertai nama pelajarnya.
13. Baris ke-364 s.d ke-376 mempraktekan untuk menampilkan seluruh data Pinjam disertai
nama pelajarnya dengan menggunakan seleki WHERE dan Proyeksi.

3) Hasilnya (screenshoot /capture)

Gambar 4 Menampilkan databases

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 17


Gambar 5 Penggunaan “IF” tanpa tabel.

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 18


Gambar 6 Pembuatan tabel “R”

Gambar 7 Penggunaan logika “IF” menggunakan tabel “R”

Gambar 8 Pencabangan “CASE-WHEN”pembuatan tabel “Kunjungan”

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 19


Gambar 9 Pencabangan “CASE-WHEN”menanmpilkan atribut “KODE” dan “B”.

Gambar 10 Soal latihan dengan menggunakan tabel “Pinjam”

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 20


Gambar 11 Soal latihan dengan menampilkan lama pinjam dan denda

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 21


Gambar 12 Soal latihan dengan membuat tabel “Pelajar”.

Gambar 13 Soal latihan menampilkan data pinjam di sertai nama pelajarnya.

Gambar 14 Hasil saat ditampilkan menggunakan browser Chrome

C. Analisis Program dan Teori Pendukung tentang Penggunaan “IF


dan CASE”

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 22


Penggunaan IF dan CASE dalam MYSQL Pada MySQL, IF dan CASE merupakan dua
cara yang umum digunakan untuk melakukan logika kondisional atau pemilihan kasus.
 Penggunaan “IF”
a. Pengambilan Keputusan
 Pernyataan IF digunakan untuk membuat keputusan dalam program berdasarkan
satu kondisi atau lebih.
 Pernyataan ini memungkinkan program untuk menjalankan pernyataan tertentu
jika kondisi yang diuji benar, atau menjalankan pernyataan lain jika kondisi salah.
b. Kondisi
 Kondisi dalam pernyataan IF dapat berupa ekspresi logika, perbandingan antara
nilai, atau hasil evaluasi fungsi atau metode.
 Penggunaan “Case”
a. Pengambilan Keputusan
 Pernyataan CASE-WHEN digunakan untuk membuat pengambilan keputusan
yang lebih kompleks dengan beberapa kondisi.
 Ini memungkinkan program untuk mengevaluasi banyak kondisi dan
mengembalikan hasil yang sesuai.
b. Bentuk Sederhana dan Terpilih:
 Dalam CASE-WHEN, Anda dapat memiliki banyak blok WHEN yang dievaluasi
secara berurutan.
 Dalam CASE-WHEN terpilih, Anda mengevaluasi ekspresi tunggal untuk
kondisi.

D. Tugas Terstruktur tentang Penggunaan “IF dan CASE”.


1. Penjelasan jawaban tugas yang diberikan pada saat praktek
Kode Program : Penggunaan “IF dan CASE dalam MYSQL”

1 MariaDB [202253030_ardi]> # 1. Tampilkan seluruh data peminjam beserta


namanya lengkap
2
MariaDB [202253030_ardi]> # lama pinjam dan denda, jika lama pinjam
3 nya melebihi 30 hari
4 MariaDB [202253030_ardi]> # maka di kenakan denda sebanyak 5 ribu.
5 MariaDB [202253030_ardi]> Select nama, DATEDIFF(TanggalKembali,
6 TanggalPinjam) AS LamaPinjam,

7 -> CASE

8 -> WHEN DATEDIFF(TanggalKembali, TanggalPinjam) > 30 THEN


((DATEDIFF(TanggalKembali, TanggalPinjam) - 30) * 5000)

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 23


9 -> ELSE 0

10 -> END AS denda

11 -> FROM Pinjam, Pelajar

12 -> WHERE Pinjam.NP=Pelajar.NP;

13 +----------+------------+--------+

14 | nama | LamaPinjam | denda |

15 +----------+------------+--------+

16 | Semar | NULL | 0 |

17 | Semar | NULL | 0 |

18 | Bagonk S | 4 | 0 |

19 | Gareng A | 61 | 155000 |

20 +----------+------------+--------+

21 4 rows in set (0.001 sec)

22

23 MariaDB [202253030_ardi]> # 2. Sama dengan pertayaan di pertama tapi


di soal ke dua ini
24
MariaDB [202253030_ardi]> # hanya pelajar yang kena denda beserta
25 berapa besar jumlah dendanya.
26 MariaDB [202253030_ardi]> Select nama, DATEDIFF(TanggalKembali,
27 TanggalPinjam) AS LamaPinjam,

28 -> CASE

29 -> WHEN DATEDIFF(TanggalKembali, TanggalPinjam) > 30 THEN


((DATEDIFF(TanggalKembali, TanggalPinjam) - 30) * 5000)
30
-> ELSE 0
31
-> END AS denda
32
-> FROM Pinjam, Pelajar
33
-> WHERE Pinjam.NP=Pelajar.NP
34
-> AND DATEDIFF(TanggalKembali, TanggalPinjam) > 30;
35
+----------+------------+--------+
36
| nama | LamaPinjam | denda |
37
+----------+------------+--------+
38
| Gareng A | 61 | 155000 |
39

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 24


40 +----------+------------+--------+

41 1 row in set (0.001 sec)

42

Penjelasan dari setiap baris program:


1. Baris ke-1 s.d ke-22 menampilkan soal sesuai yang di perintahkan yaitu
Tampilkan seluruh data peminjam beserta namanya lengkap lama pinjam dan
denda, jika lama pinjam nya melebihi 30 hari lama pinjam dan denda, jika
lama pinjam nya melebihi 30 hari.
2. Baris ke-24 s.d ke-42 menampilkan soal sesuai yang di perintahkan yaitu
Sama dengan pertayaan di pertama tapi di soal ke dua ini hanya pelajar yang
kena denda beserta berapa besar jumlah dendanya.

2. Hasilnya (screenshoot /capture)

Gambar 15 hasil penampilan tugas praktek.

Ttd. dan nama lengkap Asisten/Laboran Ttd. dan Nama Terang Praktikan

Fitria Nurul Hikmah 202253030 – Muhammad Ardi Hermansyah


Penilaian/Validasi Dosen Pengampu:
Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 25
Nama Pengampu: Dr. Eko Darmanto, S.Kom., M.Cs., MTA

Laporan Praktikum Basis Data – Sistem Informasi Gasal 2022/2023 Hal. 26

Anda mungkin juga menyukai