LAPORAN PRAKTIKUM
FUNGSI,PL/PGSQL DAN TRIGGER
Dosen Pengampu: Aziz Musthofa, S.Kom
Oleh :
Badruz Zamanil Charis
13650120
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UIN MAULANA MALIK IBRAHIM MALANG
2014
MATERI
BENTUK PL/SQL PADA MySQL
PL/SQL MySQL adalah bahasa prosedural
yang digunakan untuk mengoptimalkan pembuatanaplikasi database yang menggunakan
database MySQL. Kata PL pada PL/SQL merupakan singkatan dari Procedural
Language. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang
ada dalam database MySQL. PL/SQL MySQL membentuk pemrograman terstruktur dalam
memproses data. Pada PL/SQL ditambahkan beberapa hal yang dikenal pada dunia
pemrograman, seperti variabel, loop, pemrosesan kondisi, operasi cursor, modularisasai,
dan hal-hal lainnya. Semua tambahan itu bertujuan untuk meningkatkan kinerja
operasi-operasi SQL pada database MySQL sehingga manfaat dari kehandalannya
menjadi maksimal.
Struktur PL/SQL MySQL
PL/SQL dapat
dibagi menjadi tiga, yaitu: prosedur, fungsi, dan trigger. Prosedur dan fungsi
bekerja berdasarkan eksekusi langsung dari user/program, sedangkan trigger akan
bekerja secara otomatis apabila terjadi aktivitas insert, update atau delete
data. Struktur dari bahasa pemrograman PL/SQL MySQL.
Trigger
Trigger adalah blok PL/SQL atau prosedur yang berhubungan
dengan table, view, skema atau database yang dijalankan secara implicit pada
saat terjadi sebuah event. Trigger merupakan store procedure yang dijalankan
secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi
data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan
DELETE. INSERT , UPDATE dan DELETE bisa digabung jadi satu trigger yang
dinamakan Multiple Trigger.
Database triger merupakan sebuah program unit yang disimpan
didalam database dan hanya dapat dieksekusi (fired) secara implisit oleh server
(oracle server) menurut event yang terjadi pada object acuan dari trigger
tersebut.
Triger dapat berisi SQL, PL/SQL, dan Java statement. Selain
itu juga dapat memanggil method yang ditulis menggunakan bahasa C.
Kegunaannya Triger :
1.Menentukan nilai kolom – kolom tertentu secara otomatis
2.Menghindarkan transaksi yang tidak valid
3.Membuat autorisasi sekuriti yang kompleks
4.Membuat bussines rule yang kompleks
Event eksekusi trigger :
1.DML event (INSERT, UPDATE & DELETE) statement.
2.DDL event (CREATE, ALTER & DROP) statement
3.Database event (Startup/Shutdown, Error Message & User
event (Logon/Logoff))
Tipe dari trigger adalah :
· Application trigger : diaktifkan pada saat terjadi event
yang berhubungan dengan sebuah aplikasi
· Database trigger : diaktifkan pada saat terjadi event yang
berhubungan dengan data (seperti operasi DML) atau event yang berhubungan
dengan sistem (semisal logon atau shutdown) yang terjadi pada sebuah skema atau
database.
Trigger perlu dibuat pada saat :
· Membentuk sebuah aksi tertentu terhadap suatu event
· Memusatkan operasi global
Trigger timing adalah waktu kapan trigger diaktifkan. Ada
tiga macam trigger timing, yaitu :
· BEFORE : trigger dijalankan sebelum DML event pada tabel
· AFTER : trigger dijalankan setelah DML event pada tabel
· INSTEAD OF : trigger dijalankan pada sebuah view.
Trigger event ada 3 kemungkinan : INSERT, UPDATE atau
DELETE.
Pada saat trigger event UPDATE, kita dapat memasukkan daftar
kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah
trigger (contoh : UPDATE OF salary ... ). Jika tidak ditentukan, maka perubahannya
akan berlaku untuk semua kolom pada semua baris.
Tipe trigger ada 2 macam, yaitu :
· Statement : trigger dijalankan sekali saja pada saat
terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak
ada satupun baris yang dipengaruhi oleh event yang terjadi.
· Row : trigger dijalankan pada setiap baris yang
dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika
event dari trigger tidak berpengaruh pada satu baris pun.
Trigger body mendefinisikan tindakan yang perlu dikerjakan
pada saat terjadinya event yang mengakibatkan sebuah trigger menjadi aktif.
HASIL PERCOBAAN
HASIL PERCOBAAN
1. Buatlah fungsi konversi suhu
dari Fahrenheit ke derajat celcius dengan rumus konversi
Kemudian
jalankan hasilnya dengan menSELECT fungsi tersebut !
2. Buatlah fungsi untuk mencari
alamat mahasiswa dari tabel mahasiswa berdasarkan nama
mahasiswa.
Kemudian jalankan dengan perintah SELECT !
3. Buatlah fungsi untuk menghitung
nilai dengan menggunakan bahasa pl/sql !
Nilai
> 100 atau Nilai<0 Nilai Salah
Nilai
= 90 Nilai A
70
= Nilai < 90 Nilai B
60
= Nilai < 70 Nilai C
50
= Nilai < 60 Nilai D
4. Buatlah fungsi menggunakan
pl/pgsql untuk mencari bilangan ganjil atau genap dari
5. Tambahkan kolom modifikasi pada
tabel mahasiswa. Dimana setiap ada insert atau
update
maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan
Perbedaan SQL dan PL/SQL
- SQL adalah bahasa deklaratif untuk database yg sudah distandarkan secara internasional (ANSI dan ISO), jadi seharusnya semua database yg menggunakan SQL standar akan memiliki statement/syntax yg sama, baik di Oracle, MySQL atau database lainnya. Tetapi beberapa database memang memiliki statement/syntax proprietary yg hanya dikenali di database itu sendiri dan ini tentu saja bukan standar SQL.
- Sementara PL/SQL adalah ekstensi dari SQL dengan menambahkan fungsi bahasa prosedural. Berbeda dengan SQL yg hanya mementingkan bagaimana mendapatkan hasil, dengan PL/SQL juga akan diketahui bagaimana proses untuk mendapatkan hasil tsb. Karena PL/SQL merupakan bahasa prosedural, maka statement/syntax yg digunakan sangat tergantung dari jenis bahasa yg diadopsi.
Maksud
Pada modul ini
akan membahas tentang fungsi, Selain hal itu akan
dibahas juga mengenai pl/pgsql dan triger
Tujuan
1.memahami dan
menggunakan fungsi dalam database PostgreSQL
2.memahami dasar penggunaan PL/PGSQL dan TRIGER dan macam-macam nya
1.Lebih Memahami tentang PL/ SQL,
2.Lebih Memahami tentang Trigger,
3.Lebih Cermat dalam membandingkan PostgreSql dengan MySql,
4.Lebih cepat mendapat informasi yang relevan,
5.Dapat mengambil pemahaman yang lebih dari sebelumnya.
Saran
Diperlukan pembelajaran lebih lanjut mengenai PL/PGSQL dan TRIGER ini, serta diperlukan latihan dalam mencoba latihan soal
yang lain agar praktikan lebih mahir dalam menggunakan kedua DBMS
tersebut.Dalam proses TRIGER memerlukan ketelitian jika tidak maka mengulangi perintah dari awal lagi karena pada perintah TRIGER biasanya panjang dan rumit berbeda dengan PL/PGSQL yang cukup mudah diingat daripada TRIGER.
Daftar Pustaka
http://abdurrahmanfattah.blogspot.com/2011/09/tugas-materi-stored-procedures-function.html
http://www.slideshare.net/haryjava/mengenal-pl-sql
http://www.mysqltutorial.org
Buku : Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta
Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi
Sutanta Edhy, 2011, Basis Data Dalam Tinjauan Konseptual. Yogyakarta: Andi
http://www.slideshare.net/haryjava/mengenal-pl-sql
http://www.mysqltutorial.org
Buku : Yakub, 2008, “ Sistem Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta
Kadir Abdul, 2000, Konsep & Tuntutan Praktis Basis Data, Yogyakarta: Andi
Sutanta Edhy, 2011, Basis Data Dalam Tinjauan Konseptual. Yogyakarta: Andi

























