Prosedur vs Fungsi dalam Pemrograman
Prosedur dan Fungsi dalam pemrograman, memungkinkan pemrogram untuk mengelompokkan instruksi bersama dalam satu blok dan dapat dipanggil dari berbagai tempat dalam program. Kode menjadi lebih mudah dipahami dan lebih ringkas. Dengan melakukan modifikasi di satu tempat, seluruh kode akan terpengaruh. Dengan bantuan fungsi dan prosedur; kode linier dan panjang dapat dibagi menjadi beberapa bagian independen. Mereka memberikan lebih banyak fleksibilitas untuk pengkodean berbagai bahasa pemrograman dan database.
Apa itu fungsi?
Fungsi mampu menerima parameter yang juga dikenal sebagai argumen. Mereka melakukan tugas sesuai dengan argumen atau parameter ini dan mengembalikan nilai dari tipe yang diberikan. Kita dapat menjelaskannya dengan lebih baik dengan bantuan sebuah contoh: Sebuah fungsi menerima string sebagai parameter dan mengembalikan entri atau catatan pertama dari database. Ini memperhitungkan konten untuk bidang tertentu yang dimulai dengan karakter tersebut.
Sintaks fungsinya adalah sebagai berikut:
BUAT ATAU GANTI FUNGSI my_func
(p_name IN VARCHAR2:='Jack') mengembalikan varchar2 sebagai awal … akhir
Apa prosedurnya?
Prosedur dapat menerima parameter atau argumen dan menjalankan tugas sesuai parameter ini. Jika prosedur menerima string sebagai parameter dan memberikan daftar dengan catatan dalam database yang konten bidang tertentu dimulai dengan karakter tersebut.
Sintaks prosedurnya adalah sebagai berikut:
BUAT ATAU GANTI PROSEDUR my_proc
(p_name IN VARCHAR2:=‘Jack’) sebagai awal … akhir
Terutama, ada dua cara dimana parameter dilewatkan dalam fungsi dan prosedur; dengan nilai atau dengan referensi. Jika parameter dilewatkan oleh nilai; modifikasi dipengaruhi dalam fungsi atau prosedur tanpa mempengaruhi nilai sebenarnya.
Di sisi lain, jika parameter dilewatkan oleh referensi; nilai sebenarnya dari parameter ini akan diubah di mana pun ia dipanggil dalam kode sesuai instruksi.
Perbedaan antara prosedur dan fungsi
• Ketika parameter dilewatkan ke dalam prosedur; itu tidak mengembalikan nilai apa pun sedangkan fungsi selalu mengembalikan nilai.
• Salah satu perbedaan utama keduanya adalah bahwa prosedur tidak digunakan dalam database sedangkan fungsi memainkan peran penting dalam mengembalikan nilai dari database.
• Prosedur mampu mengembalikan beberapa nilai dan fungsi dapat mengembalikan nilai terbatas.
• Operasi DML dapat digunakan dalam prosedur tersimpan; namun, mereka tidak mungkin dalam fungsi.
• Fungsi hanya dapat mengembalikan satu nilai dan itu wajib sedangkan prosedur dapat mengembalikan nilai n atau nol.
• Dalam fungsi, penanganan kesalahan tidak dapat dilakukan sedangkan dapat dilakukan dalam prosedur tersimpan.
• Parameter input dan output dapat dilewatkan dalam prosedur sedangkan dalam kasus fungsi; hanya parameter input yang dapat dilewatkan.
• Fungsi dapat dipanggil dari prosedur sedangkan prosedur tidak dapat dipanggil dari suatu fungsi.
• Manajemen transaksi dapat dipertimbangkan dalam prosedur dan tidak dapat dipertimbangkan dalam hal fungsi.