You are on page 1of 49

Diktat Mata Kuliah SQL SERVER Hal : 1

BAB I
MENGENAL MICROSOFT SQL SERVER 2000

Microsoft SQL Server 2000 adalah salah satu Relational Database Management System (RDBMS) yang
popular saat ini. Fungsi utamanya adalah sebagai database server yang mengatur semua proses penyimpanan
data dan transaksi suatu aplikasi. Popularitas SQL Server akhir-akhir ini mulai menanjak dan setara dengan
pesaing terdekatnya yaitu ORACLE.
Saat ini versi terbaru adalah SQL Server 2005, walaupun SQL Server 2000 sudah ketinggalan bukan
berarti tidak memiliki fasilitas yang baik dari SQL Server 2005. Versi 2000 memiliki feature-feature lengkap
untuk membangun aplikasi dari skala kecil sampai skala besar.
SQL Server memiliki beberapa versi antara lain :
 SQL Server Personal Edition
 SQL Server Developer Edition
 SQL Server Enterprise Edition
 SQL Server Standart Edition
 SQL Server Desktop Engine
 SQL Server For Windows CE Edition

Masing-masing versi memiliki perbedaan dalam hal maksimum database, RAM, jumlah koneksi serta
beberapa feature lanjutan.
Versi Personal, Developer, dan Desktop dapat diinstall di OS Desktop seperti Windows 2000
Professional dan XP, sedangkan versi Enterprise dan Standard hanya dapat diinstal di Windows 2000/2003
Server serta NT Server. Versi Windows CE biasa digunakan untuk PDA dan Pocket PC.

1.1 PERSYARATAN MICROSOFT SQL SERVER 2000

Sebelumnya telah dijelaskan bagaimana menginstal Microsoft SQL Server 2000, pada dasarnya ada
spesifikasi yang harus dipenuhi baik dari sisi hardware, sistem operasi maupun infrastrukturnya. Secara
sederhana saya memberikan contoh Network dan beberapa hardware yang harus dipenuhi apabila anda
akan mengimplementasikan Microsoft SQL Server.

1.1.1 PERSYARATAN SERVER


Server yang digunakan minimal harus mampu bekerja dengan baik dan siap melayani data
selama 24 jam kalau server tersebut digunakan sebagai web server. Oleh karena itu untuk server
ini harus benar-benar canggih sesuai kebutuhan untuk aplikasi database modern. Apabila anda
akan mengimplementasikan Microsoft SQL Server di kantor anda, maka diperlukan suatu
jaringan LAN (Local Area Network) agar Microsoft SQL Server bisa digunakan secara maksimal.
Adapun persyaratannya sebagai berikut :
1.2 Pentium III, IV dan yang setara dengan itu.
1.3 RAM 256 MB atau lebih
1.4 Hard Disk 40 GB atau lebih
1.5 NIC (Network Interface Card)
1.6 Sistem Operasi Microsoft Windows 2000 Server atau Microsoft Windows.Net

1.1.2 PERSYARATAN CLIENT


System komputerisasi berbasis client/server sudah bisa dikatakan demikian apabila sudah ada
koneksi antara dua atau lebih komputer yang bekerja secara bersama, sehingga terjadi
komunikasi dan tukar menukar data. Maka dalam jaringan selain diperlukan suatu server juga
diperlukan komputer sebagai client.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 2

1.2 Pentium II, III atau Pentium IV dan yang setara dengan itu.
1.3 RAM 128 MB
1.4 Hard Disk 10 GB atau lebih
1.5 NIC (Network Interface Card)
1.6 Sistem Operasi Microsoft Windows 2000 Professional atau Microsoft Windows XP

1.1.3 PERSYARATAN NETWORK


Seperti telah dijelaskan sebelumnya bahwa Microsoft SQL Server merupakan aplikasi database
berbasis client/server. Maka apabila akan mengimplementasikan Microsoft SQL Server diperlukan
suatu jaringan, baik LAN maupun lainnya.

1.2 INSTALASI SQL SERVER 2000

Instalasi SQL Server 2000 sangat mudah. Dalam contoh ini penulis menggunakan versi personal, yang
sudah mencukupi untuk bekerja dan membuat aplikasi. Versi ini 100% kompatibel dengan versi lain
yang lebih tinggi (Standard dan Enterprise). Database dan semua obyeknya dapat direstore ke versi
tersebut tanpa ada masalah.
Pada saat memulai, Anda harus menentukan lokasi instalasi apakah di local computer, atau di
komputer lain dalam jaringan, kemudian klik tombol next.

Selanjutnya pilih Create New Instance agar SQL Server membuat instalasi baru.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 3

Langkah berikutnya adalah menentukan komponen yang akan diinstal. Pilih server and Client Tools
yang meliputi database engine sebagai inti SQL Server dan client tools yang berfungsi sebagai interface
untuk mengatur dan setup SQL Server.

Apabila Anda belum memiliki instalasi SQL Server di komputer tersebut, pilih “Default”. Jika sudah ada
SQL Server di komputer, Anda dapat membuat instance baru sehingga terdapat 2 SQL Server di komputer
Anda.

Tipe instalasi Typical sudah cukup mewakili untuk berbagai feature yang dibutuhkan dalam membuat
aplikasi.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 4

Pada bagian service setting, pilih local system account. Artinya SQL Server menggunakan account
system di OS untuk menjalankan servicenya. Anda dapat juga menggunakan account yang terdapat di
domain/ Active Directory maupun account user tertentu untuk menjalankan service tersebut. Penjelasan
lebih detil mengenai hal ini akan dibahas di bab selanjutnya tentang SQL Server Lanjutan

Untuk mode autentikasi, sebaiknya dipilih Windows Authentication yang lebih menjamin keamanan
karena terintegrasi dengan Windows. Antara mode Windows dan Mixed masing-masing memiliki
kelebihan yang akan dijelaskan pada bab selanjutnya.

1.3 INTERFACE SQL SERVER

Ada 3 interface utama saat kita bekerja dalam SQL Server :

1.3.1 ENTERPRISE MANAGER

Merupakan interface utama dan paling sering digunakan oleh administrator database. Bagian ini
mengandung sebagaian besar fungsi-fungsi pokok dalam mengatur database.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 5

Di dalam folder database ditampilkan berbagai database yang ada. Database master,
model, msdb, dan tempdb merupakan default system database yang diperlukan agar SQL
Server dapat berfungsi baik. Keempat database ini tidak boleh dihapus ataupun dimodifikasi
tanpa pengetahuan yang mencukupi tentang sistem SQL Server.
Sedangkan NorthWind dan pubs adalah database sampel yang dapat digunakan untuk berlatih
perintah SQL maupun administration job. Dalam bab selanjutnya, kita akan banyak
menggunakan NorthWind sebagai kasus. Di dalam folder Security terdapat tool Login yang
berisi daftar user di dalam database. Di bagian ini semua manajemen menyangkut user account
dilakukan.
Fungsi-fungsi lain dalam Enterprise Manager akan dibahas pada artikel berikutnya tentang
SQL Server Lanjutan.

1.3.2 QUERY ANALYZER

Tool in merupakan interface utama dalam melakukan pemrograman di SQL Server. Bahasa
yang digunakan adalah Transact SQL (T-SQL). Anda dapat membuat perintah untuk
mengambil data, sortir, manipulasi data serta melakukan perhitungan tertentu terhadap
sekumpulan data dalam database. Script yang telah dibuat dapat disimpan sebagai View
ataupun Stored Procedure, sesuai dengan kebutuhan dalam pembuatan aplikasi

1.3.3 SERVICE MANAGER

Digunakan untuk mengatur service yang ada di SQL Server, apakah akan dijalankan atau
dimatikan. Sebuah service juga dapat disetup agar berjalan otomatis sebagai Windows service,
atau dijalankan secara manual.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 6

Ada 3 service standar dalam setiap instalasi default SQL Server:


 Distributed Transaction Coordinator
 SQL Server
 SQL Server Agent

1.4 KOMPONEN DASAR MICROSOFT SQL SERVER 2000

Apabila anda akan mempelajari atau bekerja dengan SQL Server 2000 ada beberapa komponen penting
yang perlu diketahui. Komponen-komponen ini merupakan inti dari sebuah database dalam Microsoft SQL
Server.

1. DATABASE
Database mengandung objek-objek yang digunakan untuk mewakili, menyimpan dan mengakses
data. Yang dimaksud dengan database dalam SQL Server adalah kumpulan Tabel, View, Indeks,
Trigger, Procedure dan objek-objek lain yang terkandung di dalamnya.

2. TABEL
Tabel sebenarnya merupakan sarana untuk menyimpan baris-baris atau record-record data dan
hubungannya dengan tabel lain. Jadi yang dimaksud dengan tabel disini adalah inti dari sebuah
database. Tabel menyimpan data yang dikelompokan di dalam bentuk baris dan kolom seperti
layaknya lembar kerja. Setiap baris mewakili record dan setiap kolom adalah atribut atau field serta
setiap field mengandung satu jenis informasi.

3. DATABASE DIAGRAM
Database Diagram secara grafis menampilkan objek database sehingga dapat dimanipulasi tanpa
menggunakan bahasa Transact-SQL. Dengan bahasa Transact-SQL menjadi Microsoft SQL Server
mampu menghasilkan diagram database yang canggih. Diagram database ini adalah representasi
grafik dari Tabel, Indeks, dan View yang disimpan oleh database dan bisa dimanipulasi dengan
teknik drag and drop dan interaksi dengan kotak dialog.

4. INDEKS
Indeks adalah file-file tambahan yang meningkatkan kecepatan akses dari baris-baris tabel. Jadi
indeks adalah file khusus yang bekerja sama dengan tabel. Tujuannya adalah untuk mempercepat
proses pengaksesan record atau sekelompok record tertentu.

5. VIEW
View adalah tabel virtual yang isinya ditentukan oleh Query ke dalam database. View ini bukanlah
tabel fisik melainkan sekumpulan instuksi yang memberikan hasil berupa serangkaian data. Denga
demikian View ini bisa dikatakan cara untuk melihat data yang berbeda didalam satu atau lebih tabel.

6. STORED PROCEDURE
Data didalam database bisa diakses hanya melalui eksekusi perintah Transact-SQL. Ketika kita
membuat aplikasi untuk berfugsi sebagai antar muka database, kita bisa memilih untuk membuat
program SQL yang disimpan secara lokal dan dikirimkan ke server untuk dieksekusi, atau membuat
dan memelihara program di dalam server itu sendiri didalam prosedur-prosedur tersimpan yang bisa
dipicu oleh program didalam komputer client.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 7

7. TRIGGER
Trigger adalah prosedur tersimpan yang secara otomatis dijalankan apabila data didalam tabel
berubah karena eksekusi perintah SQL seperti Insert, Update, atau Delete. Salah satu dari
kegunaannya yang paling umum adalah untuk menerapkan pembatasan hak akses.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 8

BAB II
TIPE DATA & JENIS PERINTAH SQL SERVER

2.1 TIPE DATA SQL SERVER

