Anda di halaman 1dari 25

LAPORAN PRAKTIKUM

ADMINISTRASI BASIS DATA

Oleh :

Nama : Rizka Rahmadini Salim


Nim : 1957301011
Kelas : TI - 2A
Prodi : Teknik Informatika
Dosen Pengajar : Salahuddin ST., M.Cs

KEMENTERIAN RISET, TEKNOLOGI DAN PERGURUAN


TINGGI POLITEKNIK NEGERI LHOKSEUMAWE
TAHUN AJARAN 2021
LEMBAR PENGESAHAN

Judul : Laporan Basis Data

Nama : Rizka Rahmadini Salim

NIM : 1957301011

Kelas : TI 2A

Jurusan : Teknologi Informasi dan Komputer

Prodi : Teknik Informatika

Tanggal Tugas : Juni 2021

Tanggal Penyerahan : Juni 2021

Nilai :

Buketrata, Juni 2021


Dosen Pengajar

Salahuddin ST., M.Cs


NIP. 19740424 200212 1 001

i
DAFTAR ISI

LEMBAR PENGESAHAN............................................................................................................ i
DAFTAR ISI .................................................................................................................................. ii
BAB I .............................................................................................................................................. 1
PENDAHULUAN .......................................................................................................................... 1
1.1. Tujuan ................................................................................................................................ 1
1.2. Dasar Teori ......................................................................................................................... 1
BAB II ............................................................................................................................................ 3
PEMBAHASAN ............................................................................................................................ 3
2.1 Create User ......................................................................................................................... 3
2.2 Grant User .......................................................................................................................... 7
2.3 Trigger ................................................................................................................................ 8
2.4 Store Procedure ................................................................................................................ 15
2.5 Function ........................................................................................................................... 18
BAB III ......................................................................................................................................... 22
PENUTUP .................................................................................................................................... 22
3.1. Kesimpulan ...................................................................................................................... 22

ii
BAB I
PENDAHULUAN
1.1.Tujuan
Mahasiswa diharapkan dapat :
1. Membuat User dan Hak Akses
2. Membuat Trigger
3. Membuat Store Procedure dengan Function

1.2.Dasar Teori
Secara default, ketika MySQL pertama kali diinstall maka hanya terdapat
user ‘root’. User ‘root’ ini memiliki level tertinggi (top level) dalam MySQL.
Sebaiknya jangan menggunakan ‘root’ ini untuk mengkoneksikan aplikasi database
Anda ke MySQL demi keamanan. Untuk itu kita perlu membuat user koneksi selain
‘root’ ini. Ketika pertama kali dalam membuat user di MySQL, kita menggunakan
user ‘root’ terlebih dahulu.
Ada beberapa jenis hak istimewa yang dapat diberikan ke akun pengguna.
Hak istimewa yang paling umum digunakan adalah:
 ALL PRIVILEGES - memberikan semua hak istimewa ke akun pengguna.
 CREATE - akun pengguna diizinkan untuk membuat database dan tabel.
 DROP - akun pengguna diizinkan untuk menghapus database dan tabel.
 DELETE - akun pengguna diizinkan untuk menghapus baris dari tabel tertentu.
 INSERT - akun pengguna diizinkan untuk memasukkan baris ke tabel tertentu.
 SELECT - akun pengguna diizinkan untuk membaca database.
 UPDATE - akun pengguna diizinkan untuk memperbarui baris tabel.
Trigger Merupakan Sebuah Script Mysql Yang Memicu Terjadinya Suatu
Kejadian Seperti INSERT, UPDATE, DELETE Secara Otomatis Setelah Syarat
Tertentu terpenuhi. Biasanya TRIGGER akan dijalankan sebelum atau sesudah
proses INSERT, UPDATE, DELETE (Perintah DML).

