LAPORAN
(Laporan ini di buat untuk memenuhi tugas )
BASIS DATA LANJUTAN
Nama :YUBELINA MEILIA BONAI
NIM :202265003
KELAS : A
PRODI S1 TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PAPUA
SEMESTER GENAP 2022/2023
A. SOAL
Buatlah Triger Database seperti pada contoh di exel dibawah ini, dimana tugas kalian membuat
trigernya dari data tugas relasi sebelumnya. Sebelum membuat trigernya pastikan kalian
membuat catatan trigernya pada exel kalian seperti pada contoh exel dibawah ini, perlu diingat
adalah trigernya di buat dari setiap tabel yang [Link] seperti biasa dalam bentuk laporan,
nilai kalian tergantung dari hasil pelaporan kalian .
B. NORMALISASI & TRIGER
• Normalisasi adalah proses pengorganisasian data dalam database relasional untuk
mengurangi redundansi dan meningkatkan integritas data. Dalam normalisasi, kita
mencapai bentuk normal pertama (1NF), bentuk normal kedua (2NF), dan bentuk normal
ketiga (3NF).
Berikut adalah proses normalisasi data yang diberikan:
• Trigger adalah objek database yang dapat memicu eksekusi otomatis dari serangkaian
pernyataan SQL (misalnya, INSERT, UPDATE, DELETE) ketika suatu peristiwa tertentu
terjadi pada tabel atau tampilan tertentu. Peristiwa ini dapat mencakup operasi pengisian
data, pembaruan, atau penghapusan.
Ada dua jenis utama trigger dalam basis data:
BEFORE Trigger:
➢ Dijalankan sebelum peristiwa yang memicunya terjadi.
➢ Dapat digunakan untuk memodifikasi nilai yang akan dimasukkan atau
memperbarui dalam baris yang terkena trigger.
➢ Jika BEFORE trigger menghasilkan kesalahan atau menyebabkan baris yang
terkena trigger tidak memenuhi kondisi tertentu, pernyataan yang memicu
trigger mungkin dibatalkan.
AFTER Trigger:
➢ Dijalankan setelah peristiwa yang memicunya terjadi.
➢ Dapat digunakan untuk mengeksekusi pernyataan tambahan setelah
suksesnya operasi pengisian data, pembaruan, atau penghapusan.
➢ AFTER trigger tidak dapat memodifikasi nilai yang akan dimasukkan atau
diperbarui, tetapi dapat digunakan untuk memantau atau mengambil tindakan
berdasarkan perubahan yang terjadi.
Tujuan dari menggunakan trigger dalam basis data adalah untuk merespons
peristiwa tertentu yang terjadi di dalam sistem basis [Link] adalah
potongan kode yang dijalankan secara otomatis ketika suatu peristiwa tertentu
terjadi pada tabel atau view dalam basis data. Berikut adalah beberapa tujuan
umum dari menggunakan trigger:
1. Validasi Data: Trigger dapat digunakan untuk memvalidasi data sebelum
dimasukkan, diubah, atau dihapus dari tabel. Ini membantu memastikan
bahwa data yang dimasukkan ke dalam basis data memenuhi kriteria tertentu.
2. Mengubah Data: Trigger dapat digunakan untuk mengubah nilai-nilai data
sebelum atau setelah operasi insert, update, atau delete dilakukan. Misalnya,
menghitung total atau mengubah format data.
3. Pengawasan dan Audit: Trigger dapat digunakan untuk mencatat
perubahan data atau kegiatan tertentu dalam tabel, memberikan kemampuan
audit dan pelacakan terhadap aktivitas pengguna.
[Link] Referential Integrity: Trigger dapat digunakan untuk
memastikan bahwa integritas referensial antara tabel-tabel terjaga. Sebagai
contoh, menghapus atau memperbarui referensi anak saat entitas induk
diubah.
5. Sinkronisasi Data: Trigger dapat membantu menjaga konsistensi dan
sinkronisasi antara tabel-tabel yang terkait dalam basis data.
6. Penanganan Peristiwa Khusus: Trigger memungkinkan penanganan
peristiwa khusus atau bisnis logika yang perlu dijalankan secara otomatis saat
terjadi suatu peristiwa tertentu.
7. Enforcing Business Rules: Trigger dapat digunakan untuk menegakkan
aturan bisnis yang kompleks atau aturan keamanan yang tidak dapat
diimplementasikan dengan mudah menggunakan batasan dan konstrain
bawaan.
Perlu diingat bahwa penggunaan trigger harus dipertimbangkan dengan hati-
hati, karena jika tidak diimplementasikan dengan benar, trigger dapat
mempengaruhi kinerja dan kompleksitas sistem basis data. Oleh karena itu,
perlu diidentifikasi dengan jelas kapan dan bagaimana trigger harus
digunakan untuk mencapai tujuan bisnis yang diinginkan.
C. NORMALISASI DATA
Berikut adalah proses normalisasi data yang diberikan:
1NF
3NF
Syarat untuk menjadi 3NF adalah:
-Pastikan bahwa tidak ada ketergantungan transitive non-kunci. Dalam hal ini, kita harus
memisahkan kolom yang tidak bergantung pada kunci utama dan buat tabel baru untuk itu.
Table data di atas sdh terorganisir dan meminimalkan redundansi serta mendukung integritas
data dalam database relasional.
DESAINER :
D. TRIGER DATA
Berikut adalah proses mentriger data yang diberikan:
a. Berikut adalah table-tabel yang ada pada database Penjualan_barang
b. Berikut adalah Triger yang di buat:
Setelah table-tabel di atas jadi saya membuat triger
Triger di samping ini Bernama
‘triger_detail_barang’
Di sini saya mentriger dari
detail_penjualan_barang ke barang
trigger ini dirancang untuk secara
otomatis memasukkan baris baru ke
dalam tabel barang sebelum setiap
penambahan ke dalam tabel
detail_penjualan_barang. Ini mengatur
kolom kode_brg di barang ke nilai yang
sesuai dari baris baru di
detail_penjualan_barang dan mengatur
nama_brg dan harga sebagai null.
Triger di samping ini Bernama
‘triger_penjualan_customer’
Di sini saya mentriger dari
penjualan_barang ke Customer, rigger ini
dirancang untuk secara otomatis
memasukkan baris baru ke dalam tabel
customer sebelum setiap penambahan ke
dalam tabel penjualan_barang. Ini
mengatur kolom id_customer di
customer ke nilai yang sesuai dari baris
baru di penjualan_barang dan mengatur
nama_customer sebagai null.
Berikut adalah triger yang sdh jadi:
Setelah mengisi data pada table -tabel yang di triger, jika berhasil kita dapat membuka table-table
untuk melihat apa triger yang kita lakukan berhasil atau tidak
Berikut ini adalah hasil-hasil dari insert triger :
[Link]
[Link]
[Link] penjualan barang
d.penjualan_barang
dan ini adalah gabungan dari table-tabel berikut:
tampilan semua datanya:
Querynya:
SELECT penjualan_barang.no_jual, penjualan_barang.tgl_jual, customer.id_customer,
customer.nama_customer, detail_penjualan_barang.qty_penjualan, barang.Kode__brg,
barang.nama_brg,
[Link]
FROM
transaksi_penjualan
INNER JOIN customer ON transaksi_penjualan.id_customer = customer.id_customer
INNER JOIN detail_penjualan_barang ON transaksi_penjualan.no_jual = detail_penjualan_barang.no_jual
INNER JOIN barang ON detail_penjualan_barang.Kode_brg = barang.Kode_brg;
By:Yubelina Meilia Bonai