Setiap kolom didalam table mempunyai nilai yang terkait dengan tipe data tertentu. Himpunan yang
berupa nilai kolom yang valid atau yang dapat diterima disebut dengan domain. Jika suatu kolom mempunyai
nilai diluar domain dianggap sebagai pelanggaran integritas data.
Beberapa kelompok tipe data berikut ini yang berlaku di SQL Server 2000 antara lain :

1. Kelompok Tipe Data Integer

Tipe Data Keterangan


Bit Mendefenisikan bilangan bulat 0 atau 1.
Int Mendefenisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -
2.147.483.648 sampai 2.147.483.647.
Smallint Mendefenisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -
32.768 sampai 32.767.
Tinyint Mendefenisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara 0
sampai 255.
Decimal Mendefenisikan bilangan pecahan, baik fixed decimal atau floating point.
Money Mendefenisikan nilai data moneter dari -922.377.203.685.477 sampai
922.377.203.685.477
Smallmoney Mendefenisikan nilai data moneter dari -214.748 sampai 214.748
Float Mendefenisikan bilangan mulai -1.79E+308 sampai 1.79E+308
Real Mendefenisikan bilangan mulai -3.40E+38 sampai 3.40E+38
Datetime Mendefenisikan data tanggal dan jam (waktu) mulai 1 januari 1753 sampai
dengan 31 desember 9999, dengan akurasi sampai 3.33 milidetik
Smalldatetime Mendefenisikan data tanggal dan jam (waktu) mulai 1 januari 1900sampai dengan
6 juni 2079 dengan ketelitian sampai 1 menit

2. Kelompok Tipe Data Sting

Tipe Data Keterangan


Char(n) Mendefenisikan nilai string sepanjang n karakter sampai dengan batas maksimal
sebesar 8000 byte. Jika nilai n tidak disebutkan maka panjang karakternya adalah
1.
Varchar(n) Mendefenisikan nilai string sepanjang n karakter sampai dengan batas maksimal
sebesar 8000 byte.
Text Menfenisikan semua jenis data yang berupa text seperti memo, dokumen, listing
program dimana ukurannya dapat mencapai 2.147.483.647 byte

3. Kelompok Tipe Data Unicode Character String

Unicode adalah karakter internasioanal yang menampung 16 bit per karakter. Unicode digunakan oleh
bahasa non latin seperti jepang, jerman, cina dan sebagainya.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 9

Tipe Data Keterangan


Nchar Karakter Unicode mempunyai ukuran tetap hingga 4000 byte
Nvarchar Karakter Unicode mempunyai ukuran yang bervariasi hingga 4000 byte
Text Karakter Unicode mempunyai ukuran hingga 1.073.741.823 byte

4. Kelompok Tipe Data Binary String

Tipe Data Keterangan


Binary Mendefenisikan bilangan dengan ukuran tetap hingga 8000 byte
VarBinary Mendefenisikan bilangan dengan ukuran bervariasi hingga 8000 byte
Image Mendefenisikan binary data untuk menyimpan image(gif, jpg,tif) dengan ukuran
yang bervariasi hingga 2.147.483.647 byte

2.2 JENIS-JENIS PERINTAH SQL

Banyak perintah dan fungsi SQL Server yang dapat digunakan untuk mendefenisikan maupun
memanipulasi database. Suatu rangkaian aktivitas yang berhubungan dengan pemulihan dan pengoptimalan
perintah query didalam database pada SQL Server 2000 ini dituliskan lewat fasilitas yang memiliki antarmuka
grafis yaitu Query Analyzer. Beberapa aktivitas yang dimaksud, antara lain :
1. Melakukan query pada database SQL Server dengan menggunakan perintah-perintah SQL untuk
melihat teks atau grid.
2. Melihat representasi grafis dari langkah-langkah untuk mengakses query.
3. Mengakses Help Online untuk bahasa Transact SQL.
4. Melakukan analisa kenerja indeks.
5. Menjalankan skrip Transact SQL dari prosedut tersimpan.

Secara umum perintah-perintah pada SQL Server dibagi menjadi dua kelompok, yaitu :

2.2.1 DDL (Data Defenition Language)


Data Defenition Language merupakan bagian dari SQL yang digunakan untuk mendefenisikan data
dan objek database. Perintah digunakan untuk mendefenisikan suatu objek, yaitu membuat, mengubah,
menghapus dan memberikan izin.
Beberapa perintah pada SQL Server 2000 yang termasuk Data Defenition Language, antara lain :

Perintah Kegunaan
Create Table Membuat tabel
Create Index Membuat index
Create View Membuat view
Alter Table Mengubah atau menyisipkan ke dalam table
Drop Table Menghapus table
Drop Index Menghapus index
Drop View Menghapus vuew
Grant Memberi izin akses kepada user

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 10

2.2.2 DML (Data Menipulation Language)


Data Manipulation Language merupakan bagian dari SQL yang digunakan untuk manipulasi data.
Perintah-perintah ini bertugas melakukan query dan perubahan yang dilakukan didalam suatu tabel.
Beberapa perintah pada SQL Server 2000 yang termasuk Data Manaipulation Language, antara lain :
Perintah Kegunaan
Select Digunakan untuk memilih data dari suatu table atau view
Insert Menyispkan baris dari suatu table
Delete Menghapus baris dari suatu table
Update Mengubah isi dari kolom (field) pada suatu table
Commnit Menuliskan perubahan ke dalam disk
Rollback Membatalkan perubahan yang dilakukan setelah perintah Commit yang terakhir

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 11

BAB III
PEMBUATAN DATABASE & TABEL

Pada bab ini akan dijelaskan bagaimana cara membuat database dan tabel pada SQL Server 2000
dengan menggunakan fasilitas SQL Server Enterprise Manager.

3.1 MEMBUAT DATABASE

 Buka Enterprise Manager lalu expand Microsoft SQL Server > SQL Server Group.
 Lanjutan dengan membuka Server LOCAL, atau sesuai nama komputer anda, lalu buka folder
database. Klik kanan pada folder tersebut kemudian pilih New Database.

 Isikan nama database yang akan dibuat misalnya, ASPNET

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 12

 Lanjutkan dengan membuka tab Data Files, di bagian ini terdapat bebrapa option yang dapat dijelaskan
sebagai berikut :
a) File Name dan Location, untuk memberi nama file dan meletakan file database tersebut suatu
lokasi folder yang diinginkan.
b) File Growth, mengatur penambahan ukuran file database. Dapat diitetapkan dengan
persentase tertentu atau berdasarkan jumlah megabytes tertentu.
c) Maximum File Size, ukuran file dapat dibatasi pada tingkat tertentu atau unlimited.
 Pada tab Transaction Log terdapat option yang sama seperti pada tab data files. Apabila membuat
database di SQL Server maka akan terdiri dariminimum 2 file yaitu :
a) Data File, adalah untuk menyimpan data file
b) Transaction Log, adalah file yang menyimpan histori transaksi dan semua kejadian di database
tersebut.
Pada tab ini biarkan semuanya dalam keadaan default.
 Setelah proses pengisiran option selesai, klik OK dan database baru akan terlihat didalam Enterprise
Manager.

3.2 MEMBUAT TABEL

Untuk tabel dalam Microsoft SQL Server bisa dilakukan dengan beberapa cara, antara lain dengan
memanfaatkan SQL Enterprise Manager, Wizard dan Transact-SQL (T-SQL) serta pembuatan indeks(Primary
Key) . Namun dalam modul ini saya memberikan contoh membuat tabel dengan memanfaatkan SQL Enterprise
Manager dan Transact-SQL.

3.2.1 Membuat Tabel dengan SQL Enterprise Manager

Sebuah database terdiri dari satu atau lebih table untuk menyimpan data. Untuk membuat table, klik
kanan nama database tersebut kemudian pilih New > Table.

Kemudian diisi nama-nama kolom/field untuk table tersebut. Berikut contoh pengisian untuk table
dengan nama pelanggan yang berisi 6 field, lengkap dengan tipe data masing-masing.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 13

Dapat dilihat bahwa setiap field memiliki tipe data dan ukurannya masing-masing. Penting untuk
diperhatikan bahwa setiap field harus menggunakan tipe data dan ukuran secara tepat, sesuai dengan
kebutuhannya. Apalagi tipe data dan ukurannya terlalu besar, maka database akan cepat membengkak dan
memakan memori lebih banyak dari yang diperlukan.
Selain itu juga perlu ditetapkan field mana yang harus diisi dan mana yang tidak. Pada contoh tersebut
field IDPelanggan, Nama dan Email harus diisi dengan mengisi setup Allow Null=False. Artinya field tersebut
tidak diperbolehkan Kosong.
Untuk pembuatan indeks (Primary Key) pilih dulu field yang akan dijadikan indeks kemudian klik kanan
pada field tersebut terus pilih Set Primary Key.

3.2.2 Membuat Tabel dengan Transact SQL (T-SQL)

Pada dasarnya tabel yang dibuat dengan SQL Enterprise Manager maupun dengan memanfaatkan
Transact-SQL sama saja. Untuk lebih jelasnya perhatikan contoh berikut :

USE ASPNET
GO
CREATE TABLE PELANGGAN_2 (
IDPelanggan SmallInt PRIMARY KEY,
Nama Varchar(25) NOT NULL,
Alamat Varchar(35),
Kota Varchar(15),
Telepon Varchar(15),
Email Varchar(25) NOT NULL,)

Untuk mengetikan perintah diatas jalankan SQL Query Analyzer kemudian ketikan perintah diatas
setelah selesai klik ikon Execute Query atau F5.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 14

LATIHAN
1. Buatlah 2 buah tabel didalam database ASPNET dengan nama Barang, Satuan, dengan ketentuan sebagai
berikut :
 Untuk Tabel BARANG buat field-nya sebagai berikut :

Nama Field Tipe Data Ukuran Allow Null


KdBarang Varchar 5 False
NamaBarang Varchar 25 False
HargaBarang Money 8 False
Stok SmallInt 2 False
KdSatuan Varchar 5 False

 Untuk Tabel SATUAN buat field-nya sebagai beikut :

Nama Field Tipe Data Ukuran Allow Null


KdSatuan Varchar 5 False
NamaSatuan Varchar 25 False

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 15

BAB IV
OPERASI DATABASE

Pada bab sebelumnya sudah dijelaskan perbedaan antara perintah DDL (Data Defenition Language) dan
DML (Data Manipulation Language), pada bab ini akan dijelaskan bagaimana pengolahan data pada suatu
table merupakan salah satu fasilitas SQL Server yang memanfaatkan SQL DML (Data Manipulation Language).
Ada beberapa proses yang dapat dikerjakan berkaitan dengan data yang telah direkam, yaitu Insert, Update,
Delete dan Select.

MENYISIPKAN DATA (INSERT)

Salah satu perintah yang dapat digunakan untuk menambah data (record) baru pada suatu table adalah
Insert. Untuk pemakaian Insert, tabel dimana data akan ditempatkan harus sudah dibuat terlebih dahulu.
Adapun aturan penulisan dari perintah Insert pada suatu tabel sebagai berikut :

INSERT INTO TARGET (Field1,Field2,…….) VALUES (Value1, Value2,…….)

