Laporan Hasil Praktikum Modul 4 [PDF]

  • Author / Uploaded
  • ray
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN HASIL PRAKTIKUM BASIS DATA II



NAMA : RAY CAESARIAN NIM : DBC 116 005 KELAS : D MODUL



: IV (TRIGGER)



JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2018



BAB I TUJUAN DAN LANDASAN TEORI 1.1.Tujuan 



Mahasiswa mampu memahami trigger serta penggunaannya untuk optimasi sebuah database.



1.2.Landasan Teori Pengertian Triggers Trigger adalah sebuah Script MySQL Command yang memicu suatu kejadian dalam database MySQL berupa aksi insert, update dan delete setelah syarat tertentu. Lokasi penulisan Trigger adalah di dalam database yang bersangkutan, dan Trigger tidak ditempatkan di php script. Hasil penulisan dari sebuah Trigger akan menimbulkan efek manipulasi database secara otomatis sesuai dengan yang kita inginkan. Misalnya, setelah insert pada tabel_a dan kolom a1 maka akan otomatis insert pada tabel_b pada kolom b1. Begitu pula untuk aksi update dan delete. Syntax Umum Triger create [definer = { user | current_user }] trigger trigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt Keterangan 1. definer menunjukkan nama user yang mempunyai hak akses untuk mengakses triger. 2. Triger_time menunjukkan saat triger tersebut dijalankan. Terdiri dari Before atau After



3. Triger_time menandakan saat keadaan bagaimana triger tersebut aktif. Terdiri dari 



Insert : Triger aktif saat baris baru dimasukkan ke dalam tabel







Update : Triger aktif saat ada baris diperbaharui dimasukkan di dalam tabel







Delete :Triger aktif saat baris dihapus dalam tabel



Fungsi Trigger



Biasanya dalam relasional database, trigger dapat ditemui ketika melakukan perintah eksekusi table. Hal itu menjadi lebih bermanfaat trigger menjaikan penulisan pemrograman yang sederhana dan dapat menjaga informasi agar tetap konsisten dalam database. Selain itu, terdapat beberapa fungsi trigger yang akan dijelaskan dibawah ini. 1. Integritas Data Dengan adanya trigger, Anda dapat mempertahankan integritas table yang terdapat dalam database. Sebab, Anda dapat melakukan operasi-operasi yang berkaitan dengan pengolahan database, seperti INSERT, UPDATE dan DELETE



2. Mencegah Error Trigger dalam MySQL dapat mencegah terjadinya error dalam pengoperasian data. Jika terjadi error dalam pendefinisian trigger, error tersebut tidak mengganggu trigger yang sedang berjalan. 3. Membuat Tugas Kerja menjadi Terjadwal Ketika trigger telah dijalankan, maka Anda dapat menggunakan berbagai bahasa pemrograman tanpa harus bingung bagaimana cara mengaksesnya. 4. Mencegah Proses Transaksi yang Tidak Sah Dalam praktiknya, biasa trigger digunakan untuk melakukan proses transaksi. Anda dapat menyimpan record transaksi tersebut ke table lain (history) tanpa harus takut jika data tersebut di-update atau delete. Semua perubahan yang terjadi juga dapat diacak berdasarkan waktu pembuatannya.



BAB II PEMBAHASAN 2.1. TUGAS 1. Buat trigger bernama BatalPesan untuk menghapus secara otomatis data pada tabel DetailPesan saat record data pada tabel Pembayaran telah dihapus



Gambar 2.1. Trigger BatalPesan Trigger di atas berfungsi untuk melakukan penghapusan data di tabel DetailPesan saat record data pada tabel Pembayaran telah dihapus. Delimiter adalah untuk memberi tahu kepada mysql soal delimiter yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimeter yang digunakan $$ jadi akhir statementnya adalah $$. AFTER DELETE adalah perintah yang menandakan bahwa ketika trigger melakukan proses delete pada table Pembayaran di database Restoran maka trigger akan melakukan perintah untuk melakukan delete dari tabel DetailPesan yang berpatokan pada Nofaktur. Setelah itu trigger dijalankan, dan selanjutnya melakukan proses penghapusan data pada table DetailPesan karena ada penghapusan pada tabel Pembayaran dari sebelumnya



Gambar 2.2. Output sebelum di Hapus pada table pembayaran Diliat dari output diatas bahwa terdapat no faktur yang masih belum dihapus dengan jumlah data yang masih banyak.



Gambar 2.3. Delete Pembayaran Intruksi diatas merupakan coding untuk memanggil suatu query untuk menghapus suatu no faktur .



