View
63
Download
0
Category
Preview:
DESCRIPTION
dfgsdtrtw
Citation preview
TransactTransact--SQLSQL(T(T--SQL)SQL)
www.rahmadani.net 1
TransactTransact--SQLSQL(T(T--SQL)SQL)
Pertemuan ke-12
Agenda..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 2
• 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
Pemahaman Dasar (1)Pemahaman Dasar (1)• TRANSACT-SQL adalah bahasa pemrogramanyang dikembangan dari SQL. Seperti diketahui,SQL adalah bahasa non procedural, artinya alurprogram tidak seperti bahasa pemrograman biasa,melainkan melalui "request" dan "response".
• Melalui instruksi SQL seseorang melakukan queryatau transaksi, yang kemudian akan menerimajawaban dari Database Server berupa hasil atauResultSet.
• Query dan Transaksi dilakukan di bagian Client,sedangkan pemrosesan dilakukan pada Server.
www.rahmadani.net 3
• TRANSACT-SQL adalah bahasa pemrogramanyang dikembangan dari SQL. Seperti diketahui,SQL adalah bahasa non procedural, artinya alurprogram tidak seperti bahasa pemrograman biasa,melainkan melalui "request" dan "response".
• Melalui instruksi SQL seseorang melakukan queryatau transaksi, yang kemudian akan menerimajawaban dari Database Server berupa hasil atauResultSet.
• Query dan Transaksi dilakukan di bagian Client,sedangkan pemrosesan dilakukan pada Server.
Pemahaman Dasar (2)Pemahaman Dasar (2)• TRANSACT-SQL mengembangkan kemampuan
SQL, sehingga TRANSACT-SQL dapatmelengkapi SQL dengan instruksi logic(procedural logic), yaitu seperti layaknyaprogram aplikasi.
• Hasil proses SQL-Server (ResultSet) dapatdiolah lebih lanjut dengan menggunakan logicpemrograman procedural seperti Fungsi,Prosedur, While, Case, If Then Else dan lainnya.
www.rahmadani.net 4
• TRANSACT-SQL mengembangkan kemampuanSQL, sehingga TRANSACT-SQL dapatmelengkapi SQL dengan instruksi logic(procedural logic), yaitu seperti layaknyaprogram aplikasi.
• Hasil proses SQL-Server (ResultSet) dapatdiolah lebih lanjut dengan menggunakan logicpemrograman procedural seperti Fungsi,Prosedur, While, Case, If Then Else dan lainnya.
Kerangka TRANSACTKerangka TRANSACT--SQLSQL• TRANSACT-SQL dimulai dengan
deklarasi variable dan disusul dengan BlokProgram.
DECLARE @nama_variable tipe_variable
www.rahmadani.net 5
DECLARE @nama_variable tipe_variable
BLOK PROGRAM –WITH OR WITHOUT BEGIN - END
Pendefinisian Variable TPendefinisian Variable T--SQLSQL• 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 6
• 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 */
SELECT dan SET dalam TSELECT dan SET dalam T--SQLSQL• SELECT digunakan juga untuk eksekusi aritmatika
atau lainnya.Contoh:– select @v1 = @v1 – 100– select @tgl_skrg = now
• Variable dapat digunakan untuk mengambil nilaidari sebuah query:Contoh:– select @jml_maksimal = max(sallary)from SallaryEmployee
1. Penggunaan SELECT
www.rahmadani.net 7
• SELECT digunakan juga untuk eksekusi aritmatikaatau lainnya.Contoh:– select @v1 = @v1 – 100– select @tgl_skrg = now
• Variable dapat digunakan untuk mengambil nilaidari sebuah query:Contoh:– select @jml_maksimal = max(sallary)from SallaryEmployee
• Selain menggunakan perintah select untukmemasukkan/setting variabel, dapat jugadipergunakan perintah SET
• Penggunaan SET lebih direkomendasikandibandingkan menggunakan SELECTuntuk variabel.
• Contoh :SET @nama = ‘Kiki’
2. Penggunaan SET
www.rahmadani.net 8
• Selain menggunakan perintah select untukmemasukkan/setting variabel, dapat jugadipergunakan perintah SET
• Penggunaan SET lebih direkomendasikandibandingkan menggunakan SELECTuntuk variabel.
• Contoh :SET @nama = ‘Kiki’
PRINT dalam TPRINT dalam T--SQLSQL• 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 9
• PRINT adalah fungsi yang menampilkan teksdan variable pada console (layar).
Contoh: Simpan dengan nama:testprint.sql
DECLARE @nama varchar(20)SELECT @nama = 'Meja'PRINT 'nama=' + @nama
Contoh; Penggunaan SELECT dan PRINTContoh; Penggunaan SELECT dan PRINTDECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSELECT @No=2SELECT @Nama='Areef'SELECT @Tinggal='Mbandunk'SELECT @Gaji=5000000SELECT Tanggal= getdate()PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)
Simpan dengan nama: ListingTSQL1.sql
www.rahmadani.net 10
DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSELECT @No=2SELECT @Nama='Areef'SELECT @Tinggal='Mbandunk'SELECT @Gaji=5000000SELECT Tanggal= getdate()PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)
Contoh Penggunaan SET dalam Program
DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSET @No=2SET @Nama='Areef'SET @Tinggal='Mbandunk'SET @Gaji=5000000SET @Tanggal= getdate()
PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)
Simpan dengan nama: cobaSET.sql
www.rahmadani.net 11
Contoh Penggunaan SET dalam Program
DECLARE@Nama varchar(10),@Tinggal varchar(50),@Gaji int,@No int,@Tanggal datetimeSET @No=2SET @Nama='Areef'SET @Tinggal='Mbandunk'SET @Gaji=5000000SET @Tanggal= getdate()
PRINT (@No)PRINT (@Nama)PRINT (@Gaji)PRINT (@Tinggal)PRINT (@Tanggal)
Variable GlobalVariable Global• Variable Global adalah variable yang disiapkan oleh SQL-Server untuk memberikan informasi kepada Client. Jadivariable 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 bahwaterjadi 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 sekarangDll..
www.rahmadani.net 12
• Variable Global adalah variable yang disiapkan oleh SQL-Server untuk memberikan informasi kepada Client. Jadivariable 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 bahwaterjadi 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 sekarangDll..
IfIf -- StatementStatement
• Model 1IF kondisiInstruksi
• Model 2IF kondisiInstruksi1
ELSEInstruksi2
• Model 3IF kondisiBEGINInstruksi1Instruksi2....
END
IF digunakan dalam mengendalikan alur programberdasarkan kondisi.
www.rahmadani.net 13
• Model 1IF kondisiInstruksi
• Model 2IF kondisiInstruksi1
ELSEInstruksi2
• Model 3IF kondisiBEGINInstruksi1Instruksi2....
END
Contoh IF-Statement,Simpan dengan nama: listingTSQL2.sql
DECLARE @bilngan intSET @bilngan = 75IF @bilngan >=60PRINT ‘SELAMAT ANDA LULUS' ELSEPRINT ‘SEMANGAT ANDA GAGAL'
www.rahmadani.net 14
DECLARE @bilngan intSET @bilngan = 75IF @bilngan >=60PRINT ‘SELAMAT ANDA LULUS' ELSEPRINT ‘SEMANGAT ANDA GAGAL'
Contoh IF-Statement,Simpan dengan nama; listingTSQL3.sql
DECLARE@nilai int,@nilai_minimum int
SELECT @nilai=80SELECT @nilai_minimum=50
IF @nilai>@nilai_minimumPRINT “Anda dinyatakan LULUS”ELSEPRINT 'Wah..Anda Harus Mengulang Ujian!! :-('
www.rahmadani.net 15
DECLARE@nilai int,@nilai_minimum int
SELECT @nilai=80SELECT @nilai_minimum=50
IF @nilai>@nilai_minimumPRINT “Anda dinyatakan LULUS”ELSEPRINT 'Wah..Anda Harus Mengulang Ujian!! :-('
WhileWhile –– StatementStatementContoh; Simapan dengan nama: listingTSQL4.sqlDECLARE @i intSELECT @i=1WHILE @i<10BEGINPRINT @ISET @I = @I + 1END
WHILE digunakan dalam mengeksekusi satu blok programberulang-ulang (Looping) sampai kondisi pada WHILE menjadifalse.Syntax:
WHILE kondisiBEGIN
..END
www.rahmadani.net 16
Contoh; Simapan dengan nama: listingTSQL4.sqlDECLARE @i intSELECT @i=1WHILE @i<10BEGINPRINT @ISET @I = @I + 1END
Contoh WHILE-Statement,Simpan dengan nama: listingTSQL5.sql
DECLARE @i intSELECT @i=5WHILE @i > 0BEGINPRINT 'Nilai Bilangan i adalah = ' + str(@i)SELECT @i= @i-1
End
www.rahmadani.net 17
DECLARE @i intSELECT @i=5WHILE @i > 0BEGINPRINT 'Nilai Bilangan i adalah = ' + str(@i)SELECT @i= @i-1
End
Catatan;Fungsi str() digunakan untuk mengubah angka menjadi string (teks).
ContinueContinueContinue berkaitan dengan WHILE. Continue digunakanuntuk melanjutkan alur program pada pemeriksaan kondisiWHILE atau dengan kata lain digunakan untuk skipperulangan.Syntax;WHILE kondisi1BEGIN....if kondisi2CONTINUE
..END
www.rahmadani.net 18
Continue berkaitan dengan WHILE. Continue digunakanuntuk melanjutkan alur program pada pemeriksaan kondisiWHILE atau dengan kata lain digunakan untuk skipperulangan.Syntax;WHILE kondisi1BEGIN....if kondisi2CONTINUE
..END
Contoh Continue; listingTSQL6.sql
DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 CONTINUEPRINT @IEND
www.rahmadani.net 19
Contoh Continue; listingTSQL6.sql
DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 CONTINUEPRINT @IEND
ReturnReturn -- StatementStatementRETURN akan menghentikan program darieksekusi atau untuk keluar dari proses Looping.Contoh; listingTSQL7.sql
DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 RETURNPRINT @IEND
www.rahmadani.net 20
RETURN akan menghentikan program darieksekusi atau untuk keluar dari proses Looping.Contoh; listingTSQL7.sql
DECLARE @i intSELECT @i=0WHILE @i<10BEGINSET @I = @I + 1IF @I=5 RETURNPRINT @IEND
Case StatementCase StatementCASE menyederhanakan IF yang berlapis dengantujuan agar program dapat dimengerti/dibacadengan lebih mudah.Sintaks:CASEWHEN kondisi1 THEN VALUE1WHEN kondisi2 THEN VALUE2WHEN kondisi3 THEN VALUE3…ELSESTATEMENT
ENDwww.rahmadani.net 21
CASE menyederhanakan IF yang berlapis dengantujuan agar program dapat dimengerti/dibacadengan lebih mudah.Sintaks:CASEWHEN kondisi1 THEN VALUE1WHEN kondisi2 THEN VALUE2WHEN kondisi3 THEN VALUE3…ELSESTATEMENT
END
Contoh; CaseContoh; Case –– Statement,Statement,Simpan dengan nama:Simpan dengan nama: listingTSQL8.sqllistingTSQL8.sql
DECLARE @bil int,@terbilang varchar(15)
SET @bil = 3SELECT @terbilang =CASEWHEN @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.....!!'ENDPRINT @terbilang
www.rahmadani.net 22
DECLARE @bil int,@terbilang varchar(15)
SET @bil = 3SELECT @terbilang =CASEWHEN @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.....!!'ENDPRINT @terbilang
Contoh; CaseContoh; Case –– Statement,Statement,Simpan dengan nama:Simpan dengan nama: listingTSQL9.sqllistingTSQL9.sql
DECLARE@t char(1),@hasil varchar(255)
SELECT @t='C'SELECT @hasil= CASEWHEN @t='A' THEN'Karakter A'WHEN @t='B' THEN 'Karakter B'ELSE'Karakter Tidak Dikenal'
ENDPRINT 'Hasil adalah : ' + @hasil
www.rahmadani.net 23
DECLARE@t char(1),@hasil varchar(255)
SELECT @t='C'SELECT @hasil= CASEWHEN @t='A' THEN'Karakter A'WHEN @t='B' THEN 'Karakter B'ELSE'Karakter Tidak Dikenal'
ENDPRINT 'Hasil adalah : ' + @hasil
Latihan1. Coba Anda buatkan listing T-SQL, untuk menampilkan
data menggunakan assingn variable SET dengan ouputsebagai berikut;
DATA KARYAWAN=====================Kode :K0008Nama :LINTANGGaji :Rp. 4000000=====================
2. Dengan menggunakan Statement IF, buat sebuah kondisi,jika umr>1650000, maka “Honor Anda sudah di atasUMR” jika tidak “Honor Anda di bawah UMR, hayo mintanaek gaji ke si Bos :D”
3. Dengan menggunakan Statement-IF, coba Anda buatsebuah Listing Program untuk menguji, sebuah nilaiapakah bilangan Genap atau Ganjil.
www.rahmadani.net 25
1. Coba Anda buatkan listing T-SQL, untuk menampilkandata menggunakan assingn variable SET dengan ouputsebagai berikut;
DATA KARYAWAN=====================Kode :K0008Nama :LINTANGGaji :Rp. 4000000=====================
2. Dengan menggunakan Statement IF, buat sebuah kondisi,jika umr>1650000, maka “Honor Anda sudah di atasUMR” jika tidak “Honor Anda di bawah UMR, hayo mintanaek gaji ke si Bos :D”
3. Dengan menggunakan Statement-IF, coba Anda buatsebuah Listing Program untuk menguji, sebuah nilaiapakah bilangan Genap atau Ganjil.
4. Buatkan sebuah listing statement WHILE untukmenampilkan deret angka ganjil, dengan outputsebagai berikut;
1adalah bilangan ganjil3adalah bilangan ganjil5adalah bilangan ganjil7adalah bilangan ganjil9adalah bilangan ganjil
5. Pada database MYAKADEMIK dan pada tabelMahasiswa, coba buat sebuah listing T-SQL, untukmenampilkan sebuah status JenKel seorangMahasiswa??
www.rahmadani.net 26
4. Buatkan sebuah listing statement WHILE untukmenampilkan deret angka ganjil, dengan outputsebagai berikut;
1adalah bilangan ganjil3adalah bilangan ganjil5adalah bilangan ganjil7adalah bilangan ganjil9adalah bilangan ganjil
5. Pada database MYAKADEMIK dan pada tabelMahasiswa, coba buat sebuah listing T-SQL, untukmenampilkan sebuah status JenKel seorangMahasiswa??
Recommended