SlideShare a Scribd company logo
1 of 11
MATERI PART 5 – Prak. BASISDATA
FUNCTION DAN PROSEDURE
LABORATORIUM 4 – BASISDATA
MENU PART INI :
1. Intro Stored Routine
2. Function
a. Membuat function
b. Melihat function yang telah dibuat
c. Menghapus function
3. Procedure
a. Membuat procedure
b. Parameter dalam procedure
i. Parameter IN
ii. Parameter OUT
iii. Parameter INOUT
iv. Melihat procedure yang telah dibuat
v. Menghapus procedure
4. Pemrograman di Function dan Procedure
a. Variabel
b. Kendali Kondisional.
i. Kendali IF
ii. Kendali CASE
c. Perulangan
i. Perulangan WHILE
ii. Perulangan REPEAT … UNTIL
iii. Perulangan LOOP
1. Fuction
Sebuah function dapat digunakan secara langsung dalam statement SELECT,
UPDATE, dan DELETE. Hasil dari function dapat dikembalikan sebagai
output. Sebuah function hanya dapat mengembalikan sebuah nilai saja.
1.1 Membuat fuction
Sebelum kita membuat function terlebih dahulu kita siapkan sebuah
tabel terlebih dahulu.
mysql> select*from pekerja;
+------------+---------------+
| nama_depan | nama_belakang |
+------------+---------------+
| John | Doe |
| Alison | Mathews |
| James | Smith |
| Celia | Rice |
| Robert | Black |
| Linda | Green |
| David | Larry |
| Hercule | Poirot |
| Lincoln | Rhyme |
| Sherlock | Holmes |
+------------+---------------+
10 rows in set (0.00 sec)
Selanjutnya kita membuat function
mysql> delimiter //
mysql> create function nama_lengkap(in_nama_depan varchar(15),
in_nama_belakang varchar(15))
-> returns varchar(35)
-> begin
-> return concat(in_nama_depan,' ',in_nama_belakang);
-> end //
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> select nama_lengkap(nama_depan,nama_belakang) from pekerja;
+-----------------------------------------+
| nama_lengkap(nama_depan, nama_belakang) |
+-----------------------------------------+
| John Doe |
| Alison Mathews |
| James Smith |
| Celia Rice |
| Robert Black |
| Linda Green |
| David Larry |
| Hercule Poirot |
| Lincoln Rhyme |
| Sherlock Holmes |
+-----------------------------------------+
10 rows in set (0.00 sec)
1.2 Melihat fuction yang telah dibuat
Function apa saja yang telah kita buat dapat dilihat menggunakan
statement SHOW FUNCTION STATUS.
mysql> show function status;
1.3 Menghapus function
Function yang telah dibuat dapat dihapus menggunakan DROP FUNCTION
nama_function.
mysql> DROP FUNCTION full_name;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW FUNCTION STATUS;
Empty set (0.00 sec)
2. Procedure
Procedure dapat berisi statement SQL (INSERT, UPDATE, DELETE, SELECT)
atau operasi lain yang disimpan dalam database. Sebuah procedure
dapat dipanggil menggunakan statement CALL nama_procedure disertai
parameter yang diperlukan.
2.1 membuat procedure
sintaks untuk membuat procedure adalah sebagai berikut;
CREATE PROCEDURE nama_procedure (parameter_procedure())routine_body
Berikut contoh pembuatan procedure:
mysql> delimiter //
mysql> create procedure show_pekerja()
-> begin
-> select*from pekerja;
-> end //
Query OK, 0 rows affected (0.00 sec)
mysql> alter table <nama tabel> add nama kolom (tipe data)(20);
mysql> alter table <nama tabel> modify <nama field> tipe
data(15);
mysql> update <nama tabel> where no_plat='B-3454-SDE';
mysql> call show_pekerja ();
namatabel = pekerja
+------------+---------------+--------+---------+-----------+
| nama_depan | nama_belakang | alamat | gaji | pekerjaan |
+------------+---------------+--------+---------+-----------+
| John | Doe | Sleman | 500000 | Programer |
| Alison | Mathews | Sleman | 500000 | Programer |
| James | Smith | Bantul | 1000000 | Manager |
| Celia | Rice | Klaten | 1000000 | Manager |
| Robert | Black | Klaten | 200000 | Security |
| Linda | Green | Bantul | 200000 | Security |
| David | Larry | Bantul | 500000 | Programer |
| Hercule | Poirot | Klaten | 500000 | Programer |
| Lincoln | Rhyme | Klaten | 500000 | Programer |
| Sherlock | Holmes | Sleman | 1000000 | Manager |
+------------+---------------+--------+---------+-----------+
10 rows in set (0.00 sec)
Query OK, 0 rows affected (0.13 sec)
2.2 parameter dalam procedure
Procedure menerima parameter (proc_parameter) yang didefinisikan
sebagai berikut:
proc_parameter:
[ IN | OUT | INOUT ] param_name type
Dalam parameter procedure, didefinisikan jenis parameter, yaitu IN,
OUT, atau INOUT. Bila tidak dispesifikasikan saat pembuatan, maka
default jenis parameter yang dipilih adalah IN.
 Parameter IN mengirimkan sebuah nilai ke dalam procedure.
