Laporan Pemprograman Basis Data MENGGUNA

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
POLITEKNIK NEGERI SEMARANG
2015

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
AS
Keterangang dari sintaks diatas adalah pembuatan prosedur dimulai dengan
pemberian nama. Lalu untuk bagian prosedur diisi dengan proses yang
dilakukan, misalnya proses select, edit, delete dan lainnya. Berikut adalah
contoh prosedur tersimpan yang dapat dilakukan :

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

AS
WHERE
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 .
Prosedur Tersimpan Dengan Parameter Output
Penggunaan parameter output berguna untuk melewatkan nilai antar prosedur.

Berikut adalah sintaks penulisannya :

CREATE PROCEDUR

AS
WHERE
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
AS
Berikut adalah contohnya :
ALTER PROCEDURE SP_TampilPegawai
AS
SELECT EmployeeID,FirstName,LastName
FROM Employees
ORDER BY LastName,FirstName

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 ‘’
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 ‘’, ‘’
Contoh implementasi perintah sp_rename :
EXECUTE SP_RENAME 'SP_TampilPegawai', 'SP_TampilPegawaiDetail'
Ketika

perintah

SP_TampilPegawai

dieksekusi
akan

maka

prosedur


otomatis

tersimpan

berganti

dengan

nama

nama
dengan

SP_TampilPegawaiDetail.
Mengubah Nama Prosedur Tersimpan
Untuk menghapus prosedur tersimpan dapat menggunakan perintah berikut ini:
DROP PROCEDURE
Contoh implementasi perintah sp_rename :
DROP PROCEDURE SP_TampilPegawaiDetail

Ketika

perintah

dieksekusi

maka

SP_TampilPegawaiDetail akan terhapus.

prosedur

tersimpan

dengan

nama

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
select
employeeid,
firstname,
lastname
from

employees

4. klik new query dan masukkan kode dibawah ini simpan dengan nama
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
from orders

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

9. klik new query dan masukkan kode dibawah ini simpan dengan nama
SQLQuery7.sql dan ambil gambar

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:
a. Buka visual studio dan buat project dengan jenis console application
dengan nama project CallSp1

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

Imports System.Data.SqlClient
Module CallSp1
Sub Main()
Dim conn As New SqlConnection
conn.ConnectionString = "data source=MEYLA; initial
catalog=northwind; integrated security=true"
conn.Open()
Dim cmd As SqlCommand = conn.CreateCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "sp_select_employees_details"
Dim rdr As SqlDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine("{0}{1}{2}",
rdr(0).ToString().PadRight(5), rdr(1).ToString(),
rdr(2).ToString())
End While
Console.Readline()
rdr.Close()
conn.Close()
End Sub
End Module

c. Kemudian buat project baru dalam solution chapter6 dengan nama
CallSp2
d. Rename module1.vb menjadi CallSp2.vb lalu masukkan kode berikut,
kemudian jalankan program
Imports System
Imports System.Data
Imports System.Data.SqlClient
Module CallSp2
Sub Main()
Dim conn As New SqlConnection

conn.ConnectionString = "data source=ANGGA; initial
catalog=northwind; integrated security=true"
Try
conn.Open()
Dim cmd As SqlCommand = conn.CreateCommand()
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "sp_orders_by_employeeid2"
Dim inparm As SqlParameter =
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
Dim rdr As SqlDataReader = cmd.ExecuteReader()
While rdr.Read()
Console.WriteLine("{0} {1}",
rdr(0).ToString().PadRight(5), rdr(1).ToString())
End While
rdr.Close()
Console.WriteLine("the output parameter value is
{0}", cmd.Parameters("@ordercount").Value)
Console.WriteLine("the return value is {0}",
cmd.Parameters("return_value").Value)
Catch ex As Exception
Console.WriteLine(ex.ToString())
Finally
Console.Read()
conn.Close()
End Try

End Sub
End Module

V.

Lembar Kerja
No

Praktik

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
Query untuk
membuat prosedur

Hasil Program

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
menghasilkan
nilai variabel
ordercount

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
Query untuk
menjalankan

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
Query untuk
menjalankan
prosedur

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
sp_select_employ
ees_details

14

CallSp2.vb
Console apps
yang menampikan
prosedur
tersimpan
sp_orders_by_em
ployeeid2 disertai
nilai kembali

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.
Beberapa proses yang dapat kita lakukan terhadap prosedur tersimpan
diantaranya adalah membuat, mengubah, menampilkan, dan menghapus prosedur
tersimpan. Prosedur tersimpan dapat juga diakses secara langsung melalui program
berbasis VB.NET. pengaksesan prosedur ini melalui fasilitas ADO.NET yang
ditawarkan oleh VB.NET.