Komponen-komponen yang ada pada perintah Insert Into dapat dijabarkan seperti pada tabel berikut ini :

Komponen Keterangan
Target Nama dari tabel yang akan ditambah recordnya
Field1, Field2 Nama dari masing-masing field yang ke dalam ekspresi value1… value2 akan diisikan
Value1, Value2 Ekspresi yang akan dimasukan ke dalam field1…field2. setiap ekspresi memilki pasangan
dengan field dan akan ditempatkan berdasarkan urutan penulisannya yaitu field1=value1,
field2=value2, dan seterusnya. Bila diantara field dan value tidak berhubungan maka
perintah insert gagal

Perlu diketahui bahwa field yang mempunyai atribut Not Null (Allow Null=False), pada perintah Insert
dilakukan harus terisi atau terisi dengan nilai default.
Berikut ini adalah contoh dari format penulisan perintah Insert pada tabel Barang dengan satu record baru,
yaitu :

INSERT INTO BARANG (KdBarang, NamaBarang, HargaBarang, Stok, KdSatuan) VALUES (‘PK121’,
’T-Shirt’, 125000, 3, ’KS001’)

Format lain dalam memasukan data adalah dengan tidak menuliskan nama-nama field dari tabel yang
dieksekusi. Banyaknya nilai (values) yang dimasukkan akan disesuaikan dengan banyaknya field yang ada,
termasuk juga urutan dari field dengan urutan data yang dimasukkan.

INSERT INTO BARANG VALUES (‘PK121’, ’T-Shirt’, 125000, 3, ’KS001’)

Proses menyisipkan data pada SQL Server tidak selalu harus dilakukan per record (satu per satu) tetapi
bisa dilakukan sekian record sekaligus dalam sekali eksekusi. Anda bisa menambahkan perintah “GO” diantara
proses yang ada (tetapi perintah ini bersifat optional), seperti contoh beikut :

INSERT INTO BARANG VALUES (‘PK121’, ’T-Shirt’, 125000, 3, ’KS001’)


GO
INSERT INTO BARANG VALUES (‘PK122’, ’Celana’, 150000, 5, ’KS002’)

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 16

Sedang bila record yang disisipkan tidak sebanyak field yang ada maka bentuk penulisannya sebagai berikut :

INSERT INTO BARANG (KdBarang, NamaBarang, HargaBarang) VALUES (‘PK121’, ’T-Shirt’, 125000,
3, ’KS001’)

4.2 MODIFIKASI DATA (UPDATE)

Setiap data yang sudah disimpan dapat dimodifikasi/diubah sesuai dengan criteria yang ada, dengan
perintah Update.
Adapun aturan penulisan dari perintah Update pada suatu tabel, sebagai berikut :

UPDATE INTO TARGET SET FIELD1=VALUE1, FIELD2=VALUE2 WHERE FIELD=PREDIKAT

Komponen-komponen yang ada pada perintah Update dapat dijabarkan seperti pada tabel berikut ini :

Komponen Keterangan
Target Nama dari tabel yang akan di update recordnya
Field1, Field2 Nama dari masing-masing field yang akan diganti dengan ekspresi value1, value2 dan
seterusnya.
Value1, Value2 Ekspresi yang akan menggantikan nilai ke dalam field1…field2.
Predikat Kualifikasi untuk record yang akan dirubah.

Untuk mengubah nilai suatu field, bentuk penulisan dari perintah update sebagai berikut :

UPDATE BARANG SET HargaBarang=200000 WHERE KdBarang=’PK122’

Sedang bila data dalam field yang ingin diganti lebih dari satu, bentuk penulisan querynya sebagai berikut :

UPDATE BARANG SET HargaBarang=200000, Stok=200 WHERE KdBarag=’PK122’

Nilai pengganti suatu field dapat berupa nilai yang sudah pasti atau nilai hasil operasi Aritmatika, seperti
contoh berikut ini :

UPDATE BARANG SET HargaBarang=HargaBarang + (HargaBarang * (10/100)) WHERE


KdBarang=’PK122’

Tetapi yang perlu diperhatikan ketika anda melakukan proses Update, jangan sampai syarat pada predikat
dihilangkan. Proses ini berakibat seluruh data dalam tabel tersebut akan diganti semua, seperti contoh berikut
ini :

UPDATE BARANG SET HargaBarang=200000

Akibat dari pemakaian query diatas, seluruh data HargaBarang dalam tabel BARANG akan diganti dengan
200000.

4.3 MENGHAPUS DATA (DELETE)

Proses menghapus data dlaam suatu tabel dapat dilakukan dengan perintah DELETE. Adapun aturan
penulisan dari perintah Delete pada suatu record sebagai berikut :

DELETE FROM TARGET WHERE FIELD=PREDIKAT

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 17

Komponen-komponen yang ada pada perintah Delete dapat dijabarkan seperti pada tabel berikut ini :

Komponen Keterangan
Target Nama dari tabel yang akan di delete recordnya
Predikat Kualifikasi untuk record yang akan dihapus

Seperti pada proses Update, predikat sangat menentukan kualifikasi record yang akan dihapus. Tanpa
perinth “WHERE” maka seluruh record pada tabel yang bersangkutan akan dihapus. Pada contoh berikut ini
akan dihapus data/record BARANG yang mempunyai kode “PK122”, seperti berikut ini :

DELETE FROM BARANG WHERE KdBarang=’PK122’

Perlu diperhatikan pemakaian perintah “DELETE” tanpa diikuti oleh perintah “WHERE” kecuali dikehendaki
untuk menghapus seluruh data.

DELETE FROM BARANG

4.4 MENAMPILKAN DATA (SELECT)

Perintah SELECT digunakan untuk menampilkan baris-baris data dari satu atau lebih tabel. Perintah ini
merupakan perintah yang banyak digunakan dalam menampilkan data suatu atau beberapa tabel.
Adapun aturan penulisan dari perintah Select pada suatu tabel sebagai berikut :

SELECT FIELD1, FIELD2,… FROM TARGET WHERE PREDIKAT GROUP BY GROUP-FIELD ORDER
BY ORDER-FIELD

Komponen-komponen yang ada pada perintah Select dapat dijabarkan seperti pada tabel berikut ini :

Komponen Keterangan
Field1, Field2 Nama dari masing-masing field dimana datanya akan ditampilkan
Target Nama dari tabel yang akan ditampilkan recordnya
Predikat Kualifikasi untuk record yang akan ditampilkan
Group-Field Nama field yang dijadikan kunci pengelompokan
Order-Field Field yang dipakai untuk kunci pengurutan

Pada proses pengambilan data terdapat suatu operasi yang bertujuan untuk mengambil data secara
horizontal, yang disebut dengan operasi Selection. Pada proses ini bisa dilibatkan “Kriteria” sehingga hanya
data tertentu saja yang memenuhi criteria yang akan diambil.
Berikut ini adalah contoh untuk menampilkan seluruh data dari tabel BARANG tanpa ada kriteria, yaitu :

SELECT * FROM BARANG

Sedang operasi yang bertujuan untuk mengambil data secara vertical pada suatu tabel yang mempunyai
baris-baris data yang unik disebut dengan operasi Projection.
Berikut ini adalah contoh untuk menampilkan data dari field “NamaBarang” dan “HargaBarang” dari tabel
BARANG tanpa ada kriteria, yaitu :

SELECT NAMABARANG, HARGABARANG FROM BARANG

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 18

4.5 SELECTION

Operasi seleksi merupakan operasi yang paling banyak digunakan dalam mencari data dari suatu atau
beberapa tabel dengan kriteria yang kita inginkan. Beberapa kriteria-nya antara lain :

4.5.1 Klausa WHERE

Klausa Where digunaka untuk menentukan batasan baris data yang akan ditampilkan.
Umumnya klausa Where dikombinasikan dengan operator lain, misalnya operator relasi seperti =, <>,
>, >=, <, dan <=. Operator relasi ini dapat dikenakan pada data number, string maupun date.
Perintah query berikut, bertujuan untuk mengambil data yang harganya lebih besar dari
1500000 (Satu Juta Lima Ratus Ribu Rupiah), yaitu :

SELECT * FROM BARANG WHERE HARGABARANG > 1500000

Jika data yang digunakan untuk kriteria adalah string, data tersebut harus dilengkapi dengan
tanda petik satu (‘ ‘) atau dua (“ “), seperti contoh berikut ini.

SELECT * FROM BARANG WHERE KODEBARANG=’001’

4.5.2 Operator And, Or, Not

Operator “AND” digunakan untuk menguji beberapa ekspresi logika yang diberikan, semuanya
memiliki nilai True(Benar). Pada contoh berikut ini ditampilakn seluruh data barang yang harganya
antara 500 Ribu sampai 1 Juta Rupiah

SELECT * FROM BARANG WHERE HARGABARANG >= 500000 AND HARGABARANG <=
1000000

Operator “OR” digunakan untuk menguji apakah salah satu atau kedua ekspresi logika yang
diberikan memiliki nilai True(Benar). Pada contoh berikut ini ditampilkan seluruh data barang yang
harganya kurang dari 1 Juta rupiah atau jumlahnya lebih dari 25 buah.

SELECT * FROM BARANG WHERE HARGABARANG < 1000000 OR Stok > 25

Operator “Not” digunakan untuk mendapatkan nilai kebalikan dari suatu logika atau ekspresi.
Pada contoh berikut ini akan diambil data yang jumlahnya lebih besar dari 25

SELECT * FROM BARANG WHERE NOT STOK <= 25

4.5.3 Operator Beetwen dan Not Beetwen

Perintah select dapat juga digunakan untuk menampilkan data yang berada pada jangkauan
kriteria tertentu. Untuk itu operator yang digunakan adalah Between…And yang memiliki aturan
penulisan sebagai berikut :

SELECT FIELD1, FIELD2,… FROM TARGET WHERE PREDIKAT BETWEEN NILAI1 AND NILAI2

Komponen-komponen yang ada pada perintah Select dengan operator Between dapat
dijabarkan seperti pada tabel berikut ini :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 19

Komponen Keterangan
Field1, Field2 Nama dari masing-masing field dimana datanya akan ditampilkan
Target Nama dari tabel yang akan ditampilkan recordnya
Predikat Kualifikasi untuk record yang akan ditampilkan
Nilai1, Nilai2 Ekspresi yang berisi nilai awal dan akhir evaluasi

Perintah query pada contoh berikut bertujuan untuk mengambil data yang harganya antara 1 juta
sampai 2 juta, yaitu :

SELECT * FROM BARANG WHERE HARGABARANG BETWEEN 1000000 AND 2000000

Sedang bila harga yang diinginkan selain 1 juta sampai 2 juta, maka penulisan querynya sebagai
berikut :

SELECT * FROM BARANG WHERE HARGABARANG NOT BETWEEN 1000000 AND 2000000

4.5.4 Distinct