Procedure bisa saja merubah nilai parameter ini, namun
perubahan tersebut tidak visibel terhadap pemanggil procedure
ketika procedure tersebut selesai.
 Parameter OUT mengirimkan nilai dari procedure ke pemanggil.
Nilai inisial dari parameter ini adalah NULL dan nilainya
visibel terhadap pemanggil.
 Parameter INOUT diinisialisasi oleh pemanggil, dapat
dimodifikasi oleh procedure, dan perubahan nilai parameter
visibel terhadap pemanggil ketika procedure selesai.
2.2.1parameter IN
Berikut adalah contoh penggunaan parameter IN:
mysql> delimiter $$
mysql> create procedure getPekerjaByAlamat (in namaAlamat
varchar(255))
-> begin
-> select*from pekerja where alamat LIKE namaAlamat;
-> end $$
Mysql> delimiter ;
Pada contoh di atas, dibuat procedure getPekerjaByAlamat dengan
satu parameter masukan berjenis IN bernama namaAlamat. Procedure
ini digunakan untuk menampilkan data pada tabel pekerja dengan nama
kota sesuai parameter masukan. Pemanggilan procedure ini dapat
dilihat pada contoh di bawah ini. Pada contoh ini, kita memasukkan
Sleman” sebagai parameter masukan procedure.
mysql> call getPekerjaByAlamat("Sleman");
+------------+---------------+--------+
| nama_depan | nama_belakang | Alamat |
+------------+---------------+--------+
| John | Doe | Sleman |
| Alison | Mathews | Sleman |
| Sherlock | Holmes | Sleman |
+------------+---------------+--------+
3 rows in set (0.00 sec)
Query OK, 0 rows affected (0.02 sec)
2.2.2parameter OUT
berikut adalah contoh penggunaan parameter OUT;
mysql> delimiter :)
mysql> create procedure getNumPekerja (out numPekerja int)
-> begin
-> select count(*) into numPekerja from pekerja;
-> end :)
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
Pada contoh di atas, dibuat procedure untuk menampilkan jumlah
pekerja dalam tabel. Hasil query tersebut disimpan dalam variabel
numPekerja dengan statement INTO numPekerja. Pemanggilan pekerja
dengan parameter OUT dilakukan dengan menggunakan variabel session
yang diawali dengan karakter @. Pemanggilan procedure getNumPekerja
ditunjukkan sebagai berikut:
mysql> call getNumPekerja(@num);
Query OK, 1 row affected (0.05 sec)
mysql> select @num;
+------+
| @num |
+------+
| 10 |
+------+
1 row in set (0.00 sec)
2.2.3parameter INOUT
berikut adalah contoh penggunaan parameter INOUT:
mysql> delimiter ^^
mysql> create procedure increase(inout number int)
-> begin
-> set number = number + 15;
-> end ^^
Query OK, 0 rows affected (0.04 sec)
mysql> delimiter ;
Pada contoh di atas, kita membuat procedure increase untuk
menambahkan input dengan nilai 15. Memodifikasi nilai parameter
input dilakukan dengan menggunakan SET. Contoh berikut
memperlihatkan bagaimana memanggil procedure increase. Kita
mendefinisikan terlebih dahulu variabel session @num dengan nilai
100. Kemudian setelah pemanggilan increase, nilai @num menjadi 115.
mysql> set @num = 100;
Query OK, 0 rows affected (0.00 sec)
mysql> call increase(@num);
Query OK, 0 rows affected (0.00 sec)
mysql> select @num;
+------+
| @num |
+------+
| 115 |
+------+
1 row in set (0.00 sec)
2.2.4melihat procedure yang telah dibuat
Procedure yang telah kita buat dapat dilihat menggunakan statement
SHOW PROCEDURE STATUS sebagai berikut:
mysql> show procedure status;
2.2.5menghapus procedure
Procedure yang telah kita buat dapat dihapus menggunakan DROP
PROCEDURE.
Mysql> DROP PROCEDURE increaseGaji;
INPUT DATA DENGAN PROCEDURE
mysql> create table hoho( nama varchar(10), alamat varchar(10));
Query OK, 0 rows affected (0.13 sec)
mysql> delimiter #
mysql> create procedure isi_data( in nama_depan varchar(10),
nama_belakang varchar(10), alamat varchar(20), gaji int(8),
pekerjaan varchar (15))
-> begin
-> insert into pekerja values(nama_depan, nama_belakang,
alamat, gaji, pekerjaan);
-> end #
Query OK, 0 rows affected (0.02 sec)
call isi_data(‘Dono’, ‘Setiawan’, ‘Bandung’, 1200000, ‘Kuli’);
call isi_data(‘Chika’, ‘Safira’, ‘Surabaya’, 2350000,
‘OfficeGirl’);
mysql> select * from pekerja;
+------+---------+
| nama | alamat |
+------+---------+
| Fera | Abarawa |
| Rara | Jogja |
| Didi | Sleman |
+------+---------+
HAPUS DATA DENGAN PROCEDURE
mysql> delimiter #
mysql> create procedure hapus_data(in par_nama varchar(10))
-> begin
-> delete from pekerja where nama=par_nama;
-> end#
Query OK, 0 rows affected (0.00 sec)
Mysql> delimiter ;
Call hapus_data(“Didi”);
mysql> select * from pekerja;
+------+---------+
| nama | alamat |
+------+---------+
| Fera | Abarawa |
| Rara | Jogja |
+------+---------+

