1. Tujuan Praktikum
Pelaksanaan praktikum ini bertujuan
agar mahasiswa memiliki pemahaman mendalam mengenai implementasi variabel lokal
dan global dalam lingkungan T-SQL menggunakan perintah DECLARE dan SET.
Mahasiswa diharapkan mampu menyusun logika pemrograman basis data yang efisien,
baik melalui struktur kendali aliran (Control Flow) seperti IF...ELSE maupun
mekanisme perulangan WHILE untuk pengolahan data yang dinamis.
Selain itu, praktikum ini membekali
mahasiswa dengan keterampilan teknis dalam melakukan konversi tipe data
menggunakan fungsi CAST demi menghasilkan output informasi yang akurat melalui
perintah PRINT. Mahasiswa juga dilatih untuk mengoptimalkan kueri menggunakan
ekspresi CASE dalam transformasi nilai (seperti penentuan huruf mutu), serta
memanfaatkan variabel sistem @@IDENTITY untuk manajemen integritas data.
Terakhir, praktikum ini menekankan pentingnya dokumentasi kode melalui
penggunaan komentar yang terstruktur guna mendukung pemeliharaan script
database di masa mendatang.
2. Dasar Teori
T-SQL adalah
ekstensi bahasa SQL milik Microsoft yang digunakan pada SQL Server. Selain
manipulasi data standar, T-SQL mendukung logika pemrograman prosedural seperti
penggunaan variabel dan struktur kendali aliran.
1.
Variabel Lokal dan Sistem
Variabel Lokal
(@): Dideklarasikan dengan DECLARE untuk menyimpan nilai sementara dalam satu
sesi eksekusi.
Variabel
Sistem (@@): Variabel bawaan seperti @@IDENTITY yang otomatis menyimpan
informasi sistem, contohnya nilai ID terakhir yang baru saja di-input.
2.
Struktur Kendali Aliran
BEGIN...END:
Digunakan untuk membungkus beberapa perintah SQL menjadi satu blok logika.
IF...ELSE:
Logika percabangan yang mengeksekusi kode berdasarkan terpenuhi atau tidaknya
suatu kondisi.
WHILE:
Instruksi untuk melakukan perulangan perintah selama kondisi tertentu masih
bernilai benar (True).
3.
Ekspresi CASE dan Fungsi CAST
CASE:
Digunakan dalam perintah SELECT untuk memberikan hasil yang berbeda berdasarkan
evaluasi kondisi (misal: konversi angka ke Huruf Mutu).
CAST: Fungsi
konversi tipe data yang mengubah nilai (seperti angka ke teks) agar dapat
digabungkan dan ditampilkan melalui perintah PRINT.
3. Alat dan
Bahan
- Komputer atau laptop
- Microsoft SQL Server Management Studio
- Modul praktikum minggu ke-3
- Halaman perangkat pembelajaran ini
4. Prosedur
Kerja
Pertama kita
buat Database terlebihdahulu lalu membuat Create Table dan Insert Into
Laangkah selanjutnya Memassukkan Query dari pengujian
yang kita kerjakan di SSMS
Mendeklarasikan variabel lokal
Deklarasi variabel dengan nilai awal
Memberi nilai dengan SET
Menampilkan nilai variabel dengan PRINT
Menggunakan CAST pada output
Menyusun script penjumlahan variabel
Menggunakan variabel global @@IDENTITY
Menerapkan IF...ELSE
Menggunakan BEGIN dan END pada IF
Menentukan huruf mutu dengan CASE
Menerapkan perulangan WHILE
Menyusun tugas perhitungan T-SQL
5. Tugas /
Percobaan / Implementasi
1.
Penggunaan Variabel dan Hitungan Dasar
Pada tahap
ini, dilakukan pembuatan wadah penyimpanan data (variabel) untuk menghitung
angka sederhana.
Cara Kerja:
Membuat variabel @v_a (50) dan @v_b (100), lalu menjumlahkannya ke dalam
@v_Result.
Hasil: Sistem
berhasil menampilkan angka 150 di layar.
2.
Percabangan Logika (IF...ELSE)
Percobaan ini
bertujuan untuk membuat program yang bisa "memilih" tindakan
berdasarkan kondisi tertentu.
Cara Kerja:
Mengecek jika sebuah angka lebih besar dari 1000, maka muncul status
"Prioritas". Jika tidak, statusnya "Standar".
Hasil: Program
otomatis menentukan status pelanggan sesuai angka yang dimasukkan.
3.
Perulangan Otomatis (WHILE)
Tahap ini
mencoba menjalankan perintah yang sama secara berulang-ulang agar lebih
efisien.
Cara Kerja:
Program menampilkan angka 1, lalu otomatis menambahkannya sampai berhenti di
angka 5.
Hasil: Muncul
urutan teks "Iterasi ke: 1" hingga "Iterasi ke: 5" secara
berurutan.
4.
Pengelompokan Nilai (CASE)
Implementasi
ini digunakan untuk mengubah data angka menjadi kategori (huruf) di dalam
tabel.
Cara Kerja:
Mengatur rentang nilai, misalnya angka 78 otomatis dikelompokkan ke dalam Huruf
Mutu 'A'.
Hasil: Muncul
tabel hasil yang menunjukkan konversi nilai angka ke huruf secara akurat.
5.
Pengambilan ID Otomatis (@@IDENTITY)
Percobaan
terakhir adalah mengambil nomor urut (ID) yang dibuat otomatis oleh database.
Cara Kerja:
Memasukkan data baru ke tabel, lalu meminta sistem menunjukkan ID terakhir yang
baru saja dibuat.
Hasil: Muncul
nomor ID unik yang membuktikan data berhasil tersimpan dengan urutan yang
benar.
6. Hasil
Praktikum
7. Analisis /
Pembahasan
1.
Variabel dan CAST
Dari percobaan
pertama, kita belajar kalau variabel (simbol @) itu seperti "wadah"
sementara. Kita bisa simpan angka di situ supaya gampang dihitung. Poin
pentingnya: saat mau memunculkan tulisan di layar pakai PRINT, kita wajib pakai
CAST. Tanpa itu, SQL bakal bingung karena mau menggabungkan teks dengan angka.
Ibaratnya, kita harus mengubah "angka 150" jadi "tulisan
150" dulu supaya bisa muncul bareng kata-kata lain.
2.
Rahasia IF...ELSE dan BEGIN...END
Logika
IF...ELSE itu seperti saklar otomatis. Jika syaratnya pas, lampu menyala; jika
tidak, lampu mati. Analisisnya: kalau perintah di dalam IF itu lebih dari satu
baris, kita wajib pakai BEGIN...END. Kalau lupa, SQL cuma bakal menjalankan
baris pertama saja, dan baris sisanya bakal berantakan. Jadi, BEGIN...END itu
seperti "tali pengikat" supaya semua perintahnya jalan bareng.
3.
Hati-hati dengan WHILE (Perulangan)
Pakai WHILE
itu sangat enak karena kita tidak perlu mengetik perintah yang sama berulang
kali. Tapi ada jebakannya: kita harus selalu ingat menambah nilai (misal + 1).
Kalau kita lupa bagian ini, program bakal jalan terus tanpa henti (infinite
loop) dan bisa bikin komputer lag atau berat.
4.
Mudahnya Pakai CASE
Fungsi CASE
itu cara paling pintar untuk mengubah tampilan data. Kita tidak perlu mengubah
isi tabel aslinya, cukup "pinjam" datanya lalu kita kasih label
(seperti angka 78 langsung kita sebut 'A'). Ini jauh lebih rapi daripada kita
bikin banyak aturan IF yang bertumpuk-tumpuk.
5.
ID Otomatis dengan @@IDENTITY
Terakhir,
@@IDENTITY itu seperti "catatan terakhir" dari sistem. Kalau kita
masukkan data baru ke tabel yang nomornya urut otomatis, kita tidak perlu
cari-cari lagi nomor berapa yang baru keluar. Cukup tanya ke @@IDENTITY, dan
dia bakal kasih tahu nomor ID terakhirnya. Ini sangat membantu kalau kita mau
menghubungkan dua tabel yang berbeda.
8. Kesimpulan
praktikum ini
mengajarkan kita bahwa T-SQL bukan cuma soal "simpan dan ambil data".
Kita belajar cara memberikan logika ke dalam database.
Misalnya, kita
tidak perlu mengecek nilai mahasiswa satu per satu secara manual; kita cukup
buat aturan pakai CASE atau IF, dan biarkan SQL yang bekerja. Kita juga belajar
kalau database itu sangat kaku soal tipe data, jadi kita harus pakai CAST
supaya hasil laporannya bisa terbaca manusia dengan jelas.
9. Daftar
Pustaka
Bahan ajar LMS
Praktikum Pemrograman SQL 2 Perintah
Dasar Transact-SQL
,
(https://newlms.polinela.ac.id/mod/page/view.php?id=9332).
Hasil Praktik Perintah Dasar
Transact-SQL.
10. Lampiran
Create
Database Schools;
Use Schools;
-- Membuat
Table
CREATE TABLE
Schools (
SchoolId INT IDENTITY(1,1) PRIMARY KEY,
SchoolName VARCHAR(100)
);
-- Memasukkan
data ke tabel
INSERT INTO
Schools (SchoolName) VALUES ('Politeknik Negeri Lampung');
/* Penulis :
Mahasiswa Tanggal : 2024 Fungsi : Script latihan */ SELECT * FROM Schools
BEGIN
-- Deklarasikan variabel pada bagian ini
DECLARE @v_Result INT;
DECLARE @v_a INT;
DECLARE @v_b INT;
END;
BEGIN
--
Deklarasikan @v_a dan @v_b dengan nilai awal
DECLARE @v_Result INT = 0;
DECLARE @v_a INT = 50;
DECLARE @v_b INT = 100;
END;
BEGIN
DECLARE @nilaiA INT;
DECLARE @nilaiB INT;
-- Gunakan SET pada bagian ini
SET @nilaiA = 25;
SET @nilaiB = 75;
END;
BEGIN
DECLARE @nilaiA INT = 25;
DECLARE @nilaiB INT = 75;
-- Tampilkan nilai variabel dengan PRINT
PRINT 'Nilai A adalah: ' + CAST(@nilaiA AS
VARCHAR);
PRINT 'Nilai B adalah: ' + CAST(@nilaiB AS
VARCHAR);
END;
BEGIN
DECLARE @v_a INT = 50;
DECLARE @v_b INT = 100;
-- Tampilkan hasil dengan PRINT dan CAST ke
VARCHAR(15)
PRINT 'Nilai A: ' + CAST(@v_a AS
VARCHAR(15));
PRINT 'Nilai B: ' + CAST(@v_b AS
VARCHAR(15));
END;
BEGIN
DECLARE @v_Result INT;
DECLARE @v_a INT = 50;
DECLARE @v_b INT = 100;
SET @v_Result = @v_a + @v_b;
PRINT @v_Result;
END;
BEGIN
DECLARE @SchoolId INT;
-- 1. Gunakan INSERT INTO (contoh ke tabel
Schools)
INSERT INTO Schools (SchoolName)
VALUES ('Politeknik Negeri Lampung');
-- 2. Gunakan SELECT @SchoolId = @@IDENTITY
SELECT @SchoolId = @@IDENTITY;
-- Opsi: Tampilkan hasilnya untuk
memastikan
PRINT 'ID Sekolah yang baru dimasukkan: ' +
CAST(@SchoolId AS VARCHAR);
END;
BEGIN
DECLARE @customerNumber INT = 1200;
-- Tulis IF...ELSE pada bagian ini
IF @customerNumber > 1000
BEGIN
PRINT 'Nilai lebih besar dari 1000';
END
ELSE
BEGIN
PRINT 'Nilai tidak lebih besar dari
1000';
END
END;
BEGIN
DECLARE @customerNumber INT = 1200;
IF @customerNumber > 1000
BEGIN
-- Tulis dua perintah di dalam blok ini
PRINT 'Kondisi terpenuhi!';
PRINT 'Nilai customerNumber lebih besar
dari 1000.';
END
ELSE
BEGIN
PRINT 'Nilai tidak lebih besar dari
1000';
END
END;
-- Gunakan
CASE untuk menentukan huruf mutu
SELECT
78 AS Nilai,
CASE
-- Lengkapi kondisi pada bagian ini
WHEN 78 BETWEEN 0 AND 40 THEN 'E'
WHEN 78 BETWEEN 41 AND 50 THEN 'D'
WHEN 78 BETWEEN 51 AND 60 THEN 'C'
WHEN 78 BETWEEN 61 AND 70 THEN 'B'
WHEN 78 BETWEEN 71 AND 100 THEN 'A'
END AS HurufMutu;
BEGIN
DECLARE @counter INT = 1;
-- Gunakan WHILE @counter <= 5
WHILE @counter <= 5
BEGIN
-- Gunakan PRINT untuk menampilkan
nilai setiap iterasi
PRINT 'Iterasi ke: ' + CAST(@counter AS
VARCHAR);
-- Gunakan SET @counter = @counter + 1
SET @counter = @counter + 1;
END
END;
BEGIN
-- Deklarasi variabel satu per satu
DECLARE @c FLOAT;
DECLARE @r FLOAT;
-- Perhitungan menggunakan SET secara
terpisah
SET @c = 10 * 5 / 2 + 105;
SET @r = 2 * 3.14 * 7 * 7;
-- Tampilkan hasil dengan PRINT dan CAST
PRINT 'Hasil C: ' + CAST(@c AS
VARCHAR(20));
PRINT 'Hasil R: ' + CAST(@r AS
VARCHAR(20));
END;
Komentar
Posting Komentar