July 17, 2024

Membuat Prosedur Dan Fungsi Menggunakan Database Mysql Part 2

2 min read

Membuat dan Mengeksekusi Fungsi

Seperti pernah dibahas sebelumnya, prosedur dan fungsi merupakan objek database yang berisi runtunan statemen atau perintah yang dibuat untuk memenuhi kebutuhan khusus tertentu. Meskipun demikian, terdapat perbedaan antara prosedur dan fungsi. Perbedaan paling umum antara prosedur dan fungsi terletak pada peruntukan, cara pembuatan, dan cara eksekusi. Berikut beberapa perbedaan antara prosedur dengan fungsi :

  1. Prosedur tidak mengembalikan nilai.

Prosedur hanya melakukan suatu proses atau operasi tertentu. Prosedur dieksekusi menggunakan perintah CALL.

  1. Fungsi adalah rutin yang mengembalikan nilai. Fungsi dieksekusi dengan meletakkan nama fungsi beserta parameternya (jika ada) sebagai ekspresi, misalnya di dalam perintah SELECT, dalam rumus perhitungan, maupun yang lainnya. Hal ini berarti bahwa cara pemanggilan fungsi sama dengan penggunaan variabel atau konstanta.
  2. Parameter yang didefinisikan dalam prosedur dapat bersifat sebagai parameter masukan (input-only), paramatere keluaran (output-only), maupuan gabungan keduanya.

Fungsi hanya memiliki parameter masukan.

  1. Fungsi menggunakan klausa RETURNS dibagian kepala atau judul fungsi diikuti dengan tipe data yang dari nilai yang akan dikembalikan.

Pada bagian akhir badan fungsi juga perlu menggunakan klausa RETURN untuk mengembalikan nilai yang diperoleh dari proses yang telah dilakukan oleh fungsi.

Berikut sintaks fungsi dalam MySQL :

[sourcecode]
CREATE FUNCTION <nama_fungsi> ([daftar parameter])

RETURNS <tipe data>

BEGIN

[daftar deklarasi variabel]

<Statemen 1>;

<Statemen 2>;

RETURN <nilai_kembalian>;

END;
[/sourcecode]

Tipe data digunakan untuk menentukan jenis data dari nilai yang akan dikembalikan oleh fungsi.

Sebagai contoh, berikut adalah tabel mata kuliah :

adelin1

Kemudian akan dibuat sebuah fungsi untuk mengetahui jumlah sks mata kuliah, dimana parameter yang digunakan adalah idMatKul.

[sourcecode]
DELIMITER //

CREATE FUNCTION cek_sks (idmk char(5))

RETURNS TINYINT (1)

BEGIN

DECLARE jmlsks TINYINT(1);

&nbsp;

SELECT sks INTO jmlsks

FROM matakuliah

WHERE idMatKul = idmk;

RETURN jmlsks;

END;

//
<p style="text-align: justify;">[/sourcecode]

Fungsi di atas dieksekusi dengan perintah :

[sourcecode]

SELECT cek_sks(‘MP002’)

[/sourcecode]

Hasil eksekusi fungsi tersebut adalah :

adelin1

adelin3

Fungsi juga dapat langsung digunakan dalam ekpresi,misalnya untuk proses perhitungan :

[sourcecode]

SET nilai = cek_sks(‘MP002’) * 4 ;

[/sourcecode]

Pada contoh tersebut pemanggilan fungsi dapat secara langsung digunakan untuk proses perkalian dengan bilangan lain, sama seperti penggunaan variabel normal. Baiklah, sampai disini dulu.. kita akan bertemu lagi dengan topik-topik pembahasan yang lainnya.

Copyright © All rights reserved. | Newsphere by AF themes.