More Related Content

What's hot

What's hot (14)

PostgreSQL Trigger
PostgreSQL TriggerPostgreSQL Trigger
PostgreSQL Trigger
 
Bab 06-tabel
Bab 06-tabelBab 06-tabel
Bab 06-tabel
 
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetchMengenal fungsi php untuk pengambilan data my sql: mysql fetch
Mengenal fungsi php untuk pengambilan data my sql: mysql fetch
 
Prak05 sbd 24010311130069
Prak05 sbd 24010311130069Prak05 sbd 24010311130069
Prak05 sbd 24010311130069
 
Praktikum Pengenalan Dasar Database
Praktikum Pengenalan Dasar DatabasePraktikum Pengenalan Dasar Database
Praktikum Pengenalan Dasar Database
 
Sql programming
Sql programmingSql programming
Sql programming
 
Tugasjarkom4
Tugasjarkom4Tugasjarkom4
Tugasjarkom4
 
Dasar dasar Database
Dasar dasar DatabaseDasar dasar Database
Dasar dasar Database
 
MySQL CRUD FORMAT QUERY
MySQL CRUD FORMAT QUERY MySQL CRUD FORMAT QUERY
MySQL CRUD FORMAT QUERY
 
015 function
015  function015  function
015 function
 
Modul framework code igniter
Modul framework code igniterModul framework code igniter
Modul framework code igniter
 
