0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan21 halaman

Kontrol Alur Proses dalam T-SQL

Dokumen membahas tentang control-flow statement dalam bahasa pemrograman seperti if-else, case-when, perulangan menggunakan while, break dan continue.

Diunggah oleh

Noer Fotin Octavia
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan21 halaman

Kontrol Alur Proses dalam T-SQL

Dokumen membahas tentang control-flow statement dalam bahasa pemrograman seperti if-else, case-when, perulangan menggunakan while, break dan continue.

Diunggah oleh

Noer Fotin Octavia
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd

CON T RO L - F LOW

STAT E M E N T

Tri Astuti, [Link]., [Link].


 Alur Proses
Outline  Percabangan
 If else
 Case when
 Perulangan
 While
 Break
 Continue
 Alur proses, dalam setiap bahasa pemrograman, adalah sebuah
keharusan. Setiap perubahan kontrol terhadap alur proses dapat
ALUR PROSES mempengaruhi output

 Secara umum ada 2 cara untuk mengontrol alur proses antara lain
1. Conditional processing/percabangan
2. Control of flow/perulangan
 Secara analogi dalam kehidupan sehari-hari, percabangan dapat
dilihat ketika seseorang berjalan dan bertemu dengan
PERCABANGAN persimpangan. Disini, ada beberapa pilihan yang bisa dibuat,
apakah belok ke kanan, ke kiri, atau lurus? Ada juga pertimbangan-
pertimbangan seperti, apakah lebih jauh, jalannya rusak, atau yang
lainnya dalam setiap pilihan jalan.

 Pembuatan program tidak hanya terdiri dari statement yang


dijalankan secara urut dari baris pertama sampai terakhir. Ada
beberapa statement yang mungkin membutuhkan kondisi
tertentu. Kondisi ini didalam program disebut sebagai percabangan.

 T-SQL menyediakan 2 kata kunci untuk percabgangan antara lain


1. IF...ELSE
2. SELECT CASE…WHEN
 Setiap percabangan membutuhkan kondisi. Dalam arti kata lain,
setiap kata kunci IF diikuti oleh kondisi. Kondisi ini adalah
IF..ELSE kondisi boolean. Penulisan kondisi boolean pada IF sama seperti
penulisan kondisi pada WHERE atau HAVING (SQL).
 Ada 2 nilai yang dihasilkan oleh kondisi boolean, yaitu terpenuhi
dan tidak terpenuhi.
 Jika kondisi IF terpenuhi atau bernilai TRUE, maka SQL Server akan
menjalankan sebuah perintah SQL atau menjalankan script block
(jika banyak perintah) didalam blok IF. Dengan terpenuhinya
kondisi, maka program tidak akan menjalankan blok ELSE.
 Namun jika kondisi IF tidak dipenuhi atau bernilai FALSE, maka SQL
Server menjalankan script block didalam blok ELSE.
 Sintaks:
IF <kondisi boolean>
<Result1>
ELSE
<Result2>
IF..ELSE

Gambar alur IF..ELSE


 Contoh

IF..ELSE DECLARE @bil INT


SET @bil = 5
IF @bil%2 = 0
PRINT 'bilangan genap'
ELSE
PRINT 'bilangan ganjil'

DECLARE @nilai INT


SET @nilai = 75
IF @nilai >= 80
PRINT 'A'
ELSE IF @nilai >= 70
PRINT 'B'
ELSE IF @nilai >= 60
PRINT 'C'
ELSE IF @nilai >= 50
PRINT 'D'
ELSE
PRINT 'E'
 Digunakan untuk prasyarat dengan berbagai kondisi, untuk setiap
SELECT kondisi dengan ekspresi nilai yang tetap
CASE..WHEN  Case statement akan mengembalikan nilai pasa kondisi tertentu
 Case dapat digunakan pada query SELECT dengan menggunakan
clausa WHERE, ORDER BY dan GROUP BY serta pada statement
INSERT
 Sintaks

SELECT CASE <kondisi>


WHEN <kondisi1> THEN <Result1>
WHEN <kondisi2> THEN <Result2>

ELSE <Result>
END
 Contoh
SELECT DECLARE @idproduk char
CASE..WHEN SET @idproduk = '2'
SELECT
CASE @idproduk
WHEN '1' THEN 'Sabun'
WHEN '2' THEN 'Biskuit'
WHEN '3' THEN 'Susu'
ELSE 'id produk tdk terdaftar'
END

DECLARE @nilai INT


