• Prosedural Language / SQL


    PL/SQL (Procedural Language/Structured Query Language) merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax. PL/SQL adalah fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.
    • Beberapa kelebihan PL/SQL dalam database Oracle :
    • PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
    • Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
    • PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan program aplikasi.
    Bentuk Umum Struktur PL/SQL
    DECLARE
    variabel tipe_data;
    konstanta CONSTANT tipe_data := nilai;
    BEGIN
    statement_1;
    statement_2;
    EXCEPTION
    WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
    END;
    Contoh Program (tanpa exception) :
    SQL> SET SERVEROUTPUT ON
    SQL>DECLARE
    v1 NUMBER(3);
    BEGIN
    v1 := 3;
    DBMS_OUTPUT.PUT_LINE(‘v1= ‘ || v1);
    END;
    /
    Contoh Program (dengan exception):
    SQL>SET SERVEROUTPUT ON
    SQL>DECLARE
    X Integer;
    BEGIN
    X := ‘Belajar Oracle’;
    DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
    EXCEPTION
    WHEN VALUE_ERROR THEN
    DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
    END;
    /
    DBMS_OUTPUT merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus. PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.
    Struktur PL/SQL
    Struktur PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan struktur blok, sehingga akan mempermudah pengertian dalam pemrograman dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan. Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai berikut :
    Declare
    Begin
    Exception
    End
    Pemanggilan PL/SQL :
    ü  Langsung dari SQL Plus
    ü  Dari Aplikasi
    ü  Dari PL/SQL lainnya
    ü  Aturan penulisan:
    ü  Dapat ditulis dalam beberapa baris (tidak harus dalam satu baris perintah)
    ü  Dapat berupa nested blok
    ü  Karakter dan literal diapit oleh tanda kutip
    ü  Setiap perintah/blok diakhiri dengan titik koma(;)
    ü  Komentar diawali dengan tanda min dua kali(–) atau diapit dengan tanda /*…*/
    ü  Pemberian nilai menggunakan :=
    ü  Dapat menggunakan Bind Variable
    ü  Tanda garis miring(/) berarti “run”
    Contoh PL/SQL :
    Sub Program :
    1. Nama dari blok PL/SQL yang dapat menerima parameter dan dapat dipanggil terdapat dua jenis:
    • Sebuah prosedur yang digunakan untuk melakukan suatu kegiatan tertentu
    • Sebuah fungsi yang digunakan untuk menghitung suatu nilai
    1. Menggunakan struktur blok PL/SQL standart
    2. Modular dapat dipergunakan berulang-ulang, ditingkatkan/dikembangkan dan mudah dalam perawatan.
    Struktur diatas dapat dijelaskan sebagai berikut :
    1. Bagian Judul (Header)
    Bagian ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan pengembalian hasil (return) jika blok adalahfungsi.
    1. Bagian Deklarasi (declaration)
    Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
    1. Bagian Eksekusi (Execution)
    Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
    1. Bagian Perkecualian (Exception)
    Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END.
    Tipe Data
    1. Tipe Data dasar :
    • Numerik
    • NUMBER, BINARY_INTEGER, DEC, DOUBLE PRECISION, INTEGER, INT, NUMERIC, REAL, SMALLINT
    • Karakter
    • VARCHAR2, CHAR, LONG
    • DATE
    • BOOLEAN
    • ROWID
    1. Tipe Data tambahan : RECORD, ARRAY
    Type data yang dapat dikenali dalam PL/SQL dapat berupa type data SQL dan type data seperti :
    1. BOOLEAN
    Dipakai untuk menyatakan data logika, yaitu TRUE(benar), FALSE(salah), dan NULL(kosong).
    1. BINARY_INTEGER
    Digunakan untuk mendeklarasikan bilangan yang tidak mempunyai angka desimal. Tipe dataNATURAL dan POSITIVE merupakan subset dariBINARY_INTEGER.
    1. %TYPE
    Tipe data ini dipakai untuk menandakan bahwa variabelyang deklarasikan sama dengan tipe data dari kolom tabel tertentu.
    1. %ROWTYPE
    Tipe data ini menandakan bahwa sekelompok variabel adalah sama dengan tipe data darirow suatu tabel tertentu.
    1. Tabel dan Record
    Tipe data komposit untuk pemakaian yang lebih kompleks.
    Variabel dan Konstanta
    Pada bagian deklarasi ditempatkan variable dan konstanta yang dipakai oleh pernyataan PL/SQL yang dibuat.
    a)      Variabel adalah sebuah peubah yang digunakan untuk menampung sebuah nilai di memori komputer. Dapat menerima nilai baru atau sebaliknya diubah pada saat program dieksekusi Bentuk Umum :
    b)      variable_name datatype [NOT NULL := value ];
    c)      Keterangan :
    d)     Variable_name adalah nama variabel.
    e)      Datatype adalah valid PL / SQL datatype.
    f)       NOT NULL adalah sebuah spesifikasi opsional pada variabel.
    g)      Nilai atau DEFAULT juga merupakan spesifikasi opsional, di mana anda bisa menginisialisasi variabel.
    h)      Setiap deklarasi variabel adalah pernyataan terpisah dan harus diakhiri dengan titik koma.
    Contoh Deklarasi Variabel :
    DECLARE
    X integer;
    Alamat varchar2(40);
    No_induk char(8);
    …..
    BEGIN
    X                      := 12;
    Alamat            := ‘Gelatik Dalam 391, Bandung’;
    No_induk         := ‘DOG29549’;
    END;
    Ketika variabel ditetapkan sebagai TIDAK NULL, Anda harus menginisialisasi variable ketika dideklarasikan. Contoh di bawah ini menyatakan dua variabel, salah satunya adalah tidak null.
    DECLARE
    salary number(4);
    dept varchar2(10) NOT NULL := “HR Dept”;
    Nilai variabel yang bisa berubah dalam pelaksanaan atau pengecualian bagian PL / SQL Block. Kita dapat menempatkan nilai ke variabel dalam dua cara yang diberikan di bawah ini.
    1. Kita dapat langsung memberikan nilai pada variabel. Sintaks Umum adalah:  variable_name:=  value;
    1. Kita dapat menempatkan nilai ke variabel langsung dari kolom database dengan menggunakan SELECT… INTO statement. INTO pernyataan.
    Sintaks Umum adalah:
    SELECT column_name
    INTO variable_name
    FROM table_name
    [WHERE condition];
    • Konstanta
    Digunakan untuk menyimpan sebuah nilai di memori komputer. Nilai yang disimpan bersifat tetap (konstan). Nilai ditentukan pada saat deklarasi dibuat sehingga nilainya tetap pada saat program dieksekusikan.
    Contoh Deklarasi Konstanta :
    DECLARE
    pi CONSTANT real             := 3.14;
    lebar CONSTANT integer        := 100;
    Komentar
    • Digunakan untuk memudahkan proses maintenance
    • Jenis komentar :
    • /* … */   : untuk beberapa baris komentar
    • – …      : untuk satu bari komentar
    Contoh :
    /* Ini adalah komentar Oracle */
    – Ini juga komentar Oracle
    PL/SQL (Procedural Language/Structure Query Language) adalah suatu blok yang berisi skrip-skrip bahasa prosedural. PL/SQL merupakan bahasa pemrograman procedural. PL/SQL dapat meningkatkan kinerja database
    Keuntungan Penggunaan PL/SQL
    • Integrasi
    –     Memungkinkan Aplikasi dan Oracle Server menggunakan Library yang dapat digunakan bersama-sama dalam bentuk stored procedure
    –     Peningkatan Kinerja
    –     Penggunaan PL/SQL, memungkinkan pengiriman perintah secara blok dalam satu perintah yang secara drastis dapat menurunkan trafik jaringan
    –     Modular. Bentuk modular memungkinkan banyak kemudahan yang dapat diperoleh
    –     Portable. PL/SQL adalah sarana yang asli dimiliki oleh Oracle Server, artinya, program PL/SQL dapat dengan mudah dipindahkan dari satu Oracle Server ke Oracle Server lainnya, meskipun dengan OS atau platform yang berbeda.
    –     Dapat mendeklarasikan Variable
    –     Dapat berupa Variable, Constant, Cursor dan Exception
    –     Penggunaan variable/identifier sangat memudahkan dalam membuat suatu perintah. Misalkan untuk membaca hasil suatu perintah SELECT untuk diproses dan hasilnya digunakan untuk melakukan proses lainnya
    –     Dapat menggunakan Struktur Kontrol :LOOP, FOR, WHILE
    –     Dapat menangani Error
    –     Error bisa dihasilkan/dibangkitkan oleh Oracle
    –     Server atau bisa dibangkitkan sendiri dengan sengaja
    –     Untuk mengantisipasi berbagai hal yang barangkali sulit untuk ditangani secara langsung menggunakan kontrol program

0 komentar:

Posting Komentar