Jika perintah Select tidak menyertakan Field dengan Constraint Primary Key (akan dibahas
pada bab selanjutnya), kemungkinan tabel yang ditampilkan berisi data yang sama (duplikat). Dengan
predikat Distinct maka semua record yang isinya merupalan duplikasi field yang dipilih akan diabaikan.
Data dari hasil proses query yang menggunakan predikat Distinct tidak apat diubah(Update) dan
refleksinya tidak dapat digunakan oleh user lain. Perhatikan contoh berikut ini yang menggunakan tabel
Pengarang dimana Pengarang berasal dari kota yang beraneka ragam. Dengan mengikutkan predikat
Distinct maka data kota tidak ada yang ditampilkan secara dobel.

SELECT DISTINCT KOTA FROM PENGARANG

4.5.5 In dan Not In

Tampilan baris data (record) dapat dibatasi berdasarkan suatu kelompok tertentu, yaitu dengan
menyertakan kondisi IN. Bentuk penulisan dari perintah select dengan kondisi IN atau NOT IN, adalah.

SELECT FIELD1, FIELD2,… FROM TARGET WHERE PREDIKAT IN (NILAI1, NILAI2…)

Komponen-komponen yang ada pada perintah Select dengan operator IN dapat dijabarkan
seperti pada tabel berikut ini :

Komponen Keterangan
Field1, Field2 Nama dari masing-masing field dimana datanya akan ditampilkan
Target Nama dari tabel yang akan ditampilkan recordnya
Predikat Kualifikasi untuk record yang akan ditampilkan
Nilai1, Nilai2 Ekspresi pilihan dari evaluasi

Perintah query pada contoh berikut bertujuan untuk mengambil data Supplier yang kota asalnya
Medan, Pakam, Binjai, yaitu :

SELECT * FROM SUPPLIER WHERE KOTA IN (“Medan”, “Pakam”, “Binjai”)

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 20

Sedangkan kondisi NOT IN akan bernilai kebalikan dari IN. dan pada contoh jika dikehendaki
menampilkan data Supplier kotanya selain Medan, Pakam, Binjai, yaitu :

SELECT * FROM SUPPLIER WHERE KOTA NOT IN (“Medan”, “Pakam”, “Binjai”)

4.5.6 Like dan Not Like

Kondisi LIKE dan NOT LIKE dipakai untuk mendukung proses pencarian data dengan nilai
string tertentu, bisa berdasarkan Prefix (kata depan), Suffix (kata akhir) atau kata tengah. Format
penulisan LIKE dan NOT LIKE, sebagai berikut :

SELECT FIELD1, FIELD2 FROM TARGET WHERE EKSPRESI LIKE NILAI1

Komponen-komponen yang ada pada perintah Select dengan operasi LIKE dan NOT LIKE
dapat dijabarkan seperti pada tabel berikut ini :

Komponen Keterangan
Field1, Field2 Nama dari masing-masing field dimana datanya akan ditampilkan
Target Nama dari tabel yang akan ditampilkan recordnya
Nilai Ekspresi string yang dapat berisi karakter WILDCARD (% _ , []) dan teks yang
akan dicari pada ekspresi.

Pada contoh berikut ditampilakn sederetan data yang nama barangnya diawali oleh huruf “R”,
yaitu:

SELECT * FROM BARANG WHERE NAMA LIKE ‘R%’

Sedangkan jika kondisi sebaliknya yaitu nama barang yang diawali dengan selain huruf “R”, yaitu :

SELECT * FROM BARANG WHERE NAMA NOT LIKE ‘R%’

Pemakaian tanda Underscore/garis bawah ( _ ) digunakan untuk mengabaikan satukarakter/digit. Pada


contoh berikut ini akan ditampilkan sederetan data dengan mengabaikan karakter pertama dan
karakter berkutnya adalah “K123”, yaitu :

SELECT * FROM BARANG WHERE NAMA NOT LIKE ‘_K123’

4.5.7 Is Null dan Not Null

Kondisi NULL adalah nilai yangbelum diisi, tetapi nilai Null tidak identik dengan spase (blank).
Pada contoh berikut ditampilkan sederetan data yang statusnya kosong (Null), yaitu :

SELECT * FROM BARANG WHERE STATUS IS NULL

4.5.8 Pemakaian Bracket

Karakter Bracket ( [ ] ) digunakan untuk menunjukan bahwa satu karakter yang dipilih harus
berada pada daftar. contoh berikut akan menampilkan huruf “P” sampai “W”, yaitu :

SELECT * FROM BARANG WHERE NAMA NOT LIKE ‘[P-Q]%’

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 21

LATIHAN
1. Desain suatu database dengan nama INVENTORY dan kerjakan beberapa perintah berikut yang berkaitan
dengan database tersebut. Spesifikasi dari database INVENTORY antara lain :
 File MDF, ukurannya 20 MB dengan ukuran maksimum 40 MB dan pertambahan ukuran file 1 MB
 File LDF, ukurannya 4 MB dengan ukuran maksimum 8 MB dan pertambahan ukuran filenya 1 MB
Untuk itu aktifkan Query Analyzer dan ketikan kode-kode perintah berikut ini :

Create Database INVENTORY ON PRIMARY(


Name = INV_DATA,
Filename = “C:\SQL\DATA\INVENTORY.MDF”,
Size = 20 MB,
Maxsize = 40 MB,
Filegrowth = 1 MB)

LOG ON (
Name = INV_LOG,
Filename = ”C:\SQL\DATA\INVENTORY.LDF”,
Siize = 4 MB,
Maxsize = 8 MB,
Filegrowth = 1 MB)

2. Desain suatu tabel dengan nama BARANG, dengan ketentuan sebagai berikut :
 Struktur tabel BARANG seperti berikut ini :
Column Name Data Type Size
Kode Varchar 5
Nama Char 30
Harga Int
Jumlah Int
Disc Int

 Field Kode sebagai kunci dengan ketentuan tidak boleh dobeldan tidak boleh kosong.
 Field Nama di set tidak boleh dikosongkan.
 Field Disc di set default dengan nilai O (nol).

Create Table BARANG (


Kode Varchar(5) Primary Key,
Nama Char(5) Not Null,
Harga Int,
Jumlah Int,
Disc Int Default 0)

3. Inputkan bebrapa data ke tabel BARANG dan sekaligus tampilkan isi dari tabel tersebut.
Kode Nama Harga Jumlah Disc
EL123 Televisi 2100000 4 10
MK123 Roti Tawar 3500 30 0
PK456 Sepatu 875000 30 0
EL456 VCD Player 1450000 8 5
EL789 Radio 380000 5 0

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 22

INSERT INTO BARANG VALUES (‘EL123’, ‘Televisi’, 2100000, 4, 10)


INSERT INTO BARANG VALUES (‘MK123’, ‘Roti Tawar’, 3500, 30, 0)
INSERT INTO BARANG VALUES (‘PK456’, ‘Sepatu’, 875000, 30,0)
INSERT INTO BARANG VALUES (‘EL456’, ‘VCD Player’, 1450000, 8, 5)
INSERT INTO BARANG VALUES (‘EL789’, ‘Radio’, 380000, 5, 0)

4. Desain suatu tabel dengan nama PENJUALAN, dengan ketentuan sebagai berikut :
 Struktur tabel PENJUALAN seperti berikut dibawah ini :
Column Name Data Type Size
No_Jual Varchar 6
Tgl_Jual Datetime
Kd_Brg Varchar 5
Jml_Jual Int

 Field No_Jual, Tgl_Jual dan Kd_Brg di set tidak boleh kosong.


 Sedang Field Jml_Jual di set default dengan nilai 0 (nol)

5. Inputkan beberapa data ke tabel PENJUALAN dan sekaligus tampilkan data dari tabel tersebut.
No_Jual Tgl_Jual Kd_Brg Jml_Brg
000001 03/17/2004 MK123 2
000001 03/17/2004 EL456 1
000001 03/17/2004 PK456 1
000002 03/18/2004 EL123 1
000003 03/20/2004 MK123 5

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 23

BAB V
FUNGSI PADA SQL SERVER

Fungsi di Microsoft SQL Server 2000 berfungsi untuk memudahkan para programmer untuk mencari jalan
tercepat dalam merumuskan suatu masalah, ada beberapa dungsi yang terdapat didalam SQL Server 2000
antara lain :
1. Fungsi Aggregate
2. Fungsi String
3. Fungsi Tanggal dan Waktu
4. Fungsi Matematika
Fungsi-fungsi tersebut memiliki beberapa perintah yang bisa dipadukan dengan perintah-perintah SQL DML,
adapun perintah dari masing-masing fungsi tersebut adalah sebagai berikut :

FUNGSI AGGREGATE

Fungsi Aggregate adalah suatu fungsi yang digunakan untuk mendapatkan suatu nilai yang merupakan
hasil dari perhitungan sekelompok baris data. Beberapa contoh dari fungsi Aggregate yang sering
digunakan dalam perintah query, diantaranya :

AVG(Ekspresi)

Fungsi AVG digunakan untuk menghasilkan nilai rata-rata dari suatu data bilangan, dimana
ekspresi adalah nilai numerik atau nama field yang memiliki nilai numerik atau rumus yang
menghasilkan nilai numerik. Nilai hasil perhitungan fungsi AVG adalah nilai seluruh data dibagi
dengan jumlah data. Apabila terdapat nilai Null pada satu atau lebih data, nilai Null tersebut
tidak digunakan dalam perhitungan dan jumlah data tidak akan ditambahkan. Contoh :

SELECT AVG(Jumlah) AS [RATA RATA JUMLAH] FROM BARANG

Count(*) atau Count(Ekspresi)

Fungsi Count digunakan untuk menghitung banyaknya baris data (record) dalam suatu tabel.
Nilai ekspresi(*) bisa diisi dengan nama field atau tanda bintang. Apabila ekspresinya bernilai
Null maka baris data tersebut tidak ikut dihitung. Contoh :

SELECT COUNT(*) FROM BARANG

SELECT COUNT(Nama)FROM BARANG

Max(Ekspresi)

Fungsi Max digunakan untuk mencari nilai tertinggi dari suatu data bilangan dimana ekspresi
adalah nilai numerik atau nama field yang memiliki nilai numerik atau rumus yang
menghasilkan nilai numerik. Contoh :

SELECT MAX(Jumlah)FROM BARANG

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 24

Min(Ekspresi)

Fungsi Min digunakan untuk mencari nilai terendah dari suatu data bilangan dimana ekspresi
adalah nilai numerik atau nama field yang memiliki nilai numerik atau rumus yang
menghasilkan nilai numerik. Contoh :

SELECT MIN(Jumlah)FROM BARANG

Sum(Ekspresi)
Fungsi Sum digunakan untuk menghasilkan nilai penjumlahan dari suatu data bilangan,
dimana ekspresi adalah nilai numerik atau nama field yang memiliki nilai numerik atau rumus
yang menghasilkan nilai numerik. Apabila terdapat nilai Null pada satu atau lebih data, nilai
Null tersebut tidak ikut dijumlahkan. Contoh :

SELECT SUM(Jumlah)FROM BARANG

FUNGSI STRING

Fungsi String adalah suatu fungsi yang diperuntukan bagi data yang mempunyai tipe data teks(String).
Umumnya tipe data string diawali dengan tanda petik satu(‘ ’) atau tanda petik dua(“ ”). Data String juga
bisa diambil dari field-field pada suatu tabel yang mempunyai tipe data String (Char, Varchar dan
sebagainya). Bebrapa contoh dari fungsi String diantaranya :

