Pertemuan VI F U N C T I O N

dokumen-dokumen yang mirip
Membuat Function, Stored Procedur dan View pada MySQL

Pengertian. Mengapa SP? Mengapa SP? 07/05/2012 STORED PROCEDURE

Pertemuan I KONSEP DASAR STORED ROUTINES

Pertemuan IV CONDITION & HANDLER CURSOR

STRUCTURE QUERY LANGUAGE (SQL)

Pertemuan VII TRIGGERS

Modul 6 Function dan Trigger

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Basis Data 2. Procedure dan Function Database. Arif Basofi, S.Kom. MT. Teknik Informatika, PENS

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

Riyanto

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

TRIGGER TRIGGER 5/29/2017 HANI IRMAYANTI, S.KOM

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Mengenal MySQL Stored Procedure

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

STRUCTURE QUERY LANGUAGE DDL & DML

1. Kompetensi Memahami Store Procedure dan Function yang tidak lain merupakan perintahperintah SQL yang diletakkan di dalam server database.

Nama : Parisaktiana Fathonah NIM : Kelas : Prak Sistem Basis Data TI-2 B malam

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

STMIK SUMEDANG DATA DEFINITION LANGUAGE (DDL) TUGAS PRAKTEK PEMROGRAMAN BASIS DATA. Nama : NIKKI BAGUS N A NIM : A Kelas : TI 4A

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

Stored Procedure (create, calling SP dari Oracle dan dari JAVA)

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL 13 STRUKTRURED QUERY LANGUAGE

TABLE JOIN SQL SERVER 2005

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Statement DDL Create database drop database Create table drop table alter table

Praktikum Basis Data 14 Structure Query Language 2

Pengenalan Structured Query Language

Perangkat Lunak Pengembangan Web

STORE PROCEDURE. Pemrograman Client Server Sarji, S.Kom Studi kasus pada

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

1 TEKNOLOGI OBJECT-RELATIONAL DBMS pada ORACLE 10g

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Rencana Pelaksanaan Pembelajaran

MODUL V DATA MANIPULATION LANGUAGE (DML) 1

Stored Procedure. M. Saefudin SKom, MMSI

Transaction dan Trigger. M. Saefudin SKom, MMSI

KURSUS ONLINE JASA WEBMASTERS

Pertemuan 12 Pengenalan Structured Query Language

Database Interfaces. By: Arif Basofi

Pertemuan IX MANAJEMEN TRANSAKSI

Macam - Macam Perintah Pada SQL

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

Transact-SQL (Trigger- Event, Store Procedure)

VIEW : Tabel Virtual VIEW 5/29/2017

B a s i s D a t a C H A P T E R. SQL Operasi DML. Arif Basofi PENS 2015

MENGENAL SYNTAX DML PADA SQL

BAHASA QUERY KOMERSIAL

Structured Query Language

PERTEMUAN 9 MANIPULASI DATA

BAHASA QUERY KOMERSIAL

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

Basis Data Relational

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

PERTEMUAN 14 MENGONTROL AKSES USER

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

5/6/2010 KONSTRUK PROGRAM PL/SQL PROSEDUR STRUKTUR BLOK PADA BLOK ANONIM PL/SQL OVERVIEW MENGENAI SUBPROGRAM STRUKTUR BLOK PADA SUBPROGRAM PL/SQL

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

DATABASE RUMAH SAKIT 1. Objek yang dipakai a. Pasien b. Dokter c. Ruang d. Petugas e. Rawat_inap f. Pembayaran

P - 7 Pembahasan UTS PSIK V

B a s i s D a t a - 1 C H A P T E R. SQL Operasi DML. Copyright 2005 PENS-ITS

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

Oracle Academic Initiative

MODUL VII STORED PROCEDURE

STRUCTURED QUERY LANGUAGE (SQL)

BAB III STRUCTURED QUERY LANGUAGE (SQL)

Manajemen Transaksi A. Konsep Transaksi 1. Membuat Tabel account dengan type Innodb

BAB 4 : Interaksi PL/SQL dengan Oracle Server

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

BAB V CURSOR AND RESULT SETS

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

Constraint dan Manajemen Data dalam Timezone Berbeda

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui


Data Manipulation Language (DML)

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

RENCANA PEMBELAJARAN

Oracle Academic Initiative

MODUL 1 DATABASE MYSQL

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

BAHASA QUERY KOMERSIAL

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder

Transkripsi:

Pertemuan VI F U N C T I O N

TUJUAN : 1. Mahasiswa mampu untuk menjelaskan penggunaan fungsi. 2. Mahasiswa mampu untuk membuat store of function 3. Mahasiswa mampu untuk menginvoke sebuah fungsi 4. Mahasiswa mampu untuk meremove sebuah fungsi 5. Mahasiswa mampu untuk membedakan antara fungsi dan prsoedur

1. Overview Fungsi Fungsi adalah sebuah blok PL/SQL yang memiliki nama yg mengembalikan sebuah nilai. Fungsi dapat disimpan dalam database sebagai sebuah object schema. Sehingga pada saat tertentu dapat diulang kembali proses eksekusinya. Fungsi dapat dipanggil sebagai bagian dari sebuah expresi.

Syntaks : CREATE FUNCTION Function_name ([func_parameter [, ]]) RETURN type [characteristic..] routine_body

Keterangan : Parameter Function_name Func_parameter Nama dari fungsi Keterangan Nama dari paremeter yg nilainya akan dipassingkan ke fungsi, hanya mengenal IN parameter RETURN datatype Tipe data dari nilai RETURN yg merupakan output dari fungsi

Keterangan : (cont) Routine_body Characteristic: LANGUAGE SQL [NOT] DETERMINISTIC {CONTAINS SQL NO SQL READS SQL DATA MODIFIES SQL DATA } SQL SECURITY {DEFINER INVOKER } COMMENT string Routine_body Isi dari fungsi

