2. edi sbdlanjut store procedure dan...

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

Upload: lamdan

Post on 18-Apr-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Kontrak Kuliah

Stored Procedures and Function

1

Edi Sugiarto, S.Kom, M.Kom

Page 2: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Stored Procedure

2

Page 3: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Stored Procedures

• Merupakan sekumpulan sintaks SQL yang

tersimpan pada server

• Memiliki beberapa keunggulan

– Karena sintaks sql pada stored procedure tersimpan

pada server maka pemanggilan lebih cepat.

– Reuseable artinya cukup ditulis sekali dapat

digunakan berkali-kali

– Meningkatkan keamanan.

3

Page 4: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• beberapa kelemahan dalam penggunaan stored

procedure– Beban kerja server meningkat karena prosedur yang seharusnya

dapat dikerjakan pada aplikasi pemanggil harus dikerjakan pada server

– Lebih sulit dalam debugging ketika strored procedure yang dibuat semakin banyak.

4

Page 5: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Membuat Stored Procedure

• Terdapat tiga komponen dalam membuat stored

procedure

– Input parameters : menangani input

– Output paramters : menangani output yang dihasilkan

– Body : berisi statement SQL untuk dieksekusi

• Sintaks:Create procedure nama_prosedur(param1,

param2,…,paramn)

Begin

<sintaks SQL>

end 5

Page 6: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.1Membuat Stored Procedure

• Berikut ini contoh perintah membuat dan

menggunakan prosedur.

• Pemanggilan prosedur dapat menggunakan

perintah call diikuti dengan nama prosedur

6

Page 7: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Maka dengan pemanggilan prosedur buat_log()

tersebut akan terbentuk sebuah tabel.

7

Page 8: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Berikut ini contoh stored procedure untuk

menghapus tabel log.

• Jalankan prosedur tersebut.

8

Page 9: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Untuk melihat prosedur yang tersimpan, dapat

menggunakan perintah berikut:

9

Page 10: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Menghapus Stored Procedure

• Untuk menghapus stored procedure dapat

menggunakan perintah drop diikuti dengan

nama prosedur yang akan dihapus

• Sintaks:

drop procedure nama_prosedur;

10

Page 11: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Menggunakan Input danOutput Parameter

• Input dan output parameter didefinisikan dalam

bagan deklarasi prosedur.

• Menggunakan keyword IN, OUT, dan INOUT

• Parameter IN– Digunakan untuk inputan parameter yang akan disimpan dalam stored

procedure.

• Parameter OUT– Digunakan sebagai output parameter yang diperoleh dalam stored

procedure.

• Parameter INOUT– Digunakan sebagai parameter yang dapat digunakan sebagai input

maupun output 11

Page 12: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.2Menggunakan Parameter IN

• Sebelum memulai praktikum buatlah tabel mahasiswa

dengan struktur tabel berikut:

12

Page 13: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Selanjutnya buatlah stored procedure untuk

menambah data pada tabel mahasiswa.

• Selanjutnya dengan stored procedure tersebut

tambahkan data mahasiswa

13

Page 14: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Selanjutnya tampilkan data mahasiswa.

• tambahkan 2 record data mahasiswa dengan

prosedur yang sama.

14

Page 15: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Berikut ini contoh stored procedure untuk

menghapus data mahasiswa.

• Kemudian hapus satu record data mahasiswa

15

Page 16: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Latihan

• Dengan menggunakan parameter IN buatlah

prosedur untuk menampilkan data mahasiswa

berdasarkan nim dengan nama

display_mahasiswa(). Sehingga ketika prosedur

dipanggil menghasilkan keluaran berikut:

16

Page 17: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.3Menggunakan Parameter OUT• berikut ini contoh stored procedure untuk

mendapatkan nama mahasiswa berdasarkan

nim mahasiswa.

• Setelah stored procedure terbentuk, kemudian

carilah nama mahasiswa dengan perintah

berikut:

17

Page 18: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Latihan

1. Buatlah stored procedure dengan nama

get_jmlmhs() untuk menghitung jumlah

mahasiswa jika pemanggilan stored procedure

tsb seperti berikut ini:

18

Page 19: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

2. Dengan menggunakan parameter OUT buatlah

prosedur untuk mendapatkan rata-rata ipk

mahasiswa.

3. Dengan menggunakan parameter OUT buatlah

prosedur dengan nama get_ipktertinggi() untuk

mendapatkan nim mahasiswa yang memiliki

IPK tertinggi. Dengan contoh pemanggilan

prosedur sbb:

19

Page 20: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.4Menggunakan Parameter INOUT

• Parameter INOUT dalam stored procedure

digunakan untuk dua hal, digunakan sebagai

input sekaligus sebagai output.

• Sebagai contoh buatlah prosedur dengan nama

add_one(), digunakan untuk menambahkan nilai

yang dimasukan dengan angka 1.

20

Page 21: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Selanjutnya, dengan membuat variabel @angka

gunakan prosedur add_one() untuk menambah

angka dengan 1.

21

Page 22: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Menggunakan Variabel, PerintahPemilihan dan Perulangan

• MySQL memungkinkan penggunaan variabel,

statement pemilihan, dan statement perulangan