Function pada PHP
Function pada PHPFunction pada PHP
Function pada PHP
 
membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysql
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 

Similar to Materi my sql part 5

Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)Rifky A Ayub
 
Praktikum 05 Sistem Basis Data
Praktikum 05 Sistem Basis DataPraktikum 05 Sistem Basis Data
Praktikum 05 Sistem Basis DataAditya Nugroho
 
Contoh store procedure dan function
Contoh store procedure dan functionContoh store procedure dan function
Contoh store procedure dan functionErwin Setiawan
 
Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"Opik Oenk
 
Stored procedure
Stored procedureStored procedure
Stored procedurePutra Andry
 
Cara membuat Trigger
Cara membuat TriggerCara membuat Trigger
Cara membuat Triggersukangimpi
 
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan NiaDinia2
 
Controller dalam Laravel (Pemrograman Web II)
Controller dalam Laravel (Pemrograman Web II)Controller dalam Laravel (Pemrograman Web II)
Controller dalam Laravel (Pemrograman Web II)I Gede Iwan Sudipa
 
Stored Procedure
Stored ProcedureStored Procedure
Stored ProcedurePutra Andry
 
PostgreSQL Stored-procedure
PostgreSQL Stored-procedurePostgreSQL Stored-procedure
PostgreSQL Stored-procedureAmmar Shadiq
 

Similar to Materi my sql part 5 (20)

Stored procedure
Stored procedureStored procedure
Stored procedure
 
Modul 07 basisdata
Modul 07 basisdataModul 07 basisdata
Modul 07 basisdata
 
Laprak sbd
Laprak sbd Laprak sbd
Laprak sbd
 
Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)
 
As400
As400As400
As400
 
Praktikum 05 Sistem Basis Data
Praktikum 05 Sistem Basis DataPraktikum 05 Sistem Basis Data
Praktikum 05 Sistem Basis Data
 
Contoh store procedure dan function
Contoh store procedure dan functionContoh store procedure dan function
Contoh store procedure dan function
 
Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"Pemrograman Basis Data "Trigger"
Pemrograman Basis Data "Trigger"
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Stored procedure
Stored procedureStored procedure
Stored procedure
 
Cara membuat Trigger
Cara membuat TriggerCara membuat Trigger
Cara membuat Trigger
 
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan
Tugas Akhir Basis Data Dinia Syahadatun Kamilah SMK Negeri 2 Kraksaan
 
Pengantar mysql
Pengantar mysqlPengantar mysql
Pengantar mysql
 
DMBD 13.pptx
DMBD 13.pptxDMBD 13.pptx
DMBD 13.pptx
 
Cara Menghapus Table Di MySQL
Cara Menghapus Table Di MySQLCara Menghapus Table Di MySQL
Cara Menghapus Table Di MySQL
 
Controller dalam Laravel (Pemrograman Web II)
Controller dalam Laravel (Pemrograman Web II)Controller dalam Laravel (Pemrograman Web II)
Controller dalam Laravel (Pemrograman Web II)
 
Laporan 4
Laporan 4 Laporan 4
Laporan 4
 
Laporan 4
Laporan 4 Laporan 4
Laporan 4
 
Stored Procedure
Stored ProcedureStored Procedure
Stored Procedure
 
PostgreSQL Stored-procedure
PostgreSQL Stored-procedurePostgreSQL Stored-procedure
PostgreSQL Stored-procedure
 

Recently uploaded

Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxRizkyPratiwi19
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarankeicapmaniez
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxazhari524
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxmawan5982
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxmawan5982
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...Kanaidi ken
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1udin100
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxIgitNuryana13
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKirwan461475
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxmawan5982
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5ssuserd52993
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatArfiGraphy
 

