Kamis, 19 Desember 2013

Tugas PBD II

Tugas PBD II
 Package adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan sub programs yang terkait secara logikal. Packages biasanya memiliki dua bagian, sebuah specification dan sebuah body, meskipun kadangkala body                           tersebut tidak diperlukan.
Specification (atau spec) merupakan antarmuka terhadap aplikasi-aplikasi yang mendeklarasikan types, variables, constants, exceptions, cursors, dan sub programs yang tersedia untuk digunakan. Body secara penuh mendefinisikan cursors dan subprograms, dan juga mengimplementasikan spec.

Contoh-contoh package :
Ø  Syntax Package Parent :
CREATE [OR REPLACE] PACKAGE package_name IS|AS
public type and variable declarations
subprogram specifications
END [package_name];


Ø  Syntax Package Body :
CREATE [OR REPLACE] PACKAGE BODY package_name IS|AS
private type and variable declarations
subprogram bodies
[BEGIN initialization statements]
END [package_name];
Ø  Contoh Package Parent:
CREATE or REPLACE PACKAGE pkg_emp is
PROCEDURE view_emp_sal(emp_id employees.employee_id%type, gaji out employees.salary%type);
FUNCTION view_emp_sal1(emp_id employees.employee_id%type) RETURN NUMBER;
END;
/

Keuntungan Menggunakan PACKAGE :
  • Modularity
  • Memudahkan dalam hal Maintenance
  • Memudahkan dalam hal design aplikasi
  • Dapat Menyembunyikan Informasi, karena yang hanya ditampilkan dalam sebuah aplikasi hanya parent atau spesifikasinya saja, sedangkan body nya disembunyikan dan tidak dapat diakses.
  • Added functionality
  • Meningkatkan Performance
  • Dapat menggunakan Overloading


Procedure

            Procedure adalah suatu blok PL/SQL yang menyimpan sekumpulan perintah yang tidak disertai dengan pengembalian nilai. Dengan kata lain, procedure hanya melakukan proses tertentu saja.
            Procedure Ditandai dengan adanya katakunci CREATE PROCEDURE di ikuti oleh nama prosedur dan parameternya.Opsi lain ialah dengan mengikuti CREATE dengan OR REPLACE. Dengan begitu jika telah ada procedure yang sama sebelumnya maka akan di gantikan dengan procedure yang baru dan prosedure yang lama akan hilang.
Syntax untuk membuat procedure
                                                           
CREATE [OR REPLACE] PROCEDURE nama_procedure
(parameter_1 tipedata, parameter_2 tipedata, …) IS
variabel-variabel_lokal
BEGIN
            Statemen;
            ……
END;
            Ada sejumlah parameter, diantaranya ialah IN (read-only), OUT (write-only) dan INOUT (read and write)
1.      IN parameter  Merupakan Tipe parameter yang didefinisikan pada aktual parameter untuk kemudian di tangkap oleh formal parameter. Parameter IN telah di definisikan secara default oleh oracle
CREATE OR REPLACE PROCEDURE luaslingkaran1 (r IN NUMBER) IS
phi NUMBER:=3.14;
luas NUMBER;
BEGIN
luas := phi*r*r;
DBMS_OUTPUT.PUT_LINE(‘Luas lingkaran dengan jari-jari ‘||r||’ = ‘||luas);
END;
/


2.      OUT Parameter. Merupakan tipe parameter pada procedure yang nilainya dapat digunakan oleh si pemanggil procedure dan bisa di bilang OUT parameter  merupakan kebalikan dari IN parameter
CREATE OR REPLACE PROCEDURE luaslingkaran2 (r IN NUMBER, luas OUT NUMBER) IS
phi NUMBER:=3.14;
BEGIN
luas := phi*r*r;
DBMS_OUTPUT.PUT_LINE(‘Luas lingkaran dengan jari-jari ‘||r||’ = ‘||luas);
END;
/
3.      IN OUT Parameter. Merupakan tipe parameter yang digunakan untuk mengirimkan sebuah nilai ke procedure yang kemudian akan di proses dan di kembalikan kepada si pemanggil proced.