dalam sebuah prosedur atau fungsi.

• Variabel

– Dideklarasikan dengan keyword “DECLARE”

kemudian diikuti dengan nama variabel dan tipe data.

– Sintaks:

DECLARE namavariabel TYPE DEFAULT nilai;

– Untuk DEFAULT sifatnya opsional

22

Page 23: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.5• Contoh deklarasi variabel:

• Contoh prosedur untuk mencetak nama

23

Page 24: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Hasil dari prosedur cetak_nama():

24

Page 25: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Perintah Pemilihan

• Perintah Pemilihan

– MySQL menyediakan cara untuk mengatur alur

kendali program didalam prosedur.

– Perintah pemilihan ini berupa statement-statement

yang akan mengerjakan instruksi jika kondisi

benar/terpenuhi.

– Sintaks:

25

IF [val] THEN

[result1]

END IF;

IF [val] THEN

[result1]

ELSE

[result2]

END IF;

Page 26: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.6• Berikut ini contoh stored procedure untuk

mencari data mahasiswa dengan menggunakan

perintah pemilihan.

26

Page 27: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Latihan

– Buatlah prosedur dengan nama

cek_bilangan(in vangka int) untuk

menentukan bilangan itu positif atau negatif.

– Buatlah prosedur dengan nama cek_ipk(in

vnim char(15) untuk menentukan keterangan

apakah ipk mahasiswa itu sangat baik, baik,

cukup, atau kurang. Dengan ketentuan

berikut:

27

Page 28: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

IPK Keterangan

>=3.0 Sangat Baik

2.75-2.99 Baik

2.5-2.74 Cukup

2.0-2.5 Kurang

<2.0 Buruk

28

– Kemudian pemanggilan prosedur tsb sbb:

Page 29: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Perintah Perulangan

• MySQL menyediakan perintah perulangan

dengan menggunakan statement LOOP,

WHILE, dan REPEAT.

• Penggunaan statement LOOP diawali dengan

menentukan nama perulangan : LOOP dan

diakhiri dengan END LOOP.

• Sintaks: Loop_name : LOOP

[statement1]

[statement2]

END LOOP loop_name

29

Page 30: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.7Loop

• Berikut ini contoh stored procedure untuk

mencetak angka dari 1 hingga 10.

30

Page 31: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Hasil:

31

Page 32: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Latihan

1. Buatlah stored procedure dengan nama

cetak_ganjil(in vangka1, in vangka2) untuk

mencetak bilangan ganjil berdasarkan angka yang

dimasukkan dengan menggunakan statement

LOOP. Sehingga ketika prosedur tersebut dipanggil

akan mencetak bilangan ganjil dari angka1 hingga

angka2.

32

Page 33: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Statement WHILE

– Statement WHILE melakukan perulangan

berdasarkan kondisi tertentu. Perulangan akan

dilakukan jika kondisi bernilai benar/true.

– Sintaks:

Loop_Name : WHILE [condition] DO

[statement1]

[statement2]

END WHILE Loop_Name;

33

Page 34: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.8While

• Berikut ini contoh stored procedure untuk

mencetak angka dari 10 hingga 1 dengan

statement WHILE.

34

Page 35: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Jika prosedur tersebut dipanggil hasilnya:

35

Page 36: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Latihan

1. Buatlah stored procedure dengan nama

get_faktorial(in vangka) untuk mencetak nilai

faktorial berdasarkan angka yang dimasukkan

dengan menggunakan statement While.

36

Page 37: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Stored Function

37

Page 38: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Stored Function

• Stored function merupakan sekumpulan perintah

SQL yang disusun dalam sebuah fungsi yang

memiliki nama, kegunaan, dan pembalian nilai

(return value)

• Keuntungan dengan stored function yakni kita

dapat membuat fungsi yang tidak tersedia.

• Aturan pembuatan stored function mirip dengan

stored procedure. Perbedaanya adalah dalam

function adanya nilai RETURN.

38

Page 39: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Sama seperti halnya prosedur, dalam tubuh

fungsi dapat berisi statement seperti deklarasi

variabel, perintah pemilihan, dan perulangan

• Sintaks:CREATE FUNCTION <namafungsi>(IN/OUT/INOUT

parameter TYPE)

RETURNS <tipedata>

BEGIN

<statement>

END

39

Page 40: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Praktikum 2.9

• Berikut ini contoh stored function untuk

menampilkan hari ini dalam bentuk long format.

• Pemanggilan fungsi

40

Page 41: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

• Berikut ini contoh fungsi dengan parameter.

• Hasilnya:

41

Page 42: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Latihan

1. Buatlah fungsi untuk mencari IPK mahasiswa

berdasarkan nim yang dimasukkan.

2. Buatlah fungsi untuk menghitung nilai faktorial

berdasarkan angka yang dimasukkan.

42

Page 43: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Ada Pertanyaan ?

Page 44: 2. EDI SBDLANJUT Store Procedure dan Function.pptdinus.ac.id/.../2._EDI_SBDLANJUT_-_Store_Procedure_dan_Function_.pdf · Menggunakan Variabel, Perintah Pemilihan dan Perulangan •

Terima kasih

44