Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

dokumen-dokumen yang mirip
JobsheetTEUM MODUL VI TRIGGER

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Praktikum TRIGGER. Tujuan :

Pertemuan VII TRIGGERS

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Modul 6 Function dan Trigger

Praktikum Basis Data 2017 TE UM

MODUL I PENGENALAN MYSQL

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

MODUL 10 TRANSACTION

BAB II PEMBUATAN DAN MANAJEMEN TABLE

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

MODUL 9 VIEW A. TUJUAN B. PETUNJUK C. DASAR TEORI. Praktikum Basis Data 2017 TE UM

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Contoh SQL Constraint

MODUL II SQL A. TUJUAN

MODUL VII STORED PROCEDURE

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

Cara Membuat Trigger di MySQL

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

Membuat Function, Stored Procedur dan View pada MySQL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

TUGAS PRAKTIKUM SISTEM BASIS DATA

LAPORAN TUGAS BASIS DATA I

Praktikum Basis Data 2017 TE UM MODUL 6 SUB QUERY

X. PENGANTAR DATABASE

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

TUGAS 1 PRAKTIKUM SISTEM BASIS DATA

Modul 3 : Query Penggabungan Tabel

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

Computer Science, University of Brawijaya. Putra Pandu Adikara, S.Kom. Trigger. Basis Data 2

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Praktikum Basis Data 14 Structure Query Language 2

TUGAS PRAKTIKUM SISTEM BASIS DATA

Cara Membuat Trigger di MySQL

Pertemuan I KONSEP DASAR STORED ROUTINES

Basis Data Spasial Modul 2

Contoh SQL Constraint

PERTEMUAN 10 PEMBUATAN TABEL

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

5. Database MySQL. Apa Database MySQL Itu? Hirarki Dalam Database. Table

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

PERINTAH DASAR MySQL

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

MODUL VII STORED PROCEDURE

d. Primary Key Primary key atau unique key adalah suatu nilai di basis data yang digunakan untuk mengidentifikasi keunikan baris-baris di dalam tabel.

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Pemrograman Web Lanjut 2017

BAB I PERSYARATAN PRODUK

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Pengenalan Structured Query Language

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

Transaction dan Trigger. M. Saefudin SKom, MMSI

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

Data Manipulation Language (DML)

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

B. PETUNJUK. 2. Join. Praktikum Basis Data 2017 TE UM

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx.

1. Lakukan analisis terhadap CV Ayo Baca dan buatlah CDM dan PDM pada studi kasus tersebut. Beri penjelasan untuk setiap langkah pembuatan CDM dan PDM

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Modul 3. Oleh : Mohammad Sholikin. 1

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Triggers. by: Ahmad Syauqi Ahsan

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Manajemen Data dengan Database MySQL Supriyono, M.Kom

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

JAWABAN UAS BASDAT. 1. Analisis Table CV Ayo Baca dan CDM & PDM. Table yang digunakan sebagai berikut

P - 7 Pembahasan UTS PSIK V

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

Mudafiq Riyan Pratama

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

MODUL VI INTERAKSI DATABASE

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Basis Data. DDL & Aturan Referential

MODUL 8 MEMBUAT USER DAN MENGAKSES DATABASE

PRAKTIKUM BASIS DATA TERDISTRIBUSI MODUL 4 SINKRONISASI DATA

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

DATA DEFINITION LANGUAGE

LAPORAN PRAKTIKUM IV BASIS DATA (SISTEM BERKAS - LAN)

Administrasi Basis Data. Integritas Data. Yoannita

OPTIMALISASI QUERY DALAM BASIS DATA MY SQL MENGGUNAKAN INDEX

MySQL. Setelah Anda melakukan tahapan-tahapan di atas Anda akan dapatkan screen seperti ini

MODUL IV DATA DEFINITION LANGUAGE (DDL)

PRAKTIKUM SISTEM BASIS DATA

Basis Data Relational

SQL. Brigida Arie Minartiningtyas, M.Kom

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Transkripsi:

A. TUJUAN MODUL 8 TRIGGER Memahami konsep dasar trigger di dalam basis data. Memahami implementasi trigger sebagai bentuk respon atas suatu kejadian. Mampu menyelesaikan kasus-kasus manipulasi data yang kompleks dengan memanfaatkan trigger. B. PETUNJUK - Awali setiap aktivitas dengan do a, semoga berkah dan mendapat kemudahan. - Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar. - Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur. - Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas C. DASAR TEORI 1. Trigger 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: MySQL tidak mengizinkan multiple trigger dengan waktu aksi dan event sama per tabel. Misalkan di tabel A sudah didefinisikan trigger AFTER INSERT, maka kita tidak boleh mendefinisikan trigger AFTER INSERT lagi; namun AFTER EDIT, AFTER DELETE, atau BEFORE (INSERT, EDIT, dan DELETE) bisa diterima. D. LATIHAN Dalam latihan ini digunakan dua buah tabel bernama barang dan pembelian dengan data sebagai seperti berikut: 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.

b. Kemudian pilih Add Trigger pada bagian New. Dan isikan sesuai dengan prosedur berikut. c. Setelah berhasil membuat trigger. Kembali ke SQL database dan tuliskan sintak berikut: INSERT INTO barang VALUES('A13', 'Modem', 5); d. Dan hasilnya akan seperti berikut. Terlihat bahwa trigger sudah bekerja seperti yang diharapkan, di mana setiap penambahan baru akan menginkremen nilai stok. Untuk mendapatkan informasi mengenai daftar trigger yang telah terdefinisi, gunakan perintah SHOW TRIGGERS atau bisa langsung ke menu trigger e. Sebagaimana objek-objek database lainnya, kita menghapus trigger dengan menggunakan perintah DROP dengan ketentuan DROP TRIGGER

nama_trigger. Atau bisa langsung ke menu trigger dan menghapusnya dengan cara berikut. 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. a. Cek data table barang SELECT * FROM barang b. Kemudian masukkan data kedalam table pembelian c. Cek kembali data dalam table barang

Untuk kasus trigger DELETE, keyword yang bisa digunakan hanya OLD. Misalkan kita ingin mendefinisikan trigger untuk menghapus semua data pembelian manakala data barang yang sesuai diindikasikan melalui primary key dan foreign key dihapus. a. Sama seperti langkah sebelumnya. Masuk ke menu trigger b. Setelah itu, masuk ke table barang untuk menghapus data. c. Kemudian cek data pada table pembelian

Khusus untuk operasi UPDATE, kita bisa memanfaatkan keyword NEW maupun OLD. a. Update pembelian b. Tampilkan data pada table barang

3. Trigger Kompleks 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.

E. 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. a. Setting stok b. Tambahkan pembelian c. Pembelian akan diberikan bonus

d. Stok akan automatis menyesuaikan sesuai aturan

F. TUGAS RUMAH 1. Buat tabel pembayaran id_pem jumlah_pem Int(10), Primary Int(15) Tambahkan filed Harga pada table Barang, lalu modifikasi Trigger INSERT pada table pembelian untuk menghitung nota pembayaran, contoh jika satuan harga barang A = 1000, dan terjadi pembelian sebanyak 10 item barang, maka jumlah_pem akan tercatat 10000. Ingat, aturan bonus dan penyesuaian stok barang masih berlaku. 2. Buat tabel log_pembelian operasi waktu Varchar(25), Primary date 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 Note : Jika terjadi error duplikasi pendefinisian trigger, terlebih dahulu simpan query trigger di dalam notepad lalu hapus semua trigger di tabel pembelian