FUNCTION

Function merupakan sebuah blok PL/SQL yang dapat mengembalikan sebuah nilai. Function juga dapat disimpan dalam sebuah schema object, sehingga dapat digunakan secara berulang-ulang.

Berikut Perbedaan Procedure dengan Function
Syntax Function :

    CREATE [OR REPLACE] FUNCTION function_name
    [(parameter1 [mode1] datatype1, …)]
    RETURN datatype IS|AS
    [local_variable_declarations; …]
    BEGIN
    – actions;
    RETURN expression;
    END [function_name];

Contoh :

    SET SERVEROUTPUT ON

CREATE OR REPLACE FUNCTION Lihat_Gaji (ID Employees.employee_id%TYPE)
    RETURN NUMBER
    IS
    Gaji NUMBER;
    BEGIN
    SELECT Salary INTO Gaji FROM Employees
    WHERE employee_id = id;
    RETURN Gaji;
    END;
Fungsi diatas adalah fungsi yang digunakan untuk melihat gaji employee berdasarkan employee_id.

Catatan

·         Subprogram dapat di gunakan untuk menyederhanakan suatu prosedur dan mengurangi duplikasi kode
·         Jika terjadi suatu kesalahan dalam pembuatan fungsi maka error list dapat dilihat dengan menggunakan perinta SHOW ERROR

Bentuk Umum :

CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
variabel_1 tipe_data;

BEGIN
statemen_1;

RETURN nilai_yang_dikembalikan;
END;

Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu.
Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function

Contoh Function Dengan Parameter :

CREATE OR REPLACE FUNCTION
pangkat (bil INTEGER, n INTEGER)
RETURN INTEGER AS
HASIL INTEGER(10);
I INTEGER;
BEGIN
HASIL := 1;
FOR I IN 1..n LOOP
HASIL := HASIL * bil;
END LOOP;
RETURN HASIL;
END;
/

SET SERVEROUTPUT ON
DECLARE
H INTEGER;
BEGIN
H := pangkat(2, 3);
DBMS_OUTPUT.PUT_LINE(‘Hasil = ‘ || TO_CHAR(H));
END;
/
Pada program ini kita membuat function dengan nama parameter pangkat. Function yang dibuat ini berfungsi  untuk menghasilkan angka yang ditambah dengan dua. Pada function ini dibutuhkan perulangan for i  1..n loop yang berfungsi untuk mengulang statement yang telah kita deklarasikan sebelumnya. Kemudian ketikkan sintaks hasil:= hasil * bil yang berfungsi untuk melakukan perintah pangkat. Setelah selesai maka akan muncul sintaks function created.
Selanjutnya kita buat program yang baru untuk memanggil function yang telah dibuat sebelumnya. Disini kita mendeklarasikan pangkat sesuai dengan yang kita ingnkan. Lalu gunakan perintah dbms_output.put_line (‘hasil = ‘||h); untuk mencetak hasil dari pangkat tersebut.

CURSOR

DECLARE
     CURSOR csr_ac IS
         SELECT employee_id, salary FROM employees
         WHERE first_name LIKE '%Alana%';

    xempno employees.first_name%type;
    xsal employees.salary%type;

BEGIN
    OPEN csr_ac;
    LOOP
    FETCH csr_ac INTO xempno, xsal;
    EXIT WHEN csr_ac%NOTFOUND;
    DBMS_OUTPUT.PUT_LINE(xempno || ' ' ||xsal);                 
    END LOOP ;
  CLOSE csr_ac;
END;

Penjelasan Perintah Cursor diatas :
-          Cursor bernama csr_ac  yang memilih dari employee_id dan salary dari tabel employees dimana yang dipilih dari nama Alana.
-          Deklarasi xempno dan xsal untuk first_name dan salary.
-          Kemudian membuka cursor csr_ac yang telah dibuat dan kemudian mengambil nilai cursor csr_ac dalam variable xempno dan xsal dan akan ditutup apabila nilainya kosong.
-          Kemudian ditampilkan sesuai variable xempno dan xsal, dan selesai perulangannya.
Kemudian ditutup cursor csr_ac dan selesai.