1
Stored Procedure adalah sebuah fungsi berisi kode SQL yang dapat
digunakan kembali. Dalam Stored Procedure juga dapat dimasukkan parameter
sehingga fungsi dapat digunakan lebih dinamis berdasarkan parameter tersebut.
Stored procedure adalah kumpulan pernyataan/procedure SQL yang disimpan dalam
database. Stored procedure dapat menerima parameter, dan Anda dapat mengatur
variabel, menulis pernyataan IF, dan lainnya dalam stored procedure.
Fungsi (function) atau kata lainnya method merupakan suatu sub program
yang diperuntukan untuk mengerjakan suatu perintah tertentu sesuai dengan fungsi
method itu sendiri. Didalam mysql sudah terdapat beberapa fungsi default yang
dapat digunakan untuk mengerjakan tugas tertentu. Misalnya untuk mencari nilai
minimal, menghitung rata-rata dan menjumlahkan suatu nilai.
Dengan menggunakan fungsi tentu saja pekerjaan untuk mengelolah dan
analisis data menjadi lebih mudah dan akurat. Function merupakan salah satu fitur
di SQL, berupa kumpulan perintah SQL yang disimpan dalam database SQL.
biasanya function ini bisa dikombinasikan dengan Stored Procedure dan dalam
phpMyAdmin biasanya Function dan Stored Procedure dapat ditemui dalam
Routines jika menggunakan MySQL.

2
BAB II
PEMBAHASAN
2.1 Create User
1. Membuat Database
MariaDB [(none)]> create database pnl_lhokseumawe;
Query OK, 1 row affected (0.004 sec)

2. Menampilkan seluruh database


MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| penjualan |
| performance_schema |
| phpmyadmin |
| pnl_lhokseumawe |
| test |
| uts |
+--------------------+
8 rows in set (0.061 sec)

3. Menggunakan database pnl_lhokseumawe


MariaDB [(none)]> use pnl_lhokseumawe;
Database changed

4. Membuat tabel mahasiswa_tik


MariaDB [pnl_lhokseumawe]> create table mahasiswa_tik(nim varchar(10) not
null, nama varchar(40) not null,tgllahir date not null, ipk decimal(3,2)
not null, primary key(nim));
Query OK, 0 rows affected (0.076 sec)
5. Mengisi data pada tabel mahasiswa_tik

