Thursday, November 20, 2014

Laporan Prakt Desain Basis Data (Modul 8)

Nama : Ahmad Nafis Syahroni
NIM : 13650131




FUNGSI, PL/PGSQL dan TRIGER
A.    Pembahasan
·         Pada bab kali ini akan membahas tentang fungsi
·         Selain hal itu akan dibahas juga mengenai pl/pgsql dan trigger
B.     Tujuan
·         Mahasiswa memahami dan menggunakan fungsi dalam database PostgreSQL
·         Mahasiswa memahami dasar penggunaan PL/PGSQL dan TRIGER
C.     Dasar Teori
Fungsi
Fungsi SQL adalah sebuah kumpulan query, biasanya query yang detail dan panjang yang dibungkus menjadi satu dan disimpan dalam database dan kemudian apabila diperlukan hanya tinggal mengaksesnya tanpa mengetikan query detail. Sedangkan untuk memunculkan fungsi dapat menggunakan query \df.

Fungsi PL/PGSQL
PL/SQL, merupakan bahasa prosedural yang berbentuk script SQL dan sudah digolongkan ke dalam bahasa pernrograman generasi 4 (4GL -fourth-generation programming language). Beberapa fitur yang diberikan antara lain encapsulation, overloading, collection types, exception handling, dan information hiding.
Dengan menggunakan PL/SQL, Anda bisa menggunakan statemen SQL untuk memanipulasi data di Oracle dan bisa melakukan flow-of-control statemen dalam memproses data. Selain itu, Anda bisa mendeklarasikan konstanta dan variabel, membuat prosedur dan fungsi, sekaligus bisa untuk mengetahui kesalahan (runtime errors) yang terjadi. Dengan demikian PL/SQL mengabungkan manipulasi data yang didukung SQL, dengan pemrosesan data menggunakan bahasa procedural.
PL/PGSQL merupakan bahasa yang lain untuk membuat sebuah fungsi, biasanya bahasa ini digunakan untuk menangani fungsi yang lebih kompleks. Pl/pgsql sudah terdapat dalam instalasi PostgreSQL.
Keuntungan penggunaan Fungsi PL/PGSQL :
·         Meningkatkan kinerja karena mengurangi pengiriman kode dari klien ke server.
·         Meningkatkan keamanan karena pengaksesan data tertentu ditangani dalam server.
·         Meningkatkan konsistensi data saat sejumlah aplikasi memanggil prosedur yang sama
Sebaliknya kelemahannya yaitu server akan lebih terbebani karena banyak proses yang harus ditangani. Sedangkan query PL/PGSQL agar lebih mudah di pahami akan dibagi menjadi 2 yaitu pembuatan fungsi dan pembuatan definisi

Triger
Trigger adalah sebuah blok PL/SQL yang disimpan dalam database yang secara otomatis akan teraktivasi ketika terjadi suatu operasi pada sebuah table, view, schema, atau database.
Jenis Trigger ada 2:
Application Trigger Yang dimana trigger tersebut akan teraktivasi ketika terjadi suatu event pada sebuah aplikasi tertentu.
Database Trigger Yang dimana trigger tersebut akan teraktivasi ketiak terjadi suatu data event (operasi DML (INSERT, UPDATE, DELETE)) atau system event (logon or shutdown) pada sebuah schema atau database dan untuk selanjutnya kita akan membahas tentang trigger ini.
Trigger Timing
Terdapat 3 waktu untuk sebuah trigger teraaktivasi:
·         BEFORE
Dimana sebuah trigger akan teraktivasi sebelum terjadinya proses DML pada table.
·         AFTER
Dimana sebuah trigger akan teraktivasi setelah terjadinya proses DML pada table.
·         INSTEAD OF
Trigger yang hanya berfungsi pada VIEW dan biasanya digunakan untuk mengupdate data pada view kompleks.
Trigger digunakan untuk menyisipkan sebuah fungsi pada saat suatu record di- INSERT, UPDATE dan DELETE. Trigger sangat ideal untuk mengecek atau memodifikasi sebuah data pada kolom sebelum dimasukkan ke dalam database, sehingga sebuah fungsi dapat dipanggil setiap saat secara otomatis ketika sebuah row akan dimodifikasi. Ciri khas dari fungsi yang diperuntukkan untuk trigger adalah menghasilkan output bertipe OPAQUE. Tipe opaque adalah sebuah tipe yang menginformasikan pada database bahwa fungsi tersebut tidak menghasilkan satu dari tipe data yang ditetapkan SQL dan tidak secara langsung dapat digunakan dalam statemen SQL. Language (bahasa) PL/PGSQL dapat digunakan untuk trigger procedure, fungsi untuk trigger ini memiliki beberapa variabel khusus yang terdeklarasi secara otomatis. Variabel tersebut antara lain:
·         NEW: Variabel yang berisi nilai baru suatu record pada saat INSERT atau UPDATE, bertipe RECORD.
·         OLD: Variabel yang berisi nilai lama suatu record pada saat UPDATE atau DELETE, juga bertipe RECORD.

D.    Tugas Praktikan
       Dan akhinya pun pada praktikum kali ini saya menggunakan CMD saya harus nyerah menggunakan PHP myadmin. lihat lah hasilnya ini... tidak tau kenapa harus eror terus
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 !



SUKSES


2.      Buatlah fungsi untuk mencari alamat mahasiswa dari tabel mahasiswa berdasarkan nama mahasiswa. Kemudian jalankan dengan perintah SELECT !

EROR 
 

SUKSES
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
0        ≤ Nilai < 50  Nilai E
Kemudian jalankan hasilnya dengan menSELECT fungsi tersebut !
EROR
 

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

SUKSES

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

E.     Perbandingan 2 DBMS
       Kali ini saya benar2 harus menguras otak untuk menyelesaikan tugas praktikum DESAIN BASIS DATA bab PLSQL dan TRIGGER. karena semua queri nya berbeda dengan postgres. Dan yang membuat mbangkel itu EROR nya tau bikin emosi aja.? Dan sampai akhinya dengan usaha yang saya lakukan bisa. Tapi penuh dengan kesabaran...
 
F.      Kesimpulan
Trigger adalah suatu fitur dari ORACLE yang berguna khususnya untuk memberi efek pemicu baik ketika sebelum, dan sesudah user mengupdate suatu query. Trigger dapat didefinisikan sebagai sebuah kumpulan aksi yang akan dijalankan jika terjadi sebuah peristiwa yang lain.
PL/SQL adalah kependekan dari Procedural Language/Structured Query Language. Sederhananya adalah suatu bahasa pemrograman untuk database Oracle. Struktur dasar dari PL/SQL adalah DECLARE, BEGIN, dan END.

G.    Kritik Saran
Tiap sub bab materi tingkat kesulitannya semakin sulit. Sehingga kita lebih sulit untuk mengerjakannya dan kita harus berusaha keras mencari query-query dalam mysql. Meguras otak sekali ya? Hhahahahah

H.    Manfaat Pembaca
Semoga pembaca setelah membaca postingan ini mendapatkan ilmu tambahan dan sekiranya laporan ini ada salah-salah nya mohon di maklumi karena kita juga manusia tidak luput dari kesalahan. Ok sekian dari saya wassalam………


DAFTAR PUSTAKA
Modul Praktikum DBD




0 comments:

Post a Comment