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

  1. Komputer atau laptop
  2. Microsoft SQL Server Management Studio
  3. Modul praktikum minggu ke-3
  4. 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

Postingan populer dari blog ini