Recently uploaded (20)

Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
tugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajarantugas karya ilmiah 1 universitas terbuka pembelajaran
tugas karya ilmiah 1 universitas terbuka pembelajaran
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
soal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptxsoal AKM Mata Pelajaran PPKN kelas .pptx
soal AKM Mata Pelajaran PPKN kelas .pptx
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docxTugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
Tugas 1 ABK di SD prodi pendidikan guru sekolah dasar.docx
 
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docxTugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
Tugas 1 pembaruan dlm pembelajaran jawaban tugas tuton 1.docx
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
PELAKSANAAN + Link2 Materi Pelatihan "Teknik Perhitungan & Verifikasi TKDN & ...
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1Dampak Pendudukan Jepang.pptx indonesia1
Dampak Pendudukan Jepang.pptx indonesia1
 
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptxPaparan Refleksi Lokakarya program sekolah penggerak.pptx
Paparan Refleksi Lokakarya program sekolah penggerak.pptx
 
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAKDEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
DEMONSTRASI KONTEKSTUAL MODUL 1.3 PENDIDIKAN GURU PENGGERAK
 
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docxtugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
tugas 1 anak berkebutihan khusus pelajaran semester 6 jawaban tuton 1.docx
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
JAWAPAN BAB 1 DAN BAB 2 SAINS TINGKATAN 5
 
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajatLatihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
Latihan Soal bahasa Indonesia untuk anak sekolah sekelas SMP atau pun sederajat
 

