SlideShare a Scribd company logo
Stored Procedure &
Function
Pertemuan 7
Praktikum Manajemen Sistem Basis Data
Praktikum Manajemen Sistem Basis Data
Apa yang akan kita
bahas?
● Pendahuluan
● Procedure & Function
● Tugas
Pendahuluan
Procedure & Function
Praktikum Manajemen Sistem Basis Data
● Merupakan bagian dari Stored Program pada MYSQL
● Procedure dan Function sama sama menyimpan kumpulan statement
SQL yang dapat digunakan secara berulang.
● Perbedaan yang mencolok di antara keduanya ialah :
○ Procedure dapat memberikan nilai kembalian (Opsional)
○ Function harus memberikan nilai kembalian/return
Stored Procedure
Stored Procedure
Praktikum Manajemen Sistem Basis Data
● Kumpulan perintah/prosedur yang dapat kita simpan di dalam
database yang dapat menerima inputan dan memberikan output.
● Dapat dimanfaatkan untuk :
○ Mengeksekusi perintah SQL yang sering digunakan.
○ Menjalankan perintah INSERT, UPDATE, atau DELETE menjadi lebih
singkat.
○ Mengimplementasikan logic bisnis dari suatu aplikasi dalam satu
kesatuan, dll.
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Kita bisa mem-pass parameter ke dalam Procedure,
● IN => Memasukan nilai kedalam Procedure melalui parameter
● OUT => Nilai kembalian(output) dari Procedure
● INOUT => Berperan sebagai nilai masukkan dan keluaran
NOTE : Jika kita tidak menyertakan kata kunci IN pada parameter, maka
secara default variabel tersebut merupakan parameter INPUT.
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Syntax:
CREATE PROCEDURE nama_procedure(param1 data_type, param2 data_type, …)
BEGIN
[Kumpulan perintah SQL]
END;
Call Procedure :
CALL nama_procedure([params]);
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE OR REPLACE PROCEDURE getWriter()
BEGIN
SELECT * FROM penulis;
END $$
DELIMITER ;
Call Procedure : CALL getWriter();
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE OR REPLACE PROCEDURE getMahasiswaByStambuk(tahun INT(4))
BEGIN
SELECT * FROM mahasiswa WHERE stambuk = tahun;
END $$
DELIMITER ;
Call Procedure : CALL getMahasiswaByStambuk(2019);
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE OR REPLACE PROCEDURE insertBuku(IN judul_buku_param VARCHAR(255), IN
id_penulis_param INT, IN tahun_param INT(4), IN bahasa_param VARCHAR(255), OUT
jumlah_buku_output VARCHAR(255))
BEGIN
DECLARE jlh_buku INT;
INSERT INTO buku (judul, id_penulis, tahun, bahasa) VALUES(judul_buku_param,
id_penulis_param, tahun_param, bahasa_param);
SELECT COUNT(*) INTO jlh_buku FROM buku;
SET jumlah_buku_output = CONCATE('Buku berhasil ditambahkan, total buku
sekarang = ', jlh_buku);
END $$
DELIMITER ;
Stored Procedure
Praktikum Manajemen Sistem Basis Data
CALL Procedure :
CALL insertBuku( 'Niat Grinding Malah Glinding: Mobile Legends
Edition', 7, 2023, 'Indonesia', @total_buku);
SELECT @total_buku;
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE PROCEDURE kuadrat(INOUT angka_param int)
BEGIN
SELECT (angka_param * angka_param) into angka_param;
END $$
DELIMITER ;
Call Procedure : SET @angka = 8;
CALL kuadrat(@angka);
SELECT @angka;
Stored Function
Stored Function
Praktikum Manajemen Sistem Basis Data
● Kumpulan perintah/prosedur yang disimpan dan akan mengembalikan
suatu nilai.
● Stored function ini bekerja seperti function mysql (AVG, SUM, MAX, dll)
namun stored function adalah function yang kita definisikan sendiri.
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Syntax:
CREATE FUNCTION nama_function (parameter1 datatype, parameter2 datatype, …)
RETURNS datatype
[NOT] DETERMINISTIC
BEGIN
[Kumpulan Perintah SQL]
RETURN something
END $$
DELIMITER ;
Stored Procedure
Praktikum Manajemen Sistem Basis Data
DETERMINISTIC
The DETERMINISTIC keyword is not necessary in all cases (although if binary
logging is on, leaving it out will throw an error), and is to help the query optimizer
choose a query plan. A deterministic function is one that, given the same
arguments, will always return the same result.
For further information, you can see here STACKOVERFLOW
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE FUNCTION perkalian(a INT, b INT) RETURNS INT
BEGIN
RETURN a*b;
END $$
DELIMITER ;
Call Procedure : SELECT perkalian(4, 2);
Stored Procedure
Praktikum Manajemen Sistem Basis Data
Contoh:
DELIMITER $$
CREATE OR REPLACE FUNCTION usia(id INT) RETURNS INT
BEGIN
DECLARE lahir date; DECLARE sekarang date; DECLARE thn INT;
SET lahir = (SELECT tanggal_lahir FROM penulis WHERE id_penulis=id);
SET sekarang = now();
SET thn = 365;
RETURN DATEDIFF(sekarang, lahir)/thn;
END $$
DELIMITER ;
Call Procedure : SELECT usia(7);
TUGAS
Praktikum Manajemen Sistem Basis Data
Tugas Pertemuan #7 Stored Procedure & Function
Masuk ke mysql lalu buat file log tee untuk merekam semua query di sql anda! click untuk melihat
tutorial. Gunakan bahan ajar kita `sample_buku.sql` untuk mengerjakan tugas ini.
NO 1 :
Perpustakaan tersebut menerapkan aturan bagi yang telat mengembalikan buku, yaitu denda senilai
Rp 2000,-/hari setelah waktu pinjam. Buatlah sebuah Stored Function untuk menghitung denda
tersebut. (Format nama Function => [nimAnda]_denda(id_peminjaman_buku_param INT)).
NOTE : Denda hanya berlaku bagi mahasiswa yang belum mengembalikan buku setelah melewati
waktu pinjam.
Praktikum Manajemen Sistem Basis Data
NO 2:
Buatlah Procedure untuk menampilkan data peminjaman buku yang masuk dalam kategori TELAT
mengembalikan buku. Data yang akan ditampilkan adalah Nim, Nama, Judul Buku, Tanggal Kembali,
Jumlah Denda. (Format nama Procedure => [nimAnda]_listTelat() ).
HINT: Manfaatkan fungsi pada soal pertama yang telah kalian buat untuk menentukan Jumlah Denda.
File yang dikumpul adalah file .txt dari hasil log anda.
Format File : Nama_NIM_Tugas_P7.txt
Deadline : Kamis, 23 Oktober 2023 Pukul 23.59 WIB
Tugas Pertemuan #7 Stored Procedure & Function
TERIMAKASIH
Apakah ada yang ingin
ditanyakan?

More Related Content

Similar to #7 - Stored Procedure And Function.pptx

Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniter
Eidelbert Sinaga
 
Modul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBCModul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBC
Rakhmat Dedi Gunawan
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQL
Hari Setiaji
 
Stored Procedure
Stored ProcedureStored Procedure
Stored Procedure
Putra Andry
 
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Doni Tobing
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Individual Consultants
 
Stored procedure
Stored procedureStored procedure
Stored procedure
Prasetyo Herfianto
 
Stored procedure
Stored procedureStored procedure
Stored procedure
Putra Andry
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
Universitas Bina Darma Palembang
 
CCIT OOP Pertemuan 2
CCIT OOP Pertemuan 2CCIT OOP Pertemuan 2
CCIT OOP Pertemuan 2
giamuhammad
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di android
Into Setiawan
 
filter data pada datatables server side 5 menggunakan yajra laravel adminlte
filter data pada datatables server side 5 menggunakan yajra laravel adminltefilter data pada datatables server side 5 menggunakan yajra laravel adminlte
filter data pada datatables server side 5 menggunakan yajra laravel adminlte
Adi Nata
 
2 model eer
2 model eer2 model eer
2 model eer
Danar Retno Sari
 
Ansanwan form sederhana php
Ansanwan form sederhana phpAnsanwan form sederhana php
Ansanwan form sederhana php
Sigit Ariyanto
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Debby Ummul
 
sqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptxsqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptx
AhmadSyaifuddin35
 
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
DicodingEvent
 

Similar to #7 - Stored Procedure And Function.pptx (20)

Form validation dengan code igniter
Form validation dengan code igniterForm validation dengan code igniter
Form validation dengan code igniter
 
Modul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBCModul PBO Bab-11 - JDBC
Modul PBO Bab-11 - JDBC
 
Tutorial Postgre SQL
Tutorial Postgre SQLTutorial Postgre SQL
Tutorial Postgre SQL
 
Stored Procedure
Stored ProcedureStored Procedure
Stored Procedure
 
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
Panduan Pemrograman Berbasis Web dengan HTML, PHP, dan Database MySQL Part 2 ...
 
Makalah bd
Makalah bdMakalah bd
Makalah bd
 
Jsp
JspJsp
Jsp
 
Jeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design PatternJeni Web Programming Bab 15 J2 Ee Design Pattern
Jeni Web Programming Bab 15 J2 Ee Design Pattern
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
As400
As400As400
As400
 
16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)16406 pertemuan17(konsep basis-data-di-web)
16406 pertemuan17(konsep basis-data-di-web)
 
CCIT OOP Pertemuan 2
CCIT OOP Pertemuan 2CCIT OOP Pertemuan 2
CCIT OOP Pertemuan 2
 
Program database sederhana di android
Program database sederhana di androidProgram database sederhana di android
Program database sederhana di android
 
filter data pada datatables server side 5 menggunakan yajra laravel adminlte
filter data pada datatables server side 5 menggunakan yajra laravel adminltefilter data pada datatables server side 5 menggunakan yajra laravel adminlte
filter data pada datatables server side 5 menggunakan yajra laravel adminlte
 
2 model eer
2 model eer2 model eer
2 model eer
 
Ansanwan form sederhana php
Ansanwan form sederhana phpAnsanwan form sederhana php
Ansanwan form sederhana php
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
sqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptxsqlinjection-230606224413-2efc0d99.pptx
sqlinjection-230606224413-2efc0d99.pptx
 
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
 

#7 - Stored Procedure And Function.pptx

  • 1. Stored Procedure & Function Pertemuan 7 Praktikum Manajemen Sistem Basis Data
  • 2. Praktikum Manajemen Sistem Basis Data Apa yang akan kita bahas? ● Pendahuluan ● Procedure & Function ● Tugas
  • 4. Procedure & Function Praktikum Manajemen Sistem Basis Data ● Merupakan bagian dari Stored Program pada MYSQL ● Procedure dan Function sama sama menyimpan kumpulan statement SQL yang dapat digunakan secara berulang. ● Perbedaan yang mencolok di antara keduanya ialah : ○ Procedure dapat memberikan nilai kembalian (Opsional) ○ Function harus memberikan nilai kembalian/return
  • 6. Stored Procedure Praktikum Manajemen Sistem Basis Data ● Kumpulan perintah/prosedur yang dapat kita simpan di dalam database yang dapat menerima inputan dan memberikan output. ● Dapat dimanfaatkan untuk : ○ Mengeksekusi perintah SQL yang sering digunakan. ○ Menjalankan perintah INSERT, UPDATE, atau DELETE menjadi lebih singkat. ○ Mengimplementasikan logic bisnis dari suatu aplikasi dalam satu kesatuan, dll.
  • 7. Stored Procedure Praktikum Manajemen Sistem Basis Data Kita bisa mem-pass parameter ke dalam Procedure, ● IN => Memasukan nilai kedalam Procedure melalui parameter ● OUT => Nilai kembalian(output) dari Procedure ● INOUT => Berperan sebagai nilai masukkan dan keluaran NOTE : Jika kita tidak menyertakan kata kunci IN pada parameter, maka secara default variabel tersebut merupakan parameter INPUT.
  • 8. Stored Procedure Praktikum Manajemen Sistem Basis Data Syntax: CREATE PROCEDURE nama_procedure(param1 data_type, param2 data_type, …) BEGIN [Kumpulan perintah SQL] END; Call Procedure : CALL nama_procedure([params]);
  • 9. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE OR REPLACE PROCEDURE getWriter() BEGIN SELECT * FROM penulis; END $$ DELIMITER ; Call Procedure : CALL getWriter();
  • 10. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE OR REPLACE PROCEDURE getMahasiswaByStambuk(tahun INT(4)) BEGIN SELECT * FROM mahasiswa WHERE stambuk = tahun; END $$ DELIMITER ; Call Procedure : CALL getMahasiswaByStambuk(2019);
  • 11. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE OR REPLACE PROCEDURE insertBuku(IN judul_buku_param VARCHAR(255), IN id_penulis_param INT, IN tahun_param INT(4), IN bahasa_param VARCHAR(255), OUT jumlah_buku_output VARCHAR(255)) BEGIN DECLARE jlh_buku INT; INSERT INTO buku (judul, id_penulis, tahun, bahasa) VALUES(judul_buku_param, id_penulis_param, tahun_param, bahasa_param); SELECT COUNT(*) INTO jlh_buku FROM buku; SET jumlah_buku_output = CONCATE('Buku berhasil ditambahkan, total buku sekarang = ', jlh_buku); END $$ DELIMITER ;
  • 12. Stored Procedure Praktikum Manajemen Sistem Basis Data CALL Procedure : CALL insertBuku( 'Niat Grinding Malah Glinding: Mobile Legends Edition', 7, 2023, 'Indonesia', @total_buku); SELECT @total_buku;
  • 13. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE PROCEDURE kuadrat(INOUT angka_param int) BEGIN SELECT (angka_param * angka_param) into angka_param; END $$ DELIMITER ; Call Procedure : SET @angka = 8; CALL kuadrat(@angka); SELECT @angka;
  • 15. Stored Function Praktikum Manajemen Sistem Basis Data ● Kumpulan perintah/prosedur yang disimpan dan akan mengembalikan suatu nilai. ● Stored function ini bekerja seperti function mysql (AVG, SUM, MAX, dll) namun stored function adalah function yang kita definisikan sendiri.
  • 16. Stored Procedure Praktikum Manajemen Sistem Basis Data Syntax: CREATE FUNCTION nama_function (parameter1 datatype, parameter2 datatype, …) RETURNS datatype [NOT] DETERMINISTIC BEGIN [Kumpulan Perintah SQL] RETURN something END $$ DELIMITER ;
  • 17. Stored Procedure Praktikum Manajemen Sistem Basis Data DETERMINISTIC The DETERMINISTIC keyword is not necessary in all cases (although if binary logging is on, leaving it out will throw an error), and is to help the query optimizer choose a query plan. A deterministic function is one that, given the same arguments, will always return the same result. For further information, you can see here STACKOVERFLOW
  • 18. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE FUNCTION perkalian(a INT, b INT) RETURNS INT BEGIN RETURN a*b; END $$ DELIMITER ; Call Procedure : SELECT perkalian(4, 2);
  • 19. Stored Procedure Praktikum Manajemen Sistem Basis Data Contoh: DELIMITER $$ CREATE OR REPLACE FUNCTION usia(id INT) RETURNS INT BEGIN DECLARE lahir date; DECLARE sekarang date; DECLARE thn INT; SET lahir = (SELECT tanggal_lahir FROM penulis WHERE id_penulis=id); SET sekarang = now(); SET thn = 365; RETURN DATEDIFF(sekarang, lahir)/thn; END $$ DELIMITER ; Call Procedure : SELECT usia(7);
  • 20. TUGAS
  • 21. Praktikum Manajemen Sistem Basis Data Tugas Pertemuan #7 Stored Procedure & Function Masuk ke mysql lalu buat file log tee untuk merekam semua query di sql anda! click untuk melihat tutorial. Gunakan bahan ajar kita `sample_buku.sql` untuk mengerjakan tugas ini. NO 1 : Perpustakaan tersebut menerapkan aturan bagi yang telat mengembalikan buku, yaitu denda senilai Rp 2000,-/hari setelah waktu pinjam. Buatlah sebuah Stored Function untuk menghitung denda tersebut. (Format nama Function => [nimAnda]_denda(id_peminjaman_buku_param INT)). NOTE : Denda hanya berlaku bagi mahasiswa yang belum mengembalikan buku setelah melewati waktu pinjam.
  • 22. Praktikum Manajemen Sistem Basis Data NO 2: Buatlah Procedure untuk menampilkan data peminjaman buku yang masuk dalam kategori TELAT mengembalikan buku. Data yang akan ditampilkan adalah Nim, Nama, Judul Buku, Tanggal Kembali, Jumlah Denda. (Format nama Procedure => [nimAnda]_listTelat() ). HINT: Manfaatkan fungsi pada soal pertama yang telah kalian buat untuk menentukan Jumlah Denda. File yang dikumpul adalah file .txt dari hasil log anda. Format File : Nama_NIM_Tugas_P7.txt Deadline : Kamis, 23 Oktober 2023 Pukul 23.59 WIB Tugas Pertemuan #7 Stored Procedure & Function
  • 23. TERIMAKASIH Apakah ada yang ingin ditanyakan?