SQL II PRAKTIKUM 10

Menguasai Stored Procedure Lingkup Lanjut: Implementasi Multi-Parameter, Kontrol Alur, dan DML pada SQL Server

Stored Procedure merupakan salah satu fitur krusial dalam manajemen database modern. Melalui Stored Procedure, sekumpulan instruksi SQL dapat disimpan di sisi server database dan dieksekusi dengan efisien. Artikel ini akan mengupas tuntas hasil praktikum Sistem Basis Data mengenai implementasi lanjutan Stored Procedure, mulai dari penanganan multi-parameter hingga manipulasi data (DML) secara aman.


1. Parameterisasi Tingkat Lanjut: Mode IN dan OUT

Pada dasarnya, parameter di dalam prosedur bertindak sebagai jembatan penukar nilai antara aplikasi pengguna dan server database.

  • Parameter IN: Bertindak sebagai masukan (default) untuk menyaring data secara dinamis berdasarkan parameter tertentu. Contohnya adalah menyaring daftar mahasiswa berdasarkan kombinasi Program Studi dan Tahun Masuk.

  • Parameter OUT: Bertindak sebagai penampung atau variabel referensi untuk mengembalikan hasil kalkulasi—seperti fungsi agregat COUNT, MIN, AVG, atau SUM—ke luar prosedur.

Catatan Analisis: Untuk mengalirkan nilai kalkulasi ke dalam parameter OUT pada SQL Server, kita menggunakan pola penugasan langsung, seperti:

SELECT @p_count = COUNT(npm) FROM mahasiswa. Saat pengujian (EXEC), variabel penampung tingkat pengguna (diawali tanda @) wajib dideklarasikan terlebih dahulu untuk menangkap nilai keluaran tersebut.


2. Implementasi Kontrol Alur Logika (IF / ELSEIF / ELSE)

Kontrol alur kondisional digunakan untuk mengarahkan eksekusi query yang berbeda secara dinamis berdasarkan nilai parameter masukan yang diterima.

  • Konversi Grade ke Nilai Matematis: Melalui prosedur showByGrade, parameter huruf masukan (seperti 'A' atau 'B') dikonversi menjadi rentang logika numerik untuk memfilter kolom IPK secara otomatis.

  • Parameter Berfungsi sebagai Sakelar (Switch Mode): Pada prosedur showMhsByIpk, parameter bertipe INT digunakan sebagai sakelar untuk menentukan arah operasi relasional (>=, <, atau pengecekan data kosong IS NULL).


3. Operasi Manipulasi Data (DML) di dalam Prosedur

Abstraksi data menggunakan Stored Procedure tidak hanya berlaku untuk menampilkan data (SELECT), melainkan juga untuk memanipulasi data secara terpusat dan aman.

A. Operasi INSERT (tambahDosen)

Saat menambahkan data baris baru, kolom-kolom referensi yang tidak disediakan oleh parameter diisi secara manual menggunakan nilai NULL. Hal ini penting agar perintah tidak melanggar batasan (constraint) struktur tabel master.

B. Operasi UPDATE (bonusIpkTahun)

Prosedur pembaruan data dilakukan dengan ekspresi akumulasi aritmetika yang presisi (SET ipk = ipk + @p_bonus). Di sini, klausa pengaman WHERE ipk IS NOT NULL mutlak ditambahkan agar data yang memang kosong tidak rusak oleh operasi perhitungan aritmetika.

C. Operasi DELETE (hapusMhsByStatus)

Mendemonstrasikan penghapusan baris data secara permanen berbasis parameter penunjuk. Untuk memverifikasi keberhasilannya, perintah SELECT COUNT(*) dapat diletakkan langsung di dalam bodi prosedur sebelum baris END agar pengguna mengetahui jumlah sisa data secara aktual.


4. Kendala Teknis dan Solusi Debugging

Dalam proses development script SQL Server, beberapa eror umum yang sering terjadi meliputi:

  1. Typo Koma pada Multi-Agregat: Lupa menuliskan tanda koma di antara fungsi agregat (misalnya antara COUNT dan ROUND) akan memicu syntax error karena sistem membacanya sebagai alias yang tidak valid.

  2. Ketidaksesuaian Nama Variabel: Hasil keluaran sering kali bernilai kosong (NULL) akibat adanya ketidaksesuaian nama antara variabel yang diisi saat EXEC dengan variabel yang dipanggil saat SELECT. Penyeragaman nama variabel mutlak diperlukan.


Kesimpulan

Pemanfaatan Stored Procedure lingkup lanjut terbukti mampu memindahkan logika pemrograman yang kompleks dari sisi aplikasi ke sisi server basis data. Parameter OUT sangat efektif untuk merangkum kalkulasi agregat , sementara pembungkusan operasi DML (INSERT, UPDATE, DELETE) di dalam prosedur memberikan lapisan keamanan dan abstraksi data yang jauh lebih baik bagi arsitektur database.


Referensi Akademik: Politeknik Negeri Lampung. 2026. Materi Praktikum Sistem Basis Data - Stored Procedure II.

Komentar

Postingan populer dari blog ini

Pemrograman SQL II (1)

PEMROGRAMAN SQL 2(6)