Laporan Pemprograman Basis Data
“MENGGUNAKAN PROSEDUR TERSIMPAN”
Disusun oleh:
Meyla Yan Sari
IK-3B
3.34.13.1.10
PROGAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK ELEKTRO
I.
Tujuan Instruksional Khusus
Setelah melakukan praktek ini, mahasiswa diharapkan mampu : 1. Mengetahui dan mengerti apa itu prosedur tersimpan 2. Dapat membuat prosedur tersimpan
3. Dapat mengubah prosedur tersimpan 4. Dapat menghapus prosedur tersimpan
5. Dapat menggunakan dan memanfaatkan prosedur tersimpan
II.
Dasar Teori
Menggunakan Prosedur Tersimpan
Prosedur tersimpan atau stored procedure merupakan sebuah statement dalam SQL yang memeperbolehkan pengguna untuk mengerjakan suatu proses secara berulang. pembuatan prosesdur dapat dilakukan sekali dan dapat dipergunakan kembali untuk proses lainnya. Penggunaan prosedur tersimpan menunjang aspek maintainability dari perangkat yang dibuat. Pada bab ini berisi pengenalan tentang prosedur tersimpan dan mengetahui bagaimana program bekerja menggunakan prosedur.
Prosedur tersimpan dapat memiliki parameter yang dapat digunakan untuk prosedur input output dan nilai integer yang mengembalikan nilai. Pemanggilan prosedur dapat dilakukan dari prosedur lain atau langsung dari client. Karena kemampuan yang ditawarkan prosedur tersimpan baik, prosedur tersimpan menjadi sering digunakan dalam pemprograman database. Penggunaan prosedur tersimpan juga dapat mengurangi traffic suatu jaringan.
Prosedur Tersimpan
pembuatan prosedur tersimpan menggunakan sintaks CREATE PROCEDURE kemudian diikuti sintaks AS, berikut adalah sintaks selengkapnya :
CREATE PROCEDUR <nama> AS <prosedur>
CREATE PROCEDURE SP_TampilPegawai AS
SELECT EmployeeID, FirstName, LastName FROM Employees
Dari contoh diatas dapat diketahui bahwa, prosedur tersimpan memiliki nama SP_TampilPegawai, penggunaan prefix SP dimaksudkan untuk membedakan prosedur tersimpan dengan prosedur lain. Ketika prosedur dieksekusi proses yang dilakukan adalah proses select untuk menampilkan semua data pegawai.Untuk mengakses prosedur dapat menggunakan perintah EXECUTE diikuti nama prosedur.
Prosedur Tersimpan Degan Parameter Input
Pada jenis prosedur ini, pengguna dapat mengrimkan data kedalam prosedur untuk diolah oleh prosedur untuk menghasilkan input. Berikut adalah sintaks selengkapnya :
CREATE PROCEDUR <nama> <parameter>
AS <prosedur> WHERE <kriteria>
Berikut adalah contoh implementasinya : CREATE PROCEDURE SP_TampilPegawai @employeeid int
AS
SELECT FirstName, LastName FROM Employees
WHERE EmployeeID = @employeeid
Dari contoh yang dibuat diatas, inisiasi parameter dilakukan sebelum dibuatnya prosedur yang dilakukan ketika prosedur dieksekusi. Letak dari inisiasi parameter berada sebelum sintaks AS setelah nama prosedur. Untuk mengakses prosedur menggunakan EXECUTE <nama> <parameter>.
Prosedur Tersimpan Dengan Parameter Output
CREATE PROCEDUR <nama> <parameter>
AS <prosedur> WHERE <kriteria>
Beriktu adalah contoh implementasinya : CREATE PROCEDURE SP_OrderEmployees @employeeid int,
@ordercount int = 0 output AS
SELECT OrderID,CustomerID FROM Orders
WHERE EmployeeID = @employeeid; SELECT @ordercount = count(*) FROM Orders
WHERE EmployeeID = @employeeid RETUR @ordercount
Dalam prosedur diatas terdapat 2 proses, yang pertama adalah proses query sedangkan yang kedua adalah proses pengembalian nilai. Untuk mengakses prosedur ini menggunakan perintah:
DECLARE @returnval int, @ordercount int EXECUTE @returnval=SP_OrderEmployees
@employeeid=2, @ordercount=@ordercount output SELECT ‘return value’=@returnval
Mengubah Prosedur Tersimpan
Untuk mengubah prosedur tersimpan dapat menggunakan perintah berikut: ALTER PROCEDURE <nama>
AS <prosedur>
Berikut adalah contohnya :
ALTER PROCEDURE SP_TampilPegawai AS
SELECT EmployeeID,FirstName,LastName FROM Employees
Ketika perintah alter prosedur di eksekusi isi dari prosedur di ubah dengan prosesdur yang baru. Proses pengubahan dilakukan secara menyeluruh atau dihapus kemudian dimasukkan proses baru.
Menampilkan Prosedur Tersimpan
Untuk melihat isi atau perintah yang tersimpan dalah prosedur tersimpan dapat menggunaka perintah sp_helptext :
EXECUTE SP_HELPTEXT ‘<nama>’ Contoh penggunaannya :
EXECUTE SP_HELPTEXT 'SP_TampilPegawai'
Ketika perintah diatas dieksekusi akan menampilkan isi dari SP_TampilPegawai
Mengubah Nama Prosedur Tersimpan
Untuk mengubah nama dari prosedur tersimpan dapat menggunakan perintah SP_RENAME. Sintaks penulisan adalah berikut :
EXECUTE SP_RENAME ‘<nama lama>’, ‘<nama baru>’ Contoh implementasi perintah sp_rename :
EXECUTE SP_RENAME 'SP_TampilPegawai', 'SP_TampilPegawaiDetail' Ketika perintah dieksekusi maka prosedur tersimpan dengan nama SP_TampilPegawai akan otomatis berganti nama dengan SP_TampilPegawaiDetail.
Mengubah Nama Prosedur Tersimpan
Untuk menghapus prosedur tersimpan dapat menggunakan perintah berikut ini: DROP PROCEDURE <nama>
Contoh implementasi perintah sp_rename : DROP PROCEDURE SP_TampilPegawaiDetail
III.
Alat dan Bahan
1. PC Processor minimal Pentium IV, RAM minimal 512 MB 2. Ms Sql Server
3. Ms Visual Studio
IV.
Langkah Kerja/Percobaan
1. Langkah pertama adalah membuka / menjalankan MS Sql Server management studio
2. lalu koneksikanMS Sql Server management studio dengan database server 3. Setelah itu klik new query dan masukkan kode dibawah ini simpan dengan
nama SQLQuery1.sql dan ambil gambar
create procedure sp_Select_All_Employees
as SQLQuery2.sql dan ambil gambar
execute sp_Select_All_Employees
5. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery3.sql dan ambil gambar
create procedure sp_Orders_By_EmployeeId @employeeid int
as
select orderid, customerid
where employeeid = @employeeid;
6. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery4.sql dan ambil gambar
execute sp_Orders_By_EmployeeId 2
7. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery5.sql dan ambil gambar
create procedure sp_Orders_By_EmployeeId2 @employeeid int,
@ordercount int = 0 output as
select orderid,customerid
from orders
where employeeid = @employeeid;
select @ordercount = count(*)
from orders
where employeeid = @employeeid
return @ordercount
8. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery6.sql dan ambil gambar
Declare @return_value int,
@ordercount int
Execute @return_value=sp_Orders_By_EmployeeId2 @employeeId=2,
@ordercount=@ordercount output Select @ordercount as '@ordercount'
Select 'Return value' =@return_value
Alter procedure sp_Select_All_Employees
as
select employeeid,firstname,lastname
from employees
order by lastname,firstname
10. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery8.sql dan ambil gambar
execute sp_Select_All_Employees
11. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery9.sql dan ambil gambar
Execute sp_helptext 'sp_Select_All_Employees'
12. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery10.sql dan ambil gambar
Execute sp_rename 'sp_Select_All_Employees',
'sp_Select_Employees_Details'
13. klik new query dan masukkan kode dibawah ini simpan dengan nama SQLQuery11.sql dan ambil gambar
execute sp_Select_Employees_Details
14. klik new query dan masukkan ko.de dibawah ini simpan dengan nama SQLQuery12.sql dan ambil gambar
Drop procedure sp_Select_Employees_Details
15. Untuk proses percobaan akses prosedur tersimpan dari program yang dibuat melalui ms visual studio adalah sebagai berikut:
dan Solution name Chapter6
b. Lalu rename module1.vb menjadi CallSp1.vb
Diubah menjadi berikut :
dan masukkan kode dibawah ini, kemudian jalankan program
Imports System
Imports System.Data.SqlClient cmd.CommandType = CommandType.StoredProcedure cmd.CommandText = "sp_select_employees_details"
Dim rdr As SqlDataReader = cmd.ExecuteReader()
conn.ConnectionString = "data source=ANGGA; initial
cmd.Parameters.Add("@employeeid", SqlDbType.Int)
inparm.Direction = ParameterDirection.Input inparm.Value = 2
Dim ouparm As SqlParameter =
cmd.Parameters.Add("@ordercount", SqlDbType.Int)
ouparm.Direction = ParameterDirection.Output Dim retval As SqlParameter =
cmd.Parameters.Add("return_value", SqlDbType.Int)
retval.Direction = ParameterDirection.ReturnValue {0}", cmd.Parameters("@ordercount").Value)
End Sub End Module
V.
Lembar Kerja
No Praktik Hasil Program
1 SQLQuery1.sql
Query untuk membuat prosedur tersimpan dengan nama
sp_select_all_emp loyees untuk menampilkan semua data pekerja pada tabel employees
2 SQLQuery2.sql
Query untuk menjalankan prosedur
tersimpan dengan nama
sp_select_all_emp loyees
3 SQLQuery3.sql
tersimpan dengan parameter input, prosedur ini untuk seleksi data pada tabel order dengan employeeid sesuai parameter
4 SQLQuery4.sql
Query untuk menjalankan prosedur tersimpan bernama
sp_order_by_empl oyeeid dengan nilai parameter 2
5 SQLQuery5.sql
Query untuk membuat prosedur tersimpan dengan parameter output yang
6 SQLQuery6.sql Query untuk menjalankan prosedur
tersimpan dengan parameter input employeeid dan parameter output ordercount
7 SQLQuery7.sql
Query untuk mengubah isi dari prosedur
tersimpan, pengubahan isi dengan metode rewrite
8 SQLQuery8.sql
prosedur
tersimpan dengan nama
sp_select_all_emp loyees
9 SQLQuery9.sql
Query untuk menampilkan metadata dari prosedur tersimpan bernama
sp_select_all_emp loyees
10 SQLQuery10.sql
Query untuk mengganti nama, atau rename prosedur tersimpan
11 SQLQuery11.sql
tersimpan dengan nama
sp_select_employ ees_details
12 SQLQuery12.sql
Query untuk menghapus prosedur
tersimpan dengan nama
sp_select_employ ees_details
13 CallSp1.vb
Console apps yang
menampilkan prosedur tersimpan
14 CallSp2.vb
Console apps yang menampikan prosedur
tersimpan
VI.
Kesimpulan
Pada praktikum ini membahas tentang cara membuat prosedur tersimpan. Terdapat beberapa jenis prosedur tersimpan, diantaranya adalah prosedur tersimpan dengan parameter dan tidak. Jenis prosedur tersimpan dengan parameter dikelompokkan menjadi 2 yaitu prosedur tersimpan dengan parameter input dan parameter output.