3
MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik
(nim,nama,tgllahir,ipk) values ("1957301011","Rizka Rahmadini
Salim","2001-09-13","3,9");
Query OK, 1 row affected, 1 warning (0.096 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik


(nim,nama,tgllahir,ipk) values ("1957301058","Nurmala Hayati","1999-10-
07","3,6");
Query OK, 1 row affected, 1 warning (0.004 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik


(nim,nama,tgllahir,ipk) values ("1957301041","Yusma Subhina","2001-05-
13","3,7");
Query OK, 1 row affected, 1 warning (0.007 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik


(nim,nama,tgllahir,ipk) values ("1957301018","Saidah","2001-08-
27","3.73");
Query OK, 1 row affected (0.002 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik


(nim,nama,tgllahir,ipk) values ("1957301039","Firza Rahmatul Ula","2002-
07-25","3.85");
Query OK, 1 row affected (0.004 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tik


(nim,nama,tgllahir,ipk) values ("1957301074","Wanda Mairiska","2001-11-
11","3.66");
Query OK, 1 row affected (0.004 sec)

4
6. Menampilkan isi tabel mahasiswa_tik
MariaDB [pnl_lhokseumawe]> select * from mahasiswa_tik;
+------------+-----------------------+------------+------+
| nim | nama | tgllahir | ipk |
+------------+-----------------------+------------+------+
| 1957301011 | Rizka Rahmadini Salim | 2001-09-13 | 3.80 |
| 1957301018 | Saidah | 2001-08-27 | 3.73 |
| 1957301039 | Firza Rahmatul Ula | 2002-07-25 | 3.85 |
| 1957301041 | Yusma Subhina | 2001-05-13 | 3.90 |
| 1957301058 | Nurmala Hayati | 1999-10-07 | 3.87 |
| 1957301074 | Wanda Mairiska | 2001-11-11 | 3.66 |
+------------+-----------------------+------------+------+
6 rows in set (0.000 sec)

7. Menampilkan kolom beserta info dari kolom tabel mahasiswa_tik


MariaDB [pnl_lhokseumawe]> describe mahasiswa_tik;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| nim | varchar(10) | NO | PRI | NULL | |
| nama | varchar(40) | NO | | NULL | |
| tgllahir | date | NO | | NULL | |
| ipk | decimal(3,2) | NO | | NULL | |
+----------+--------------+------+-----+---------+-------+
4 rows in set (0.061 sec)

8. Membuat tabel mahasiswa_tataniaga


MariaDB [pnl_lhokseumawe]> create table mahasiswa_tataniaga(nim
varchar(10) not null, nama varchar(40) not null,tgllahir date not null,
ipk decimal(3,2) not null, primary key(nim));
Query OK, 0 rows affected (0.050 sec)

9. Mengisi data pada tabel mahasiswa_tataniaga


MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga
(nim,nama,tgllahir,ipk) values ("1957301046","Khaira Nadia","2001-04-
18","3.00");
Query OK, 1 row affected (0.003 sec)

5
MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga
(nim,nama,tgllahir,ipk) values ("1957301073","Danial Alfayyadh S","2001-
03-20","3.78");
Query OK, 1 row affected (0.003 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga


(nim,nama,tgllahir,ipk) values ("1957301068","Maulana Riswan","2000-06-
19","3.55");
Query OK, 1 row affected (0.007 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga


(nim,nama,tgllahir,ipk) values ("1957301065","Fazlur Rahman","2000-10-
10","3.54");
Query OK, 1 row affected (0.003 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga


(nim,nama,tgllahir,ipk) values ("1957301056","Muhammad Haikal
Yuan","2000-17-01","3.33");
Query OK, 1 row affected, 1 warning (0.003 sec)

MariaDB [pnl_lhokseumawe]> insert into mahasiswa_tataniaga


(nim,nama,tgllahir,ipk) values ("1957301001","Rizqina Sabita","2002-20-
01","3.88");
Query OK, 1 row affected, 1 warning (0.003 sec)

10. Menampilkan isi tabel mahasiswa_tataniaga


MariaDB [pnl_lhokseumawe]> select * from mahasiswa_tataniaga;
+------------+----------------------+------------+------+
| nim | nama | tgllahir | ipk |
| 1957301046 | Khaira Nadia | 2001-04-18 | 3.00 |
| 1957301056 | Muhammad Haikal Yuan | 2000-10-10 | 3.33 |
| 1957301065 | Fazlur Rahman | 2000-10-10 | 3.54 |
| 1957301068 | Maulana Riswan | 2000-06-19 | 3.55 |

6
| 1957301073 | Danial Alfayyadh S | 2001-03-20 | 3.78 |
| 1957301088 | Rizqina Sabita | 2001-12-13 | 3.88 |
+------------+----------------------+------------+------+
6 rows in set (0.000 sec)

11. Membuat user baru, password pada Mysql


MariaDB [mysql]> create user icha identified by '001';
Query OK, 0 rows affected (0.016 sec)

12. Menampilkan seluruh user beserta host dan password yang dienkripsi
MariaDB [mysql]> select host,user,password from user;
+-----------------+------+-------------------------------------------+
| Host | User | Password |
+-----------------+------+-------------------------------------------+
| localhost | root | |
| ec2amaz-1qpqh3j | root | |
| 127.0.0.1 | root | |
| ::1 | root | |
| localhost | pma | |
| % | icha | *DE856D579C63638639E4B3ED7B3C187AA2146ADE |
+-----------------+------+-------------------------------------------+
6 rows in set (0.001 sec)

2.2 Grant User


1. Membuat user admin2 dengan password
MariaDB [(none)]> CREATE USER 'admin2'@'localhost' IDENTIFIED BY
'admin2';
Query OK, 0 rows affected (0.020 sec)

2. Memberi hak akses ke user admin2


MariaDB [(none)]> GRANT SELECT ON pnl_lhokseumawe.* TO
'admin2'@'localhost';
Query OK, 0 rows affected (0.006 sec)

3. Menerapkan hak akses user


MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.001 sec)

7
4. Membuat user 3 dengan password
MariaDB [(none)]> CREATE USER 'user3'@'localhost' IDENTIFIED BY 'user3';
Query OK, 0 rows affected (0.006 sec)

5. Memberi hak akses insert, update, delete untuk database tertentu dan semua
tabel ke user 3
MariaDB [(none)]> GRANT INSERT, UPDATE, DELETE ON pnl_lhokseumawe.* TO
'user3'@'localhost';
Query OK, 0 rows affected (0.017 sec)
2 rows in set (0.058 sec)

6. Membuat user 4 dengan password


MariaDB [(none)]> CREATE USER 'user4'@'localhost' IDENTIFIED BY 'user4';
Query OK, 0 rows affected (0.007 sec)

7. Menampilkan hak akses yang telah diberikan pada user tertentu


MariaDB [(none)]> SHOW GRANTS FOR 'user3'@'localhost'\G
*************************** 1. row ***************************
Grants for user3@localhost: GRANT USAGE ON *.* TO `user3`@`localhost`
IDENTIFIED BY PASSWORD '*4570676E59FAC04669A75B74C31338296F688A44'
*************************** 2. row ***************************
Grants for user3@localhost: GRANT INSERT, UPDATE, DELETE ON
`pnl_lhokseumawe`.* TO `user3`@`localhost`
2 rows in set (0.002 sec)

8. Mencabut hak akses untuk user tertentu


MariaDB [(none)]> REVOKE ALL PRIVILEGES ON pnl_lhokseumawe.* from
'user3'@'localhost';
Query OK, 0 rows affected (0.003 sec)

2.3 Trigger
1. Membuat tabel nilai
MariaDB [pnl_lhokseumawe]> create table nilai(nim varchar(10) not null,
nilaihuruf char(1) not null, primary key(nim));
Query OK, 0 rows affected (0.110 sec)

2. Membuat tabel lognilai


MariaDB [pnl_lhokseumawe]> create table lognilai(nim varchar(10) not
null, nilai_lama char(1) not null, nilai_baru char(1) not null,
keterangan varchar(50) not null, waktu_ubah datetime not null, primary
key(nim));

8
Query OK, 0 rows affected (0.040 sec)

3. Menampilkan kolom beserta info dari kolom tabel nilai


MariaDB [pnl_lhokseumawe]> describe nilai;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim | varchar(10) | NO | PRI | NULL | |
| nilaihuruf | char(1) | NO | | NULL | |
+------------+-------------+------+-----+---------+-------+
2 rows in set (0.021 sec)

4. Menampilkan kolom beserta info dari kolom tabel nilai


MariaDB [pnl_lhokseumawe]> describe lognilai;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| nim | varchar(10) | NO | PRI | NULL | |
| nilai_lama | char(1) | NO | | NULL | |
| nilai_baru | char(1) | NO | | NULL | |
| keterangan | varchar(50) | NO | | NULL | |
| waktu_ubah | datetime | NO | | NULL | |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.057 sec)

5. Mengisi data ke tabel nilai


MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values
("1957301058","C");
Query OK, 1 row affected (0.004 sec)

MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values


("1957301055","B");
Query OK, 1 row affected (0.004 sec)

9
MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values
("1957301056","B");
Query OK, 1 row affected (0.003 sec)

MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values


("1957301057","A");
Query OK, 1 row affected (0.031 sec)

MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values


("1957301059","C");
Query OK, 1 row affected (0.003 sec)

MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values


("1957301060","B");
Query OK, 1 row affected (0.004 sec)

6. Menampilkan isi tabel nilai


MariaDB [pnl_lhokseumawe]> select * from nilai;
+------------+------------+
| nim | nilaihuruf |
+------------+------------+
| 1957301055 | B |
| 1957301056 | B |
| 1957301057 | A |
| 1957301058 | C |
| 1957301059 | C |
| 1957301060 | B |
+------------+------------+
6 rows in set (0.000 sec)

7. Membuat trigger update pada tabel nilai


MariaDB [pnl]> create trigger log_upd1
-> after update ON nilai
-> FOR EACH ROW

10
-> INSERT INTO lognilai
-> values (OLD.nim, OLD.nilai_huruf, NEW.nilai_huruf, "Update
Nilai", NOW());
Query OK, 0 rows affected (0.055 sec)

8. Membuat trigger delete pada tabel nilai


MariaDB [pnl_lhokseumawe]> CREATE TRIGGER LOG_DELETE1
-> AFTER DELETE ON nilai
-> FOR EACH ROW
-> INSERT INTO lognilai
-> VALUES (OLD.nim, OLD.nilaihuruf,' ','Penghapusan Nilai',NOW( ));
Query OK, 0 rows affected (0.049 sec)

9. Menghapus trigger
MariaDB [pnl]> drop trigger LOG_UPD1;
Query OK, 0 rows affected (0.168 sec)

MariaDB [pnl]> drop trigger LOG_DEL1;


Query OK, 0 rows affected (0.101 sec)

10. Update data tabel nilai


MariaDB [pnl_lhokseumawe]> update nilai set nilaihuruf ="A" where
nim="1957301060";
Query OK, 1 row affected (0.007 sec)
Rows matched: 1 Changed: 1 Warnings: 0

11. Menampilkan isi tabel lognilai


MariaDB [pnl_lhokseumawe]> select * from lognilai;
+------------+------------+------------+------------+--------------------
-+
| nim | nilai_lama | nilai_baru | keterangan | waktu_ubah
|
+------------+------------+------------+------------+--------------------
-+
| 1957301060 | B | A | Update Nilai | 2021-
03-29 18:06:16 |
+------------+------------+------------+------------+--------------------
-+

11
1 row in set (0.000 sec)

12. Delete data tabel nilai


MariaDB [pnl_lhokseumawe]> DELETE FROM nilai where nim ='1957301055';
Query OK, 1 row affected (0.047 sec)

13. Menampilkan isi tabel lognilai setelah delete data


MariaDB [pnl_lhokseumawe]> select * from lognilai;
+------------+------------+------------+-------------------+-------------
--------+
| nim | nilai_lama | nilai_baru | keterangan | waktu_ubah
|
+------------+------------+------------+-------------------+-------------
--------+
| 1957301060 | B | A | | 2021-03-29
18:06:16 |
| 1957301060 | A | C | | 2021-03-29
18:11:03 |
| 1957301055 | B | | Penghapusan Nilai | 2021-03-30
08:57:32 |
+------------+------------+------------+-------------------+-------------
--------+
3 rows in set (0.003 sec)

14. Menampilkan triggers


MariaDB [pnl_lhokseumawe]> show triggers;
+-------------+--------+-------+-----------------------------------------
-------------------------------------------------------------------------
----+--------+------------------------+----------------------------------
-------------------+----------------+----------------------+-------------
---------+--------------------+
| Trigger | Event | Table | Statement
| Timing | Created | sql_mode

12
| Definer | character_set_client | collation_connection | Database
Collation |
+-------------+--------+-------+-----------------------------------------
-------------------------------------------------------------------------
----+--------+------------------------+----------------------------------
-------------------+----------------+----------------------+-------------
---------+--------------------+
| LOG_UPD1 | UPDATE | nilai | INSERT INTO lognilai
set nim = OLD.nim,
nilai_lama = OLD.nilaihuruf,
nilai_baru = NEW.nilaihuruf,
waktu_ubah = NOW() | AFTER | 2021-03-29 18:05:54.00 |
NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION | root@localhost |
cp850 | cp850_general_ci | utf8mb4_general_ci |
| LOG_DELETE1 | DELETE | nilai | INSERT INTO lognilai
VALUES (OLD.nim, OLD.nilaihuruf,' ','Penghapusan Nilai',NOW( ))
| AFTER | 2021-03-30 08:55:16.30 |
NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION | root@localhost |
cp850 | cp850_general_ci | utf8mb4_general_ci |
+-------------+--------+-------+-----------------------------------------
-------------------------------------------------------------------------
----+--------+------------------------+----------------------------------
-------------------+----------------+----------------------+-------------
---------+--------------------+
2 rows in set (0.116 sec)

15. Membuat trigger insert pada tabel nilai


MariaDB [pnl_lhokseumawe]> CREATE TRIGGER log_insert1
-> AFTER INSERT ON nilai
-> FOR EACH ROW
-> INSERT INTO lognilai
-> VALUES (NEW.NIM," ", NEW.nilaihuruf, 'Insert Nilai', NOW());
Query OK, 0 rows affected (0.013 sec)

13
16. Insert data tabel nilai
MariaDB [pnl_lhokseumawe]> INSERT INTO nilai VALUES ("1957301090", "A");
Query OK, 1 row affected (0.022 sec)

17. Menampilkan isi tabel lognilai setelah insert data


MariaDB [pnl_lhokseumawe]> SELECT * FROM lognilai;
+------------+------------+------------+-------------------+-------------
--------+
| nim | nilai_lama | nilai_baru | keterangan | waktu_ubah
|
+------------+------------+------------+-------------------+-------------
--------+
| 1957301060 | B | A | Update Nilai | 2021-03-29
18:06:16 |
| 1957301060 | A | C | Update Nilai | 2021-03-29
18:11:03 |
| 1957301055 | B | | Penghapusan Nilai | 2021-03-30
08:57:32 |
| 1957301063 | C | C | Update Nilai | 2021-03-30
09:19:53 |
| 1957301063 | C | B | Update Nilai | 2021-03-30
09:20:08 |
| 1957301058 | C | A | Update Nilai | 2021-03-30
09:28:46 |
| 1957301090 | | A | Insert Nilai | 2021-04-06
08:30:35 |
+------------+------------+------------+-------------------+-------------
--------+
7 rows in set (0.012 sec)

14
2.4 Store Procedure
1. Membuat database baru
MariaDB [pnl_lhokseumawe]> create database StoreProcedure;
Query OK, 1 row affected (0.389 sec)

2. Membuat tabel mahasiswa


MariaDB [StoreProcedure]> CREATE TABLE mahasiswa(nim int(10),
nama varchar(100),
alamat varchar(100),
PRIMARY KEY(nim));
Query OK, 0 rows affected (0.773 sec)

3. Mengisi data tabel mahasiswa


MariaDB [StoreProcedure]> INSERT INTO mahasiswa
-> VALUES (19570601, "Sharhan Anhar","Lhokseumawe"),
-> (19570602, "Jihan","Lhokseumawe"),
-> (19570603, "Mesti", "Padang"),
-> (19570604, "Anto", "Medan"),
-> (19570605, "Jae", "Solo");
Query OK, 5 rows affected (0.050 sec)
Records: 5 Duplicates: 0 Warnings: 0

4. Melakukan select pada tabel mahasiswa


MariaDB [StoreProcedure]> SELECT * FROM mahasiswa;
+----------+---------------+-------------+
| nim | nama | alamat |
+----------+---------------+-------------+
| 19570601 | Sharhan Anhar | Lhokseumawe |
| 19570602 | Jihan | Lhokseumawe |
| 19570603 | Mesti | Padang |
| 19570604 | Anto | Medan |
| 19570605 | Jae | Solo |
+----------+---------------+-------------+
5 rows in set (0.008 sec)

5. Membuat store procedure untuk select tabel mahasiswa


MariaDB [StoreProcedure]> DELIMITER //
MariaDB [StoreProcedure]> CREATE PROCEDURE selectMHS()
-> BEGIN
-> SELECT nim, nama FROM mahasiswa;
-> END //
Query OK, 0 rows affected (0.292 sec)

15
6. Melakukan pemanggilan storeprocedure
MariaDB [StoreProcedure]> call selectMHS();
+----------+---------------+
| nim | nama |
+----------+---------------+
| 19570601 | Sharhan Anhar |
| 19570602 | Jihan |
| 19570603 | Mesti |
| 19570604 | Anto |
| 19570605 | Jae |
+----------+---------------+
5 rows in set (0.003 sec)
Query OK, 0 rows affected (0.008 sec)

7 Membuat storeprocedure dengan parameter


MariaDB [storeprocedure]> DELIMITER $$
MariaDB [storeprocedure]> CREATE PROCEDURE alamatMHS(
-> alamatMhs varchar(100)
-> )
-> BEGIN
-> SELECT * FROM mahasiswa WHERE alamat = alamatMhs;
-> END $$
Query OK, 0 rows affected (0.222 sec)
MariaDB [storeprocedure]> DELIMITER ;

8 Melakukan pemanggilan storeprocedure alamat = geudong


MariaDB [StoreProcedure]> call alamatMHS("Lhokseumawe");
+----------+---------------+-------------+
| nim | nama | alamat |
+----------+---------------+-------------+
| 19570601 | Sharhan Anhar | Lhokseumawe |
| 19570602 | Jihan | Lhokseumawe |
+----------+---------------+-------------+
2 rows in set (0.108 sec)
Query OK, 0 rows affected (0.112 sec)

9 Membuat INSERT dengan StoreProcedure


MariaDB [StoreProcedure]> DELIMITER //
MariaDB [StoreProcedure]> CREATE PROCEDURE insertMHS(
-> nimMhs int(10), namaMhs varchar(100), alamatMhs varchar(100)
-> )
-> BEGIN
-> INSERT INTO mahasiswa VALUES (nimMhs, namaMhs, alamatMhs);

16
-> END //
Query OK, 0 rows affected (0.015 sec)

10 Melakukan INSERT dengan StoreProcedure


MariaDB [StoreProcedure]> call insertMHS(19570606, "Deandra",
"Lhokseumawe");
-> //;
Query OK, 1 row affected (0.005 sec)

11 Hasil di tabel sekarang


MariaDB [StoreProcedure]> select*from mahasiswa;
-> /
-> //
+----------+---------------+-------------+
| nim | nama | alamat |
+----------+---------------+-------------+
| 19570601 | Sharhan Anhar | Lhokseumawe |
| 19570602 | Jihan | Lhokseumawe |
| 19570603 | Mesti | Padang |
| 19570604 | Anto | Medan |
| 19570605 | Jae | Solo |
| 19570606 | Deandra | Lhokseumawe |
+----------+---------------+-------------+
4 rows in set (0.000 sec)

12 Membuat storeprocedure delete


MariaDB [StoreProcedure]> DELIMITER //
MariaDB [StoreProcedure]> CREATE PROCEDURE delMHS(
-> nimMhs int(10)
-> )
-> BEGIN
-> DELETE FROM mahasiswa WHERE nim = nimMhs;
-> END //
Query OK, 0 rows affected (0.117 sec)

13 Memanggil delMHS agar menghapus mahasiswa dengan nim 20210606


MariaDB [StoreProcedure]> call delMHS(19570606);
-> //
Query OK, 1 row affected (0.007 sec)

17
14 Data tabel mahasiswa sekarang
MariaDB [StoreProcedure]> select*from mahasiswa;
-> //
+----------+---------------+-------------+
| nim | nama | alamat |
+----------+---------------+-------------+
| 19570601 | Sharhan Anhar | Lhokseumawe |
| 19570602 | Jihan | Lhokseumawe |
| 19570603 | Mesti | Padang |
| 19570604 | Anto | Medan |
| 19570605 | Jae | Solo |
+----------+---------------+-------------+
rows in set (0.001 sec)

2.5 Function
1. Membuat tabel jurusan
MariaDB [storeprocedure]> CREATE TABLE jurusan(kdJur char(2)PRIMARY KEY,
namaJur varchar(40));
Query OK, 0 rows affected (0.391 sec)

2. Mengisi data pada tabel jurusan


MariaDB [storeprocedure]> INSERT INTO jurusan VALUES ("TI","Teknik
Informatika"),
-> ("SI","Sistem Informasi"),
-> ("MI", "Manajemen Informatika"),
-> ("KA", "Komputerisasi Akuntansi"),
-> ("TK", "Teknik Komputer");
Query OK, 5 rows affected (0.125 sec)
Records: 5 Duplicates: 0 Warnings: 0

3. Melihat isi tabel jurusan


MariaDB [StoreProcedure]> select*from jurusan;
-> //
+-------+-------------------------+
| kdJur | namaJur |
+-------+-------------------------+
| KA | Komputerisasi Akuntansi |
| MI | Manajemen Informatika |
| SI | Sistem Informasi |
| TI | Teknik Informatika |
| TK | Teknik Komputer |
+-------+-------------------------+

18
5 rows in set (0.000 sec)

4. Membuat function f_jurusan


MariaDB [storeprocedure]> DELIMITER |
MariaDB [storeprocedure]> CREATE FUNCTION f_jurusan(kode char(2))
-> RETURNS varchar(40)
-> BEGIN
-> DECLARE namaJur varchar(40);
-> CASE kode
-> WHEN 'TI' THEN
-> SET namaJur = 'Teknik Informatika';
-> WHEN 'SI' THEN
-> SET namaJur = 'Sistem informasi';
-> WHEN 'MI' THEN
-> SET namaJur = 'Manajemen Informatika';
-> WHEN 'KA' THEN
-> SET namaJur = 'Komputerisasi Akuntansi';
-> WHEN 'TK' THEN
-> SET namaJur = 'Teknik Komputer';
-> ELSE SET namaJur = 'Kode Jurusan Salah';
-> END CASE;
-> RETURN namaJur;
-> END;
-> |
Query OK, 0 rows affected (0.173 sec)
MariaDB [storeprocedure]> DELIMITER ;

5. Mencoba memanggil function f_jurusan


MariaDB [storeprocedure]> SELECT f_jurusan('TI');
+--------------------+
| f_jurusan('TI') |
+--------------------+
| Teknik Informatika |
+--------------------+
1 row in set (0.032 sec)

6. Mencoba memanggil function dengan argumen yang tidak ada di function


MariaDB [storeprocedure]> SELECT f_jurusan('Kosong');
+---------------------+
| f_jurusan('Kosong') |
+---------------------+
| Kode Jurusan Salah |
+---------------------+

19
1 row in set, 1 warning (0.001 sec)

7. Menambah field baru di tabel mahasiswa


MariaDB [storeprocedure]> ALTER TABLE mahasiswa ADD jurusan char(2);
Query OK, 0 rows affected (0.153 sec)
Records: 0 Duplicates: 0 Warnings: 0

8. Membuat foreign key antara jurusan di tabel mahasiswa dengan kdjur di tabel
jurusan
MariaDB [storeprocedure]> ALTER TABLE mahasiswa ADD FOREIGN KEY(jurusan)
REFERENCES jurusan(kdJur);
Query OK, 6 rows affected (1.280 sec)
Records: 6 Duplicates: 0 Warnings: 0

9. Mengupdate kolom jurusan pada tabel mahasiswa untuk seluruh mahasiswa


MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'TI' WHERE
mahasiswa.nim = 19570601;
Query OK, 1 row affected (0.363 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'SI' WHERE


mahasiswa.nim = 19570602;
Query OK, 1 row affected (0.120 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'KA' WHERE


mahasiswa.nim = 19570603;
Query OK, 1 row affected (0.047 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'MI' WHERE


mahasiswa.nim = 19570604;
Query OK, 1 row affected (0.049 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'TI' WHERE


mahasiswa.nim = 20210605;
Query OK, 1 row affected (0.126 sec)
Rows matched: 1 Changed: 1 Warnings: 0

MariaDB [storeprocedure]> UPDATE mahasiswa SET jurusan = 'TK' WHERE


mahasiswa.nim = 20210606;
Query OK, 1 row affected (0.114 sec)

20
Rows matched: 1 Changed: 1 Warnings: 0

10. Data tabel mahasiswa sekarang


MariaDB [StoreProcedure]> select*from mahasiswa;|
+----------+---------------+-------------+---------+
| nim | nama | alamat | jurusan |
+----------+---------------+-------------+---------+
| 19570601 | Sharhan Anhar | Lhokseumawe | TI |
| 19570602 | Jihan | Lhokseumawe | SI |
| 19570603 | Mesti | Padang | KA |
| 19570604 | Anto | Medan | MI |
| 19570605 | Jae | Solo | MI |
+----------+---------------+-------------+---------+
5 rows in set (0.001 sec)

11 Melakukan select terhadap data mahasiswa, dan memanggil fungsi f_jurusan


untuk mencetak nama jurusan melalu kode jurusan
MariaDB [storeprocedure]> SELECT nim, nama, f_jurusan(jurusan) FROM
mahasiswa;
+----------+---------------+-------------------------+
| nim | nama | f_jurusan(jurusan) |
+----------+---------------+-------------------------+
| 19570601 | Sharhan Anhar | Teknik Informatika |
| 19570602 | Jihan | Sistem informasi |
| 19570603 | Mesti | Komputerisasi Akuntansi |
| 19570604 | Anto | Manajemen Informatika |
| 19570605 | Jae | Manajemen Informatika |
+----------+---------------+-------------------------+
5 rows in set (0.001 sec)

21
BAB III
PENUTUP

3.1.Kesimpulan
MySQL adalah sistem manajemen database SQL yang bersifatOpen Source
dan paling populer saat ini. Sistem Database MySQLmendukung beberapa fitur
seperti multithreaded, multi-user, dan SQLdatabase managemen sistem (DBMS).
Database ini dibuat untuk keperluansistem database yang cepat, handal dan mudah
digunakan

22

Anda mungkin juga menyukai