Anda di halaman 1dari 11

TUGAS 5

LAPORAN MEMBUAT TRIGGER

Disusun guna memenuhi tugas mata kuliah


Pemrograman Clien Server
Dosen Pengampu:
Muslim, S.Pd., M.Pd

Oleh:
Ardiber Yohan D.s
2021020173

Kelas TI-A
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER
UNIVERSITAS HANDAYANI MAKASSAR
TAHUN 2023
A. Dasar Teori Trigger pada MYSQL

Trigger dalam database yaitu suatu kode kode prosedural yang secara otomatis
dijalankan untuk menanggapi perubahan tertentu pada table tertentu atau tampilan
dalam database. Trigger dapat didefinisikan untuk menjalankan penrintah sebelum atau
setelah eksekusi DML (Data Manipulation Language) seperti INSERT, UPDATE, dan
DELETE,Trigger banyak digunakan untuk menjaga integritas informasi pada database,
rigger didukung oleh banyak RDBMS, seperti : MySQL, PostgreSQL, SQLite, Firebird,
DB2, Microsoft SQL Server dan Oracle. Implementasinya bervariasi sehingga Anda
harus memeriksa dokumentasi database yang sesuai sebelum coding.

Triger digunakan Idealnya, Trigger harus dipertimbangkan ketika kode ini


digunakan untuk mengotomatisasi perubahan yang spesifik untuk database atau
pengelolaan data. Log audit adalah contoh penerapan dari Trigger. Misalnya sebuah
sistem CMS WordPress dengan table ‘blog’ yang berisi judul dan isi artikel. Kemudian
sebuah table ‘audit’ yang bisa merekam tanggal dan waktu sebuah artikel ketika
ditambahkan, diedit atau dihapus. Sistem web Anda mungkin tidak pernah menyajikan
informasi yang atau bahkan tahu setiap perubahan database itu dicatat

ketika menggunakan trigger hal-hal yang harus dihindari yaitu trigger jangan digunakan
sebagai tempat dari foreign key constraints.

1. Trigger bukan pengganti dari transactions.