Tugas SQL 1 Kelompok 4


Tugas SQL 1 Kelompok 4

11390100028              Wildani A.Z
11390100009              Romi setiawan
11390100017              Angga F.K
11390100008              Aris Wijayanto
11390100029              Trionggo P.
12390100010              Prandinkha
12390100019              Catur

nama dosen : Titik Lusiani
Alamat Blog : Blog.stikom.edu/lusiani      
Pengertian Table
            Tabel adalah kumpulan data yang disusun berdasarkan baris dan kolom. Baris dan kolom ini berfungsi untuk menunjukkan data terkait keduanya. Dimana titik temu antara baris dan kolom adalah data yang dimaksud.
Sintax membuat tabel :
1.      CREATE TABLE employee
( id number(5),
name char(20),
dept char(10),
age number(2),
salary number(10),
location char(10) );

2.      CREATE TABLE pegawai
(nip CHAR(6) PRIMARY KEY,
 nama VARCHAR(50),
 alamat VARCHAR(100),
 tempat_lahir VARCHAR(30),
 tanggal_lahir DATE,
 gol CHAR(2),
 kode_jabatan CHAR(3),
 kode _fungsional CHAR(2));
Pengertian Alter Table
SQL ALTER TABLE Perintah ini digunakan untuk memodifikasi definisi (struktur) dari tabel dengan memodifikasi definisi kolom nya.

 

Sintaks untuk menambahkan kolom

ALTER TABLE table_name ADD column_name datatype;

Sintaks untuk menjatuhkan kolom

ALTER TABLE table_name DROP column_name;

Sintaks untuk mengubah nama tabel

RENAME old_table_name To new_table_name;

Pengertian View
SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. SQL View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain. SQL View dibuat atau dibangun dengan SELECT statement. Di dalam query SELECT tersebut kita bias menambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali. SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan,  mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Membuat VIEW
Sample :
CREATE VIEW CustomerNameView AS
SELECT [Name] AS CustomerName
FROM CUSTOMER;


Menggunakan VIEW :
SELECT *
FROM CustomerNameView




11390100028              Wildani A.Z
11390100009              Romi setiawan
11390100017              Angga F.K
11390100008              Aris Wijayanto
11390100029              Trionggo P.
12390100010              Prandinkha
12390100019              Catur
                       
Pengertian Table
            Tabel adalah kumpulan data yang disusun berdasarkan baris dan kolom. Baris dan kolom ini berfungsi untuk menunjukkan data terkait keduanya. Dimana titik temu antara baris dan kolom adalah data yang dimaksud.
Sintax membuat tabel :
1.      CREATE TABLE employee
( id number(5),
name char(20),
dept char(10),
age number(2),
salary number(10),
location char(10) );

2.      CREATE TABLE pegawai
(nip CHAR(6) PRIMARY KEY,
 nama VARCHAR(50),
 alamat VARCHAR(100),
 tempat_lahir VARCHAR(30),
 tanggal_lahir DATE,
 gol CHAR(2),
 kode_jabatan CHAR(3),
 kode _fungsional CHAR(2));
Pengertian Alter Table
SQL ALTER TABLE Perintah ini digunakan untuk memodifikasi definisi (struktur) dari tabel dengan memodifikasi definisi kolom nya.

 

Sintaks untuk menambahkan kolom

ALTER TABLE table_name ADD column_name datatype;

Sintaks untuk menjatuhkan kolom

ALTER TABLE table_name DROP column_name;

Sintaks untuk mengubah nama tabel

RENAME old_table_name To new_table_name;

Pengertian View
SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. SQL View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain. SQL View dibuat atau dibangun dengan SELECT statement. Di dalam query SELECT tersebut kita bias menambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali. SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan,  mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.
Membuat VIEW
Sample :
CREATE VIEW CustomerNameView AS
SELECT [Name] AS CustomerName
FROM CUSTOMER;


Menggunakan VIEW :
SELECT *
FROM CustomerNameView




Tugas Akhir Mata Kuliah