membuat function dalam mysql
-
Upload
sukangimpi -
Category
Education
-
view
1.005 -
download
3
Transcript of membuat function dalam mysql
![Page 1: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/1.jpg)
MEMBUAT DAN
MENGOPERASIKAN
FUNCTION
![Page 2: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/2.jpg)
PENGERTIAN FUNCTION
Function adalah
kumpulan-kumpulan SQL berupa routine yang di
simpan dalam database MySQL Server. biasanya
function ini dikombinasikan dengan store
pocedure atau bisa juga tidak di kombinasikan
dengan store procedure
![Page 3: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/3.jpg)
BEBERAPA KEUNTUNGANMENGGUNAKAN STORED PROCEDURE
DAN STORED FUNCTION
• Lebih cepat
• Menghilangkan duplikasi proses
• Pemeliharaan yang mudah
• Meningkatkan keamanan database
![Page 4: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/4.jpg)
CONTOH PERINTAH FUNCTION MENGHITUNG
JUMLAH SISWA
DELIMITER //
CREATE FUNCTION siswa_kelas (p_kelas int) RETURNS INT DETERMINISTIC
BEGIN
DECLARE jml INT;
SELECT COUNT(*) AS jml_kelas INTO jml FROM tb_siswa WHERE kelas = p_kelas;
RETURN jml;
END//
![Page 5: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/5.jpg)
CARA PEMANGGILANNYA ADALAH SEBAGAI
BERIKUT
select siswa_kelas(“MIFXW41/14");
//
![Page 6: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/6.jpg)
CONTOH FUNCTION MENGHITUNG JUMLAH
SISWA
![Page 7: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/7.jpg)
KETERANGAN PERINTAH FUNCTION ADALAH
SEBAGAI BERIKUT
• DELIMITER adalah untuk memberi tahu kepada myql
soal delimiter yang digunakan, secara default
menggunakan ; jadi bila ada tanda ; mysql akan
mengartikan akhir dari statement, pada contoh di atas
delimeter yang digunakan // jadi akhir statementnya
adalah //
![Page 8: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/8.jpg)
CREATE FUNCTION
• CREATE FUNCTION adalah header untuk membuat
sebuah function.
![Page 9: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/9.jpg)
RETURNS
• RETURNS adalah untuk menentukan tipe data yang di
return-kan oleh sebuah function.
![Page 10: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/10.jpg)
DETERMINISTIC/ NOT DETERMINISTIC
• DETERMINISTIC/ NOT DETERMINISTIC adalah untuk
menentukan yang bisa menggunakan function ini adalah
user pembuatnya saja (determinisric) atau user siapa saja
(not determinisric).
• Untuk penulisan DETEMINISTIC bisa ditulis secara
implisit dengan memberikan setting global pada mysql
dan secara default benilai NOT DETEMINISTIC.
![Page 11: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/11.jpg)
BEGIN END
• BEGIN END adalah body dari function jadi semua SQL
nya di tulis disini.
![Page 12: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/12.jpg)
CONTOH PENGGUNAAN PERINTAH CASE DALAM FUNGSI
GETDISKON() DIMANA FUNGSI INI MENENTUKAN DISKON
BERDASARKAN JUMLAH PESANAN YANG DILAKUKAN.
• DELIMITER //
• CREATE FUNCTION getDiskon(jumlah INT)
• RETURNS int(11)
• BEGIN
• DECLARE diskon INT; CASE
• WHEN (jumlah >= 100) THEN SET
diskon = 10;
• WHEN (jumlah >= 50 AND jumlah < 100) THEN SET
diskon = 5;
• WHEN (jumlah >= 20 AND jumlah < 50) THEN SET
diskon = 3;
• ELSE SET diskon = 0; END CASE;
• RETURN diskon;
• END//
![Page 13: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/13.jpg)
![Page 14: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/14.jpg)
Contoh Function Menghitung Volume Segitiga
• create function volume (panjang int, lebar int, tinggi int) returns int
• deterministic
• begin
• declare volum int;
• set volum = panjang * lebar * tinggi;
• return volum;
• end//
![Page 15: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/15.jpg)
CARA PEMANGGILAN FUNCTION NYA ADALAH
SEBAGAI BERIKUT :
• Select volume (12,13,2);
• //
![Page 16: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/16.jpg)
Contoh Function Menghitung Volume Segitiga
![Page 17: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/17.jpg)
MEMBUAT DAN
MENGOPERASIKAN
PROSEDUR TANPA
PARAMETER DAN
BERPARAMETER
![Page 18: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/18.jpg)
PENGERTIAN PROCEDURE
• Prosedur adalah sebuah blok SQL yang dapat berdiri
sendiri serta dikompilasi untuk selanjutnya masuk
kedalam skema database.
• Nama prosedur yang dibuat kemudian menjadi objek
dengan tipe prosedur.prosedur akan dieksekusi pada
saat pemanggilan setelah sebelumnya dibuat terlebih
dahulu.
![Page 19: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/19.jpg)
BENTUK UMUM PROSEDUR ADALAH SEBAGAI
BERIKUT
CREATE OR REPLACE PROCEDURE
Nama_prosedur
(parameter_1 tipe_data,...) AS
Variabel_1 tipe_data;
....
BEGIN
Statement_1;
....
END;
![Page 20: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/20.jpg)
CONTOH PERINTAH PEMBUATAN STORED
PROCEDURE
![Page 21: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/21.jpg)
CARA PEMANGGILAN STORED PROCEDURE
• CALL SALAM();
• //
![Page 22: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/22.jpg)
![Page 23: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/23.jpg)
PROCEDURE TANPA PARAMETER
Parameter adalah data masukan untuk sub program
SQL yang nantinya akan diproses lebih lanjut dalam
subprogram SQL tersebut.
![Page 24: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/24.jpg)
CONTOH PEMBUATAN PROCEDURE TANPA
PARAMETER
![Page 25: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/25.jpg)
CONTOH PROCEDURE BERPARAMETER
![Page 26: membuat function dalam mysql](https://reader034.fdocuments.net/reader034/viewer/2022042501/55ac0f3f1a28ab3a148b4625/html5/thumbnails/26.jpg)
CARA PEMANGGILANNYA ADALAH SEBAGAI
BERIKUT