2. Waspada tentang pemisahan logika bisnis Anda antara database dan sistem
back-end Anda (yang ditulis dalam PHP, C #, Java dll). Pemeliharaan sistem
akan menjadi lebih sulit jika kode Anda dipisahkan.

3. Hindari duplikasi source code dan kode Trigger, sehingga seharusnya tidak perlu
mengulang perintah yang sama dalam database.

4. Trigger akan memicu overhead kinerja. Trigger akan dieksekusi lebih cepat dari
serangkaian perintah SQL lewat kode back-end.
B. Berikut adalah langkah-langkah cara umum untuk membuat trigger pada
MySQL:
1. Pertimbangkan kebutuhan dan kondisi yang akan memicu trigger. Anda perlu
memikirkan operasi apa yang ingin Anda tanggapi (misalnya INSERT, UPDATE,
DELETE), tabel mana yang akan dipantau, dan kondisi spesifik yang harus
terpenuhi agar trigger dipicu.
2. Tentukan nama trigger yang unik. Nama trigger harus unik dalam database.
3. Tentukan timing trigger. Anda perlu memutuskan apakah trigger akan dijalankan
sebelum atau sesudah operasi data yang dipantau.
4. Tentukan event yang akan memicu trigger. Misalnya, Anda dapat memilih untuk
menjalankan trigger setiap kali ada operasi INSERT baru atau hanya ketika ada
perubahan pada kolom tertentu.
5. Tentukan tindakan yang akan dijalankan saat trigger dipicu. Tindakan ini bisa
berupa pernyataan SQL seperti INSERT, UPDATE, DELETE, atau perintah lain
yang sesuai dengan kebutuhan Anda.
6. Gunakan sintaks SQL untuk membuat trigger. Anda dapat menggunakan
perintah CREATE TRIGGER untuk membuat trigger dengan menyertakan nama,
timing, event, tindakan, dan kondisi yang sesuai.
7. Verifikasi dan uji trigger. Pastikan sintaksis dan logika trigger sudah benar
dengan menguji perubahan data yang dipantau untuk memastikan trigger
berjalan sesuai harapan.
8. Simpan dan aktifkan trigger. Setelah Anda yakin bahwa trigger berfungsi dengan
baik, simpan trigger di database dan pastikan itu diaktifkan untuk berjalan saat
perubahan data terjadi.
C. PRATIKUM Membuat TRIGGER

Langkah pertama yaitu membuka klien MySQL, seperti terminal atau command prompt.

Langkah ke 2 masuk ke server MySQL dengan perintah c:\xampp\mysql\bin>mysql -u root


kemudain membuat database dengan perintah Create nama_database seperti pada gambar
berikut

Langkah ke 3 yaitu menampilkan list database yang sudah pernahdibuat sebelumnya


untuk melihat nama database yang baru dibuat seperti pada gambar berikut
Langkah ke 4 memilih database yang bernama mhs_handayani dengan perintah use
diikuti dengan nama database yang akan dipilih.

Langkah ke 5 membuat tabel mahasiswa dengan perintah Create table diikuti nama
table yang akan dibuat seperti pada gambar diabawa ini

Langkah ke 6 menampilkan kembali struktur tabel mahasiswa yang telah dibuat diatas
yaitu tabel mahasiswa handayani seperti pada gambar dibawah menggunakan perintah
desc diikuti nama tabel;

Langkah ke 7 Mengisi Record kedalam tabel mhs_handayani seperti pada gambar


berikut:
Langakah Ke 8 menampilkan isi tabel mhs_hanyani yang telah diisi dengan perintah
insert seperti pada gambar berikut:

Langakah Ke 9 membuat tabel log mhs_handayani dengan perintah seperti pada


gambar dibawah
Langakah Ke10 menampilkan kembali struktur tabel log_mhs_handayani seperti pada
gambar dibawa ini;

Langkah 11 membuat triger setelah selesai membuat tabel untuk menyimpan data
perubahan alamat sebelum perintah UPDATE dijalankan

Brikut keterangan dari perintah dang fungsi masing masing perintah pada gambar
diatas

DELIMITER $$: Mengatur delimiter awal sebagai $$. Ini memungkinkan penggunaan ;
dalam trigger tanpa menganggapnya sebagai akhir perintah.

CREATE TRIGGER update_kode_mk: Memulai pembuatan trigger dengan nama


update_kode_mk. Nama trigger dapat disesuaikan sesuai kebutuhan.

BEFORE UPDATE: Menentukan bahwa trigger akan dipicu sebelum operasi UPDATE
dilakukan pada tabel mhs_handayani.

ON mhs_handayani: Menentukan tabel target trigger, yaitu mhs_handayani.


FOR EACH ROW: Menandakan bahwa trigger akan dieksekusi untuk setiap baris yang
dipengaruhi oleh operasi UPDATE.

BEGIN: Menandai awal blok perintah trigger.

INSERT INTO log_mhs_handayani: Menjalankan perintah INSERT untuk menyisipkan


data ke dalam tabel log_mhs_handayani.

SET nim = OLD.nim: Menetapkan nilai kolom nim pada tabel log_mhs_handayani
dengan nilai kolom nim yang ada pada baris lama (OLD) dalam tabel mhs_handayani.

kode_mk_lama = OLD.kode_mk: Menetapkan nilai kolom kode_mk_lama pada tabel


log_mhs_handayani dengan nilai kolom kode_mk yang ada pada baris lama (OLD)
dalam tabel mhs_handayani.

kode_mk_baru = NEW.kode_mk: Menetapkan nilai kolom kode_mk_baru pada tabel


log_mhs_handayani dengan nilai kolom kode_mk yang ada pada baris baru (NEW)
dalam tabel mhs_handayani.

waktu = NOW(): Menetapkan nilai kolom waktu pada tabel log_mhs_handayani dengan
nilai waktu saat ini.

END: Menandai akhir blok perintah trigger.

$$: Mengakhiri trigger dengan delimiter $$.

DELIMITER ;: Mengembalikan delimiter ke ;, delimiter default MySQL.

Langkah 12 berikutnya yaitu mengubah nilai kolom kode_mk pada tabel


mhs_handayani untuk nama "Ardiber Yohan Ds" menjadi "PCS100002". Berikut adalah
perintah SQL yang dapat Anda gunakan mengubah data kode mk seperti pada gambar
dibawa ini;

Perintah di atas akan mengupdate nilai kolom kode_mk menjadi "PCS100002" pada baris
dengan nama "Ardiber Yohan Ds" di tabel mhs_handayani. Pastikan tabel dan kolom yang
ditargetkan sesuai dengan struktur tabel yang ada. Juga, pastikan bahwa nilai kolom nama
yang digunakan untuk kondisi WHERE sesuai dengan nama yang ingin Anda ubah.

Langkah 13 Langkah ini yaitu menampilkan tabel log_mhs_handayani dengan perintah


SELECT untuk melihat table log_mhs_handayani seperti pada gambar dibawa ini

Record atau data baru secara otomatis telah ditambahkan ke table log_mhs_handayani
untuk nama dengan NIM 21021020173 yang telah diubah kode_mk Awal yaitu
PCS100001” menjadi “PCS100002”

Langkah terahir yiatu kita dapat lihat pada tabel mhs_handayani kode mata kuliah yang
ditampilkan disana adalah kode baru yang sebelumnya kodenya yaitu PCS100001
menjadi PCS 100002 setelah di upadate pada tabel mhs_handayani dapat dilihat
padagambar berikut yang telah di tampilkan dengan perintah select
D. Kesimpulan

Dengan menggunakan trigger, kita dapat melakukan berbagai tindakan, seperti


mengubah data, menyisipkan data ke tabel lain, memperbarui nilai kolom, atau
menjalankan logika bisnis khusus saat perubahan data terjadi.

Trigger sangat berguna dalam memastikan integritas data, melacak perubahan, dan
mengotomatisasi tindakan tertentu dalam basis data MySQL.
REFERENSI

https://www.dignitas.id/blog/mengenaltrigger#:~:text=Trigger%20dalam%20datab
ase%20adalah%20kode,INSERT%2C%20UPDATE%2C%20dan%20DELETE.

https://ngodingdata.com/cara-membuat-trigger-mysql/

Anda mungkin juga menyukai