• Tidak ada hasil yang ditemukan

LAPORAN PRAKTIKUM BASIS DATA MODUL 8 TRI

N/A
N/A
Protected

Academic year: 2018

Membagikan "LAPORAN PRAKTIKUM BASIS DATA MODUL 8 TRI"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN MODUL VIII

PRAKTIKUM BASIS DATA

Disusun untuk Memenuhi Matakuliah Praktikum Basis Data Dibimbing oleh Triyanna Widyaningtyas, S.T., M.T.

Oleh:

Eva Yulia Safitri

(160533611462)

Karina Aulia Faradila

(160533611413)

S1 PTI’16 OFF B

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA April 2017

(2)

TRIGGER

2. Tujuan

 Memahami konsep dasar trigger di dalam basis data

 Memahami implementasi trigger sebagai bentuk respon atas suatu

Trigger dapat didefinisikan sebagai himpunan kode (prosedural) yang dieksekusi secara otomatis sebagai respon atas suatu kejadian berkaitan dengan tabel basis data. Kejadian (event) yang dapat membangkitkan trigger umumnya berupa pernyataan INSERT, UPDATE, dan DELETE. Berdasarkan ruang lingkupnya, trigger diklasifikasikan menjadi dua jenis: row trigger dan statement trigger. Trigger baris (row) mendefinisikan aksi untuk setiap baris tabel; trigger pernyataan hanya berlaku untuk setiap pernyataan INSERT, UPDATE, atau DELETE. Dari sisi perilaku (behavior) eksekusi, trigger dapat dibedakan menjadi beberapa jenis; namun umumnya ada dua jenis: trigger BEFORE dan AFTER. Sesuai penamaannya, jenis-jenis ini merepresentasikan waktu eksekusi trigger— misalnya sebelum ataukah sesudah pernyataan-pernyataan yang berkorespondensi. Adakalanya trigger dipandang sebagai bentuk spesifik dari stored procedure (terkait pendefinisian body). Bagaimanapun, trigger akan dipanggil (secara otomatis) ketika event terjadi, sedangkan stored procedure harus dipanggil secara eksplisit.

2. Trigger MySQL

MySQL mendukung fitur trigger termasuk juga stored procedure dan view sejak versi 5.0.2 Sebagaimana objek-objek lainnya, trigger diciptakan menggunakan pernyataan CREATE. Sintaks pendefinisian trigger diperlihatkan sebagai berikut:

(3)

Jenis Trigger

Ada 2 jenis trigger yaitu :

 Application trigger: Terjadi pada saat sebuah kejadian terjadi dengan aplikasi tertentu.

 Database trigger : Terjadi pada saat terjadi sebuah perubahan data seperti DML pada table (INSERT, UPDATE atau DELETE)

Keuntungan Trigger

Dalam sebuah tabel dapat mempunyai beberapa trigger. Trigger sangat berguna karena dapat secara otomatis dilaksanakan dalam server, sehingga menyederhanakanpemorgraman, sekaligus menjaga konsistensi informasi dalam database Keuntungan penggunaan Trigger antara lain :

a. Standarisasi (penyeragaman) proses. Trigger dibuat satu kali dan tersimpan dalamdatabase, sehingga semua client yang menggunakan database tersebut sekaligus adalah pengguna Trigger. Dengan demikian seluruh client akan menggunakan operasi yang samaterhadap suatu proses dalam database, karena Trigger yang dipakai sama. b. Menyederhanakan pemrograman. Apabila Trigger sudah dibuat dalam database

server, seluruh program dalam bahasa apapun, yang mengakses database tersebut akan secara otomatis menggunakan Triger yang ada tanpa perlu membuat

perintahnya dalam program

aplikasi.

c. Mudah diperbaharui. Apabila Trigger pernah di-update dalam database server, semua client akan menggunakan perbaruan yang terakhir

d. Kecepatan dan efisiensi proses. Oleh karena Trigger disimpan dalam server dalam kode yang sudah terkompilasi, dan dilaksanakan dalam server sehingga lalu-lintas jaringan menjadi berkurang.