Gambar 2.4. Output sesudah table Pembayaran dihapus Intruksi diatas terlihat bahwa data yg ingin dihapus adalah data dari NoFaktur 347 , dan setelah dilakukan coding delete maka data dari table pembayaran yaitu dari NoFaktur 347 sudah terhapus dan tidak ada di table pembayaran.



2. Buat trigger bernama EditJumlahPemesanan untuk mengedit data pada field JumlahPemesanan di tabel Pembayaran setelah ada perubahan banyaknya item pemesanan dari tabel DetailPemesanan.



Gambar 2.5. Trigger EditJumlahPemesanan UPDATE



Pembayaran



set



total=vtotal



where



nofaktur=old.nofaktur;digunakan untuk melakukan proses perhitungan pada nilai total yang diberi inisial vtotal, program akan melakukan proses perubahan pada total di tabel pembayaran dengan patokan pada nilai field nofaktur. Saat trigger dijalankan, selanjutnya sistem melakukan proses perubahan data pada table Pembayaran karena ada perubahan pada tabel Pembayaran sebelumnya Perintah COMMIT merupakan perintah yang digunakan untuk mensukseskan eksekusi query atau manajemen transaksi, jika telah memenuhi syarat yang telah didefinisikan sebelumnya.



Gambar 2.6. Update jumlahpemesanan Intruksi diatas merupakan coding untuk mengedit data pada table detailpesan dengan data NoFaktur 346 dengan diedit menjadi banyaknya 6



. Gambar 2.7. Output trigger EditJumlahPemesanan



Terlihat dari output diatas bahwa NoFaktur 346 jumlah banyak nya berubah menjadi 6. 3. Buat trigger bernama EditNoMeja untuk mengedit data NoMeja pada tabel pembayaran setelah ada perubahan data NoMeja pada table Meja.



Gambar 2.8. Trigger EditNoMeja



UPDATE Pembayaran set nmeja=nmeja.nomeja where nofaktur=old.nomeja ;digunakan untuk melakukan proses perhitungan pada nilai total yang diberi inisial vtotal, program akan melakukan proses perubahan pada total di tabel pembayaran dengan patokan pada nilai field nomeja. Saat trigger dijalankan, selanjutnya sistem melakukan proses perubahan data pada table Pembayaran karena ada perubahan pada tabel Pembayaran sebelumnya Perintah COMMIT merupakan perintah yang digunakan untuk mensukseskan eksekusi query atau manajemen transaksi, jika telah memenuhi syarat yang telah didefinisikan sebelumnya.



Gambar 2.9. output sebelum diedit



Terlihat output diatas sebelum di edit no meja dan kapasitas tidak berubah



Gambar 2.10. Update Meja Terlihat bahwa query diatas merupakan update meja dengan nomeja yang akan diubah nomeja=7 dengan kapasitas yang dicari adalah kapasitas =5.



Gambar 2.11. Output setelah diedit Terlihat output diatas bahwa ada perubahan pada output yang sebelum diubah. Kapasitas yang awalnya memiliki NoMeja = 9 dengan kapasitas =5 ,maka data setelah diedit akan terubah menjadi NoMeja=7 dengan Kapasitas =5.



BAB III KESIMPULAN Trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. atau dengan kata lain, trigger artinya kode SQL yang dikerjakan oleh DBMS ketika suatu kejadian terjadi.n dalam hal ini jika perintah INSERT, UPDATE, atau DELETE dijalankan di DBMS.Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’ sebelum menghapus data di tabel pelanggan. Ataupun kita akan Secara otomatis merekam semua aktivitas MySQL yang gagal membuat Record Baru yang diakibatkan terputusnya Koneksi.



BAB IV DAFTAR PUSTAKA



Dosen Teknik Informatika. 2012. “Modul Praktikum Basis Data II”. Palangka Raya : Universitas Palangka Raya. NesabaMedia.2018. Pengertian Trigger https://www.nesabamedia.com/pengertiantrigger/. (Diakses pada tanggal 10 November 2018)



BAB V LAMPIRAN



Gambar 5.1. Trigger BatalPesan



Gambar 5.2. Output sebelum di Hapus pada table pembayaran



Gambar 5.3. Delete Pembayaran



Gambar 5.4. Output sesudah table Pembayaran dihapus



Gambar 5.5. Trigger EditJumlahPemesanan



Gambar 5.6. Update jumlahpemesanan



. Gambar 5.7. Output trigger EditJumlahPemesanan



Gambar 5.8. Trigger EditNoMeja



Gambar 5.9. output sebelum diedit



Gambar 5.10. Update Meja



Gambar 5.11. Output setelah diedit