SET @nilai = 68
SELECT
CASE
WHEN @nilai >= 80 THEN 'A'
WHEN @nilai >= 70 THEN 'B'
WHEN @nilai >= 60 THEN 'C'
WHEN @nilai >= 50 THEN 'D'
ELSE 'E'
END
 Ada saatnya kode program mengharuskan programmer untuk
menulis kode yang sama berulang-ulang
PERULANGAN
 Untuk dapat mencapai efisiensi dalam pengerjaan kode program,
ada sebuah konsep yang disebut dengan perulangan (looping).
Dengan perulangan ini, kode program bisa ditulis sekali dan
menghasilkan output berkali-kali

 T-SQL menyediakan kata kunci untuk perulangan antara lain


1. WHILE
2. WHILE dan BREAK
3. WHILE dan CONTINUE
4. WHILE, BREAK dan CONTINUE
 Cara kerja WHILE adalah melakukan pengecekan terlebih dahulu
pada kondisi boolean. Selama kondisi bernilai TRUE, maka blok
WHILE WHILE akan dijalankan. Ketika kondisi bernilai FALSE maka proses
perulangan akan berhenti
 Sintaks

WHILE <condition>
BEGIN
   <...statements looping...>
END
WHILE

Gambar alur WHILE


 Contoh
DECLARE @angka INT
WHILE SET @angka=1

WHILE ( @angka < 10)


BEGIN
PRINT 'Angka = ' + CONVERT(VARCHAR,@angka)
SET @angka = @angka + 3
END

DECLARE @angka INT


SET @angka=1

WHILE (@angka < 10)


BEGIN
PRINT ‘Tolong Berhenti!‘
END
 BREAK statement digunakan pada statement WHILE untuk keluar
dari perulangan saat berada pada kondisi tertentu.
WHILE..BREAK  Secara umum IF…ELSE statement digunakan untuk mengetahui
apakah kondisinya terpenuhi atau tidak
 Sintaks

WHILE <condition>
BEGIN
   <...statements looping...>
IF <Kondisi>
BREAK
END
END
 Contoh

WHILE ..BREAK DECLARE @angka INT


SET @angka=1

WHILE (@angka <= 10)


BEGIN
PRINT 'Angka = ' + CONVERT(VARCHAR,@angka)
IF @angka > 7
BEGIN
BREAK
END
SET @angka = @angka + 2
END
 CONTINUE statement digunakan pada statement WHILE untuk
WHILE..CONTINU keluar dari perulangan saat berada pada kondisi tertentu kemudian
memulai iterasi/perulangan baru dari awal loop
E
 Sintaks

WHILE <condition>
BEGIN
   <...statements looping...>
IF <Kondisi>
CONTINUE
END
END
 Contoh

WHILE ..CONTINUE DECLARE @angka INT


SET @angka=1

WHILE (@angka <= 10)


BEGIN
IF @angka = 7
BEGIN
SET @angka = @angka + 1
CONTINUE
END
PRINT 'Angka = ' + CONVERT(VARCHAR,@angka)
SET @angka = @angka + 2
END
 Tuliskan query dgn kondisi berikut menggunakan IF statement:
Jika kode jabatan D maka nama jabatan adalah Direktur
LATIHAN Jika kode jabatan M maka nama jabatan adalah Manager
Jika kode jabatan S maka nama jabatan adalah Sekretaris

 Tuliskan query dgn kondisi berikut menggunakan CASE statement:


Jika kode jabatan D maka gaji = 10000000
Jika kode jabatan M maka gaji = 7000000
Jika kode jabatan S maka gaji = 3500000
 Tuliskan output dari query berikut

LATIHAN DECLARE @count INT;


SET @count = 5;

WHILE @count <= 5


BEGIN
PRINT @count
SET @count = @count + 2;
END;

DECLARE @count INT;


SET @count = 3;

WHILE @count < 10


BEGIN
PRINT @count
SET @count = @count + 2;
END;
 Tuliskan output dari query berikut

LATIHAN DECLARE @count INT;


SET @count = 1;

WHILE @count <= 10


BEGIN
IF @count >= 5
BEGIN
BREAK
END
PRINT @count
SET @count = @count + 1;
END;
 Tuliskan output dari query berikut

LATIHAN
DECLARE @count INT;
DECLARE @mod INT;
SET @count = 1;

WHILE @count<= 10
BEGIN
set @mod = @count % 2
IF @mod = 1
BEGIN
SET @count = @count + 3;
CONTINUE
END
PRINT @count
SET @count = @count + 2;
END;

Anda mungkin juga menyukai