Selasa, 19 Mei 2026

Eksplorasi Lanjutan Basis Data: Menguasai Stored Procedure, Parameter Dinamis, dan Manipulasi Data (DML)

   Makalah 

SESI 10

STORED PROCEDURE II



 

 OLEH: 

Bunga Putri Salsabilla

24781005

MI 4A

 

Dosen Pengampu : M. Reza Redo Islami, S. Kom., M.T.I.

 

D3 MANAJEMEN INFORMATIKA

JURUSAN TEKNOLOGI INFORMASI

POLITEKNIK NEGERI LAMPUNG

2026  

1. Pendahuluan

Halo teman-teman! Selamat datang kembali di catatan eksplorasi teknologi saya. Perkenalkan, saya Bunga Putri Salsabilla, mahasiswi program studi Manajemen Informatika di Politeknik Negeri Lampung (Polinela). Dalam pengembangan perangkat lunak modern—terutama ketika kita membangun sistem backend menggunakan framework seperti Express.js atau Node.js—efisiensi komunikasi antara aplikasi dan basis data adalah hal yang mutlak.

Salah satu teknik terbaik untuk mengoptimalkan kinerja dan keamanan basis data adalah dengan memindahkan sebagian beban logika bisnis langsung ke dalam database engine itu sendiri. Di sinilah peran Stored Procedure menjadi sangat krusial. Pada catatan minggu ini, saya akan membagikan rangkuman pembelajaran praktikum basis data mengenai Stored Procedure, mulai dari manipulasi parameter, eksekusi operasi DML, hingga penerapan logika percabangan.

2. Konsep Dasar Stored Procedure dan Parameter Dinamis

Stored Procedure (prosedur tersimpan) pada dasarnya adalah sekumpulan perintah SQL yang dikompilasi dan disimpan di dalam database agar dapat dieksekusi berulang kali melalui satu panggilan fungsi yang sederhana.

Dalam praktikum ini, saya mengeksplorasi penggunaan parameter dinamis untuk membuat prosedur menjadi lebih interaktif:

  • Parameter IN: Berfungsi sebagai gerbang masuk data (input). Misalnya, memasukkan NPM mahasiswa sebagai kata kunci pencarian.

  • Parameter OUT / OUTPUT: Berfungsi sebagai wadah untuk menampung hasil pemrosesan dari dalam prosedur, untuk kemudian dilempar keluar. Hal ini sangat berguna ketika kita ingin mengekstrak beberapa nilai agregasi sekaligus dalam satu eksekusi, seperti menghitung nilai IPK tertinggi (MAX) dan terendah (MIN) secara bersamaan.

3. Studi Kasus: Manajemen Sistem Informasi Akademik (SIAKAD)

Agar lebih mudah dipahami, mari kita terapkan konsep ini dalam studi kasus Sistem Informasi Akademik (SIAKAD) berskala kampus. Seorang administrator sering kali ditugaskan untuk mengelola data mahasiswa secara massal dan menyajikan laporan rekapitulasi.

a. Keamanan Manipulasi Data (DML) 

Alih-alih membiarkan aplikasi mengeksekusi query UPDATE atau DELETE secara langsung (yang rentan terhadap serangan SQL Injection), kita dapat membungkus operasi DML ke dalam prosedur. Contohnya, saya merancang prosedur updateStatusMhs yang menerima parameter NPM dan status akademik baru. Prosedur ini mengeksekusi pembaruan data secara aman dan langsung memverifikasinya melalui perintah SELECT internal.

b. Laporan Dinamis dengan Kombinasi IF/ELSE, JOIN, dan GROUP BY

Studi kasus memuncak pada pembuatan fitur pelaporan dinamis. Saya membangun sebuah prosedur yang menerima parameter mode.

  • Jika mode = 1: Prosedur mengeksekusi logika INNER JOIN antara tabel mahasiswa dan prodi, lalu menggunakan GROUP BY untuk menghitung total jumlah mahasiswa di masing-masing program studi.

  • Jika mode selain 1 (ELSE): Prosedur secara otomatis mengabaikan perhitungan rumit tersebut dan hanya menampilkan daftar nama mahasiswa secara standar. Melalui pendekatan ini, satu prosedur dapat melayani berbagai kebutuhan laporan hanya dengan mengubah parameter inputnya.

1. Bagian A: Persiapan Tabel dan Data Simulasi


Bagian B: Pembuatan Stored Procedure (Studi Kasus)

kode berikut ini berisi dua Stored Procedure yang mengimplementasikan logika aman DML serta pelaporan dinamis menggunakan kombinasi IF/ELSE, JOIN, dan GROUP BY.


3. Bagian C: Perintah Eksekusi Pengujian (Uji Coba)




4. Refleksi dan Kendala Praktikum

Selama menyelesaikan modul ini, saya menghadapi beberapa kendala teknis yang justru memberikan pelajaran berharga, khususnya terkait proses adaptasi sintaks antara simulator MySQL dan lingkungan SQL Server Management Studio (SSMS) berbasis T-SQL.

  1. Error Struktur Blok Logika: Pada simulator MySQL, blok percabangan diakhiri dengan keyword END IF;. Namun, saat kueri tersebut dipindahkan ke SSMS, sistem memunculkan error. Dari sini saya belajar bahwa T-SQL mewajibkan penggunaan struktur blok BEGIN...END untuk membungkus perintah di dalam kondisi IF maupun ELSE.

  2. Ketidakcocokan Skema Tabel (Column Mismatch): Saat melakukan operasi JOIN, saya sempat menghadapi error "no such column" karena mencoba memanggil kolom nama program studi yang ternyata strukturnya berbeda antara database lokal dan database simulator. Kendala ini melatih ketelitian saya. Solusinya, saya beralih menggunakan Foreign Key idprodi yang sifatnya absolut dan pasti ada di kedua tabel untuk dijadikan landasan operasi GROUP BY.

5. Kesimpulan

Mempelajari Stored Procedure mengubah perspektif saya dalam melihat database. Basis data bukan sekadar tempat penyimpanan tabel yang pasif, melainkan sebuah mesin komputasi tangguh yang mampu menjalankan logika kondisional dan memproses manipulasi datanya sendiri. Penggunaan prosedur tersimpan tidak hanya membuat kode aplikasi menjadi lebih bersih dan modular, tetapi juga menekan beban lalu lintas jaringan dan meningkatkan integritas keamanan data. Pemahaman ini sangat vital bagi siapapun yang ingin terjun ke dunia rekayasa perangkat lunak maupun administrasi basis data.

Daftar Pustaka

  1. Elmasri, R., & Navathe, S. B. (2015). Fundamentals of Database Systems (7th ed.). Pearson.

  2. Microsoft. (2023). CREATE PROCEDURE (Transact-SQL). Microsoft Learn. Diakses pada Mei 2026, dari https://learn.microsoft.com/en-us/sql/t-sql/statements/create-procedure-transact-sql

  3. Oracle. (n.d.). MySQL 8.0 Reference Manual: Stored Programs and Views. MySQL Documentation. Diakses pada Mei 2026, dari https://dev.mysql.com/doc/refman/8.0/en/stored-programs-views.html

Tidak ada komentar:

Posting Komentar

Mengamankan Database: Panduan Praktis DCL (Data Control Language) pada SQL Server

  Makalah  SESI 13 USER MANAGEMENT    OLEH:   Bunga Putri Salsabilla 24781005 MI 4A   Dosen Pengampu : M. Reza Redo Islami, S. Kom., M.T .I....