LAPORAN KE IX - FUNGSI, PL/PGSQL dan TRIGER

A. Landasan Teori


PL/SQL ( Prosedural Language/Structured Query Language ) merupakan bahasa pemrograman yang menggabungkan bahasa procedural, seperti pernyataan percabangan (IF-THEN-ELSE), pengulangan (LOOP) dan deklarasi variable. PL/SQL dikembangkan oleh Oracle untuk pembuatan Fungsi, Database Trigger, dan Stored Procedure.
Function merupakan sekumpulan perintah PL/SQL untuk menjalankan suatu tugas tertentu dan mengembalikan suatu nilai.
Terdapat pada sebuah program unit yang disimpan dalam database untuk mengerjakan suatu tugas dengan mengembalikan suatu nilai tertentu.
Syntax Function:
CREATE [OR REPLACE] FUNCTION name [(parameter[, parameter,…])]
RETURN datatype IS
[local declaration;]
BEGIN
executable statements;
[EXCEPTION
Exception handlers]
END [name];
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))
Procedure ialah sekumpulan perintah PL/SQL untuk menjalankan suatu tugas tertentu.
Stored procedure ialah prosedur yang telah dicompile dan disimpan dalam database.
Di dalam Procedure terdapat schema yang berisi sekumpulan SQL statement dan perintah – perintah PL/SQL yang disimpan dalam database dan bekerja sebagai sebuah unit yang dapat mengerjakan sekumpulan tugas tertentu.
Syntax Procedure:
CREATE [OR REPLACE] PROCEDURE name [(parameter[, parameter,…])] IS
[local declaration;]
BEGIN
executable statements;
[EXCEPTION
Exception handlers]
END [name];
Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END. Untuk menandakan suatu komentar (tidak diproses oleh compiler), gunakan “- -” pada tiap baris komentar.
DECLARE
–deklarasikan dengan variable yang akan digunakan. (ini komentar)
BEGIN
–bagian pemrosesan. (ini juga komentar. Tidak akan diproses sistem.)
END;
Pertama
Misalkan ingin membuat suatu fungsi PL/SQL untuk menampilkan suatu kalimat. Berikut sintaksnya :
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE(‘Selamat Belajar PL/SQL!’);
–DBMS_OUTPUT.PUT_LINE() adalah fungsi untuk mengeluarkan suatu string dalam PL/SQL
END;
Sintaks di atas akan menghasilkan keluaran sebagai berikut :
Selamat Belajar PL/SQL!
Kedua
Misalkan ingin menampilkan suatu variable yang sudah dideklarasibrkan dan disimpan nilainya :
DECLARE
VNAME VARCHAR2(100);
–dideklarasikan variable VNAME dengan tipe VARCHAR2 dan berukuran 100 karakter.
VALAMAT VARCHAR2(200);
–dideklarasikan variable VNAME dengan tipe VARCHAR2 dan berukuran 200 karakter.
BEGIN
VNAME := ‘Putri Chairina’;
– sintaks ‘:=’ digunakan untuk memasukkan suatu nilai ke dalam suatu variable.
VALAMAT := ‘Jakarta’;
– variable VALAMAT dimasukkan nilai ‘Jakarta’.
DBMS_OUTPUT.PUT_LINE(‘Selamat sore, ‘||VNAME||’ alamat anda di ‘||VALAMAT);
– untuk menggabungkan string, gunakan sintaks ‘||’.
END;
Keluaran hasilnya adalah :
Selamat sore, Putri Chairina alamat anda di Jakarta
Ketiga
Misalkan ingin melakukan suatu proses matematis, dalam kasus ini perkalian, kemudian hasilnya ditampilkan :
DECLARE
NO1 NUMBER;
NO2 NUMBER;
NO3 NUMBER;
–dideklarasikan variable NO1, NO2, dan NO3 dengan tipe NUMBER.
BEGIN
NO1 := 12;
NO2 := 109;
NO3 := NO1 * NO2; – variable NO3 merupakan hasil dari perkalian variable NO1 dan NO2.
DBMS_OUTPUT.PUT_LINE(‘Isi dari penjumlahan = ‘||NO3);
END;
Keluaran dari sintaks di atas adalah :
Isi dari penjumlahan = 1308