e. Memudahkan kerja secara tim. Apabila Trigger dan Stored Procedure sudah dibuat, anggota tim kerja dapat menggunakan bahasa pemrograman yang berbeda dalam mengaksesnya, karena Trigger disimpan dan dilaksanakan oleh server, tanpa melihat bahasa pemrograman apa yang dipakai oleh pengguna database.

#Konsep trigger

-Trigger adalah object database yang berisi kumpulan perintah SQL yang akan dieksekusi atau dijalankan ketika suatu event terjadi.

-Dalam satu database kita dapat mendefinisikan lebih dari satu Trigger, asalkan nama dari masing masing trigger berbeda.

-Trigger harus berasosiasi dengan tabel tertentu sebagai pemicu trigger untuk menentukan kapan trigger tersebut dieksekusi.

Trigger memiliki referensi New dan OLD.

#Manfaat menggunakan trigger

- Trigger dapat mengubah nilai kolom pada tabel ini

(4)

Daftar event untuk aktifasi trigger

Percobaan

Implementasinya pada SQL dan Oracle

4. LATIHAN

Dalam latian ini digunakan dua tabel bernama barang dan pembelian dengan data sebagai berikut :

(5)
(6)

1. Menggunakan Trigger

Operasi-operasi berkenaan dengan pendefinisian trigger tidak berbeda dengan objek-objek database lainnya

a. Masuk kedalam database yang digunakan untuk menciptakan tabel tadi, kemudian masuk ke menu Trigger

(7)

c. Setelah berhasil membuat Trigger. Kembali ke SQL database dan tuliskan sintak berikut :

d. Dan hasilnya akan seperti berikut

Terlihat bahwa Trigger sudah bekerja seperti yang diharapkan, dimana setiap penambahan baru akan mengkremen nilai stok

Untuk mendapatkan informasi mengenai daftar Trigger yang telah terdefinisi, gunakan perintah SHOW TRIGGERS atau bisa langsung ke menu trigger

(8)

2. Keyword OLD dan NEW

Untuk merujuk ke kolom-kolom tabel yang diasosiasikan dengan trigger, kita menggunakan keyword OLD dan NEW. Keyword OLD mengacu pada nilai lama, sedangkan NEW merepresentasikan nilai baru. Di trigger INSERT, kita hanya dapat menggunakan keyword NEW karena tidak ada data lama.

Pada contoh di atas, penambahan data pembelian akan mengakibatkan nilai stok barang berubah menyesuaikan banyaknya nilai jumlah pembelian.

(9)

b. Kemudian masukkan data kedalam table pembelian

c. Cek kembali data dalam table barang

(10)

a. Sama seperti langkah sebelumnya. Masuk ke menu Trigger

(11)

c. Kemudian cek data pada table pembelian

(12)

a. Update pembelian

(13)

3. Trigger Komplek

Keberadaan trigger secara nyata mampu mengatasi berbagai persoalan pelik, misalnya berkaitan dengan integritas atau audit data. Ini tentu sangat masuk akal, karena trigger juga bisa mengandung pernyataan- pernyataan yang kompleks termasuk pencabangan, pengulangan, fungsi-fungsi agregat, bahkan kode pemanggilan prosedur. Sebagai ilustrasi sederhana, kita bisa mendefinisikan trigger untuk memeriksa operasi penambahan data barang. Skenarionya, jika data sudah ada, berikan status eksistensi barang; sebaliknya, data bisa langsung dimasukkan.

5. TUGAS PRAKTIKUM

1. Modifikasi trigger INSERT pembelian untuk menambahkan fitur bonus di dalamnya. Aturannya adalah jika pembelian > 50 dan < 100, maka bonus = 5; jika pembelian > 100 dan < 150, maka bonus = 10; jika pembelian > 150, maka bonus = 20. Ingat, aturan penyesuaian stok barang masih berlaku, setiap ada pembelian maka stok akan berkurang.

(14)

Penjelasan :