Materi my sql part 5

  • 1. MATERI PART 5 – Prak. BASISDATA FUNCTION DAN PROSEDURE LABORATORIUM 4 – BASISDATA MENU PART INI : 1. Intro Stored Routine 2. Function a. Membuat function b. Melihat function yang telah dibuat c. Menghapus function 3. Procedure a. Membuat procedure b. Parameter dalam procedure i. Parameter IN ii. Parameter OUT iii. Parameter INOUT iv. Melihat procedure yang telah dibuat v. Menghapus procedure 4. Pemrograman di Function dan Procedure a. Variabel b. Kendali Kondisional. i. Kendali IF ii. Kendali CASE c. Perulangan i. Perulangan WHILE ii. Perulangan REPEAT … UNTIL iii. Perulangan LOOP
  • 2. 1. Fuction Sebuah function dapat digunakan secara langsung dalam statement SELECT, UPDATE, dan DELETE. Hasil dari function dapat dikembalikan sebagai output. Sebuah function hanya dapat mengembalikan sebuah nilai saja. 1.1 Membuat fuction Sebelum kita membuat function terlebih dahulu kita siapkan sebuah tabel terlebih dahulu. mysql> select*from pekerja; +------------+---------------+ | nama_depan | nama_belakang | +------------+---------------+ | John | Doe | | Alison | Mathews | | James | Smith | | Celia | Rice | | Robert | Black | | Linda | Green | | David | Larry | | Hercule | Poirot | | Lincoln | Rhyme | | Sherlock | Holmes | +------------+---------------+ 10 rows in set (0.00 sec) Selanjutnya kita membuat function
  • 3. mysql> delimiter // mysql> create function nama_lengkap(in_nama_depan varchar(15), in_nama_belakang varchar(15)) -> returns varchar(35) -> begin -> return concat(in_nama_depan,' ',in_nama_belakang); -> end // Query OK, 0 rows affected (0.00 sec) mysql> delimiter ; mysql> select nama_lengkap(nama_depan,nama_belakang) from pekerja; +-----------------------------------------+ | nama_lengkap(nama_depan, nama_belakang) | +-----------------------------------------+ | John Doe | | Alison Mathews | | James Smith | | Celia Rice | | Robert Black | | Linda Green | | David Larry | | Hercule Poirot | | Lincoln Rhyme | | Sherlock Holmes | +-----------------------------------------+ 10 rows in set (0.00 sec) 1.2 Melihat fuction yang telah dibuat
  • 4. Function apa saja yang telah kita buat dapat dilihat menggunakan statement SHOW FUNCTION STATUS. mysql> show function status; 1.3 Menghapus function Function yang telah dibuat dapat dihapus menggunakan DROP FUNCTION nama_function. mysql> DROP FUNCTION full_name; Query OK, 0 rows affected (0.00 sec) mysql> SHOW FUNCTION STATUS; Empty set (0.00 sec) 2. Procedure Procedure dapat berisi statement SQL (INSERT, UPDATE, DELETE, SELECT) atau operasi lain yang disimpan dalam database. Sebuah procedure dapat dipanggil menggunakan statement CALL nama_procedure disertai parameter yang diperlukan. 2.1 membuat procedure sintaks untuk membuat procedure adalah sebagai berikut; CREATE PROCEDURE nama_procedure (parameter_procedure())routine_body Berikut contoh pembuatan procedure:
  • 5. mysql> delimiter // mysql> create procedure show_pekerja() -> begin -> select*from pekerja; -> end // Query OK, 0 rows affected (0.00 sec) mysql> alter table <nama tabel> add nama kolom (tipe data)(20); mysql> alter table <nama tabel> modify <nama field> tipe data(15); mysql> update <nama tabel> where no_plat='B-3454-SDE'; mysql> call show_pekerja (); namatabel = pekerja +------------+---------------+--------+---------+-----------+ | nama_depan | nama_belakang | alamat | gaji | pekerjaan | +------------+---------------+--------+---------+-----------+ | John | Doe | Sleman | 500000 | Programer | | Alison | Mathews | Sleman | 500000 | Programer | | James | Smith | Bantul | 1000000 | Manager | | Celia | Rice | Klaten | 1000000 | Manager | | Robert | Black | Klaten | 200000 | Security | | Linda | Green | Bantul | 200000 | Security | | David | Larry | Bantul | 500000 | Programer | | Hercule | Poirot | Klaten | 500000 | Programer | | Lincoln | Rhyme | Klaten | 500000 | Programer |
  • 6. | Sherlock | Holmes | Sleman | 1000000 | Manager | +------------+---------------+--------+---------+-----------+ 10 rows in set (0.00 sec) Query OK, 0 rows affected (0.13 sec) 2.2 parameter dalam procedure Procedure menerima parameter (proc_parameter) yang didefinisikan sebagai berikut: proc_parameter: [ IN | OUT | INOUT ] param_name type Dalam parameter procedure, didefinisikan jenis parameter, yaitu IN, OUT, atau INOUT. Bila tidak dispesifikasikan saat pembuatan, maka default jenis parameter yang dipilih adalah IN.  Parameter IN mengirimkan sebuah nilai ke dalam procedure. Procedure bisa saja merubah nilai parameter ini, namun perubahan tersebut tidak visibel terhadap pemanggil procedure ketika procedure tersebut selesai.  Parameter OUT mengirimkan nilai dari procedure ke pemanggil. Nilai inisial dari parameter ini adalah NULL dan nilainya visibel terhadap pemanggil.  Parameter INOUT diinisialisasi oleh pemanggil, dapat dimodifikasi oleh procedure, dan perubahan nilai parameter visibel terhadap pemanggil ketika procedure selesai. 2.2.1parameter IN Berikut adalah contoh penggunaan parameter IN:
  • 7. mysql> delimiter $$ mysql> create procedure getPekerjaByAlamat (in namaAlamat varchar(255)) -> begin -> select*from pekerja where alamat LIKE namaAlamat; -> end $$ Mysql> delimiter ; Pada contoh di atas, dibuat procedure getPekerjaByAlamat dengan satu parameter masukan berjenis IN bernama namaAlamat. Procedure ini digunakan untuk menampilkan data pada tabel pekerja dengan nama kota sesuai parameter masukan. Pemanggilan procedure ini dapat dilihat pada contoh di bawah ini. Pada contoh ini, kita memasukkan Sleman” sebagai parameter masukan procedure. mysql> call getPekerjaByAlamat("Sleman"); +------------+---------------+--------+ | nama_depan | nama_belakang | Alamat | +------------+---------------+--------+ | John | Doe | Sleman | | Alison | Mathews | Sleman | | Sherlock | Holmes | Sleman | +------------+---------------+--------+ 3 rows in set (0.00 sec) Query OK, 0 rows affected (0.02 sec) 2.2.2parameter OUT
  • 8. berikut adalah contoh penggunaan parameter OUT; mysql> delimiter :) mysql> create procedure getNumPekerja (out numPekerja int) -> begin -> select count(*) into numPekerja from pekerja; -> end :) Query OK, 0 rows affected (0.02 sec) mysql> delimiter ; Pada contoh di atas, dibuat procedure untuk menampilkan jumlah pekerja dalam tabel. Hasil query tersebut disimpan dalam variabel numPekerja dengan statement INTO numPekerja. Pemanggilan pekerja dengan parameter OUT dilakukan dengan menggunakan variabel session yang diawali dengan karakter @. Pemanggilan procedure getNumPekerja ditunjukkan sebagai berikut: mysql> call getNumPekerja(@num); Query OK, 1 row affected (0.05 sec) mysql> select @num; +------+ | @num | +------+ | 10 | +------+ 1 row in set (0.00 sec) 2.2.3parameter INOUT berikut adalah contoh penggunaan parameter INOUT: mysql> delimiter ^^ mysql> create procedure increase(inout number int) -> begin
  • 9. -> set number = number + 15; -> end ^^ Query OK, 0 rows affected (0.04 sec) mysql> delimiter ; Pada contoh di atas, kita membuat procedure increase untuk menambahkan input dengan nilai 15. Memodifikasi nilai parameter input dilakukan dengan menggunakan SET. Contoh berikut memperlihatkan bagaimana memanggil procedure increase. Kita mendefinisikan terlebih dahulu variabel session @num dengan nilai 100. Kemudian setelah pemanggilan increase, nilai @num menjadi 115. mysql> set @num = 100; Query OK, 0 rows affected (0.00 sec) mysql> call increase(@num); Query OK, 0 rows affected (0.00 sec) mysql> select @num; +------+ | @num | +------+ | 115 | +------+ 1 row in set (0.00 sec) 2.2.4melihat procedure yang telah dibuat Procedure yang telah kita buat dapat dilihat menggunakan statement SHOW PROCEDURE STATUS sebagai berikut: mysql> show procedure status;
  • 10. 2.2.5menghapus procedure Procedure yang telah kita buat dapat dihapus menggunakan DROP PROCEDURE. Mysql> DROP PROCEDURE increaseGaji; INPUT DATA DENGAN PROCEDURE mysql> create table hoho( nama varchar(10), alamat varchar(10)); Query OK, 0 rows affected (0.13 sec) mysql> delimiter # mysql> create procedure isi_data( in nama_depan varchar(10), nama_belakang varchar(10), alamat varchar(20), gaji int(8), pekerjaan varchar (15)) -> begin -> insert into pekerja values(nama_depan, nama_belakang, alamat, gaji, pekerjaan); -> end # Query OK, 0 rows affected (0.02 sec) call isi_data(‘Dono’, ‘Setiawan’, ‘Bandung’, 1200000, ‘Kuli’);
  • 11. call isi_data(‘Chika’, ‘Safira’, ‘Surabaya’, 2350000, ‘OfficeGirl’); mysql> select * from pekerja; +------+---------+ | nama | alamat | +------+---------+ | Fera | Abarawa | | Rara | Jogja | | Didi | Sleman | +------+---------+ HAPUS DATA DENGAN PROCEDURE mysql> delimiter # mysql> create procedure hapus_data(in par_nama varchar(10)) -> begin -> delete from pekerja where nama=par_nama; -> end# Query OK, 0 rows affected (0.00 sec) Mysql> delimiter ; Call hapus_data(“Didi”); mysql> select * from pekerja; +------+---------+ | nama | alamat | +------+---------+ | Fera | Abarawa | | Rara | Jogja | +------+---------+