B. Hasil Praktikum


1. Buatlah fungsi konversi suhu dari Fahrenheit ke derajat celcius dengan rumus konversi sebagai berikut : celcius= (5*(nilai Fahrenheit-32))/9!
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 data-blogger-escaped-br="" data-blogger-escaped-nilai="" data-blogger-escaped-salah=""> Nilai ≥ 90 Nilai A
70 ≤ Nilai < 90 Nilai B
60 ≤ Nilai < 70 Nilai C
50 ≤ Nilai < 60 Nilai D
0 ≤ Nilai < 50 Nilai E
Kemudian jalankan hasilnya dengan menSELECT fungsi tersebut !



4. Buatlah fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari bilangan yang diinputkan. Kemudian jalankan dengan perintah SELECT !


5. Tambahkan kolom modifikasi pada tabel mahasiswa. Dimana setiap ada insert atau update maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan tersebut dilakukan.

1. Buatlah fungsi konversi suhu dari Fahrenheit ke derajat celcius dengan rumus konversi sebagai berikut : celcius= (5*(nilai Fahrenheit-32))/9!
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 data-blogger-escaped-br="" data-blogger-escaped-nilai="" data-blogger-escaped-salah=""> Nilai ≥ 90 Nilai A
70 ≤ Nilai < 90 Nilai B
60 ≤ Nilai < 70 Nilai C
50 ≤ Nilai < 60 Nilai D
0 ≤ Nilai < 50 Nilai E
Kemudian jalankan hasilnya dengan menSELECT fungsi tersebut !



4. Buatlah fungsi menggunakan pl/pgsql untuk mencari bilangan ganjil atau genap dari bilangan yang diinputkan. Kemudian jalankan dengan perintah SELECT !



5. Tambahkan kolom modifikasi pada tabel mahasiswa. Dimana setiap ada insert atau update maka tanggal pada kolom modifikasi akan menunjukkan tanggal perubahan tersebut dilakukan.







C. Perbedaan Posgre dan Mysql


Pastilah temen-temen pada bingung ya buat materi ini hehehe. Kenapa anik bilang gitu soalnya liat dari kemarin aja banyak banget yang presentasi DBDnya kurang lengkap bab PL/SQL padahal sepebenernya ini gak riber-ribet banget kok cuma butuh sedikit teliti aja. Ampe lupa ...
Buat perbedaannya banyak banget dari soal nomer 1 aja udah bikin down gimana enggak udah di utak atik gak bisa bisa hahaha.. Tenang masih banyak lagi yang laennya kok

D. Kesimpualan


Seperti yang dijelaskan pada praktikum pertama dulu Posgre dan Mysql mempunyai beberapa perbedaan contohnya dalam hal fungsi. Dalam bahasa Sql fungsi sendiri disebut dengan function lalu kita berinama dan melanjutkan function apa yang akan kita bentuk. Seperti pada hasil praktikum itu termasuk kedalam contoh-contoh function.
Inti dari penggunaan function ini untuk mempermudah pengolahan data pada DBMS ya mungkin seperti itulah.
Dari hasil prektek mengunakan PL/PGSQL database MYSQL   tidak mempunyai PL/PGSQL. jadi pl/pgsql hanya bisa dipakai pada database PostgreSQL.

E. Kritik dan Saran


Mungkin masih banyak function function yang terdapat dalam posgre dan mysql yang belum diterapkan hingga kita. Kadang kala ketika kita menggunakan function pl/sql tidak selalu di permudah. Contohnya ketika ketika ingin membuat function tambah kita masih perlu menghafalkan querynya. Padahal di jaman sekarang sudah ada aplikasi untuk melakukan penambahan tanpa harus mempuat function.

F. Daftar Pustaka


http://teknisijaringankomputer.wordpress.com/2013/02/12/mengenal-plsql/
http://en.wikipedia.org/wiki/PL/SQL
http://www.tutorialspoint.com/plsql/

Comments

Popular posts from this blog

Memasukkan Gambar Pada Eclipse

Pengalaman KRS an yang pertama

Cara Skinning Bone Manual Dengan Blender