Contoh : DELIMITER $$ DROP FUNCTION IF EXISTS `pbd`.`sfinventorycustomer`$$ CREATE FUNCTION `pbd`.`sfinventorycustomer` (p_inventory_id INT) RETURNS INT(11) BEGIN DECLARE v_customer_id INT; DECLARE EXIT HANDLER FOR NOT FOUND RETURN NULL; SELECT customer_id INTO v_customer_id FROM rental WHERE return_date IS NULL AND inventory_id = p_inventory_id; RETURN v_customer_id; END$$ DELIMITER ; select sfinventorycustomer(2047);

2. Keuntungan dari User-Defined Function dalam Ekspresi SQL. Keuntungan yang dapat diperoleh dari pembuatan user-defined function adalah: a) Mengijinkan perhitungan yang komplek dengan SQL. b) Meningkatkan independensi data dengan proses analisis data yang kompleks dalam server daripada hanya menampilkan data ke dalam aplikasi.

2. Keuntungan dari User-Defined Function dalam Ekspresi SQL.(cont) c) Meningkatkan efisiensi query dengan membuat fungsi dalam query di bandingkan di dalam aplikasi. d) Memanipulasi tipe data baru dari data dengan melakukan encoding string dan menggunakan fungsi untuk menjalankan string.

3. Invoke Fungsi dalam ekspresi SQL. Berikut adalah contoh bagaimana melakukan invoke sebuah fungsi dalam ekspresi SQL: DELIMITER $$ DROP FUNCTION IF EXISTS `pbd`.`sptax`$$ CREATE FUNCTION `pbd`.`sptax` (p_value decimal) RETURNS decimal (10,2) BEGIN RETURN (p_value * 0.10); END $$ DELIMITER ;

3. Invoke Fungsi dalam ekspresi SQL. (cont) Pada contoh diatas, dibuat sebuah fungsi dengan nama sptax. Kemudian fungsi tersebut akan diinvoke pada statement SQL. Pemanggilan fungsi pada ekspresi SQL dapat dilakukan dengan beberapa cara: a. Dipanggil pada perintah SELECT b. Dipanggil pada clausa kondisi dari WHERE dan HAVING. c. Dipanggil dari clause CONNECT BY, START WITH, ORDER BY dan GROUP BY. d. Pada klausa VALUES dari perintah INSERT. e. Pada klausa SET dari perintah UPDATE

3. Invoke Fungsi dalam ekspresi SQL. (cont) Contoh pemanggilan fungsi sptax pada ekspresi SQL: SELECT customer_id, sptax(amount) FROM payment WHERE sptax(amount) >= (SELECT MAX (sptax(amount)) FROM payment where staff_id = 31) ORDER BY amount DESC;

3. Invoke Fungsi dalam ekspresi SQL. (cont) Batasan / Restriksi Pemanggilan fungsi dari expresi SQL. Agar sebuah fungsi dapat diakses melalui ekspresi SQL maka: a. Harus merupakan store function. b. Hanya menerima parameter IN c. Menerima hanya tipe data SQL yang valid, bukan spesifik PL/SQL seperti parameter. d. Mengembalikan tipe data SQL yang valid, bukan spesifik tipe data PL/SQL. Catatan : hanya store function yang dapat dipanggil oleh ekspresi SQL, sedangkan store prosedur tidak bisa.

3. Invoke Fungsi dalam ekspresi SQL. (cont) Restriksi pemanggilan fungsi dari ekspresi SQL adalah : a. Fungsi yang dipanggil dari ekspresi SQL tidak dapat mengandung statement DDL. b. Fungsi yang dipanggil dari statement UPDATE/DELETE pada table T tidak dapat mengandung DDL pada table yang sama dengan T.

3. Invoke Fungsi dalam ekspresi SQL. (cont) c. Fungsi yang dipanggil dari statement UPDATE/DELETE pada table T tidak boleh mengandung query di table yang sama. d. Saat memanggil fungsi dari SELECT, INSERT, UPDATE, DELETE, fungsi tidak boleh mengandung statement SQL untuk control statement (misal COMMIT), session control statement (SET ROLE) atau system control statement (seperti ALTER SYSTEM) dan tidak boleh mengeksekusi DDL statement seperti CREATE karena akan diikuti dengan atomatik commit.

4. Remove Function : Untuk meremove store function digunakan syntax: DROP FUNCTION function_nama;

5. Perbandingan antara Prosedur dan Function Bagaimana membedakan antara prosedur dan function? a. Prosedur Prosedur berisi sekumpulan statement yang dapat dieksekusi kemudian. Prosedur dapat tidak berisi parameter atau lebih dari satu parameter yang dapat digunakan untuk mentransfer ke dan dari prosedur, tetapi prosedur tidak mengembalikan nilai. b. Fungsi Fungsi dibuat jika hendak menghitung suatu nilai, yang harus dikembalikan ke calling environment. Fungsi dapat terdiri lebih dari satu parameter yang ditransfer dari calling environment. Fungsi harus mengembalikan satu nilai tunggal dan nilai dikembalikan melalui statement RETURN. Fungsi yang digunakan tidak boleh menggunakan parameter mode OUT atau IN OUT.

5. Perbandingan antara Prosedur dan Function (cont) PROCEDURE Dijalankan sebagai statement PL/SQL Tidak mengandung klausa RETURNS pada header Dapat mengembalikan none, satu atau lebih nilai Dapat berisi RETURN statement FUNCTION Diinvoke sebagai bagian dari ekspresi Harus berisi klausa RETURNS pada header Harus mengembalikan sebuah nilai tunggal Harus berisi minimal satu RETURN statement