Rangkuman
PBD II
Function
Function adalah suatu blok PL/SQL yang memiliki
konsep sama dengan procedure, hanya saja pada function terdapat pengembalian
nilai (return value).
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.
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 Tanpa Parameter :
·
CREATE OR REPLACE FUNCTION tulis_teks RETURN
VARCHAR2 AS
S VARCHAR2(20)
S VARCHAR2(20)
BEGIN
S := ‘HALLO SEMUA’;
RETURN S;
END;
S := ‘HALLO SEMUA’;
RETURN S;
END;
·
SET SERVEROUTPUT ON
DECLARE
X VARCHAR2(20);
X VARCHAR2(20);
BEGIN
X := tulis_teks;
X := tulis_teks;
DBMS_OUTPUT.PUT_LINE(X);
END;
END;
Contoh
Function Dengan Parameter :
·
CREATE OR REPLACE FUNCTION
pangkat (bil INTEGER, n
INTEGER)
RETURN INTEGER AS
HASIL INTEGER(10);
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;
HASIL := 1;
FOR I IN 1..n LOOP
HASIL := HASIL * bil;
END LOOP;
RETURN HASIL;
END;
·
SET SERVEROUTPUT ON
DECLARE
H INTEGER;
DECLARE
H INTEGER;
BEGIN
H := pangkat(2, 3);
H := pangkat(2, 3);
DBMS_OUTPUT.PUT_LINE(‘Hasil = ‘
|| TO_CHAR(H));
END;
END;
Contoh
Function Dalam Function :
·
CREATE OR REPLACE FUNCTION kuadrat (X NUMBER)
RETURN NUMBER AS
HASIL NUMBER(10);
HASIL NUMBER(10);
BEGIN
HASIL := X * X;
HASIL := X * X;
RETURN HASIL;
END;
END;
·
CREATE OR REPLACE FUNCTION determinan
(a NUMBER, b NUMBER, c NUMBER)
(a NUMBER, b NUMBER, c NUMBER)
RETURN NUMBER AS
D NUMBER(10);
D NUMBER(10);
BEGIN
D := kuadrat(b) – (4 * a * c);
D := kuadrat(b) – (4 * a * c);
RETURN D;
END;
END;
·
SET SERVEROUTPUT ON
DECLARE
D NUMBER(10);
D NUMBER(10);
BEGIN
D := determinan(1, 1, -6);
D := determinan(1, 1, -6);
DBMS_OUTPUT.PUT_LINE(‘Nilai
determinan = ‘ || TO_CHAR(D));
END;
END;
10390100042
Abd. Alim
Abd. Alim
Tidak ada komentar:
Posting Komentar