Left(String,N)

Fungsi Left digunakan untuk memotong/mengambil nilai dari suatu string sebanyak N digit dari
posisi kiri. Contoh :

SELECT LEFT(Nama,3) FROM BARANG

Right(String,N)

Fungsi Left digunakan untuk memotong/mengambil nilai dari suatu string sebanyak N digit dari
posisi kanan. Contoh :

SELECT RIGHT(Nama,3) FROM BARANG

SubString(String,S,N)

Fungsi SubString digunakan untuk memotong/mengambil nilai dari suatu string mulai dari
posisi S dihitung dari arah kiri ke kanan sebanyak N digit ke arah kanan. Contoh :

SELECT SUBSTRING(Nama,2,3) FROM BARANG

Len(String)

Fungsi Len digunakan untuk menghitung banyaknya karakter pada suatu data String termasuk
spasi. Contoh :

SELECT LEN(Nama) FROM BARANG

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 25

Upper(String)

Fungsi Upper digunakan untuk mengubah tampilan data String menjadi data dengan huruf
capital(uppercase). Contoh :

SELECT UPPER(Nama) FROM BARANG

Lower(String)

Fungsi Lower digunakan untuk mengubah tampilan data String menjadi data dengan huruf
kecil(lowercase). Contoh :

SELECT LOWER(Nama) FROM BARANG

LTrim(String)

Fungsi LTrim digunakan untuk membuang spasi kosong yang ada disebelah kiri data String.
Contoh :

SELECT LTrim(Nama) FROM BARANG

RTrim(String)

Fungsi RTrim digunakan untuk membuang spasi kosong yang ada disebelah kanan data
String. Contoh :

SELECT RTrim(Nama) FROM BARANG

Str(Number,N,D)

Fungsi Str digunakan untuk menampilakn baris daya Number menjadi bentuk String, dengan
panjang N dan banyaknya decimal D. Contoh :

SELECT STR(123.45,6,2) FROM BARANG

Replace(String,Text1,Text2)

Fungsi Replace digunakan untuk mengganti satu atau sederetan karakter pada Text1 dengan
Text2 pada suatu baris data. Contoh :

SELECT REPLACE(Nama,’a’,’U’) FROM BARANG

FUNGSI TANGGAL DAN WAKTU

Fungsi tanggal merupakan suatu fungsi yang diperuntukan bagi data variable atau field yang berkaitan
dengan data tanggal. Demikian pula dengan fungsi wakti yaitu fungsi yang diperuntukkan bagi data, variable
atau field yang berkaitan dengan data waktu. Fungsi tanggal dan fungsi waktu dapat ula diterapkan untuk data
dari tanggal system komputer yang sedang aktif.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 26

GetDate()

Fungsi ini akan menghasilkan data tanggal dan jam system komputer yang sedang aktif.
Fungsi ini tidak memerlukan argument. Contoh :

SELECT GETDATE()

Day(Date)

Fungsi ini akan menghasilkan nilai tanggal dari suatu baris data dengan tipe data DateTime.
Contoh :

SELECT DAY(GETDATE())

Month(Date)

Fungsi ini akan menghasilkan nilai bulan dari suatu baris data dengan tipe data DateTime.
Contoh :

SELECT MONTH(GETDATE())

Year(Date)
Fungsi ini akan menghasilkan nilai tahun dari suatu baris data dengan tipe data DateTime.
Contoh :

SELECT YEAR(GETDATE())

5.3.5 DateAdd(Part,N,Date)

Fungsi ini digunakan untuk menambah nilai tanggal (Date) sebanyak N dari bagian Part.
Beberapa bentuk bagian (Part) yang dapat ditambahkan kedalam fungsi DateAdd, sebagai
berikut :

BAGIAN KETERANGAN
Year Menambah nilai tahun dari data tanggal
Quarter Menambah nilai bulan menjadi 3 bulan berikutnya
Month Menambah nilai bulan dari data tanggal
DayofYear Menambah nilai tanggal ke … dari data tanggal
Day Menambah nilai tanggal ke … dari data tanggal
Week Menambah nilai hari menjadi 7 hari berikutnya (1 minggu)

Pada contoh berikut ini akan ditambahkan suatu nilai pada data tanggal dengan penambahan
di beberapa bagian, yaitu :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 27

5.3.5.1 Menambah satu tahun kedepan

SELECT DATEADD(YEAR,1,’12/31/2004’)

5.3.5.2 Menambah tiga bulan kedepan

SELECT DATEADD(QUARTER,1,’12/31/2004’)

5.3.5.2 Menambah satu minggu kedepan

SELECT DATEADD(WEEK,1,’12/31/2004’)

5.3.6 DateDiff(Part,Date1,Date2)

Fungsi ini digunakan untuk menghitung selisi waktu mulai dari Date1 sampai dengan Date2
dengan bentuk bagian Part. Bentuk bagian (Part) seperti terlihat pada tabel diatas. Contoh :

5.3.6.1 Selisih dalam tahun

SELECT DATEDIFF(YEAR.’1/20/2004’,’1/31/2004’)

5.3.6.2 Selisih dalam minggu

SELECT DATEDIFF(WEEK.’1/20/2004’,’1/31/2004’)

5.3.6.3 Selisih dalam tiga bulanan

SELECT DATEDIFF(QUARTER.’1/20/2004’,’1/31/2004’)

5.3.7 DatePart(Part,Date)

Fungsi ini dugunakan untuk mengambil nilai sesuai dengan bagian (part) yang diikutkan.
Beberapa bentuk bagian (Part) yang dapat ditambahkan kedalam fungsi DatePart, sebagai
berikut :

BAGIAN KETERANGAN
Year Mengambil nilai tahun dari data tanggal
Quarter Mengambil nilai untuk tiga bulanan dari data tanggal
Month Mengambil nilai bulan dari data tanggal
DayOfYear Mengambil nilai tanggal dari data tanggal per tahun
Day Mengambil nilai tanggal dari data tanggal
Week Mengambil nilai tanggal apda posisi minggu ke
WeekDay Menghitung banyaknya minggu mulai tanggal 1 Januari
Hour Mengambil nilai jam dari data waktu(jam)
Minute Mengambil nilai menit dari data waktu(jam)
Second Mengambil nilai detik dari data waktu(jam)
Contoh :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 28

5.3.7.1 Mengambil nilai minggu ke

SELECT DATEPART(WEEK,’01/4/2004’)

5.3.7.2 Mengambil nilai menit

SELECT DATEPART(MINUTE,’17:35:02’)

5.4 FUNGSI MATEMATIKA

Fungsi Matematika merupakan suatu fungsi yang digunakan untuk perhitungan suatu nilai dalam field
maupun inputan data yang berbentuk argument yang mempunyai tipe data numerik. Pada SQL Server 2000
terdapat 23 fungsi matematika yang bisa dioperasikan, tetapi dalam modul ini hanya beberapa fungsi saja yang
dibahas.

5.4.1 ABS(ekspresi)

Fungsi ini digunakan untuk menghasilkan nilai mutlak (absolute) pada nilai numerik yang
disertakan (ekspresi). Contoh :

SELECT ABS(-123.45)

5.4.2 Ceiling(ekspresi)

