You are on page 1of 26

Transact-SQL

Transact(T--SQL)
(T
Pertemuan ke-12

www.rahmadani.net

Agenda..
Pengertian T-SQL
Bagaimana kerangka T-SQL
Pendefinisian variabel
Select dan Set statement dalam T-SQL
Print statement
Variabel global
If statement
While
Continue dan Break
Return statement
Case statement
www.rahmadani.net

Pemahaman
Dasar
(1)
TRANSACT-SQL
adalah bahasa
pemrograman
yang dikembangan dari SQL. Seperti diketahui,
SQL adalah bahasa non procedural, artinya alur
program tidak seperti bahasa pemrograman biasa,
melainkan melalui "request" dan "response".
Melalui instruksi 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.
www.rahmadani.net

Pemahaman Dasar (2)


TRANSACT-SQL mengembangkan kemampuan
SQL, sehingga TRANSACT-SQL dapat
melengkapi SQL dengan instruksi logic
(procedural logic), yaitu seperti layaknya
program aplikasi.
Hasil proses SQL-Server (ResultSet) dapat
diolah lebih lanjut dengan menggunakan logic
pemrograman procedural seperti Fungsi,
Prosedur, While, Case, If Then Else dan lainnya.
www.rahmadani.net

Kerangka TRANSACTTRANSACT-SQL
TRANSACT-SQL dimulai dengan
deklarasi variable dan disusul dengan Blok
Program.
DECLARE @nama_variable tipe_variable
BLOK PROGRAM
WITH OR WITHOUT BEGIN - END

www.rahmadani.net

Pendefinisian Variable TT-SQL

Variable harus dideklarasikan sebelum digunakan.


Nama variable selalu dimulai dengan karakter @.
Variable dapat diberikan nilai melalui instruksi
SELECT ataupun SET.
Contoh;
DECLARE
@v1 int, /* deklarasi variable */
@nama varchar(30)
select @v1=100 /* memberikan nilai 100 ke v1 */
www.rahmadani.net

SELECT dan SET dalam TT-SQL

1. Penggunaan SELECT

SELECT digunakan juga untuk eksekusi aritmatika


atau lainnya.
Contoh:
select @v1 = @v1 100
select @tgl_skrg = now
Variable dapat digunakan untuk mengambil nilai
dari sebuah query:
Contoh:
select @jml_maksimal = max(sallary)
from SallaryEmployee
www.rahmadani.net

2. Penggunaan SET
Selain menggunakan perintah select untuk
memasukkan/setting variabel, dapat juga
dipergunakan perintah SET
Penggunaan SET lebih direkomendasikan
dibandingkan menggunakan SELECT
untuk variabel.
Contoh :
SET @nama = Kiki
www.rahmadani.net

PRINT dalam TT-SQL


PRINT adalah fungsi yang menampilkan teks
dan variable pada console (layar).
Contoh: Simpan dengan nama:testprint.sql

DECLARE @nama varchar(20)

SELECT @nama = 'Meja'


PRINT 'nama=' + @nama

www.rahmadani.net

Contoh; Penggunaan SELECT dan PRINT


Simpan dengan nama: ListingTSQL1.sql

DECLARE
@Nama varchar(10),
@Tinggal varchar(50),
@Gaji int,
@No int,
@Tanggal datetime
SELECT @No=2
SELECT @Nama='Areef'
SELECT @Tinggal='Mbandunk'
SELECT @Gaji=5000000
SELECT Tanggal= getdate()
PRINT
PRINT
PRINT
PRINT
PRINT

(@No)
(@Nama)
(@Gaji)
(@Tinggal)
(@Tanggal)

www.rahmadani.net

10

Contoh Penggunaan SET dalam Program


Simpan dengan nama: cobaSET.sql

DECLARE
@Nama varchar(10),
@Tinggal varchar(50),
@Gaji int,
@No int,
@Tanggal datetime
SET @No=2
SET @Nama='Areef'
SET @Tinggal='Mbandunk'
SET @Gaji=5000000
SET @Tanggal= getdate()
PRINT
PRINT
PRINT
PRINT
PRINT

(@No)
(@Nama)
(@Gaji)
(@Tinggal)
(@Tanggal)

www.rahmadani.net

11

Variable Global

Variable Global adalah variable yang disiapkan oleh SQLServer untuk memberikan informasi kepada Client. Jadi
variable global dapat digunakan untuk seluruh program.
Nama variable global diawali dengan @@.
Contoh:

@@error
Bilangan bulat, yang menyatakan nomor error. Jika variable tersebut
tidak sama dengan 0, maka sistem memberikan indikasi bahwa
terjadi error dan identitas error dinyatakan dalam angka.
@@cursor_rows
Nilai balik dari cursor yang terakhir kali diolah.
@@server_name : Nama dari SQL Server lokal
@@Max_Connections : Jumlah maksimum koneksi secara bersama
@@language : bahasa yang digunakan sekarang
Dll..
www.rahmadani.net

12

If -mengendalikan
Statementalur program
IF digunakan dalam
berdasarkan kondisi.
Model 3
IF kondisi
BEGIN
Instruksi1
Instruksi2
..
..
END

Model 1

IF kondisi
Instruksi

Model 2
IF kondisi
Instruksi1
ELSE
Instruksi2
www.rahmadani.net

13

Contoh IF-Statement,

Simpan dengan nama: listingTSQL2.sql


DECLARE @bilngan int
SET @bilngan = 75
IF @bilngan >=60
PRINT SELAMAT ANDA LULUS' ELSE
PRINT SEMANGAT ANDA GAGAL'

www.rahmadani.net

14

Contoh IF-Statement,

Simpan dengan nama; listingTSQL3.sql


DECLARE
@nilai int,
@nilai_minimum int
SELECT @nilai=80
SELECT @nilai_minimum=50
IF @nilai>@nilai_minimum
PRINT Anda dinyatakan LULUS
ELSE
PRINT 'Wah..Anda Harus Mengulang Ujian!! :-('
www.rahmadani.net

15

WHILE digunakan dalam mengeksekusi satu blok program


berulang-ulang (Looping) sampai kondisi pada WHILE menjadi
false.
Contoh; Simapan dengan nama: listingTSQL4.sql

While Statement

Syntax:
DECLARE @i int
WHILE kondisi
SELECT
@i=1
BEGIN
WHILE.. @i<10
END
BEGIN
PRINT @I
SET @I = @I + 1
END

www.rahmadani.net

16

Contoh WHILE-Statement,

Simpan dengan nama: listingTSQL5.sql


DECLARE @i int
SELECT @i=5
WHILE @i > 0
BEGIN
PRINT 'Nilai Bilangan i adalah = ' + str(@i)
SELECT @i= @i-1
End
Catatan;
Fungsi str() digunakan untuk mengubah angka menjadi string (teks).
www.rahmadani.net

17

Continue

Continue berkaitan dengan WHILE. Continue digunakan


untuk melanjutkan alur program pada pemeriksaan kondisi
WHILE atau dengan kata lain digunakan untuk skip
perulangan.

Syntax;

WHILE kondisi1
BEGIN
..
..
if kondisi2
CONTINUE
..
END
www.rahmadani.net

18

Contoh Continue; listingTSQL6.sql


DECLARE @i int
SELECT @i=0
WHILE @i<10
BEGIN
SET @I = @I + 1
IF @I=5 CONTINUE
PRINT @I
END
www.rahmadani.net

19

Return - Statement

RETURN akan menghentikan program dari


eksekusi atau untuk keluar dari proses Looping.
Contoh; listingTSQL7.sql
DECLARE @i int
SELECT @i=0
WHILE @i<10
BEGIN
SET @I = @I + 1
IF @I=5 RETURN
PRINT @I
END

www.rahmadani.net

20

Case Statement

CASE menyederhanakan IF yang berlapis dengan


tujuan agar program dapat dimengerti/dibaca
dengan lebih mudah.
Sintaks:
CASE
WHEN kondisi1 THEN VALUE1
WHEN kondisi2 THEN VALUE2
WHEN kondisi3 THEN VALUE3

ELSE
STATEMENT
END
www.rahmadani.net

21

Contoh; Case Statement,


Simpan dengan nama: listingTSQL8.sql
DECLARE @bil int,
@terbilang varchar(15)
SET @bil = 3
SELECT @terbilang =
CASE
WHEN @bil = 1 THEN 'Satu'
WHEN @bil = 2 THEN 'Dua'
WHEN @bil = 3 THEN 'Tiga'
WHEN @bil = 4 THEN 'Empat'
WHEN @bil = 5 THEN 'Lima'
ELSE 'Banyak sekali.....!!'
END
PRINT @terbilang
www.rahmadani.net

22

Contoh; Case Statement,


Simpan dengan nama: listingTSQL9.sql

DECLARE
@t char(1),
@hasil varchar(255)
SELECT @t='C'
SELECT @hasil= CASE
WHEN @t='A' THEN'Karakter A'
WHEN @t='B' THEN 'Karakter B'
ELSE
'Karakter Tidak Dikenal'
END
PRINT 'Hasil adalah : ' + @hasil
www.rahmadani.net

23

www.rahmadani.net

24

Latihan
1.

2.

Coba Anda buatkan listing T-SQL, untuk menampilkan


data menggunakan assingn variable SET dengan ouput
sebagai berikut;
DATA KARYAWAN
=====================
Kode :K0008
Nama :LINTANG
Gaji :Rp.
4000000
=====================

Dengan menggunakan Statement IF, buat sebuah kondisi,


jika umr>1650000, maka Honor Anda sudah di atas
UMR jika tidak Honor Anda di bawah UMR, hayo minta
naek gaji ke si Bos :D

3.

Dengan menggunakan Statement-IF, coba Anda buat


sebuah Listing Program untuk menguji, sebuah nilai
apakah bilangan Genap atau Ganjil.
www.rahmadani.net

25

4.

Buatkan sebuah listing statement WHILE untuk


menampilkan deret angka ganjil, dengan output
sebagai berikut;
1adalah
3adalah
5adalah
7adalah
9adalah

5.

bilangan
bilangan
bilangan
bilangan
bilangan

ganjil
ganjil
ganjil
ganjil
ganjil

Pada database MYAKADEMIK dan pada tabel


Mahasiswa, coba buat sebuah listing T-SQL, untuk
menampilkan sebuah status JenKel seorang
Mahasiswa??
www.rahmadani.net

26

You might also like