MODUL IX & X
Nama
NIM
Kelas
: Iman Nurzaman
: 2015092058
: SI 2015 A
LABORATORIUM KOMPUTER
FAKULTAS ILMU KOMPUTER
UNIVERSITAS KUNINGAN
2016
MODUL X
TRANSACT SQL
Teori
1.
Transact-SQL
TRANSACT-SQL adalah bahasa pemrograman yang dikembangkan dari
SQL. Seperti diketahui SQL adalah bahasa non procedural, artinya alur
program tidak seperti bahasa pemrograman bisa, melainkan melalui
request dan response. Melalui perintah SQL seseorang melakukan
query atau transaksi, yang kemudian akan menerima jawaban dari
Database Server berupa hasil atau ResultSet. Query dan transaksi
dilakukan di bagian Client,sedangkan pemrosesan dilakukan pada Server.
Transact-SQL mengembangkan kemampuan SQL, sehingga TransactSQL dapat melengkapi SQL dengan instruksi logic (procedural logic), yaitu
program aplikasi. Hasil proses SQL-Server (ResultSet) dapat diolah lebih
lanjut dengan menggunakan logic pemrograman procedural seperti
Fungsi, Procedure, Loop, Case, If Then Else, dan lainnya.
2.
Kerangka Transact-SQL
TRANSACT-SQL dimulai dengan deklarasi variable dan disusul dengan
blok program. Variable harus dideklarasikan sebelum digunakan. Nama
variable selalu dimulai dengan karakter @. Variable dapat diberikan nilai
melalui instruksi SELECT.
DECLARE
/* deklarasi variable */
@v1 int,
@nama varchar(30)
Keterangan :
SELECT digunakan juga untuk eksekusi aritmatika atau lainnya.
Misalnya :
SELECT @v1 = @v1 100
Hasil: Ballacksave
PRINT adalah fungsi yang menampilkan teks dan variable pada console
(layar).
Contoh:
PRINT Nama yang ditemukan adalah :
PRINT @nama
PRINT Nama yang ditemukan adalah :+@nama
3.
Deklarasi Variable
Tipe dari variable yang dapat dideklarasikan adalah bagian dari Ms.
SQL yaitu char, varchar, datetime, int, money, dan lainnya.
Contoh deklarasi Variable:
DECLARE
@honor int,
@total int,
@nama varchar(30),
@instansi char(10),
@tgl_hari_ini datetime,
@tgl_nanti datetime
SELECT @Berat=100
SELECT @nama=CLARK KENT
SELECT @tgl_hari_ini=getdate()
SELECT @posisi=SUPERMAN
SELECT @tgl_nanti=@tgl_hari_ini
Hasil:
Berat anda adalah
100
CLARK KENT
SUPERMAN
APRIL 4 2008 10:18AM
APRIL 4 2008 10:18AM
4.
Variable Global
Variable global adalan variable yang disiapkan oleh SQL-Server
untuk memberikan informasi kepada Client. Variable global bersifat readonly.
Nama variable global diawali dengan @@.
5.
IF
IF digunakan dalam mengendalikan alur program berdasarkan kondisi.
IF kondisi
Instruksi
IF kondisi
Instruksi1
ELSE
BEGIN
Instruksi2
IF kondisi
Instruksi1
Instruksi2
END
Contoh:
DECLARE
@honor int,
@rata_rata int
SELECT @honor=100000
SELECT @rata_rata=200000
IF @honor > @rata_rata
PRINT Honor diatas rata-rata
ELSE
PRINT Honor dibawah rata-rata
Hasil:
Honor dibawah rata-rata
Bila diaplikasikan pada tabel asisten_XXX, maka nilai honor dapat
diambil dari asisten:
DECLARE
@honor int,
@rata_rata int,
@asisten char(8)
SELECT @asisten=02113216
SELECT @honor=honor FROM asisten_XXX WHERE nrp=@asisten
SELECT @rata_rata=200000
IF @honor > @rata_rata
PRINT Honor diatas rata-rata
ELSE
PRINT Honor dibawah rata-rata
penggunaan blok IF BEGIN END dapat dilakukan bila instruksi
dalam IF lebih dari satu instruksi..
if @a > @b
print('nilai @a lebih kecil dari @b')
else if @a < @b
print('nilai anu @a lebih kecil dari @b')
6.
WHILE
WHILE digunakan dalam mengeksekusi satu blok program berulangulangsampai kondisi pada WHILE menjadi false.
WHILE kondisi
BEGIN
END
Contoh:
DECLARE @i int
SELECT @i=5
WHILE @i > 0
BEGIN
PRINT i = + str( @i)
SELECT @i = @i - 1
END
Hasil:
i=5
i=4
i=3
i=2
i=1
Perhatikan bahwa fungsi str() diperlukan untuk mengkonversi bilangan
integer menjadi string (teks).
7.
IF kondisi2
CONTINUE
END
WHILE kondisi1
BEGIN
IF kondisi2
BREAK
END
8.
RETURN
RETURN akan menghentikan program dari eksekusi. RETURN dapat
digunakan dalam memproses error.
IF @@error <> 0
BEGIN
PRINT Error
RETURN
END
9.
CASE
CASE menyederhanakan IF yang berlapis dengan tujuan agar program
dapat dimengerti/dibaca lebih mudah.
IF kondisi1
ELSE IF kondisi2
ELSE IF kondisi3
ELSE
Dapat diganti:
CASE
WHEN kondisi1 THEN
WHEN kondisi1 THEN
WHEN kondisi1 THEN
ELSE
END
Contoh:
DECLARE
@t char(1),
@hasil varchar(255)
SELECT @t=B
SELECT @hasil=
CASE
WHEN @t=A THEN
Karakter A
WHEN @t=B THEN
Karakter B
ELSE
Tidak diketahui
END
PRINT Hasil adalah +@hasil
Hasil:
Hasil adalah : Karakter B
Perhatikan bahwa CASE diatas digunakan untuk mengambil nilai
variable: SELECT @hasil=CASE
Berikut adalah variasi dari CASE:
DECLARE
@t char(1),
@hasil varchar(255)
SELECT @t=X
SELECT @hasil=
CASE @t
WHEN A THEN
Karakter A
WHEN B THEN
Karakter B
ELSE
Tidak diketahui
END
PRINT Hasil adalah +@hasil
LATIHAN
1. Membuat Fungsi Transact
Tugas :
1.
BLOK PROGRAM
WITH OR WITHOUT
3.
dalam T-SQL ?
Seperti bahasa dalam kebanyakan basis data SQL, T-SQL ini mempunyai
beberapa fitur :
bahasa kendali alir (control flow)
4.
variabel lokal
PRINT ( @tgl_hari_ini )
PRINT ( @tgl_nanti )
Hasil:
Berat anda adalah
100
CLARK KENT
SUPERMAN
APRIL 4 2008 10:18AM
APRIL 4 2008 10:18AM