Anda di halaman 1dari 14

LAPORAN PRAKTIKUM BASIS DATA

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

Variable dapat digunakan untuk mengambil nilai dari sebuah query:


Contoh :
DECLARE @nama char(30)

SELECT @nama = nama FROM mahasiswa_XXX


WHERE nrp=02113216
PRINT @nama

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

Menjalankan Program Transact-SQL

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

PRINT ( Berat anda adalah)


PRINT ( @Berat )
PRINT ( @nama )
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

Di New Query, buat fungsi Transact SQL, contoh:


declare
@nim varchar(10),
@nama char(30),
@alamat varchar(20),
@umur int
select @nim='2015092058'
select @nama='Iman'
select @alamat='Majalengka'
select @umur=2016-1993
print ('
Data Diri Mahasiswa')
print ('nama Saya:'+@nama)
print ('NIM:'+@nim)
print ('Alamat :'+@alamat)
print (@umur)

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.

@@error adalah bilangan bulat yang menyatakan nomor error. Jika


variable tersebut tidak sama dengan 0, maka system memberikan
indikasi bahwa terjadi error dan identitas error dinyatakan dalam
angka.
@@cursor_rows adalah nilai balik dari cursor yang terakhir kali diolah.
@@fetch_status adalah nilai balik dari fetch pada cursor. Nilai 0
adalah OK.
@@identity memberikan nilai otomatis setiap kali INSERT dilakukan.
Nilai ini adalah identitas dari record tersebut.
@@nestlevel adalah nesting level dari stored procedures atau triggers
@@rowcount memberikan nilai balik berupa jumlah baris (rows) yang
terpengaruh oleh instruksi terakhir. Setelah instruksi IF atau WHILE,
maka @@rowcount dihapus menjadi 0.
@@spid adalah Server Process Id

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..

PRAKTIKUM TRANSACT IF-ELSE


declare
@a int, @b int
select @a=5
select @b=10

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.

CONTINUE dan BREAK


CONTINUE dan BREAK berkaitan dengan WHILE. CONTINUE
melanjutkan alur program pada pemeriksaan kondisi WHILE, sedangkan
BREAK mengakibatkan alur program keluar dari
WHILE
WHILE kondisi1
BEGIN

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

Contoh pada SQL-Query:


DECLARE
@jk char,
@nama varchar(16),
@teks varchar(255)
SELECT @jk=jk, @nama=nama FROM mahasiswa_XXX
WHERE nrp=02113216
SELECT @teks=
CASE @jk
WHEN L THEN Laki-laki
WHEN P THEN Perempuan
ELSE ?
END
PRINT @nama + adalah + @teks
Hasil:Ballacksave adalah Laki-laki

LATIHAN
1. Membuat Fungsi Transact

2. Membuat Fungsi Transact IF-ELSE

Tugas :
1.

Apa yang dimaksud dengan T-SQL ?

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".
2.

Bagaimana kerangka dari T-SQL ?


TRANSACT-SQL dimulai dengan deklarasi variable dan disusul dengan Blok
Program.
VARIABLE
DECLARATION

BLOK PROGRAM
WITH OR WITHOUT
3.

dalam T-SQL ?

Struktur kontrol apa saja yang dapat digunakan

Seperti bahasa dalam kebanyakan basis data SQL, T-SQL ini mempunyai
beberapa fitur :
bahasa kendali alir (control flow)

4.

variabel lokal

pemrosesan matematis, string, tanggal (date), dll

perbaikan perintah DELETE dan UPDATE.


Bagaimana menjalankan T-SQL ?

Hampir semua aktivitas di dalam SQL Server dapat dilakukan


dengan menggunakan perintah-perintah T-SQL. Termasuk membuat
table.
Dalam Menjalankan T-SQL diantaranya dengan Proses sebagai
berikut :
Buat basis data baru. Kemudian pilih basis data tersebut.
Buka jendela Query
Ketikkan perintah-perintah T-SQL, kemudian jalankan dengan
klik tanda seru(!).
Pada perintah-perintah pembuatan table, kita belum
membuat relasi antar-tabel. Relasi antar-tabel pada SQL
biasanya dinyatakan dalam hubungan FOREIGN KEY. Kita
perlu memodifikasi table dengan menambahkan
CONSTRAINT agar table dapat mengerti relasi antar-tabel.
Buka kembali jendela Query dan ketikkan perintah-perintah
yang akan dipilih.

Perintah untuk memodifikasi atau merubah struktur table


adalah ALTER TABLE kemudian diikuti dengan nama table
yang ingin dirubah. Perhatikan pada baris.
ALTER TABLE [dbo] . [Siswa] WITH CHECK ADD CONSTRAINT
[FK_Siswa_Program] FOREIGN KEY ([IdProgram])
Tabel yang ingin dimodifikasi adalah dbo.Siswa dan tabel ini
berhubungan dengan tabel program sehingga dituliskan
FK_Siswa_Program.
Kolom IdProgram pada tabel Siswa merupakan FOREIGN KEY
sehingga dituliskan sebagai FOREIGN KEY ([IdProgram]).
Kolom IdProgram ini berasal dari tabel program sehingga
pada bagian akhir perintah harus dituliskan referensi
tabelnya (ditulis dengan REFERENCES [dbo].[Program]
([IdProgram])). Dengan cara yang sama relasi-relasi antartabel di atas dibuat.
Perintah DROP TABEL sangat mudah dilakukan yaitu tinggal
menambahkan nama tabel di depan perintah tersebut.
Misalnya DROP TABLE [dbo].[Bidang].
Pengisian, Perubahan, dan Penghapusan Isi Tabel dengan
SQL
Setelah semua tabel selesai dibuat, maka kita dapat mengisi
data pada masing-masing tabel dengan menggunakan
perintah INSERT. Perintah ini termasuk dalam kelompok DML.
Kita akan mencoba menggunakan perintah ini pada tabel
Bidang. Kita periksa dulu tabel Bidang dengan cara klik
kanan pada nama tabel kemudian pilih Open Table. Isi tabel
akan muncul pada jendela Summary (gambar 12.20) Tutup
kembali jendela Open tabel tersebut.
Jalankan perintah di atas. Kemudian klik kanan pada tabel
Bidang kemudian pilih Refresh. Kemudian klik kanan lagi
pada tabel Bidang dan pilih Open Table. Data yang kalian
masukkan sudah berada pada tabel.
Menjalankan Program Transact-SQL 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
PRINT ( Berat anda adalah)
PRINT ( @Berat )
PRINT ( @nama )

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

Anda mungkin juga menyukai