Fungsi ini digunakan untuk membulatkan suatu nilai numerik dengan pembulatan ke atas(lebih
besar dari bilangan yang dioperasikan. Contoh :

SELECT CEILING(17.1), CEILING(17,9)

5.4.3 Floor(ekspresi)

Fungsi ini digunakan untuk membulatkan suatu nilai numerik dengan pembulatan ke bawah (lebih
kecil dari bilangan yang dioperasikan. Contoh :

SELECT FLOOR(17.1), CEILING(17,9)

5.4.4 PI

Fungsi ini akan menghasilkan suatu niali radian yang standar yaitu sebesar. Contoh :

SELECT PI

5.4.5 Degrees(ekspresi)

Fungsi ini digunakan untuk menguba nilai radian menjadi derajat dari suatu nilai radian yang
diikutkan. Contoh :

SELECT DEGREES(PI())

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 29

5.4.6 Round(ekspresi,N)

Fungsi ini digunakan untuk membulatksan suatu nilai numerik sebanyak N decimal. Contoh :

SELECT ROUND(12.456,2), ROUND(12.456,-2)

5.4.7 Square(ekspresi)
Fungsi ini digunakan untuk menghasilkan nilai pangkat dari suatu bilangan yang diikutkan. Contoh :

SELECT SQUARE(10)

5.4.8 SQRT(ekspresi)

Fungsi ini digunakan untuk menghasilkan nilai akar dari suatu bilangan yang diikutkan. Contoh :

SELECT SQRT(25)

5.4.9 Persen(%)

Fungsi Modulo digunakan untuk menghasilkan nilai sisa hasil bagi suatu bilangan yang diikutkan.
Contoh :

SELECT (10 % 4)
SELECT (2 % 3)

LATIHAN
1. Bukalah tabel penjualan yang ada di database INVENTORY kemudian buatlah semua fungsi-fungsi
diatas terhadap tabel Penjualan.

2. Tampilkan data kode, Nama, Harga, Jumlah, Besar Discount dan Total Harga dari Tabel BARANG untuk
data barang yang kodenya diawali dengan “EL”. Beberapa ketentuannya sebagai berikut :
 Discount = (Harga * Jumlah * Disc) / 100
 Total Harga = (Harga * Jumlah) - Discount

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 30

BAB VI
OPERASI DATABASE II

Didalam bab kali ini akan dijelaskan beberapa perintah yang sering dipergunakan untuk menggabungkan
beberapa tabel dan juga untuk pengurutan data yang ada didalam tabel dan juga pengelompokan data yang
sering dilakukan untuk menghindari data kembar.

6.1 OPERASI JOIN

Menggabungkan beberapa tabel untuk mendapatkan satu hasil keluaran(output) yang dikehendaki disebut
dengan JOIN. Pada SQL Server 2000 terdapat 3 Kategori Join, yaitu :

6.1.1 INNER JOIN

Operasi Inner Join merupakan operasi join yang paling sering digunakan. Operasi ini dapat
digunakan pada setiap anak kalimat FROM untuk membuat Join, yaitu jenis penggabungan yang
mengkombinasikan setiap record dari dua tabel atau lebih yang memiliki isi field tertentu yang
sama. Pada operasi Inner Join jika terdapat nilai pada suatu tabel tidak sesuai dengan tabel
lainnya, maka baris/record tersebut tidak ditampilkan. Contoh :

SELECT * FROM BARANG INNER JOIN JUAL ON BARANG.KODE=JUAL.KD_BRG

6.1.2 OUTER JOIN

Operasi Outer Join merupakan operasi penggabungan (Join) pada umumnya tetapi juga
menampilkan baris-baris data (record) yang tidak ikut direlasi pada saat proses penggabungan
tabel. Terdapat variasi dari perintah Outer Join ditinjau dari penempatan tabel yang digunakan,
yaitu :

6.1.3 LEFT OUTER JOIN

Operasi Left Outer Join digunakan untuk mengkombinasikan record dimana semua record yang
ada pada tabel pertama (tabel primer) ditampilkan walaupun pada tabel tersebut terdapat record-
record ynag tidak berhubungan dengan tabel kedua (tabel relasi). Dengan kata lain operasi Left
Outer Join akan menampilkan seluruh data berdasarkan tabel yang berada disebalah kiri perintah
join. Perhatikan contoh berikut dilakukan proses penggabungan data dengan operasi Left Outer
Join yaitu antara tabel BARANG dengan tabel JUAL, dengan kunci field KODE pada tabel
BARANG dengan field KD_BRG pada field JUAL, yaitu :

SELECT * FROM BARANG LEFT OUTER JOIN JUAL ON BARANG.KODE = JUAL.KD_BRG

6.1.4 RIGHT OUTER JOIN

Operasi Right Outer Join digunakan untuk mengkombinasikan record dimana semua record yang
ada pada tabel kedua (tabel relasi) ditampilkan walaupun pada tabel tersebut terdapat record-
record yang tidak berhubungan dengan tabel pertama (tabel primer). Dengan kara lain operasi
Right Outer Join akan menampilkan seluruh data berdasarkan tabel yang berada disebelah kanan
dari perintah Join. Perhatikan contoh berikut dilakukan proses penggabungan data dengan operasi
Right Outer Join yaitu antara tabel BARANG dengan tabel JUAL, dengan kunci field KODE pada
tabel BARANG dengan field KD_BRG pada field JUAL, yaitu :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 31

SELECT * FROM BARANG RIGHT JOIN JUAL ON BARANG.KODE=JUAL.KD_BRG

6.1.5 FULL OUTER JOIN

Operasi Full Outer Join digunakan untuk mengkombinasikan record dimana semua record yang
ada pada tabel pertama (tabel primer) maupun ditabel kedua (tabel relasi) akan ditampilkan
walaupun pada tabel tersebut terdapat record-record yang tidak salin berhubungan. Pada contoh
berikut dilakukan proses penggabungan data dengan operasi Ful Outer Join yaitu antara tabel
BARANG dengan tabel JUAL, dengan kunci field KODE pada tabel BARANG dengan field
KD_BRG pada field JUAL, yaitu :

SELECT * FROM BARANG FULL JOIN JUAL ON BARANG.KODE=JUAL.KD_BRG

6.1.6 CROSS JOIN

Operasi Cross Join merupakan operasi yang mengkombinasikan antara setiap baris data disalah
satu tabel dengan seluruh baris data di tabel lainnya. Artinya jika pada tabel primer terdapat 2 baris
data dan di tabel sekunder terdapat 5 baris data, hasil kombinasinya adalah 10 baris data. Pada
contoh berikut dilakukan proses penggabungan data dengan operasi Cross Join yaitu antara tabel
BARANG dengan tabel JUAL tanpa menggunakan field kunci, yaitu :

SELECT * FROM BARANG CROSS JOIN JUAL

6.2 OPERASI SORT

Mengurutkan data(sort) bertujuan menata data-data yang ada agar urutan tampilannya sesuai dengan yang
diinginkan. Pola urutan yang dilakukan ada 2 macam, yaitu :

6.2.1 ASCENDING

Pada urutan dari Ascending adalah mengurutkan data mulai dari data terkecil sampai data terbesar
(menaik). Jika digambarkan untuk data string (teks) dimulai dari abjad “A” sampai “Z”. sedangkan
untuk data number (numerik) dimulai dari angka 0 sampai 9.

6.2.2 DESCENDING

Pola urutan dari Descending adalah mengurutkan data mulai dari data terbesar sampai data
terkecil (menurun). Jika diilustrasikan, untuk data string(teks) dimulai dari abjad “Z” sampai “A”.
sedang untuk data number (numerik) dimulai dari angka 9 sampai 0.

Pada proses pengurutan data dengan perintah query dapat dilakukan dengan menggunakan anak kalimat
ORDER BY yang merupakan bagian perintah Select. Aturan dari penulisan anak kalimat ORDER BY
sebagai berikut :

SELECT ….. FROM ….. ORDER BY FIELD ASC | DESC


ARGUMEN KETERANGAN
Field Field digunakan sebagai kunci pertama pengurutan
ASC | DESC Pola pengurutan yaitu Ascending atau Descending

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 32

Default dari proses pengurutan data pada kata tercadang ORDER BY adalah ASCENDING. Jadi bila suatu
field menggunakan pola pengurutan Ascending maka pada field tersebut tidak perlu ditambahkan ASC.
Tetapi lain halnya bila field tersebut diurutkan dengan pla Descending maka pada field tersebut harus
diberikan perintah DESC.
Perhatikan contoh query berikut ini yang bertujuan menampilkan data dari tabel BARANG dengan
diurutkan berdasarkan NAMA secara Descending.

SELECT * FROM BARANG ORDER BY NAMA DESC

Pada proses pegurutan data jika ingin digunakan dua kunci sekaligus, penempatan kunci kedua diletakkan
setelah kunci pertama yang dibatasi dengan tanda koma (,). Perhatikan contoh query berikut yang
menampilkan data dari tabel BARANG dengan diurutkan berdasarkan kunci pertama untuk field JUMLAH
dan kunci kedua untuk field HARGA secara Descending, yaitu :

SELECT * FROM BARANG ORDER BY JUMLAH, HARGA DESC

6.3 OPERASI GROUP

Pemakaian perintah Select dapat juga digabungkan dengan anak kalimat GROUP BY yang bertujuan untuk
mengelompokan data (record) yang sama. Pada kasus sederhana, anak kalimat GROUP BY berfungsi
seperti perintah DISTINCT. Kelebihan dari anak kalimat GROUP BY adalah dapat digunakan untuk
bersama dengan fungsi Aggregate. Fungs Aggregate yang digunakan bersama dengan GROUP BY akan
beroperasi pada seluruh record yang akan digabung untuk membentuk satu record (baris) tunggal. Contoh:

SELECT ….. FROM ….. GROUP BY [TABEL.]FIELD [, [TABEL.] FIELD2] [, …..] HAVING
KRITERIAGROUP].

ARGUMEN KETERANGAN
Tabel.Field1 Field1 yang digunakan sebagai kunci pertama pengelompokan
Tabel.Field1 Field1 yang digunakan sebagai kunci kedua pengelompokan
Having Mengevaluasi kondisi (kriteria)

Pada contoh berikut akan dikelompokan data penjualan untuk masing-masing kode barang dan banyaknya
barang dari masing-masing kode yang terjual, yaitu :

SELECT KD_BRG, COUNT(*) FROM JUAL GROUP BY KD_BRG

LATIHAN
1. tampilkan data No_Jual, Tgl_Jual, Kode, Nama, Jml_Jual dan Harga dari tabel BARANG yang di Join
dengan tabel PENJUALAN sehingga didapatkan data yang saling berhubungan.

2. Tampilkan data No_Jual, Tgl_Jual, Kode, Nama, Jml_Jual, Harga, Discount dan Total Harga dari tabel
BARANG yang di Join dengan tabel PENJUALAN khusus untuk data penjualan yang Total Harganya
lebih besar atau sama dengan satu juta rupiah.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 33

BAB VII
MENGENAL VIEW

View sangat berguna ketika anda akan mengolah informasi tertentu yang terdapat dalam suatu database.
Dengan view anda bisa mengakses informasi tertentu yang dibutuhkan saja, sehingga pekerjaan lebih cepat
dan akurat. View mengizinkan banyak user yang berbeda-beda untuk melihat dan memanfaatkan informasi
yang sama dengan kepentingan berbeda-beda tergantung kebutuhannya.
Vew bisa dikatakan sebagai tabel virtual yang isinya didefenisikan oleh Query database. Secara fisik
view bukanlah tabel, melainkan sekumpulan instruksi yang menghasilkan sekumpulan data.

Membuat View Secara Manual

Untuk membuat view banyak cara yang bisa dilakukan, pertama dengan manual atau bisa juga dengan
Transact SQL. Berikut akan dijelaskan membuat view secara manual, berikut adalah langkah-langkah
pembuatannya :
 Jalankan SQL Enterprise Manager
 Klik dua kali SQL Server Group
 Klik dua kali nama server anda, misalnya local
 Klik dua kali database
 Klik database anda, misalnya MyPustaka
 Klik dua kali View, setelah itu akan tampil jendela view sebagai berikut :

 Klik kanan mouse anda tepat di daerah kosong sehingga akan tampil menu popup
 Klik New View. Setelah anda menekan pilihan New View. Maka Microsoft SQL segera
menampilkan gambar seperti berikut ini.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 34

 Klik Add Table. Kemudian Microsoft SQL Server akan menampilkan kelompok table dalam
database yang di pilih. Dalam contoh ini saya menggunakan database MyPustaka dan memilih
beberapa tabel yang ada di database tersebut.

 Klik nama tabel yang akan digunakan, misalnya TBLPinjam, klik Add
 Klik nama tabel berikutnya, misalnya TBLBooks, klik Add
 Klik nama tabel lainnya yang akan dimasukan kedalam View, klik Add
 Klik tombol Close untuk menutup dialog Add Table, kemudiaan akan tampil seperti gambar berikut.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 35

Menandai Field Untuk View

Agar view yang dibuat dapat menampilkan field-field yang dibutuhkan, maka anda harus menandainya
terlebih dahulu. Misalnya semua field yang ada di tabel TBLPinjam, dan sebagian dari tabel TBLBooks.
 Klik semua field yang ada dalam tabel TBLPinjam
 Klik sebagian field yang ada dalam tabel TBLBooks sehingga dalam disain View tersebut akan
tampak seperti gambar berikut :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 36

Menjalankan View

Untuk menjalankan View yang sudah dibuat langkah yang harus anda lakukan adalah sebagai berikut :
 Klik tombol Run seperti ! setelah itu jendela akan berubah seperti gambar berikut :

Menyimpan View

Setelah menjalankan View sekarang kita akan menyimpan kedalam disk agar View tersebut dapat
digunaan. View ini akan disimpan dalam database dalam kelompok View, langkahnya sebagai berikut :
 Klik tombol save seperti . Setelah itu akan tampil kotak dialog Save As, kemudian ketikan nama
View anda misalnya Latihan – 02, kemudian klik OK

Membuat View dengan Transact – SQL

Untuk membuat View dengan Transact-SQL dihasilkan sama, hanya prosedurnya jauh lebih ringkas.
Dalam contoh ini saya tetap menggunakan Database MyPustaka dengan dua buah tabel masing-masing
TBLPinjam dan TBLBooks. Sedangkan field yang digunakan adalah semua field yang ada dalam tabel
TBLPinjam dan beberapa field yang ada dalam TBLBooks. Adapun langkahnya sebagai berikut :
 Klik database anda di jendela Enterprise Manager, misalnya MyPustaka

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 37

 Klik dua kali View, kemudia klik kanan pada jendela View kemudian pilih New View, segera itu
akan tampil jendela View Kosong.
 Ketikan Script berikut untuk membuat Latihan - 03.
SELECT dbo.TBLPinjam.NoMember, dbo.TBLPinjam.TanggalPinjam, dbo.TBLPinjam.TanggalKembali,
dbo.TBLPinjam.NoBuku, dbo.TBLBooks.JudulBuku
FROM dbo.TBLBooks INNER JOIN dbo.TBLPinjam ON dbo.TBLBooks.BookNo =
dbo.TBLPinjam.NoBuku

 Setelah script tersebut diketik akan terlihat seperti gambar berikut ini

 Klik tombol Run untuk menjalankan View dan lihat hasilnya seperti apa.

Menampilkan Data dengan View

View yang telah dibuat datanya bisa ditampilkan sama seperti anda menampilkan data-data dalam tabel.
Hanya tentu saja dengan View data yang ditampilkan adalah data yang telah diseleksi. Untuk
menampilkannya adalah sebagai berikut :
 Pastikan anda masih dalam lingkungan Enterprise Manager dengan database yang sedang anda
tangani.
 Klik kanan tepat di atas View anda, misalnya Latihan-02.
 Klik Open View kemudian pilih Return all Rows, hasilnya akan tampak seperti gambar berikut :

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 38

Menghapus View

View yang telah dibuat bisa dihapus apabila sudah tidak dibutuhkan, caranya adalah sebagai berikut :
 Pastikan anda masih dalam lingkungan Database dan View anda.
 Klik kanan di atas View yang akan dihapus.
 Klik delete, setelah itu akan muncul dialog seperti gambar berikut.

 Klik tombol Drop All untuk menghapus View anda.

LATIHAN

1. Buatlah View dari tabel BARANG dan tabel PENJUALAN, dimana field pada tabel BARANG ditampilkan
semuanya kecuali field Kd_Brg dan pada tabel PENJUALAN semua fieldnya ditampilkan semuanya.

2. Tampilkan sebuah field yang berisi informasi Total Penjualan dari tabel BARANG dan tabel PENJUALAN
yang sudah di Join yang berisi total dari field Harga dai tabel BARANG dan field Jml_Jual dari tabel
PENJUALAN.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 39

BAB VIII
STORED PROCEDURE

Procedure adalah suatu program yang dapat dipanggil/dieksekusi oleh program lain atau dieksekusi oleh
SQL – Prompt. Macam-macam procedure yang paling sering digunakan antara lain :
 Store Procedure yang berawalan SP dan Extended Stored Procedure (XP)
 Program yang dikompilasi sebagai file EXE atau DLL (Dynamic Link Library)

8.1 MEMBUAT DAN MENJALANKAN PROCEDURE

Perintah untuk membuat suatu procedure adalah Create Procedure atau boleh juga disingkat dengan
Create Proc yang diikuti nama procedurenya. Bentuk penulisan dari membuat procedure sebagai berikut :

CREATE PROCEDURE <NAMA PROCEDURE> AS <DEKLARASI VARIABEL>

Pada contoh berikut in terdapat suatu procedure dengan nama LIHAT_BRG yang bertujuan untuk
menampilkan data dari tabel barang, yaitu :

CREATE PROC LIHAT_BRG AS SELECT * FROM BARANG

8.1.1 MENJALANKAN PROCEDURE

Suatu procedure yang telah dibuat dengan benar dapat dijalankan dari SQL_Prompt dengan diawali
perintah Execute, Exec yang diikuti oleh nama procedurenya atau langsung dituliskan nama
procedure yang telah dibuat. Bentu penulisan dari perintah menjalankan procedre sebagai berikut :

EXECUTE LIHAT_BRG atau EXEC LIHAT_BRG atau LIHAT_BRG

8.1.2 MENGUBAH PROCEDURE

Suatu procedure yang telah dibuat dapat diubah/dikoreksi sesuai dengan kebutuhan yaitu dengan
perintah ALTER PROCEDURE yang diikuti oleh nama procedure. Bentuk penulisan dari perintah
mengubah procedure sebagai berikut :

ALTER PROCEDURE <NAMA PROCEDURE> AS <DEKLARASI VARIABEL>

Perhatikan contoh berikut :

ALTER PROCEDURE LIHAT_BRG AS SELECT NAMA, HARGA FROM BARANG WHERE KODE
LIKE ‘EL%’

8.1.3 MENGHAPUS PROCEDURE

Suatu procedure yang telah dibuat dapat dihapus dengan perintah DROP PROCEDURE yang diikuti
oleh nama procedurenya. Bentuk penulisan dari perintah menghapus procedure sebagai berikut :

DROP PROCEDURE <NAMA PROCEDURE>

Perhatikan contoh berikut ini, yaitu cara menghapus procedure LIHAT_BRG, yaitu :
DROP PROC LIHAT_BRG

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 40

8.2 NILAI DAN PARAMETER

Suatu variable yang ditulis dalam suatu procedure selalu diawali dengan @ dan diikuti oleh nama
variabelnya. Sedang untuk memberikan suatu nilai ke dalam variable digunaan perintah SET atau SELECT.

Pada contoh berikut ini akan diberikan nilai 2500 ke dalam variable Harga, dengan bentuk penulisan
sebagai berikut :

SET @HARGA = 2500 atau SELECT @HARGA = 2500

Pemberian nilai juga dapat dilakukan dalam satu baris perintah SELECT yang diambil dari field-field suatu
tabeL, seperti berikut ini :

CREATE PROCEDURE DATA_BRG


@KODE CHAR(5),
@NAMA VARCHAR(30),
@HARGA INT,
@JUMLAH INT
SELECT @NAMA=NAMA, @HARGA=HARGA, @JUMLAH=JUMLAH FROM BARANG WHERE
KODE=@KODE

8.3 PARAMETER

Suatu procedure dapat memiliki parameter berupa variable yang diambil oleh program yang memanggilnya.
Jumlah parameter yang mampu ditampung oleh sebuah procedure mencapai 124 parameter. Penulisan
parameter dapat dilakukan setelah nama procedure boleh dilingkupi dengan “()”.
Berikut ini contoh dari suatu procedure untuk menampilkan data barang untuk field Nama, Harga dan
jumlah yang kode barangnya ‘EL123’

CREATE PROC TAMPIL_BRG


@KODE CHAR(5)
AS
SELECT NAMA, HARGA, JUMLAH FROM BARANG WHERE KODE=@KODE

Sedang untuk menjalankan procedure seperti pada contoh sebelumnya yaitu untuk barang dengan kode
‘EL123’, sebagai berikut :

EXECUTE T AMPIL_BRG ‘EL123’

8.4 NILAI DEFAULT

Bila saat dijalankan procedure tidak diberikan parameter, maka nilai tersebut menjadi kosong (Null). Untuk
menghindari nilai kosong tersebut, maka pemberian nilai pada parameter dapat menggunakan nilai default
Berikut adalah contoh dari pemberian nilai default ‘EL123’ untuk kode barang jika kode barang tersebut
dikosongan, yaitu :

CREATE PROC TAMPIL_BRG


@KODE CHAR(5) =’EL123’
AS
SELECT NAMA, HARGA, JUMLAH FROM BARANG WHERE KODE=@KODE
RETURN

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 41

8.5 PARAMETER OUTPUT

Nilai suatu parameter dapat diproses pada program procedure dan untuk kemudian parameter tersebut
dapat diubah serta diberikan nilainya pada program yang memanggilnya. Pemberian parameter semacam ini
disebut dengan parameter output, dimana penulisan variabelnya harus diikuti dengan kata Output setelah
penulisan datanya.

Berikut ini contoh pemakaian parameter output pada procedure LIHAT_BRG untuk kode barang ‘EL123’,
sebagai berikut :

CREATE PROCEDURE LIHAT_BRG


@KODE CHAR(5),
@NAMA VARCHAR(30) OUTPUT,
@HARGA INT OUTPUT,
@JUMLAH INT OUTPUT
AS
SELECT @NAMA=NAMA, @HARGA=HARGA, @JUMLAH=JUMLAH FROM BARANG WHERE
KODE=@KODE
RETURN

Sedang untuk menjalankan procedure yang mempunyai parameter output, variable pada program yang
memanggil harus dideklarasikan terlebih dahulu dan pada saat eksekusi harus diikuti oleh kata output seperti
contoh berikut :

DECLARE @NM VARCHAR(30), @HRG INT, @JML INT


EXECUTE LIHAT_BRG ‘EL123’, @NM OUTPUT, @HRG OUTPUT, @JML OUTPUT

PRINT ‘Nama Barang : ‘ + @NM


PRINT ‘Harga Satuan : Rp ‘ + str(@HRG)
PRINT ‘Jumlah Barang : ‘ + str(@JML,4)
PRINT ‘Total Harga: Rp ‘ + str(@HRG*@JML)

LATIHAN

1. Buatlah sebuah procedure yang menampilkan data barang meliputi Kode, Nama, Harga, Jml_Jual dan
Total untuk tanggal penjualan ’17 Maret 2006’. Rumus total adalah harga dikalikan jumlah barang terjual
dan nama stored procedure adalah Lat_Proc

2. buatlah sebuah procedure untuk menampilkan data barang meliputi Nama, Harga, Jumlah, Discount dan
Total untuk barang yang kodenya sesuai dengan inputan. Besar Discount adalah Harga dikalikan Jumlah
barang yang terjual dikalikan besar Discount yang diinputkan dan nama stored procedure adalah
Lat2_Proc.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 42

BAB IX
TRANSACT SQL

Transact SQL merupakan sarana utama dalam penggunaan SQL Server karena semua aplikasi melakukan
komunikasi dengan SQL Server melalui media Transact SQL. Melalui Transact SQL user dapat melakukan
perintah query, input, modifikasi data dan akan direspon oelh SQL Server sesuai dengan hasil yang diinginkan.
Perlu diketahui bahwa SQL adalah bahasa Non Procedural, artinya alur program tidak seperti bahasa
pemrograman biasa, melainkan melalui “Request” dan “Response”.
Transact SQL mengembangkan kemampuan SQL sehingga Transact SQL dapat melengkapi SQL
dengan instruksi logic (Procedural Logic) yaitu program aplikasi. Hasil proses SQL Server (Resultset) dapat
diproses lebih lanjut dengan menggunakan logic pemrograman procedural seperti Fungsi, Prosedur, Loop,
Case, IF Then Else dan lainnya.

9.1 KERANGKA DASAR TRANSACT SQL

Pembuatan Transact SQL harus dimulai dengan deklarasi variabel dan disusul dengan blok diagram.
Variabel-variabel yang digunakan harus dideklarasikan terlebih dahulu dimana nama variabelnya selalu dimulai
dengan karakter @. Variabel dapat diberikan nilai melalui perintah Select.

DECLARE
@KODE CHAR(5),
@NAMA VARCHAR(30),
@HARGA INT

SELECT @KODE = ‘EL123’


SELECT @NAMA = ‘TELEVISI’
SELECT @HARGA = 2300000

Perintah Select juga dapat digunakan untuk mengoperasikan Aritmatika atau lainnya, seperti berikut ini :

SELECT @TOTAL = (@HARGA * @JUMLAH) - @DISCOUNT

9.2 MENJALANKAN TRANSACT SQL

Dalam mengembangkan program Transact SQL perlu pemahaman dari dasar – dasar materi pendukung
program itu sendiri antara lain :

9.2.1 Deklarasi Variabel

Pemakaian variabel pada Transact SQL mempunyai beberapa tipe yang dapat dideklarasikan dan
merupakan bagian dari SQL Server yaitu Char, Varchar, Datetime, Int, Money dan sebagainya.
Berikut ini contoh deklarasi variabel untuk berbagai macam data, yaitu :

DECLARE
@KODE CHAR(5),
@NAMA VARCHAR(30),
@TGL_JUAL DATETIME,
@HARGA INT

SELECT @KODE = 'EL123'

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 43

SELECT @NAMA = 'TELEVISI'


SELECT @TGL_JUAL = GETDATE()
SELECT @HARGA = 2300000

PRINT 'LAPORAN PENJUALAN'


PRINT '----------------------------------'
PRINT @KODE
PRINT @NAMA
PRINT @TGL_JUAL
PRINT @HARGA
PRINT '----------------------------------'

Jika program Transact SQL dijalankan, hasil yang didapatkan adalah seperti berikut ini :

LAPORAN PENJUALAN
----------------------------------
EL123
TELEVISI
Jan 25 2007 8:55PM
2300000
----------------------------------

9.2.2 Variabel Global

Variabel global adalah variabel yang disiapkan oleh SQL Server untuk memberikan informasi kepada
Client. Sifat daripada Variabel Global adalah Read-Only. Nama dari variabel global selalu diawali
dengan tanda @ @

Berikut adalah daftar Variabel Global dan keterangan dari identitas dan pemakaiannya.

Nama Variabel Keterangan


Bernilai bulat yang menyatakan nomor error. Jika variabel tersebut tidak
@@ERROR sama dengan NOL maka sistem memberikan indikasi bahwa terjadi error
dan identitas error dinyatakan dalam angka
@@CURSOR_ROWS Memberikan nilai balik dari cursor yang terakhir kali diproses
@@FETCH_STATUS Memberikan nilai balik dari hasil fetch pada kursor. Nilai NOL adalah benar
Memberikan nilai otomatis setiap kali proses Insert dilakukan. Nilai ini
@@IDENTITY
adalah identitas dari record yang diproses
@NESTLEVEL Merupakan nesting level dari stored procedures atau triggers
Memberikan nilai balik berupa jumlah baris (rows) yang terpengaruh oleh
@@ROWCOUNT instruksi terakhir. Setelah instruksi IF atau While maka @@rowcount
dihapus menjadi NOL
@@SPID Server Process ID

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 44

9.2.3 Kondisi IF

IF digunakan untuk mengendalikan alur program berdasarkan kondisi. Bentuk penulisan dari IF
seperti berikut ini.
 Jika instruksi yang dihasilkan hanya satu, bentuknya :

IF KONDISI
INSTRUKSI

 Jika instruksi yang dihasilkan lebih dari satu, bentuknya :

IF KONDISI
INSTRUKSI_1
ELSE
INSTRUKSI_2

 Jika dalam satu kondisi terdapat baris instruksi yang lebih dari satu, bentuknya :

IF KONDISI
BEGIN
INSTRUKSI_1
INSTRUKSI_2
.....
.....
END

Berikut ini contoh dari pemakaian IF..ELSE untuk mencetak jenis kelamin pegawai, yaitu :

DECLARE
@SEX CHAR(1)
SET @SEX =’L’

IF @SEX = ‘L’
PRINT ‘JENIS KELAMINNYA LAKI-LAKI’
ELSE
PRINT ‘JENIS KELAMINNYA PEREMPUAN’
RETURN

Berikut ini contoh dari pemakaian IF..ELSE yang bertingkat untuk mencetak jenis barang dari inputan
suatu kode. Jenis barang diambil dua digit dari kode barang, yaitu :

DECLARE
@KD CHAR(2)
SET @KD = ‘MK123’
IF LEFT(@KD,2)=’EL’
PRINT ‘Jenis Barang Elektronika’
ELSE
IF LEFT(@KD,2)=’MK’
PRINT ‘Jenis Barang Makanan’

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 45

ELSE
IF LEFT(@KD,2)=’PK’
PRINT ‘Jenis Barang Pakaian’
ELSE
PRINT ‘Jenis Barang Tidak Terdaftar’
RETURN

Sedang pada contoh berikut ini adalah pemakaian IF...ELSE pada program Transact SQL untuk
menghitung besar Discoutn 10% dari suatu barang dengan Kode Barang ‘EL123’ jika Total Harganya
lebih besar sama dengan 2 Juta, yaitu :

DECLARE
@HARGA INT,
@JUMLAH INT,
@TOTAL INT,
@DISC INT

SELECT @HARGA = HARGA, @JUMLAH = JUMLAH FROM BARANG WHERE KODE=’EL123’


SET @TOTAL = @HARGA * @JUMLAH
IF @TOTAL >= 2000000
SET @DISC= (@TOTAL * 10) / 100
ELSE
SET @DISC = 0
PRINT ‘Total Harga : Rp ‘ + STR(@TOTAL)
PRINT ‘Discount 10% : Rp ‘ + STR(@DISC)

9.2.4 Fungsi Case

Case digunakan untuk menyederhanakan IF yang bertingkat dengan tujuan agar program dapat
dimengerti atau dibaca dengan lebih mudah. Bentuk penulisan dari Case dibanding IF bertingkat
seperti berikut :

IF KONDISI_1
ELSE IF KONDISI_2
ELSE IF KONDISI_3
ELSE IF KONDISI_4

Diganti menjadi

CASE
WHEN KONDISI_1 THEN
WHEN KONDISI_2 THEN
WHEN KONDISI_3 THEN
ELSE KONDISI_4
END

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 46

Ada dua bentuk penempatan variabel yang akan diproses pada Case yaitu :

 Ditempatkan setelah Case (@Nilai) dan pembandingnya (0,1,2,3,4) ditempatkan setelah When,
seperti terlihat pada contoh berikut ini :

DECLARE
@NILAI INT,
@ABJAD CHAR(2)
SET @NILAI =2
SET @ABJAD =
CASE @NILAI
WHEN 0 THEN ‘E’
WHEN 1 THEN ‘D’
WHEN 2 THEN ‘C’
WHEN 3 THEN ‘B’
WHEN 4 THEN ‘A’
ELSE ‘-‘
END

 Ditempatkan SETELAH When (@Nilai=0, @Nilai=1,...) bersama-sama dengan pembandingnya,


seperti terlihat pada contoh berikut ini.

DECLARE
@NILAI INT,
@ABJAD CHAR(2)
SET @NILAI =3
SET @ABJAD =
CASE
WHEN @NILAI=0 THEN ‘E’
WHEN @NILAI=1 THEN ‘D’
WHEN @NILAI=2 THEN ‘C’
WHEN @NILAI=3 THEN ‘B’
WHEN @NILAI=4 THEN ‘A’
ELSE ‘-‘
END

PRINT ‘NILAI AKHIR : ‘ + STR(@NILAI,1)


PRINT ‘NILAI ABJAD : ‘ + @ABJAD
RETURN

Dari kedua bentuk tersebut dapat disimpulkan bahwa jika nilai yang dibandingkan mempunyai
batasan/range (misalnya 1 sampai 3), gunakan bentuk kedua karena lebih fleksibel. Perhatikan contoh
pemakaian Case untuk penilaian yang mempunyai range.

DECLARE
@NILAI INT,
@KET VARCHAR(20)
SET @NILAI = 7
SET @KET =
CASE
WHEN @NILAI = 0 THEN ‘Jelek Sekali’

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 47

WHEN @NILAI <= 3 THEN ‘Jelek’


WHEN @NILAI <= 6 THEN ‘Sedang’
WHEN @NILAI <= 8 THEN ‘Baik’
WHEN @NILAI <= 10 THEN ‘Baik Sekali’
ELSE ‘-‘
END
PRINT ‘Score : ’ + str(@Nilai, 1)
PRINT ‘Predikat : ‘ + @KET
RETURN

9.2.5 Fungsi While

While digunakan untuk mengeksekusi satu blok program secara berulang-ulang sampai kondisi pada
While menjadi False. Bentuk penulisan While sebagai berikut :

WHILE KONDISI
BEGIN
.....
.....
END
Berikut ini contoh dari pemakaian looping while untuk memilih bilangan Genap dan Ganjil, yaitu:

DECLARE
@BIL INT
SELECT @BIL = 1
WHILE @BIL <= 5
BEGIN
IF @BIL % 2 = 0
PRINT STR(@BIL,2) + ‘ -> GENAP ‘
ELSE
PRINT STR(@BIL,2) + ‘ -> GANJIL‘
SET @BIL=@BIL+1
END
RETURN

9.2.6 Continue dan Break

Perintah Continue bertujuan untuk melanjutkan alur program pada pemeriksaan kondisi While.
Sedang Break bertujuan untuk menghentikan alur program dan keluar dari kondisi While. Bentuk
penulisan dari perointah Continue seperti berikut ini.

WHILE KONDISI_1
BEGIN
.....
.....
IF KONDISI_2
CONTINUE
END

Sedang bentuk penulisan dari perintah Break seperti berikut ini.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 48

WHILE KONDISI_1
BEGIN
.....
.....
IF KONDISI_2
BREAK
END
RETURN

Berikut ini contoh dari pemakaian looping while dengan perintah Continue, yaitu :

DECLARE
@BIL INT

SELECT @BIL = 1

WHILE @BIL <= 5


BEGIN
SET @BIL=@BIL + 1
IF @BIL >= 4
BEGIN
PRINT @BIL
CONTINUE
END
END
RETURN

Berikut ini contoh dari pemakaian looping while dengan perintah break, yaitu :

DECLARE
@BIL INT

SELECT @BIL = 1
WHILE @BIL <= 5
BEGIN
PRINT @BIL
SET @BIL = @BIL + 1
IF @BIL >= 4
BREAK
END
RETURN

LATIHAN :

1. mencetak data yang diinputan langsung dari program yang meliputi Nama Barang, Harga, Jumlah, Disc,
dan Total dari data-data yang diisi setelah deklarasi variabel. Data –data tersebut meliputi ‘Roti Bakar’,
2500 dan 2. ketentuan untuk Discount adalah jika harga dikalikan dengan jumlah lebih besar dari 5000
maka discountnya 10% sedang bila tidak 0%. Sedang Total diperoleh dari Harga dikalikan Jumlah dan
dikurangi Discount.

Robbi Rahim, S.Kom


Diktat Mata Kuliah SQL SERVER Hal : 49

DECLARE
@Nama Varchar(20),
@Harga Int,
@Jumlah Int,
@Disc Int,
@Total Int

SELECT @Nama = ‘Roti Bakar’


Set @Harga = 2500
Set @Jumlah =2
If (@Harga * @Jumlah) > 5000
Set @Disc = @Harga * @Jumlah * .1
Else
Set @Disc = 0

Set @Total = (@Harga * @Jumlah) - @Disc

Print ‘Nama Barang Harga Jumlah Discount Total’


Print ‘===========================================================’
Print @Nama + Str(@Harga) + Str(@Jumlah) + Str(@Disc,12) + Str(@Total,11)

Robbi Rahim, S.Kom

You might also like