PENGERTIAN TENTANG TRIGGER
Pertanyaan?
1. Apa itu trigger
2. Kapan trigger akan berjalan
3. Apa perbedaan antara trigger before dan trigger after
4. Apa yang harus di perhatikan dalam menulis trigger
JAWABAN
1. Trigger adalah sebuah perintah khusus dalam database yang akan dijalankan secara otomatis ketika terjadi suatu kejadian (event) tertentu pada tabel.
2. Trigger akan berjalan secara otomatis ketika terjadi operasi tertentu pada tabel, seperti INSERT (menambah data), UPDATE (mengubah data), atau DELETE (menghapus data).
3. BEFORE berarti trigger dijalankan sebelum operasi dilakukan.
Biasanya BEFORE digunakan untuk:
- melakukan validasi,
- memeriksa data,
- mengubah nilai sebelum disimpan.
--AFTER berarti trigger dijalankan setelah operasi berhasil dilakukan.
Biasanya AFTER digunakan untuk:
- mencatat aktivitas,
- memperbarui tabel lain,
- melakukan proses setelah data berhasil disimpan.
4. Dalam menulis trigger, perlu memperhatikan event yang digunakan (INSERT, UPDATE, atau DELETE), waktu eksekusi (BEFORE atau AFTER), tabel yang digunakan, serta perintah yang akan dijalankan secara otomatis.
Pengertian Trigger
Trigger adalah fitur pada database yang berfungsi untuk menjalankan perintah SQL secara otomatis ketika terjadi suatu kejadian pada tabel, seperti data ditambahkan, diubah, atau dihapus.
Artinya, kita tidak perlu menjalankan perintah tersebut secara manual karena database akan mengeksekusinya sendiri.
Cara kerja Trigger
Trigger bekerja berdasarkan tiga jenis kejadian utama:
INSERT → saat data baru ditambahkan.
UPDATE → saat data diubah.
DELETE → saat data dihapus.
Selain itu, trigger dapat dijalankan:
BEFORE → sebelum kejadian terjadi.
AFTER → setelah kejadian terjadi.
Ilustrasi
Misalnya ada tabel barang dan log_barang.
Ketika barang baru ditambahkan ke tabel
barang, trigger otomatis mencatat aktivitas tersebut ke tabellog_barang.
Alurnya:
Tambah data ke
barang→ Trigger aktif → Data aktivitas masuk kelog_barang.
Jenis-jenis Trigger
Jenis | Fungsi |
|---|---|
BEFORE INSERT | Berjalan sebelum data ditambahkan. |
AFTER INSERT | Berjalan setelah data ditambahkan. |
BEFORE UPDATE | Berjalan sebelum data diubah. |
AFTER UPDATE | Berjalan setelah data diubah. |
BEFORE DELETE | Berjalan sebelum data dihapus. |
AFTER DELETE | Berjalan setelah data dihapus. |
Contoh Trigger
Tabel barang
id_barang | nama_barang | stok |
|---|---|---|
1 | Buku | 20 |
Tabel log_barang
id_log | aktivitas |
|---|
Trigger AFTER INSERT
CREATE TRIGGER tambah_log
AFTER INSERT ON barang
FOR EACH ROW
INSERT INTO log_barang(aktivitas)
VALUES ('Barang baru ditambahkan');Hasil
Jika menjalankan:
INSERT INTO barang (nama_barang, stok)
VALUES ('Pensil', 50);Maka secara otomatis tabel log_barang akan berisi:
id_log | aktivitas |
|---|---|
1 | Barang baru ditambahkan |
Kegunaan Trigger
Mencatat riwayat aktivitas (log).
Memperbarui stok secara otomatis.
Memvalidasi data sebelum disimpan.
Menjaga konsistensi data antar tabel.
Mengurangi pekerjaan yang harus dilakukan secara manual.
Kelebihan dan Kekurangan
Kelebihan | Kekurangan |
|---|---|
Berjalan otomatis. | Sulit dilacak jika trigger terlalu banyak. |
Mengurangi pekerjaan manual. | Bisa memperlambat proses jika logikanya rumit. |
Menjaga konsistensi data. | Perlu pengelolaan yang baik agar tidak membingungkan. |
pengertian JOIN dan contohnya
Pengertian JOIN
JOIN adalah perintah SQL yang digunakan untuk menggabungkan data dari dua atau lebih tabel berdasarkan kolom yang saling berhubungan (biasanya Primary Key dan Foreign Key).
Tujuan JOIN adalah agar data yang tersimpan di tabel berbeda bisa ditampilkan menjadi satu hasil.
Contoh sederhana
Misalnya ada dua tabel.
Tabel barang
id_barang | nama_barang |
|---|---|
1 | Buku |
2 | Pensil |
3 | Penghapus |
Tabel transaksi
id_transaksi | id_barang | jumlah |
|---|---|---|
101 | 1 | 5 |
102 | 2 | 10 |
103 | 1 | 3 |
Kolom id_barang pada tabel transaksi adalah Foreign Key yang menghubungkan ke id_barang pada tabel barang.
Kenapa memakai JOIN?
Tanpa JOIN, hasil dari tabel transaksi hanya menampilkan angka id_barang.
id_transaksi | id_barang | jumlah |
|---|---|---|
101 | 1 | 5 |
102 | 2 | 10 |
Sulit mengetahui barang apa yang dimaksud.
Dengan JOIN hasilnya menjadi:
id_transaksi | nama_barang | jumlah |
|---|---|---|
101 | Buku | 5 |
102 | Pensil | 10 |
103 | Buku | 3 |
Data menjadi lebih mudah dibaca.
Jenis-jenis JOIN
1. INNER JOIN (Paling sering digunakan)
Menampilkan hanya data yang memiliki pasangan di kedua tabel.
Query
SELECT transaksi.id_transaksi,
barang.nama_barang,
transaksi.jumlah
FROM transaksi
INNER JOIN barang
ON transaksi.id_barang = barang.id_barang;Hasil:
id_transaksi | nama_barang | jumlah |
|---|---|---|
101 | Buku | 5 |
102 | Pensil | 10 |
103 | Buku | 3 |
Ciri-ciri:
Hanya data yang cocok ditampilkan.
Data yang tidak memiliki pasangan tidak muncul.
2. LEFT JOIN
Menampilkan semua data dari tabel kiri, meskipun tidak memiliki pasangan di tabel kanan.
Contoh:
Tabel barang
id_barang | nama_barang |
|---|---|
1 | Buku |
2 | Pensil |
3 | Penghapus |
4 | Spidol |
Spidol belum pernah dibeli.
Query
SELECT barang.nama_barang,
transaksi.jumlah
FROM barang
LEFT JOIN transaksi
ON barang.id_barang = transaksi.id_barang;Hasil:
nama_barang | jumlah |
|---|---|
Buku | 5 |
Buku | 3 |
Pensil | 10 |
Penghapus | NULL |
Spidol | NULL |
NULL berarti tidak ada data yang cocok.
3. RIGHT JOIN
Kebalikan dari LEFT JOIN.
Menampilkan semua data dari tabel kanan.
SELECT barang.nama_barang,
transaksi.jumlah
FROM barang
RIGHT JOIN transaksi
ON barang.id_barang = transaksi.id_barang;Biasanya digunakan ketika ingin memastikan semua data pada tabel kanan tetap muncul.
*CONTOH JOIN:pengertian tentang aggregate dan contohnya
Pengertian Aggregate dalam Database
Aggregate atau fungsi agregat adalah fungsi SQL yang digunakan untuk mengolah sekumpulan data dan menghasilkan satu nilai hasil.
Contohnya, dari banyak data harga barang, kita bisa mencari:
- jumlah seluruh harga
- harga rata-rata
- harga tertinggi
- harga terendah
- jumlah barang
Fungsi agregat yang paling sering digunakan adalah:
| Fungsi | Kegunaan |
|---|---|
COUNT() | Menghitung jumlah data |
SUM() | Menjumlahkan nilai |
AVG() | Menghitung nilai rata-rata |
MAX() | Mencari nilai terbesar |
MIN() | Mencari nilai terkecil |
Contoh tabel barang
Misalnya:
| id_barang | nama_barang | harga | stok |
|---|---|---|---|
| 1 | Apel | 5000 | 20 |
| 2 | Buku | 7000 | 15 |
| 3 | Pulpen | 3000 | 3 |
| 4 | Laptop | 5000000 | 4 |
| 5 | Mouse | 45000 | 25 |
1. COUNT()
Digunakan untuk menghitung jumlah data.
SELECT COUNT(*) AS jumlah_barangFROM barang;
Hasil:
jumlah_barang5
Artinya terdapat 5 barang.
2. SUM()
Digunakan untuk menjumlahkan nilai.
SELECT SUM(stok) AS total_stokFROM barang;
Hasil:
total_stok67
Artinya seluruh stok barang berjumlah 67.
3. AVG()
Digunakan untuk mencari rata-rata.
SELECT AVG(harga) AS rata_rata_hargaFROM barang;
Artinya SQL menghitung rata-rata harga dari semua barang.
4. MAX()
Digunakan untuk mencari nilai paling besar.
SELECT MAX(harga) AS harga_tertinggiFROM barang;
Hasilnya:
5000000
Berarti harga tertinggi adalah Rp5.000.000.
5. MIN()
Digunakan untuk mencari nilai paling kecil.
SELECT MIN(harga) AS harga_terendahFROM barang;
Hasilnya:
3000
Berarti harga terendah adalah Rp3.000.
Aggregate + GROUP BY
Fungsi agregat juga sering digunakan bersama GROUP BY untuk menghitung data berdasarkan kelompok tertentu.
Misalnya kita ingin mengetahui jumlah barang berdasarkan stok tertentu:
SELECT stok, COUNT(*) AS jumlahFROM barangGROUP BY stok;
SQL akan mengelompokkan data berdasarkan stok, kemudian menghitung jumlah data pada setiap kelompok.
Aggregate + WHERE
Kita juga bisa menggunakan kondisi.
Contoh menghitung jumlah barang yang stoknya lebih dari 10:
SELECT COUNT(*) AS jumlah_barangFROM barangWHERE stok > 10;
Jadi WHERE digunakan untuk memilih data terlebih dahulu, kemudian fungsi agregat menghitung hasilnya.
Cara mudah mengingat
Ingat saja:
COUNT = menghitungSUM = menjumlahkanAVG = rata-rataMAX = terbesarMIN = terkecil
Kesimpulan
Aggregate dalam database adalah fungsi SQL untuk mengolah banyak baris data menjadi satu hasil atau beberapa hasil berdasarkan kelompok. Fungsi ini sangat berguna ketika kita ingin membuat laporan, menghitung total, mencari rata-rata, nilai tertinggi, nilai terendah, atau jumlah data.
Contoh paling sederhana:
SELECTCOUNT(*) AS jumlah_barang,SUM(stok) AS total_stok,AVG(harga) AS rata_rata_harga,MAX(harga) AS harga_tertinggi,MIN(harga) AS harga_terendahFROM barang;
Dengan satu query tersebut, kita bisa mendapatkan jumlah barang, total stok, rata-rata harga, harga tertinggi, dan harga terendah sekaligus.
contoh:
COUNT:
SUM:
AVG:
MAX:
MIN:
pengertian tentang normalisasi database dan contohnya
Normalisasi Database: Penjelasan Lengkap
Normalisasi database adalah proses mengorganisasi data ke dalam beberapa tabel yang saling berhubungan untuk mengurangi redundansi (pengulangan data) dan menjaga integritas data. Proses ini dilakukan dengan memecah tabel yang besar menjadi beberapa tabel yang lebih kecil sesuai dengan aturan tertentu (normal forms).
1.Tujuan utama normalisasi adalah:
-Mengurangi duplikasi data.
-Mempermudah proses insert, update, dan delete.
-Menjaga konsistensi data.
-Membuat database lebih mudah dikembangkan dan dipelihara.
2.Mengapa normalisasi diperlukan?
Tanpa normalisasi, sebuah database dapat mengalami masalah seperti:
Data yang sama tersimpan berulang kali.
Perubahan pada satu data harus dilakukan di banyak tempat.
Risiko inkonsistensi data jika ada data yang terlewat diperbarui.
Pemborosan ruang penyimpanan.
3.kelebihan dan kekurangan normalisasi database
A.Kelebihan normalisasi
-Mengurangi duplikasi data.
-Menjaga konsistensi data.
-Mempermudah proses pembaruan data.
-Menghemat ruang penyimpanan.
-Membuat struktur database lebih rapi dan mudah dikembangkan.
B.Kekurangan normalisasi
-Jumlah tabel bertambah.
-Query sering memerlukan JOIN, sehingga bisa menjadi lebih kompleks.
-Pada beberapa aplikasi yang sangat mengutamakan kecepatan baca, terkadang digunakan denormalisasi untuk mengurangi jumlah JOIN.
Tabel Awal (UNF - Unnormalized Form)
No Transaksi Tanggal ID Pelanggan Nama Pelanggan Alamat ID Produk Nama Produk Harga Jumlah
TR001 01-08-2026 P001 Andi Jakarta PR001 Laptop 8.000.000 1
TR001 01-08-2026 P001 Andi Jakarta PR002 Mouse 150.000 2
TR002 02-08-2026 P002 Budi Bandung PR003 Keyboard 300.000 1
TR003 03-08-2026 P001 Andi Jakarta PR004 Monitor 2.500.000 1
Masalah:
Data pelanggan berulang.
Data produk berulang.
Harga produk disimpan berkali-kali.
1NF (First Normal Form)
Setiap kolom memiliki satu nilai (atomic).
No Transaksi Tanggal ID Pelanggan ID Produk Jumlah
TR001 01-08-2026 P001 PR001 1
TR001 01-08-2026 P001 PR002 2
TR002 02-08-2026 P002 PR003 1
TR003 03-08-2026 P001 PR004 1
2NF (Second Normal Form)
Tabel Pelanggan
ID Pelanggan Nama Pelanggan Alamat
P001 Andi Jakarta
P002 Budi Bandung
Tabel Transaksi
No Transaksi Tanggal ID Pelanggan
TR001 01-08-2026 P001
TR002 02-08-2026 P002
TR003 03-08-2026 P001
Tabel Detail Transaksi
No Transaksi ID Produk Jumlah
TR001 PR001 1
TR001 PR002 2
TR002 PR003 1
TR003 PR004 1
3NF (Third Normal Form)
Tabel Pelanggan
ID Pelanggan (PK) Nama Pelanggan Alamat
P001 Andi Jakarta
P002 Budi Bandung
Tabel Produk
ID Produk (PK) Nama Produk Harga
PR001 Laptop 8.000.000
PR002 Mouse 150.000
PR003 Keyboard 300.000
PR004 Monitor 2.500.000
Tabel Transaksi
No Transaksi (PK) Tanggal ID Pelanggan (FK)
TR001 01-08-2026 P001
TR002 02-08-2026 P002
TR003 03-08-2026 P001
Tabel Detail Transaksi
ID Detail (PK) No Transaksi (FK) ID Produk (FK) Jumlah
1 TR001 PR001 1
2 TR001 PR002 2
3 TR002 PR003 1
4 TR003 PR004 1
Relasi Antar Tabel
Tabel Primary Key Foreign Key
Pelanggan ID_Pelanggan -
Produk ID_Produk -
Transaksi No_Transaksi ID_Pelanggan
Detail_Transaksi ID_Detail No_Transaksi, ID_Produk
contoh:
soal CONTOH:
TUGAS :Akun guardian tales
PENGERTIAN TENTANG TRIGGER
Pertanyaan? 1. Apa itu trigger 2. Kapan trigger akan berjalan 3. Apa perbedaan antara trigger before dan trigger after 4. Apa yang harus di...








.png)
.png)
.png)
.png)



