Selasa, 12 Mei 2026

Panduan Praktis Stored Procedure: Dari MySQL Simulator ke SQL Server (SSMS)

  Makalah 

SESI 9

STORED PROCEDURE I



 

 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  

Pendahuluan

Di era digital saat ini, data merupakan aset paling berharga bagi sebuah organisasi atau perusahaan. Namun, memiliki kumpulan data yang melimpah tidak akan banyak berarti jika kita tidak mampu mengelolanya dengan efisien. Dalam dunia Manajemen Informatika, fokus kita bukan hanya sekadar bagaimana menyimpan data ke dalam database, melainkan juga merancang sistem agar data tersebut dapat diakses, dimanipulasi, dan disajikan secara cepat, aman, serta terstruktur.

Ketika mengembangkan atau mengelola sebuah sistem informasi akademik maupun bisnis, kita sering kali dihadapkan pada kebutuhan untuk mengeksekusi serangkaian query SQL yang rumit dan berulang-ulang setiap harinya. Jika kita terus-menerus menulis query mentah secara manual, hal ini tentu sangat tidak efisien dan rentan terhadap kesalahan ketik (human error). Selain itu, meletakkan seluruh logika pemrosesan data di sisi aplikasi juga dapat menurunkan performa dan meningkatkan risiko keamanan jaringan.

Oleh karena itu, diperlukan sebuah pendekatan yang lebih optimal, yaitu dengan memindahkan logika pemrosesan berulang tersebut langsung ke dalam database server. Di sinilah konsep Stored Procedure memegang peranan krusial.

Makalah ringkas ini disusun untuk mendokumentasikan pemahaman dan hasil praktik mengenai implementasi Stored Procedure tingkat dasar. Artikel ini tidak hanya akan membahas konsep dasar pembuatannya, tetapi juga akan menyoroti perbandingan dan adaptasi sintaks antara dua Database Management System (DBMS) yang berbeda, yaitu dari lingkungan MySQL (berbasis simulator) ke ekosistem T-SQL pada SQL Server Management Studio (SSMS).

Halo teman-teman! Pada minggu ke-9 praktikum Pemrograman SQL Lanjut ini, kita memasuki topik yang sangat menarik dan tentunya sangat berguna di dunia kerja, yaitu Stored Procedure.

Bayangkan kita punya sebuah query panjang atau rumit yang harus dijalankan berkali-kali setiap hari. Mengetik ulangnya setiap saat pasti sangat tidak efisien dan rentan terjadi typo, bukan? Nah, di sinilah Stored Procedure menyelamatkan kita. Secara sederhana, Stored Procedure adalah kumpulan pernyataan SQL yang disimpan di dalam database. Sekali kita mendefinisikan dan membuatnya, kita bisa memanggil blok kode tersebut kapan saja hanya dengan satu baris perintah pendek.

Pada praktikum kali ini, fokus utama adalah pengenalan level dasar: membuat prosedur (CREATE PROCEDURE), menggunakan parameter input (IN), hingga menggabungkannya dengan operasi JOIN dan fungsi agregat seperti AVG(). Hal yang membuat sesi ini sangat berharga adalah kita tidak hanya belajar di lingkungan MySQL (melalui simulator), tetapi juga diwajibkan mengimplementasikannya langsung di SQL Server Management Studio (SSMS) menggunakan dialek T-SQL. Ini sangat membuka wawasan karena kita dituntut fleksibel terhadap perbedaan sintaks antar Database Management System (DBMS).

Berikut adalah dua contoh query yang menyoroti penyesuaian dari konsep MySQL ke T-SQL:

1. Procedure Tanpa Parameter 

Di MySQL, kita menggunakan DELIMITER $$ dan CALL untuk memanggil prosedur. Namun, di SQL Server, kita menggunakan pemisah batch GO dan memanggilnya dengan EXEC.

2. Procedure Menggunakan Parameter Input 

Jika kita ingin memfilter data, kita bisa menggunakan parameter. Di T-SQL, parameter dideklarasikan dengan awalan lambang @.


Refleksi Pribadi & Kendala 

Selama mengerjakan rangkaian task ini, hal yang paling menantang (dan sempat membuat pusing) justru bukanlah menyusun logika query-nya, melainkan proses uji coba insert data dummy di SSMS. Saya sempat dihadapkan dengan pesan error "Foreign Key Constraint" dan "Violation of PRIMARY KEY".

Dari kendala tersebut, saya belajar bahwa dalam database relasional, data "induk" (seperti tabel referensi prodi atau jenjang) harus dibuat terlebih dahulu sebelum kita memasukkan data "anak" (seperti mahasiswa atau dosen). Selain itu, saya juga mengalami error karena tidak teliti membaca skema database, di mana terjadi salah ketik pemanggilan nama kolom antara tempat_lhr dan tempat_lahir.

Tips Praktikum: 

Bagi teman-teman yang sedang belajar materi ini, selalu perhatikan skema database dengan teliti! Sebelum mengetes Stored Procedure yang memfilter data spesifik, pastikan Anda sudah memasukkan data dummy yang relevan, dan perhatikan hierarki relasi antar tabelnya. Ingat juga bahwa SQL Server tidak mengenal perintah LIMIT, sehingga kita harus menggunakan SELECT TOP() sebagai gantinya.

Secara keseluruhan, materi Stored Procedure ini sangat melatih kebiasaan kita untuk menulis kode SQL yang bersih, dapat digunakan berulang kali (reusable), dan membuat kita lebih teliti dalam memahami struktur sebuah basis data.

Kesimpulan

Sebagai penutup, mempelajari Stored Procedure adalah sebuah lompatan penting bagi kita untuk beralih dari sekadar "penulis query" menjadi seorang perancang database yang efisien. Dengan mengemas logika query ke dalam database, kita tidak hanya menghemat waktu (karena reusable atau bisa dipakai berulang kali), tetapi juga meningkatkan performa dan keamanan sistem secara keseluruhan.

Melalui eksplorasi lintas DBMS pada praktikum ini, kita juga menyadari sebuah fakta penting: logika dasar SQL mungkin sama, namun setiap platform memiliki "dialeknya" masing-masing. Perbedaan sintaks antara MySQL dan T-SQL (seperti penggunaan DELIMITER vs GO, CALL vs EXEC, hingga LIMIT vs TOP()) mengajarkan kita untuk selalu adaptif dan rajin membaca dokumentasi saat bekerja dengan environment yang baru.

Selain itu, rentetan pesan error terkait Primary Key dan Foreign Key yang kita temui di SSMS justru menjadi pelajaran paling berharga. Error tersebut adalah bukti nyata bagaimana sebuah database relasional bekerja keras melindungi integritas datanya. Kita diingatkan bahwa sebelum melakukan manipulasi tingkat lanjut, kebersihan data dan pemahaman terhadap hierarki tabel adalah syarat mutlak yang tidak bisa ditawar.

Semoga catatan praktikum minggu ke-9 ini bisa memberikan gambaran yang lebih jelas bagi teman-teman yang sedang mendalami pemrograman SQL Lanjut. Jangan pernah takut melihat teks error berwarna merah di SSMS, karena dari sanalah proses troubleshooting dan pemahaman kita benar-benar diuji. Selamat mencoba dan sampai jumpa di catatan praktikum selanjutnya!


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....