Sunday, May 3, 2020

Oracle Apex 12 - Procedure dan Function di PL/SQL

Assalamu'alaikum

Selamat malam, salam database. Gimana kabar kawan-kawan? semoga sehat selalu ya.. Udah lama nih ngga update blog karena banyak faktor belakangan ini jadi bikin mager juga mau nulis atau buat karya hahha. Mungkin karena belakangan ini mulai gabut juga akhirnya saya memutuskan untuk melanjutkan untuk menulis kembali artikel artikel yang sudah lama sebenernya saya ingin sampaikan. 

Kita lanjut kembali dengan pembahasan tentang oracle apex ya atau pembahasan tentang PLSQL yang pastinya melanjutkan dari pembahasan sebelumnya, yuk kilas balik lagi ke artikel sebelumnya. Kali ini saya ingin membahas bagaimana cara melakukan query data di PLSQL dengan menggunakan procedure dan function. Langsung aja, berikut pembahasannya.

Procedure dan Function PLSQL

Seperti yang sudah kita tau, PLSQL itu berbeda dari SQL query biasa. Hal ini di karenakan PL juga merupakan procedural language artinya kita bisa melakukan query dengan beberapa logika bahasa pemrograman dan procedure maupun funtion adalah salah satunya. Didalam PLSQL kita bisa membuat procedure dan funtion yang tujuannya agar procedure dan function itu bisa kita gunakan berkali-kali atau reuse terhadap query yang ingin kita jalankan. 

Membuat dan Menghapus Procedure

Sebelum memulai ke pembahasan praktik, terlebih dahulu kalian tau apa itu procedure. Procedure pada oracle PLSQL adalah salah satu sub program di oracle PL/SQL yang tidak memberikan nilai return value secara langsung. Procedure disimpan di dalam database. Untuk membuat procedure kita tinggal memasukan sintaks atau script ke dalam query. 

CREATE OR REPLACE PROCEDURE cetak_tulisan
IS
  CNT INT(3);

BEGIN
  FOR CNT IN 1..5 LOOP
    DBMS_OUTPUT.PUT_LINE('Selamat Belajar PL/SQL.. PL/SQL Itu Asyik');
  END LOOP;

END cetak_tulisan;
Jika sudah maka ketika di eksekusi akan menghasilkan output seperti ini.

Procedure created.
Untuk mengakses procedure yang sudah kita buat caranya cukup mudah, kita tinggal akses saja nama procedure yang di buat tadi pada query yang baru dengan menggunakan struktur PLSQL pastinya.
 
DECLARE

BEGIN
cetak_tulisan();

END;
Maka output dari query yang kita buat dengan hasil dari pemanggilan procedure seperti ini. 

Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Selamat Belajar PL/SQL.. PL/SQL Itu Asyik
Untuk menghapus procedure, kita tinggal melakukan query sederhana berikut ini. Maka otomatis akan memunculkan output bahwa procedure sudah di hapus atau drop

DROP PROCEDURE cetak_tulisan;
Procedure dropped.

Procedure Input Data Sederhana

Jika sudah tau cara untuk membuat procedure, sekarang kita akan coba untuk membuat procedure untuk query input data sederhana. Berbeda dari procedure yang di contohkan di atas, pada procedure ini kita akan membuat parameter agar data yang dikirimkan ke procedure dikirim melalui parameternya. 


Karena ini input data sederhana, tabel yang saya gunakan disini hanya memiliki 3 attribute yaitu kode_pelanggan, nama_pelanggan dan alamat_pelanggan. Untuk parameternya disini saya hanya menggunakan 2 attribute yaitu nama dan alamat saja, untuk primary key kode_pelanggan disini saya menggunakan program increment dengan mendeketeksi nilai max terbaru di tabel Pelanggan. Berikut sintaks untuk procedurenya. 
 
CREATE OR REPLACE PROCEDURE Insert_Data_Pelanggan
   (name IN PELANGGAN.Nama_Pelanggan%TYPE,
    alamat IN PELANGGAN.Alamat_Pelanggan%Type)
IS
   ID_Pel NUMBER (3);
BEGIN
   SELECT MAX(Kode_Pelanggan) INTO ID_Pel FROM PELANGGAN;
   INSERT INTO PELANGGAN (Kode_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan)
   VALUES ((ID_Pel + 1), name, alamat);
END Insert_Data_Pelanggan;

Dan ini query untuk menjalankan procedurenya.

DECLARE

BEGIN
Insert_Data_Pelanggan('Amelia', 'Tanggerang');

END;
Maka hasilnya akan seperti ini. 

Membuat Function di PLSQL

Selanjutnya kita coba buat function. Bedanya dari procedure, function memberikan nilai return value untuk dikirimkan ulang. Contoh function yang saya akan contohkan disini adalah function penjumlahan 2 bilangan sederhana biasa. Dan sama seperti contoh diatas, saya akan menggunakan parameter bil1 dan bil2 untuk ditampung dalam functionnya. Berikut query pembuatan functionnya.

CREATE OR REPLACE FUNCTION tambah(bil1 in NUMBER, bil2 in NUMBER)
RETURN NUMBER IS
   jumlah NUMBER(5);
BEGIN
    jumlah := bil1+bil2;
  
    RETURN jumlah;
END tambah;
Dan ini query untuk pemanggilan function penjumlahannya. 

DECLARE
  bil1 NUMBER(3);
  bil2 NUMBER(3);

BEGIN
  bil1 := 10;
  bil2 := 5;
  DBMS_OUTPUT.PUT_LINE('Hasil penjumlahan '||bil1||' dan '||bil2||' adalah '|| tambah(bil1, bil2));

END;
Maka hasilnya akan seperti berikut ini.

Hasil penjumlahan 10 dan 5 adalah 15
Demikian penjelasan singkat mengenai procedure dan function di PLSQL Oracle. Semoga bermanfaat dan memudahkan pembaca. Kita lanjutkan pembahasan di artikel selanjutnya. Terima kasih, salam database. 
 

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment