Oleh :
NIM : 1957301011
Kelas : TI 2A
Nilai :
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)
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)
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)
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)
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)
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)
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)
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)
8
Query OK, 0 rows affected (0.040 sec)
9
MariaDB [pnl_lhokseumawe]> insert into nilai(nim, nilaihuruf) values
("1957301056","B");
Query OK, 1 row affected (0.003 sec)
10
-> INSERT INTO lognilai
-> values (OLD.nim, OLD.nilai_huruf, NEW.nilai_huruf, "Update
Nilai", NOW());
Query OK, 0 rows affected (0.055 sec)
9. Menghapus trigger
MariaDB [pnl]> drop trigger LOG_UPD1;
Query OK, 0 rows affected (0.168 sec)
11
1 row in set (0.000 sec)
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)
13
16. Insert data tabel nilai
MariaDB [pnl_lhokseumawe]> INSERT INTO nilai VALUES ("1957301090", "A");
Query OK, 1 row affected (0.022 sec)
14
2.4 Store Procedure
1. Membuat database baru
MariaDB [pnl_lhokseumawe]> create database StoreProcedure;
Query OK, 1 row affected (0.389 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)
16
-> END //
Query OK, 0 rows affected (0.015 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)
18
5 rows in set (0.000 sec)
19
1 row in set, 1 warning (0.001 sec)
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
20
Rows matched: 1 Changed: 1 Warnings: 0
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