Pertama kita mensetting stok yang ada sesuai dengan permintaan pada modul. Dimana pada setting modul kita mengunakan query UPDATE. Contohnya UPDATE barang SET stok = 100 WHERE id_brg = ‘A10’; artinya kita mengupdate dari tabel barang dengan merubah stok menjadi 100 dimana stok yang memiliki id_brg = A10. Dan begitupun penjelasan untuk UPDATE barang yang lainnya

b. Tambahan pembelian

Penjelasan :

(15)

c. Pembelian akan diberikan bonus

Penjelasan :

Kita akan mencoba apakah trigger yang kita buat berfungsi atau tidak. Sesuai pada modul kita memasukkan pembelian sejumlah 60. Sesuai aturan pada trigger yang kita buat dimana untuk pembelian >50 dan <100 akan mendapat bonus = 5. Maka saat kita buka tabel pembelian akan secara otomatis jumlah beli akan bertambah 5 menjadi 65.

d. Stok akan automatis menyesuaikan sesuai aturan

Penjelasan :

Karena pembelian akan berpengaruh terhadap jumlah stok, seperti aturan yang telah kita cantumka pada trigger. Maka stok pada id_bgr= A10 yang semula 100 dikurangi jumlah pembelian 60 menjadi 40 dan dikurangi bonus sebanyak 5. Jadi total stok yang tersedia sekarang yaitu 35.

6. TUGAS RUMAH

1. Buat tabel pembayaran

(16)

2. Buat tabel log_pembelian

Selanjutnya buatlah trigger di dalam tabel Pembelian untuk merekam operasi INSERT, UPDATE, DELETE, dan kemudian menyimpan rekaman operasi sebagai bukti transaksi di tabel log_pembelian.

- Jika INSERT, maka akan memasukkan operasi “Insert” dan menampilkan waktu operasinya di tabel log_pembelian

- Jika UPDATE, maka akan memasukkan operasi “Update” dan menampilkan waktu operasinya di tabel log_pembelian

- Jika DELETE, maka akan memasukkan operasi “Delete” dan menampilkan waktu operasinya di tabel log_pembelian

7. KESIMPULAN

Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE, dan DELETE dari suatu tabel.

Trigger sering digunakan, antara lain :

 Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stok akan bertambah secara otomatis.

 Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log

 Trigger dapat digunakan untuk melakukan validasi data sebelum data tersebut disimpan

8. DAFTAR PUSTAKA

Firman Fajrin. 2014. Pengertian Trigger dan Implementasinya http://memahamibdl.blogspot.co.id/2014/07/pengertian-trigger-dan-implementasinya.html

Harits. 2010. Pengertian Trigger pada SQL

http://www.haritsthinkso.com/2010/01/pengertian-trigger-pada-sql.html

Gambar

Tabel barang
Tabel pembelian

Referensi

Dokumen terkait

Dengan SQL, kita dapat mengakses database, menjalankan query untuk mengambil data dari database, menambahkan data ke database, menghapus data di dalam

Langkah yang pertama untuk melakukan tahapan diatas adalah membuka database db2_6_praktikum, kemuadian klik “SQL” kita tuliskan perintah CREATE TABLE mahasiswa2 yaitu kita

Database di atas adalah database administrasi pengambilan matakuliah mahasiswa sama seperti database pada tugas praktikum 4.1.1 hanya saja ada penambahan table kode dosen dan

Sebelum kita membuat suatu tabel yang digunakan untuk menyimpan data, maka harus terlebih dahulu dibuat database yang merupakan kumpulan atau berisi tabel-tabel yang saling

Untuk dapat melakukan import file, terlebih dahulu Praktikan harus menghapus tabel yang telah dibuat dengan cara menekan panel ‘Drop’ yang ada pada bagian panel atas dari

Pada soal di atas penggabungan dua tabel menggunakan LEFT OUTER JOIN, artinya menggabungkan semua data pada field nim di tabel mahasiswa dan dan data yang sama dengan field nim

Pada persoalan 4.2 menggunakan left outer join, yang diseleksi adalah field Jenis_kelamin, COUNT(*) perhitungan dari seleksi data mahasiswa kemudian disimpan pada field

Membuka file database MS Access berarti membuka file yang pernah dibuat dan disimpan. Selain membuka jendela database yang pernah dibuat, Anda bisa membuka