Anda di halaman 1dari 127

Materi Praktikum - SQL Server 2000

1
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 1
NORMALISASI DATA

Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk Normal adalah
suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi
tersebut pada level-level normalisasi. Suatu relasi dikatakan dalam bentuk normal tertentu jika
memenuhi kondisi-kondisi tertentu.

1.1. Bentuk Normalisasi


Bentuk bentuk Normalisi yang ada dalam mendesain basis data adalah sebagai
berikut :

1). Bentuk normal pertama (1NF)


2). Benatuk normal kedua (2NF)
3). Bentuk normal ketiga (3NF)
4). Bentuk normal Boyce-Codd (BCNF)
5). Bentuk normal keempat (4 NF)
6). Bentuk normal kelima (5NF)

Bentuk normal pertama (1NF) s/d normal ketiga (3NF), merupakan bentuk normal yang
umum dipakai. Artinya adalah pada kebanyakan relasi, bila ketiga bentuk normal tersebut
telah dipenuhi, maka persoalan anomali tidak akan muncul lagi didalam kita melakukan
perancangan database.

1.1.1. Bentuk Normal Pertama (1 NF)


Bentuk normal pertama dikenakan pada tabel yang belum ternormalisasi (masih
memiliki atribut yang berulang). Berikut ini adalah contoh data data yang belum
ternormalisasi.

NIP Nama Jabatan Keahlian Lama (tahun)


107 Revan Analis Senior Access 6
Oracle 1
109 Daffa Analis Yunior Access 2
Clipper 2
112 Woko Pogrammer Access 1
Clipper 1
Visual Basic 1
Tabel 1.1. Relasi Pegawai
Keahlian menyatakan atribut yang berulang (misal, fika punya tiga keahlian, dan
Rian punya 2 keahlian).

a. Definisi Bentuk Normal Pertama (1NF)


Suatu relasi dikatakan bentuk normal pertama, jika dan hanya jika setiap atribut
bernilai tunggal untuk setiap baris. Tiap field hanya satu pengertian, bukan merupakan
kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah
pecahan kata kata sehingga artinya lain. Tidak ada set atribut yang berulang-ulang atau
atribut bernilai ganda.
Pada data tabel 1.1. sebelumnya, contoh data belum ternormalisasi sehingga
2
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

dapat diubah ke dalam bentuk normal pertama dengan cara membuat setiap baris
berisi kolom dengan jumlah yang sama dan setiap kolom hanya mengandung satu
nilai.
b. Contoh Normal Pertama (1NF)
Berikut ini adalah contoh data pada tabel pegawai yang telah memenuhi bentuk
normal pertama
NIP Nama Jabatan Keahlian Lama
107 Revan Analis Senior Access 6
107 Revan Analis Senior Oracle 1
109 Daffa Analis Yunior Access 2
109 Daffa Analis Yunior Clipper 2
112 Woko Pogrammer Access 1
112 Woko Pogrammer Clipper 1
112 Woko Pogrammer Visual Basic 1
Tabel 1.2. Relasi pegawai memenuhi 1NF
Berikut ini adalah contoh data pada tabel mahasiswa yang belum memenuhi
bentuk normal pertama.
Nim Nama Dosen Wali Kode_mk1 Kode_mk2 Kode_mk3
9820001 Nia Dela Didik 1234 1435
9810004 Andik P Primadina 1234 1435 1245
9810006 Rini Tukino 1324 1545 1245
9820008 Basuki Djuwadi 1324 1545
Tabel 1.3. Relasi Mahasiswa belum memenuhi 1NF

Tabel mahasiswa yang mempunyai NIM, nama dan Dosen Wali mengikuti 3
mata kuliah, tabel tersebut belum memenuhi normal pertama karena ada perulangan
Kode_mk 3 kali padahal hal tersebut bisa dijadikan 1 atribut saja. Jadi bentuk normal
pertama dari data di atas adalah :

Nim Nama Dosen Wali Kode_mk


9820001 Nia Dela Didik 1234
9820001 Nia Dela Didik 1435
9810004 Andik P Primadina 1234
9810004 Andik P Primadina 1435
9810004 Andik P Primadina 1245
9810006 Rini Tukino 1324
9810006 Rini Tukino 1545
9810006 Rini Tukino 1245
9810006 Rini Tukino 1324
9820008 Basuki Djuwadi 1324
9820008 Basuki Djuwadi 1545
Tabel 1.4. Relasi Mahasiswa memenuhi 1NF

Berikut ini adalah contoh data pada tabel matakuliah yang telah memenuhi bentuk
normal pertama.
Kode_mk Matakuliah Sks Pengasuh
1234 Sistem Basis Data 2 Didik Setiyadi,M.Kom
1435 Alghoritma 4 Tukino,S,Kom,MMSi
1545 Jaringan Komputer 2 Ir. Nafril Natsir
1245 Bahasa Inggris I 2 Dra. Siti Azizah
3
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Tabel 1.5. Relasi matakuliah memenuhi 1 NF

Tabel matakuliah tersebut merupakan bentuk 1 NF, karena tidak ada atribut
yang bernilai ganda, dan tiap atribut satu pengertian yang bernilai tunggal.

1.1.2. Bentuk Normal Kedua (2 NF)


Definisi Bentuk Normal Kedua (2 NF) adalah :
1). Memenuhi bentuk 1 NF (normal pertama).
2). Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama /
primery key.
Sehingga untuk membentuk normal kedua tiap tabel / file haruslah
ditentukan kunci-kunci atributnya. Kunci atribut haruslah unik dan dapat mewakili
atribut lain yang menjadi anggotanya. Pada contoh tabel Mahasiswa yang memenuhi
normal pertama (1 NF), terlihat bahwa NIM merupakan Primery Key (PK).
NIM  Nama, Dosen Wali. Artinya adalah bahwa atribut Nama dan Dosen Wali
bergantung pada NIM.
Tetapi NIM  Kode_mk. Artinya adalah bahqa atribut Kode_mk tidak tergantung
pada NIM.
Untuk memenuhi normal kedua, maka pada tabel mahasiswa tersebut dipecah
menjadi 2 tabel sebagai berikut :
Nim Nama Dosen Wali
9820001 Nia Dela Didik
9810004 Andik P Primadina
9810006 Rini Tukino
9820008 Basuki Djwadi
Tabel 1.6. Relasi Mahasiswa memenuhi 2NF

NIM Kode_mk
9820001 1234
9820001 1435
9810004 1234
9810004 1435
9810004 1245
9810006 1324
9810006 1545
9810006 1245
9810006 1324
9820008 1324
9820008 1545
Tabel 1.7. Relasi Ambil Kuliah memenuhi 2 NF

1.1.3. Bentuk Normal Ketiga (3 NF)


Definisi Bentuk Normal Ketiga (3 NF) adalah :
1). Memenuhi bentuk 2 NF (normal kedua).
2). Atribut bukan kunci tidak memiliki dependensi transitif terhadap kunci
utama / primery key.
Berikut Contoh relasi yang memenuhi bentuk 2 NF, tetapi tidak memenuhi bentuk 3
NF.

No Pesanan No Urut Kode Item Nama Item


4
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

50001 0001 P1 Pensil


50001 0002 P2 Buku Tulis
50001 0003 P3 Penggaris
50001 0004 P4 Penghapus
50002 0001 P3 Penggaris
50002 0002 P5 Bulpen
50002 0003 P6 Spidol
50003 0001 P1 Pensil
50003 0002 P2 Buku Tulis
Tabel 1.8. Relasi pesanan barang memenuhi 2 NF

Atribut No Pesanan dan No Urut merupakan kunci primer, baik kode item dan nama
item mempunyai dependensi fungsional terhadap kunci primer tersebut.
Pada tabel di atas, setiap kode item sama, maka nilai nama item juga sama,
sehingga menunjukkan adanya dependensi dua atribut tersebut, tapi manakah yang
menentukan, apakah kode item bergantung pada nama item, atau sebaliknya? Jadi
nama item memiliki dependensi fungsional terhadap Kode item.
Pada relasi ini menunjukkan bahwa nama item tidak memiliki dependensi secara
langsung terhadap kunci primer (No pesanan dan No Urut). Dengan kata lain Nama
Item memiliki dependensi transitif terhadap kunci primer.
Sehingga untuk memenuhi bentuk 3 NF, maka relasi di atas didekomposisi menjadi
dua buah relasi sebagai berikut :

No Pesanan No Urut Kode Item


50001 0001 P1
50001 0002 P2
50001 0003 P3
50001 0004 P4
50002 0001 P3
50002 0002 P5
50002 0003 P6
50003 0001 P1
50003 0002 P2
Tabel 1.9. Relasi pesanan barang memenuhi 3 NF

Kode Item Nama Item


P1 Pensil
P2 Buku Tulis
P3 Penggaris
P4 Penghapus
P5 Bulpen
P6 Spidol
Tabel 1.10. Relasi barang memenuhi 3 NF

1.1.4. Bentuk Normal Boyce-Codd (BCNF)


Definisi Bentuk BCNF adalah :
1). Memenuhi bentuk 3 NF (normal ketiga).
2). Semua penentu (determinan) adalah kunci kandidat (atribut yang bersifat unik).
Setiap atribut harus bergantung fungsi pada atribut superkey.

5
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BCNF merupakan bentuk normal sebagai perbaikan terhadap 3 NF. Suatu relasi
yang memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu
relasi yang memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3 NF
masih memungkinkan terjadi anomali.
Pada contoh berikut ini terdapat tabel SEMINAR, kunci primer adalah no_siswa +
seminar, dengan pengertian bahwa :
 Siswa dapat mengambil satu atau dua seminar.
 Setiap seminar membutuhkan 2 instruktur.
 Setiap siswa dibimbing oleh salah satu dari 2 instruktur seminar.
 Setiap instruktur boleh hanya mengambil satu seminar saja.

Pada contoh ini, no_siswa dan seminar menunjukkan seorang instruktur.

No_siswa Seminar Instruktur


2201001 2281 Budi
2201002 2281 Kardi
2201003 2291 Joni
2201002 2291 Rahmad
2201004 2291 Rahmad
Tabel 1.11. Relasi seminar
Bentuk tabel SEMINAR adalah memenuhi bentuk normal ketiga (3 NF), tetapi tidak
BCNF karena nomor seminar masih bergantung fungsi pada instruktur, jika setiap
instruktur dapat mengajar hanya pada satu seminar. Seminar bergantung fungsi
pada satu atribute bukan superkey seperti yang disyaratkan oleh BCNF.
Maka tabel SEMINAR harus didekomposisi menjadi dua tabel, yaitu tabel pengajar
dan seminar_instruktur, seperti berikut ini :
Instruktur Seminar
Budi 2281
Kardi 2281
Joni 2291
Rahmad 2291
Tabel 1.12. Relasi pengajar
No_siswa Instruktur
2201001 Budi
2201002 Kardi
2201003 Joni
2201002 Rahmad
2201004 Rahmad
Tabel 1.13. Relasi seminar_instruktur
1.2. Dependensi Transitif
Definisi bentuk dependensi transitif adalah sebagai berikut :
Atribut Z mempunyai dependensi transitif terhadap X, bila :
1). Y memiliki Dependensi fungsional terhadap X.
2). Z memiliki dependensi fungsional terhadap Y.
Sehingga : X  Y  Z

Berikut ini adalah contoh tabel relasi yang menunjukkan terjjadinya dependensi
transitif pada tabel relasi kuliah berikut ini :

6
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Kuliah Ruang Tempat Waktu


Jaringan Komputer Merapi Gedung Utara Senin, 08.00 09.50
Basis Data Rama Gedung Selatan Selasa, 07.00 08.45
Sistem Pakar Sinta Gedung Selatan Rabu, 10.00 11.45
Sistem Operasi Merapi Gedung Utara Selasa, 08.00 08.50
Tabel 1.14. Relasi kuliah
Pada tabel tersebut diatas menunjukkan bahwa :
Kuliah  { Ruang, Waktu }
Ruang  Tempat
Terlihat bahwa Kuliah  Ruang  Tempat
Dengan demikian Tempat mempunyai dependensi transitif terhadap Kuliah.

1.3. Penerapan Bentuk Normalisasi


Pada proses perancangan database dapat dimulai dari dokumen dasar yang dipakai dalam sistem
sesuai dengan lingkup sistem yang akan dibuat rancangan databasenya. Berikut ini adalah contoh
dokumen mengenai faktur pembelian barang pada PT. Revanda Jaya..

FAKTUR PEMBELIAN BARANG

PT REVANDA JAYA
Jl. Bekasi Timur No. 2
Bekasi Timur

Kode Supplier : G01 Tanggal : 07/02/2001


Nama Supplier : Gobel Nustra Nomor : 998

Kode Nama Barang Qty Harga Jumlah


A01 AC Split PK 10 1.350.000 13.500.000
A02 AC Split 1 PK 10 2.000.000 20.000.000
Total Faktur 33.500.000
Jatuh Tempo Faktur : 09/03/2001

FAKTUR PEMBELIAN BARANG

PT REVANDA JAYA
Jl. Bekasi Timur No. 2
Bekasi Timur

Kode Supplier : S02 Tanggal : 02/02/2001


Nama Supplier : Hitachi Nomor : 779

Kode Nama Barang Qty Harga Jumlah


R01 Rice Chocker C3 10 150.000 1.500.000
Total Faktur 1.500.000
Jatuh Tempo Faktur : 09/03/2001

Gambar 1.1. Faktur pembelian barang

Sehubungan dengan dokumen dasar tersebut, tahapan yang harus dilakukan untuk melakukan

7
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

normalisasi data adalah sebagai berikut :

1. Bentuk Unnormalisasi
Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data tersebut
didtas dengan membentuk unnormalisasi data, dengan cara mencantumkan semua atribut data yang ada
apa adanya seperti terlihat berikut ini :

No Kode Nama Kode Nama Barang Tanggal Jatuh Qty Harga Jumlah Total
Fac Supp Supp Brg Tempo
779 S02 Hitachi R02 Rice Chocker C3 02/02/01 09/03/01 10 150000 1500000 1500000
998 G01 Gobel A01 AC Split PK 07/02/01 09/03.01 10 135000 13500000 33500000
Nustra A02 AC Split 1 PK 10 2000000 20000000
Tabel 1.15. Relasi faktur unnormalisasi

Pada tabel diatas adalah dengan menuliskan semua data yang ada yang akan direkam,
data yang double tidak perlu ditulis. Terlihat baris / record yang tidak lengkap. Sulit dibayangkan
bagaimana bentuk baris yang harus dibentuk untuk merekam data itu.

2. Bentuk Normal Pertama ( 1 NF )


Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut-atribut
yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk file adalah Flat
File. Dengan normal pertama kita dapat membuat satu relasi yang terdiri dari 11 Atribut yaitu 
(No Faktur, Kode Supplier, Nama Supplier, Kode Barang, Nama Barang, Tanggal, Jatuh Tempo,
Quantitas, Harga, Jumlah, Total ).
Sehingga hasil daripada pembentukan normal pertama (1 NF) adalah sebagai berikut ini :
No Kode Nama Supp Kode Nama Barang Tanggal Jatuh Qty Harga Jumlah Total
Fac Supp Brg Tempo
779 S02 Hitachi R02 Rice Chocker C3 02/02/01 09/03/01 10 150000 1500000 1500000
998 G01 Gobel Nustra A01 AC Split PK 07/02/01 09/03/01 10 135000 13500000 33500000
998 G01 Gobel Nustra A02 AC Split 1 PK 07/02/01 09/03/01 10 2000000 20000000 33500000

Tabel 1.16. Relasi faktur memenuhi 1 NF

Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI
insert, update dan delete berikut ini :

1). Inserting / Penyisipan


Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi
pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian.
2). Deleting / Penghapusan
Bila satu record / baris di atas dihapus, misal nomor faktur 779, maka berakibat pada
penghapusan data supplier S02 (Hitachi) padahal data tersebut masih diperlukan.
3). Updating / Pengubahan
Kode dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah, maka di
setiap baris yang ada harus dirubah, bila tidak menjadi tidak konsisten.
Atribut jumlah (merupakan atribut turunan) seharusnya tidak perlu, karena setiap harga
dikali kuantitas akan menghasilkan jumlah, sehingga hasilnya akan menjadi lebih konsisten.

3. Bentuk Normal Kedua ( 2 NF )


Bentuk normal kedua dengan melakukan dekomposisi tabel diatas menjadi beberapa tabel dan
mencari kunci primer dari tiap-tiap tabel tersebut dan atribut kunci haruslah unik.
Melihat permasalahan faktur di atas, maka dapat diambil beberapa kunci kandidat : ( No Faktur, Kode
Supplier, dan Kode Barang ). Kunci kandidat tersebut nantinya bisa menjadi kunci primer pada tabel hasil

8
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

dekomposisi.
Dengan melihat normal pertama, kita dapat mendekomposisi menjadi tiga tabel berserta
kunci primer yang ada yaitu : Relasi Supplier (Kode Supplier) , Barang (Kode Barang), dan
Faktur (No Faktur + Kode_Barang). Dengan melihat ketergantungan fungsional atribut-atribut lain
terhadap atribut kunci, maka didapatkan 3 (tiga) relasi sebagai berikut:

Relasi Supplier Relasi Barang


Kode_supplier Nama_supplier Kode_barang Nama_barang Harga
G01 Gobel Nustra R01 Rice Cooker CC3 150.000
S02 Hitachi A01 AC Split PK 1.350.000
A02 AC Split 1 PK 2.000.000

Relasi Faktur
No_faktur Kode_barang Tanggal Jatuh_tempo Quantitas Kode_supplier
779 R01 02/02/2001 09/03/2001 10 S02
998 A01 07/02/2001 09/03/2001 10 G01
998 A02 07/02/2001 09/03/2001 10 G01

Primary key pada relasi Supplier adalah kode_supplier


Primary key pada relasi Barang adalah kode_barang
Primary key pada relasi Faktur adalah no_faktur + kode_barang, sedangkan foreign key nya adalah kode_barang
dan kode_supplier.

Gambar 1.2. Relasi memenuhi 2 NF

Dengan pemecahan relasi di atas, maka untuk pengujian bentuk normal kesatu (1 NF)
yaitu insert, update, dan delete akan terjawab. Kode dan nama supplier baru dapat masuk
kapanpun tanpa adanya transaksi pada relasi faktur. Demikian pula untuk proses update dan
delete untuk relasi Supplier dan Barang.
Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur,
yaitu:
1). Atribut Quantitas padarelasi Faktur, tidak tergantung pada kunci utama, atribut tersebut
bergantung fungsi pada No_faktur + Kode_barang, hal ini dinamakan ketergatungan
transitif dan haruslah dipilah menjadi dua relasi. Sedangkan tanggal, jatuh_tempo dan
kode_supplier bergantung fungsional pada No_faktur
No_faktur  tanggal,jatuh_tempo,kode_supplier
No_faktur, kode_barang  quantitas
2). Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 5 macam
barang maka 5 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus
dipisahkan bila terjadi penggandaan tulisan berulang-ulang.

4. Bentuk Normal Ketiga ( 3 NF )


Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung
transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF).
Untuk memenuhi bentuk normal ketiga (3 NF), maka pada relasi faktur harus
didekomposisi (dipecah) lagi menjadi dua tabel yaitu relasi faktur dan relasi transaksi_barang,
sehingga hasilnya adalah sebagai berikut ini:

9
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Relasi Supplier Relasi Barang


Kode_supplier Nama_supplier Kode_barang Nama_barang Harga
G01 Gobel Nustra R01 Rice Cooker CC3 150.000
S02 Hitachi A01 AC Split PK 1.350.000
A02 AC Split 1 PK 2.000.000

Relasi Faktur
No_faktur Kode_supplier Tanggal Jatuh _tempo
779 S02 02/02/2001 09/03/2001
998 G01 07/02/2001 09/03/2001

Relasi Transaksi_Barang
No_faktur Kode_barang Quantitas
779 R01 10
998 A01 10
998 A02 10

Kamus Data dari masing masing relasi:


Supllier = { Kode Supplier, Nama_Supplier }
Barang = { Kode Barang, Nama_Barang, Harga }
Faktur = { No Faktur, Tanggal, Jatuh_Tempo, Kode_Supplier }
Transaksi_Barang = { No_Faktur, Kode_Barang, Quantitas }

Gambar 1.3. Relasi memenuhi 3 NF


5. Diagram Dekomposisi
Kita dapat membuat diagram dekomposisi yang akan menjelaskan proses / tahapan uji
normalisasi dari bentuk normal kesatu (1 NF) sampai normal ketiga (3 NF), seperti tampak pada
gambar berikut:

Faktur_Pembelian 1 NF

Faktur 2 NF

Barang Supplier Faktur Transaksi_Barang 3 NF

Gambar 1.4. Diagram dekomposisi Relasi 1 NF sampai 3 NF

10
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

5. ERD (Entity Relationship Diagram)


Gambaran hubungan Relationship antar relasi yang terbentuk, adalah seperti terlihat pada
gambar berikut ini:
Supplier 1 M Faktur
Punya

* Kode_supplier * No_faktur
1
nama_supplier tanggal
jatuh_tempo
** kode_supplier

* Kode_barang Terdiri
Barang nama_barang
harga

1 M
M Transaksi
Gunakan
Barang

* No_faktur **
Keterangan : * (Primary key), ** (foreign key) * Kode_barang **
Quantitas
Gambar 1.5. ERD sistem pembelian barang

Pengertian Hubungan (Relasi) antar relasi pada gambar ERD (entity relationship diagram)
pada gambar di atas adalah sebagai berikut:
1). Supplier ke Faktur relasinya adalah one to many, artinya adalah satu supplier mempunyai
satu atau banyak faktur. Faktur punya relasi terhadap supplier.
2). Faktur ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu faktur
mempunyai satu atau beberapa transaksi barang (satu faktur terdiri dari satu atau lebih
transaksi barang).
3). Barang ke Transaksi_Barang relasinya adalah one to many, artinya adalah satu barang bisa
terjadi satu atau beberapa kali transaksi pembelian barang.

Implementasi ERD (entity relationship diagram) pada contoh diatas, bisa dituangkan kedalam
database MS SQL Server 2000, seperti terlihat pada gambar beikut ini :

Gambar 1.6. ERD (Diagram) sistem pembelian - Sql Server 2000 View Table by Column Names

11
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 1.7. ERD (Diagram) sistem pembelian - Sql Server 2000 View Table by Custom

Latihan 1.1.

Dari Contoh dokumen dasar Bon Pembelian pada Bengkel Motor Honda Jaya Raya
AHASS 06488 Jatimulya Bekasi Timur berikut ini :
Honda Jaya Raya
AHASS 06488 No Faktur : 05103214
Jatimulya - Bekasi Timur Tanggal : 25/10/05 16:00
Telp. 021-82432162

BON PEMBELIAN
No Polisi : B3117LB, Warna : Biru
Merek : Supra X, Tahun : 2005
Mekanik : DDE, Nama ; Djoko Dewanto
Kode Parts Nama Parts Kuantum Harga (*) Discount Jumlah Rp.
20W501000CC Oli Top 1 1000cc 1 27,000 0% 27,000
SERV001 Engine Tune Up 1 25,000 0% 25,000

Total Rp. 52,000

(*) Harga tersebut sudah termasuk PPN


Lembar ke-1 : Pelanggan
Lembar ke-2 : Accounting

Gambar 1.8. Bon pembelian

Saudara diminta untuk:


1. Lakukan normalisasi data dengan menerapkan 1 NF, 2 NF dan 3 NF ?.
2. Bentuklah model ERD (entity relationship diagram) dan berikan
keterangan secukupnya dari kardinalitas relasinya ?.
3. Lakukan uji dengan contoh data dari model ERD yang terbentuk ?.

12
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 2
PENGENALAN SQL SERVER 2000

2.1. Pengenalan SQL Server


Microsoft SQL Server 2000 ialah perangkat lunak Relational Database
Management System (RDBMS) yang handal. Dirancang untuk mendukung proses
transaksi yang besar seperti (inventori, akuntansi atau manufaktur) dengan arsitektur
client/server.
Dalam sistem client/server, ada suatu program yang meminta pelayanan khusus
dan ada juga yang memproses palayanan dari permintaan tersebut. Program yang
meminta pelayanan disebut client, sedangkan yang memberikan pelayanan disebut
server. Microsoft SQL Server 2000 juga ditujukan untuk arsitektur ini. Data disimpan
dan diatur oleh server, sedangkan client berinteraksi dengan user dan mentransmisikan
user ke server. SQL Server 2000 dapat dijalankan pada sistem operasi Windows NT4.0
Server atau Microsoft Windows 2000 Server, dan dapat diinstall juga pada personal
desktop di Windows 2000 profesional, Windows 98 dan Windows Millenium.
SQL Server 2000 terdiri atas tujuh edisi berbeda yang tersedia pada CD yang
berbeda, yaitu Standard Edition, Enterprise Edition, Personal Edition, Developer Edition,
Windows CE edition, Evaluation edition dan Microsoft Desktop Engine (MDE). SQL
Server 2000 mempunyai fasilitas tambahan yang membuat ia memiliki kemampuan
penuh dalam e-Commerce. SQL Server 2000 secara otomatis akan menginstall enam
database utama, yaitu master, model, tempdb, pubs Northwind, dan msdb. Berikut
penjelasan masing-masing database :

1. Master
Master database ialah gabungan dari tabel-tabel sistem yang mencatat instalasi
server secara keseluruhan dan seluruh database yang dibuat secara subsekuen.
Database master sangat kritis pada sistem Anda, jadi pastikan untuk
membackup/mengkopinya. Operasi seperti pembuatan database lainnya, mengubah
konfigurasi dan memodifikasi account login akan mengubah database master, jadi
setelah melakukan aktivitas tersebut, Anda harus membackup database master.

2. Model
Model database ialah template database. Setiap kali Anda membuat database,
SQL server membuat sebuah kopi dari model untuk membentuk basis dari database
baru. Jika Anda menginginkan setiap database baru untuk memulai dengan obyek
tertentu atau ijin, Anda dapat meletakkannya di model, dan seluruh database baru akan
mengikutinya.

3. Tempdb
Tempdb ialah database tempat menampung data sementara untuk wadah kerja
kita. Database ini akan dibuat setiap SQL server di start ulang. Seluruh pengguna/user
mempunyai hak untuk membuat dan menggunakan tabel private dan global sementara
yang disimpan di database tempdb (tabel private dan global mempunyai awalan #
dan ##).

4. Pubs
Database ini ialah database contoh yang sering digunakan untuk panduan
belajar SQL server. Anda boleh menghapusnya jika Anda tidak menginginkannya. Anda
tidak perlu takut untuk membuat perubahan/modifikasi pada database pubs, karena
Anda dapat menginstall ulang database pubs dengan menjalankan scriptnya pada sub-
13
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

direktori install. Pada SQL Query Analyzer, buka file dengan nama Instpubs.sql dan
eksekusi file script tersebut. Pastikan bahwa tidak ada database pubs di server Anda
dengan men-drop database tersebut.

5. Northwind
Database Northwind ialah contoh database yang awalnya dibangun untuk
digunakan di Microsoft Access. Database Northwind dapat dibuat dengan cara yang
sama seperti database pubs, yaitu dengan menginstal instnwnd.sql di
subdirektori\install.

6. Msdb
Database MSDB digunakan oleh SQL Server Agent Service, yang membentuk
aktivitas terjadwal seperti backup dan tugas-tugas replikasi. Seluruh informasi di dalam
msdb dapat diakses dari SQL Server Enterprise Manager. Jadi, Anda biasanya tidak
harus mengakses data secara langsung.

2.2. Fasilitas-Fasilitas Penting SQL Server


SQL Server 2000 lengkap dengan fasilitas-fasilitas yang mempermudah
pengguna menangani database, diantaranya ialah :

1. Web Assistant Wizard


SQL Server menyediakan cara untuk bekerja dengan Internet menggunakan
WEB Assisstant Wizard dan interoperability dengan Microsoft Internet Information
Service (IIS). Meskipun Web Assistant Wizard dan IIS memungkinkan SQL Server data
untuk digunakan dengan web page. Web Assistant Wizard membuat file HTML dari
query SQL Server, sehingga membuat kita mudah untuk mempublikasi data SQL Server
di Internet.

2. SQL Server Profiler


SQL Profiler ialah utility graphis yang mengizinkan administrator database dan
pengembang aplikasi untuk memonitor dan merekam aktivitas database. SQL Server
dapat menampilkan seluruh aktivitas Server secara real time, atau dapat membuat filter
yang terfokus pada aksi dari pengguna tertentu, aplikasi atau tipe-tipe perintah.
SQL Profiler ialah perangkat yang penting untuk menyesuaikan (tuning) dan melacak
kesalahan aplikasi, mengaudit dan memprofil penggunaan SQL Server.

3. SQL Server Service Manager


SQL Server Service manager mengatur seluruh objek dari SQL Server, SQL
Server Agent dan MS DTC. Ia menyediakan cara yang mudah untuk memulai, berhenti
atau mencek keadaan dari layanan yang ada.

Gambar 2.1. Tampilan SQL Service Manager

14
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

4. SQL Query Analyzer


SQL Query Analyzer adalah tool yang paling penting untuk belajar SQL. Fungsi
Query Analyzer ialah memasukkan perintah query untuk melihat data. Tampilan pertama
kali ketika masuk keQuery Analyzer adalah sebagai berikut :

Gambar 2.2. Tampilan Ketika Masuk ke Query Analyzer

Secara default, kita tidak perlu memasukkan password, oleh karena itu cukup
menekan tombol OK dan akan tampil tampilan sebagai berikut :

Gambar 2.3. Tampilan untuk Mengetik Script Query Analyzer

Pada ruang yang tersedia, disitulah Anda mengetik script yang diinginkan.
Sebagai contoh, Anda ingin menampilkan semua data calon mahasiswa pada database
PMB dari tabel CalonMahasiswa, maka script yang Anda tulis dibagian atas seperti
Gambar 2.3. adalah sebagai berikut :
Select *
From CalonMahasiswa

Setelah menulis script tersebut di atas, untuk mengeksekusi perintahnya kita


tekan tombol F5, maka akan tampil data yang Anda inginkan seperti data yang ada di
baris bawah pada Gambar 2.3. Penjelasan lebih lanjut penggunaanQuery Analyzer ini
akan dijelaskan pada bab berikutnya.

2.3. Mengaktifkan SQL Server


Untuk langkah berikut ini adalah bagaimana melakukan aktifasi pada SQL server
2000.

15
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2.3.1. Mengaktifkan SQL Server Service


Untuk memulai atau mengehntikan SQL Server service dengan
menggunakan prosedur sebagai berikut :

Pertama : Klik Start, klik Program, Klik Microsoft SQL Server, lalau klik Service
Manager.
Pada layar komputer anda muncul Kotak Dialog SQl Server
Manager.

Gambar 2.4. Kotak Dialog SQL Service Manager

Kedua : Pada gambar 2.4. terdapat beberapa kotak pilihan dan tombol pilihan.
a. Kotak Server : Untuk memilih nama server yang akan dikontrol.
b. Kotak Service : Untuk memilih spesifikasi service yang diinginkan
(SQL Server, Microsoft Distributed Transaction Coordinatar, atau SQl
Server Agent).
c. Tombol Start : Untuk Memulai SQL Service.
d. Tombol Stop : Untuk Menghentikan SQL Service.

2.3.2. Tugas SQL Server Enterprise Manager


Enterprise manager adalah bagian dari Microsoft Management Console
(MMC). MMC adalah pusat aplikasi yang digunakan untuk semua aspek dari sistem
yang berjalan pada windows 2000 server. Enterprise manager berisi tool untuk
konfigurasi manajemen instalasi SQL Server. Enterprise Manager dapat melakukan
tugas-tugas sebagai berikut :
Register server.
Konfigurassi local dan remote server.
Konfigurasi dan managemen instalasi multiple server.
Set up login sekuritas dan menambah user, sistem administrator dan
operator.
Mendaftarkan password untuk sistem administrator (sa).
Membuat danmenjadwal job.
Membuat alerts dan konfigurasi SQL server untuk komunikasi ke sistem
administrator melalui email.
Set up dan management database, tabel, index, view, stored procedure,
rules, tringger, default, back up service dan error log.
Memanage SQL server service yang lain

2.3.3. Mengaktifkan SQL Server Enterprise Manager


Untuk mengaktifkan Enterprise Manager, lalukan prosedur berikut ini :
Klik Start, klik Programs, Klik Microsoft SQL Server, lalu klik Enterprise Manager.

Sambil anda menentukan pilihan, perhatikan jendela berikut ini.

16
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Setelah selesai mengikuti prosedur dengan benar, maka jendela yang


muncul sebagai berikut :

Folder
Server group
Icon Server
Group

Gambar 2.5. Jendela SQL Server Enterprise Manager

2.4. Membuat Database dan Tabel


Setelah melakukan aktifasi tehadap SQL Server Enterprise Manager seperti yang
terlihat pada gambar 2.5. tersebut diatas, maka langkah berikutnya adalah kita bisa membuat
suatu database.

2.4.1. Database
Database pada Microsoft SQL Server terdiri dari kumpulan tabel-tabel yang
berisi data dan obyek-obyek yang lain, seperti view, indexes, store procedure dan
triggers. SQL Server dapat men-support banyak database dan setiap data dapat
disimpan dalam suatu database yang dapat dihubungkan dengan database lainnya.
Kelebihan yang ada pada SQL Server 2000 di dalam pembuatan database adalah :
 Mempunyai transaction log tersendiri dan mengatur transaksi dalam database
 Data dapat berkisar antara MB sampai 1.048.516TB
 Dapat menambah ukuran data secara manual atau otomatis
 Dapat diset sesuai dengan keinginan (misalnya Anda dapat menetapkan database
Anda hanya dapat dibaca tetapi tidak dapat diedit)
Ada dua cara dalam membuat Database SQL Server 2000, dengan Enterprise Manager
dan dengan Pernyataan pada Query Analyzer.

2.4.2. Tabel
Tabel adalah suatu koleksi data yang serupa, terdiri atas kolom dan baris. Setiap
database dalam SQL Server dapat memuat hingga 2 milyar tabel, dan setiap tabel dapat
dibentuk maksimum 1024 kolom dan 8092 bytes per baris.

17
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2.4.3. Data Type (Tipe Data) dalam SQL


Tipe data didlam SQL Server terdiri dari beberapa macam, penjelasan dari
masing masing tipe data tersebut adalah sebagai berikut.

1. Character
Data karakter terdiri dari kombinasi hurup (a-z), angka (0-9) dan special karakter
(!,,@,#,$,%,^,& dan *)

Ada tiga tipe data karakter, yaitu :


- Char
Data Char digunakan untuk menyimpan data karakter dengan panjang tertentu.
Apabila mendefinisikan suatu kolom sebagai tipe Char, harus ditentukan panjang
kolom tersebut. Sebuah kolom data dengan tipe Char dapat memiliki panjang hingga
8000 karakter.
- Varchar
Data Varchar, seperti halnya data Char, digunakan untuk menyimpan data karakter.
Seperti tipe Char, tipe data Varchar juga memiliki panjang yang bervariasi. Apabila
Anda mendefinisikan tipe data varchar, tetapkan panjang maksimum untuk kolom
tersebut. Perbedaan yang paling besar dari tipe data ini dengan tipe data Char
adalah yang disimpan adalah panjang dari data, bukan panjang dari kolom.
- Text
Data text digunakan untuk menyimpan data jenis text dengan jumlah yang sangat
panjang. Tipe data ini dapat memuat 231-1 atau 2 milyar karakter.

2. Numeric
Data Numeric terdiri dari angka positif dan negatif, angka decimal dan seluruh
angka.
Ada tiga tipe data Numeric, yaitu :
- Integer Data
Interger terdiri dari bilangan negatif dan positif serta seluruh bilangan bulat. Ada
tiga tipe Data Integer, yaitu :
Int
Data Int dapat menyimpan nilai nilai bilangan bulat dari 2e-31
(2.147.483.647) sampai dengan 2e31 (+2.147.483.647)
Smallint
Dapat menyimpan bilangan antara 2e-15(--32768) sampai dengan 2e15
(+32768). Tipe data ini sangat berguna jika anda menyimpan data Numeric
yang kisaran nilainya ada dalam interval tertentu yang diketahui .
Tinyint
Tipe data tinyint dapat menyimpan bilangan bulat antara 0 sampai dengan
255. Tipe ini sangat bermanfaat jika nilai bilangan yang akan disimpan
memiliki kisaran yang terbatas.
- Exact numeric
Tipe data Exact numeric menyimpan angka decimal. Tipe data decimal dapat
digunakan untuk menyimpan bilangan presesi dan numeric pada kisaran 10e-37
sampai dengan 10e37. Jika menggunakan tipe data decimal , harus ditetapkan skala
serta presisinya. Skala adalah jumlah total digit decimal yang dapat ada di sebelah
kiri dan kanan tanda koma. Presisi jumlah digit angka yang ada di sebelah kanan
koma.
- Approximate Numeric
Data yang dapat dihitung secara akurat oleh binary numbering system. Pecahan
merupakan contoh dari approximate numeric data yang tidak dapat diwakili secara
akurat dengan menggunakan approximate desimal data. Oleh karena itu, nilai yang
SQL Server tampilkan untuk pecahan akan berbeda dengan nilai yang

18
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

sesungguhnya yang telah disimpan. Tipe data yang dapat digunakan untuk
menyimpan approximate numeric data adalah float dan real.
Money
Tipe data money dapat digunakan untuk menyimpan data monetary data.
Tipe ini dapat menampung data dari 922 milyar sampai dengan 922 milyar
dengan ketelitian sampai empat angka dibelakang koma.
Smallmoney
Tipe data ini dapat menampung data 214.748,3648 sampai 214.748,3648.
Datetime
Tipe data datetime digunakan untuk menyatakan tanggal dan waktu. Tipe
data ini dapat menyimpan tanggal dan waktu mulai dari 1 Januari 1763
sampai dengan 31 Desember 9999 dengan ketelitian 1 per tiga ratus detik
atau 3.33 mildetik.

2.4.4. Membuat Database dengan Enterprise Manager


Pastikan terlebih dulu, bahwa jendela enterprise Manager sudah dalam keadaan
Aktif.
Gambar disamping ini
menunjukan jendela
enterprise manager.

Secara otomatis, setiap clien


akan memiliki standard group
dari SQl Server, pada saat
SQl server diinstall.

Pada folder group, terdapat tanda + atau -, tanda + dalam keadaan tertutup sedangkan
tanda dalam keadaan terbuka. Untuk membuka atau menutup folder group cukup
dengan menekan salah satu tanda tersebut.
Folder group terdiri dari beberapa properti, misalnya database, management,
data transformation, dll.
Cara membuat database menggunakan Enterprise Manager adalah sebagai berikut :
a. Dari Enterprise Manager, klik Folder Databases
b. Klik kanan mouse pada Folder Databases
c. Pilih New Database, dilayar akan ditampilkan gambar sebagai berikut :

Gambar 2.6. Membuat Dabase Menggunakan Enterprise Manager

19
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

dan beri nama database pada tab Data Files, ketik NilaiMHS
d. Klik OK

Untuk memastikan database yang anda buat telah terbentuk, Klik tanda + pada
SQL Server Group, klik tanda + pada objek database.

Gambar 2.7. Database NilaiMHS dengan menggunakan Enterprise Manager

Peringatan !
Dalam pembuatan suatu database baru penggunaan nama database harus Unik, dalam
SQL Server Group.

2.4.5. Membuat Tabel dengan Enterprise Manager


Berikut ini adalah prosedur membuat tabel mahasiswa pada database akademik
pada group KAJUR-MI dengan menggunakan Enterprise Manager.
Dari folder SQL Server
Klik tanda + pada objek database
Klik tanda + pada database NilaiMHSS
Klik Kanan mouse pada objek tables
Klik New table
Setelah memilih new table, muncul kotak
dialog untuk mengetik nama field fieldnya.

Gambar 2.8. Jendela Table dengan Enterprise Manager

Langkah selanjutnya adalah mengetik nama-nama field sebagai berikut :

20
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Nama field Type data Jumlah Nilai Allow Null


Nim Char 9 Tidak boleh kosong
Nama_m Varchar 35 Tidak boleh kosong
Tpt_lhr_m Varchar 25 Boleh kosong
Tgl_lhr_m Datetime 8 Boleh kosong
Alm_m Varchar 90 Boleh kosong
Thn_masuk Int 4 Boleh kosng
Thn_lulus Int 4 Boleh kosong
Agama_m Varchar 10 Boleh kosong
Kode_prog Char 2 Tidak boleh kosong
Kode_jur Char 2 Tidak boleh kosong

Tabel 2.1. Struktur table Mahasiswa

Pada Gambar 2.9. telah terbentuk rancangan tabel mahasiswa yang telah dibuat
dengan menggunakan create table pada Enterprise Manager.

Setelah semua field sudah diketik, lakukan


penyimpanan tabel dengan menekan tombol
save (simbol diskette) dan ketik nama tabel
Mahasiswa, lalu klik OK

Untuk menutup rancangan tabel tekan tombol


Close

Gambar 2.9. Desain table Mahasiswa dengan Enterprise Manager

2.4.6. Membuka Rancangan Tabel


Sebelum kita bisa membuka rancangan tabel yang telah terbentuk, yakinkan
bahwa anda telah mampu membuat database dan tabel, dalam contoh ini adalah
database Akademik dan 1 (satu) tabel Mahasiswa.
Prosedur untuk membuka rancangan tabel Mahasiswa yang telah terbentuk pada
database Akademik adalah sebagai berikut.
Klik kanan mouse pada tabel Mahasiswa, dan pilih design tabel

21
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 2.10. Properties Desain table Mahasiswa

Setelah menekan tombol design table, rancangan tabel akan aktif, seperti terlihat pada
gambar berikut ini.

Gambar 2.11. Desain View table Mahasiswa

Pada menu rancangan desain view table yang terlihat pada gambar 2.11 tersebut,
anda dapat melakukan pengapusan field, edit field dan menambah field.
Tambahkan field J_kelamin, type data char dan lenght = 6.
Jangan lupa anda simpan kembali setelah melakukan perubahan struktur tabel.

2.4.7. Mengisi data pada Tabel


Untuk melakukan pengisian data pada tabel Mahasiswa yang telah terbentuk
dan telah dilakukan penambahan field J_Kelamin, langkah langkahnya adalah sebagai
berikut.

Klik kanan mouse pada tabel


mahasiswa, dan pilih Open
tabel dan Return Top

Gambar 2.12. Properties Insert data tabel Mahasiswa

Lakukan pengisian datanya untuk data data mahasiswa yang tampak pada tabel 2.2.

berikut ini.

22
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Terusan record :

Tabel 2.2. Data data Mahasiswa

2.5. Latihan
Latihan 2.1
Setelah anda mampu membuat tabel Mahasiswa dan melakukan pengisian
datanya, sebagai latihan buatlah 3 (tiga) tabel lagi dari contoh data berikut ini, dengan
nama tabel Matakuliah, Dosen dan Nilai serta diletakkan pada database NilaiMHS.

1. Matakuliah
Desain struktur tabel Matakuliah adalah seperti tampak pada tabel 2.3. berikut ini.

Tabel 2.3. Struktur Table Matakuliah

Lakukan pengisian datanya untul tabel Matakuliah dengan data data berikut ini
melalui Enterprise Manager.

23
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Tabel 2.4. Data daftar Matakuliah

2. Dosen
Desain struktur tabel Dosen adalah seperti tampak pada tabel 2.5. berikut ini.

Tabel 2.5. Struktur Table Dosen


Lakukan pengisian datanya untul tabel Dosen dengan data data berikut ini
melalui Enterprise Manager.

Tabel 2.6. Data daftar Dosen


3. Nilai
Desain struktur tabel Nilai adalah seperti tampak pada tabel 2.7. berikut ini.

Tabel 2.7. Struktur Table Nilai

24
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Lakukan pengisian datanya untul tabel Nilai dengan data data berikut ini melalui
Enterprise Manager.

Tabel 2.8. Data value table Nilai

25
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 3
MODIFIKASI TABLE

3.1. Modifikasi Struktur Tabel


Struktur tabel yang telah dibuat, kemungkinan terdapat kekurangan atau
kesalahan dalam penulisan nama field, type maupun ukuran field. Untuk mengatasi hal
tersebut perlu adanya modifikasi struktur tabel yang dapat dilakukan dengan dua cara
yaitu T-SQL atau dari Enterprise Manager.

3.1.1. Latihan Kasus

Latihan 3.1
Tabel mahasiswa pada database NilaiMHS akan ditambahkan data untuk jenis
kelamin yang bertipe Char, dan panjang field adalah 10.
Langkah penyelesaian :

Modifikasi struktur tabel mahasiswa melalui enterprise manager.


Klik kanan mouse pada tanda + disebelah folder SQL server group,
Dabases, NilaiMHS.
Klik Tables
Perhatikan nama tabel yang akan dimodifikasi, pada icon server,
disebelah kanan folder server. Misalnya table Mahasiswa
Klik Kanan mouse pada tabel Mahasiswa, klik design table, maka akan
tampak seperti pada gambar 3.1. berikut ini.

Gambar 3.1. Desain table Mahasiswa

Lalu Pindahkan cursor pada akhir field,


Letakkan cursor di kolom field column name, ketik J_kelamin
Pindah kursor ke kolom data type, klik Varchar
Pindah kursor ke kolom length, ketik angka 10
Pindahkan kursor ke kolom allow Null, beri tanda
Untuk menyimpan struktur tabel yang telah dimodifikasi tekan tombol
diskette (Save), sehingga hasil penambahan field j_kelamin akan tampak
pada gambar 3.2. berikut ini.

26
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 3.2 Desain table Mahasiswa insert filed J_kelamin

Latihan 3.2
1. Merubah panjang field tpt_lhr_m, yang semula 25, rubah menjadi 26.
2. Menambahkan field gdr ( golongan darah ), type char, length = 2, boleh kosong.
3. Menambahkan field st ( status nikah), type char, length = 10, boleh kosong.
4. Menambahkan field kota_t ( kota alamat rumah), type varchar, length = 20,
boleh kosong.
Lalu :
5. Simpan struktur tabel mahasiswa yang telah modifikasi.
Sehingga hasil akhir dari perubahan desain tabel Mahasiswa akan tampak pada
gambar 3.3. berikut ini.

Gambar 3.3 Desain table Mahasiswa update1

6. Rubah field gdr menjadi Gol_darah


7. Rubah field st menjadi St_Nikah, Char dan length = 9
8. Hapus field kota_t.

Sehingga hasil akhir dari perubahan desain tabel Mahasiswa akan tampak pada
gambar 3.4. berikut ini.

27
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 3.4 Desain table Mahasiswa update2


Latihan 3.3.
1. Merubah nama tabel
Nama tabel yang sudah tersimpan masih dapat dirubah, dengan perintah
Rename. Misal tabel Mahasiswa, akan diganti menjadi Mahasiswaku.

Langkah penyelesaian :
Klik kanan pada table Mahasiswa, pilih rename, akan tampak gambar 2.5.
berikut ini :

Gambar 3.5. Merubah (rename) table


lalu ketik Mahasiswaku
Untuk mengakhiri tekan tombol enter.
Lakukan kembali perubahan nama table Mahasiswaku menjadi Mahasiswa
kembali.

2. Menghapus tabel
Tabel yang sudah tidak terpakai, sebaiknya dihapus dengan menggunakan
perintah Delete.
Misalkan kita buat table baru pada database NilaiMHS dengan nama table
Ruang, yang terdiri dari kode_r, Char, size 4 not null, dan nama_ruang,
Varchar, size 20 null.
Untuk melakukan penghapusan pada table Ruang yang belum ada isi
datanya, langkah penyelesaian adalah:

28
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Klik kanan pada tabel Ruang, pilih Delete, akan tampak gambar 2.6. berikut
ini :

Gambar 3.6. Menghapus (delete) table


Lalu klik Drop All jika akan jadi menghapus, jika tidak jadi menghapus maka
klik Cancel.

Latihan 3.4.
Untuk latihan kali ini anda lakukan pembuatan database berikut ini, yang terdiri dari :
1. Membuat database Personalia
2. Membuat database Rumah_Sakit
3. Membuat database Gudang

Perhatikan setiap database akan dilengkapi dengan sejumlah objek / komponen


yang siap digunakan.

3.2. Menghapus database


Database yang sudah terbentuk dapat kita hapus melalui Enterprise Manager.
Misalkan kita akan melakukan penghapusan database Gudang.
Langkah penyelesaian :
Klik Kanan database Gudang
Kemudian klik Delete
Klik tombol Yes untuk menghapus atau No untuk membatalkan
penghapusan.

Gambar 3.7. Menghapus (delete) database

29
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 4
INTEGRITAS DATA

Ada dua hal penting yang harus diketahui agar data tetap akurat, konsisten dan
handal. Untuk mewujudkan hal itu diperlukan suatu data Integrity. Sebagai contoh
apabila sebuah tabel Mahasiswa, pada field / kolom nim mempunyai isi data
01031043, maka database tidak memperbolehkan record pada tabel Mahasiswa lain
mempunyai nim yang sama.

Jenis-Jenis Integritas Data dapat dikelompokkan sebagai berikut :


 Entity Integritas
 Domain Integritas
 Refrential Integritas
 User Defined Integritas

4.1. Entity Integritas


Entity Integritas mendefinisikan sebuah baris sebagai sebuah entitas yang unik
untuk suatu tabel. Entity integritas memaksa integritas dari column atau primary key dari
suatu tabel (melalui index, unique, constraints, primary key). Primary key tidak boleh
null.

4.2. Domain Integritas


Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda
dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format
(melalui check constraints dan rules), atau range nilai-nilai yang mungkin (melalui
Foreign Key Constraints, Check Constraints, Default Definitions dan rules).

4.3. Refrential Integritas


Refrential Integritas memastikan bahwa seluruh nilai dari foreign key cocok
dengan nilai primary key yang dihubungkan.

4.4. User Defined Integritas

Userdefined integritas mengizinkan Anda untuk menentukan spesific business


rules sendiri yang tidak sama pada kategori integrity yang lain.

4.5. Membuat Constraint


Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan
untuk dimasukkan ke dalam tabel. Constraint dapat dibuat baik pada saat pembuatan
tabel atau setelah tabel dibuat. Ketika constraint dibuat setelah pembuatan tabel, maka
constraint tersebut hanya mengecek data yang ada (yang telah dimasukkan dalam
tabel). Jika ada beberapa pelanggaran maka constraint akan ditolak.

4.5.1. Tipe-Tipe Constraint


Microsoft SQL Sever menyediakan beberapa tipe Constraint, yaitu :
 PRIMARY KEY Constraint, untuk menspesifikasikan kolom dalam tabel. Tidak boleh
kosong, dan harus unik, untuk menghubungkan satu tabel dengan tabel lain.
 FOREIGN KEY Constraint, digunakan untuk menspesifikasikan kolom foreing key
pada suatu tabel. Foreing key digunakan untuk menghubungkan dua tabel. Kolom
foreing key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang
selalu merujuk pada kolom primary keypada suatu tabel.

30
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

 UNIQUE Constraint, digunakan untuk menjamin bahwa data pada suatu kolom
atauy beberapa kolom tidak diijinkan sama.
 CHECK Constraint, digunakan untuk membatasi suatu nilai pada kolom dengan nilai
tertentuyang diijinkan masuk.
 DEFAULT Constraint, merupakan atribut opsionalyang digunakan untuk memberikan
suatu nilai tertentupada suatu kolom jika kolom tersebut tidak dimasukkan suatu
data.
 Not Null, digunakan untuk menjamin tidak ada nilai null ( kosong) yang muncul pada
suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka
akan muncul error.

4.5.2. PRIMARY KEY Constraint


Sebuah constraint (aturan) dapat dibuat bersamaan pada saat pembuatan tabel
atau setelah pembuatan tabel. Contoh kita sudah mempunyai Tabel Mahasiswa pada
database NilaiMHS yang telah dibentuk sebelumnya, tetapi belum mempunyai kunci
primer. Menambahkan kunci primer dapat dengan mudah melalui Enterprise Manager
pada table desaigner.
Membuat kunci primary pada tabel mahasiswa. Dalam hal ini yang berfungsi
sebagai kunci primary adalah nim.

Langkah Penyelesaian :
a. Aktifkan Enterprise Manager, pilih database NilaiMHS, lalu tabel yang akan
ditambahkan Primary Key (dalam hal ini tabel Mahasiswa)
b. Klik kanan mouse pada tabel mahasiswa,
maka dilayar ditampilkan gambar seperti
di bawah ini :

c. Pilih Menu Desaign Table, maka akan ditampilkan gambar Design tabel, seperti
tampak pada gambar 4.1.. berikut ini.

Letakkan cursor baris NIM Klik Icon Kunci

Gambar 4.1. Membuat Primary Key Constraint

31
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 4.1.
Lakukan pembuatan primary key constraint untuk tabel tabel yang lainnya
pada database NilaiMHS tersebut, dengan ketentuan sebagai berikut.

a. Pada tabel Matakuliah terdiri dari beberapa field yang dapat diatur dalam
pengisian data, yaitu :
Field kdmk, sebagai primary key

b. Pada tabel Dosen terdiri dari beberapa field yang dapat diatur dalam pengisian
data, yaitu :
Field nid, sebagai primary key

c. Pada tabel Nilai terdiri dari beberapa field yang dapat diatur dalam pengisian
data, yaitu :
Field nim, kdmk dan smt sebagai primary key
Field nim, sebagi foreing key dan berelasi ke tabel Mahasiswa
Field kdmk sebagi foreing key dan berelasi ke tabel Matakuliah
Field nid, sebagai foreing key dan berelasi ke tabel Dosen.

Latihan 4.2.
Lakukan pembuatan table dengan nama tabel Jurusan yang terdiri dari struktur
field sebagai berikut :
Nama field Kode_jur, type char, length = 2, sebagai primary key
Nama field nama_jur, type Varchar, length = 16, tidak boleh kosong
Nama field nama_kajur, type Varchar, length = 35, tidak boleh kosong.

Setelah selesai, maka hasil dari design table jurusan akan nampak pada gambar
4.2. berikut ini.

Gambar 4.2. Membuat design table Jurusan

Setelah tabel terbetuk, lakukan pengisian data dengan menggunakan enterprises


manager dengan data data Jurusan sebagai berikut.

Tabel 4.1. Data data Jurusan

32
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 4.3.
Untuk latihan berikut ini, anda tambahkan beberapa field berikut ini pada table
Nilai pada database NilaiMHS.

Tabel 4.2 Penambahan field pada table Nilai

Setelah itu lakukan penghapusan terhadap field nilai_m pada table Nilai,
sehingga hasil design table akhir Nilai akan tampak pada gambar berikut
ini.

Tabel 4.3 Design table Nilai


Setelah itu lakukan pengisian data pada table nilai yang telah anda
lakukan update pada kolom kolom (field) yang belum terisi datanya
dengan menggunakan enterprise manager. Isi data isikan sesuai dengan
asumsi (range untuk nilai_absen = 0-14, nilai_tugas = 0-100, nilai_uts =
0-100, nilai_uas = 0-100).
Sebelum anda isi datanya, apabila anda jalankan dengan enterprise
manager  Databases, NiaiMHS, Table, Nilai, Open Table, lalu Return
All Rows, maka hasilnya akan nampak seperti gambar berikut ini.

Tabel 4.4. Data value Nilai (a)

33
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Lakukan pengisian data untuk data data berikut ini.

Tabel 4.5. Data value Nilai (b)

..

34
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 5
MEMBUAT DATABASE DAN TABEL
DENGAN QUERY ANALYZER

5.1 Mengaktifkan SQL Query Analyzer


Untuk melakukan pengaktifan SQL Query Analyzer, langkah langkah
penyelesaiannya adalah sebagai berikut.
Langkah penyelesaian :
Klik Start
Klik Programs
Klik Klik Microsoft SQL Server  Query Analyzer, seperti terlihat pada gambar
5.1. berikut ini

Gambar 5.1. Start Query Analyzer


Setelah selesai melakukan petunjuk diatas, perhatikan jendela connect to sql
server. Pilih nama server. Setelah memilih nama server, pilih windows autthentication.
Untuk mengakhiri tekan tombol OK. (bila anda nama server yang akan dibuka
menggunakan login name dan password, maka pada pilihan connect using. Pilih SQL
Server.... )

Gambar 5.2. Connect to Query Analyzer

Setelah anda menekan tombol OK pada gambar 5.2, dilayar akan menampilkan
jendela query analyzer.

35
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Area pengetikan
perintah SQL

Area untuk
menampilkan
pesan

Gambar 5.3. Jendela Query Analyzer


5.2. Membuat Database
Database dapat dibuat melalui enterprise manager atau melalui query analyzer.
Pada Bab 1, 2 dan 3 sudah dijelaskan cara membuat database melalui enterprise
manager. Pada Bab 5 ini akan dijelaskan cara membuat database melalui query
analyzer.

Sintaks :
CREATE DATABASE database_name
[ ON
{[PRIMARY] (NAME=logical_file_name, FILENAME =os_file_name,
[,SIZE =size]
[,MAXSIZE=max_size]
[ FILEGROWTH=growth_increment] ) } [,n]
[ LOG ON
( NAME=logical_file_name,
FILENAME=os_file_name,
[,SIZE = max_size]
[, FILEGROWTH=growth_increment]) } [ ,n]

Keterangan :
Database_name
Merupakan nama database baru. Nama database harus unik pada sebuah server.
ON
Menspesifikasikan bahwa file-file disk yang digunakan untuk menyimpan porsi data dari
database yang didefinisikan secara eksplisit.
PRIMARY
Menspesifikasikan hubungan <filespec> list yang mendefinisikan primary file. Sebuah
database hanya dapat mempunyai satu primary file.
LOG ON
Menspesifikasikan file-file disk yang digunakan untuk menyimpan database log (log files)
yang didefinisikan secara eksplisit.
NAME=logical_file_name
Menspesifikasikan logical_name untuk file yang dispesifikasikan oleh <filespec>
FILENAME=os_file_name
Menspesifikasikan nama os_file_name (operating system file)

36
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Contoh :
CREATE DATABASE PMB ON
( NAME=PMB_dat,
FILENAME = "C:\SQL\PMB.mdf",
SIZE=12,
MAXSIZE=100,
FILEGROWTH=2 )
LOG ON
( NAME="CPMB_log",
FILENAME ="C:\SQL\PMB.ldf ",
SIZE=4 MB,
MAXSIZE=50 MB,
FILEGROWTH=2 MB )

Pernyataan ini akan membuat sebuah database bernama PMB dengan satu data
file dan satu <log file>. Untuk melihat berbagai database dan properti pada program
Anda, cukup ketik sp_helpdb dan klik Run, sedangkan untuk informasi umum gunakan
sp_help.

Gambar 5.4. Tampilan sp_helpdb

Gambar 5.5. Tampilan sp_help

Langkah yang harus dilakukan dalam membuat database PMB dengan query
analyzer adalah sebagai berikut :
1. Ketik perintah dibawah ini pada jendela query analyzer

CREATE DATABASE PMB ON


( NAME=PMB_dat,
FILENAME = "C:\SQL\PMB.mdf",
SIZE=12,
MAXSIZE=100,
FILEGROWTH=2 )

37
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

LOG ON
( NAME="CPMB_log",
FILENAME ="C:\SQL\PMB.ldf ",
SIZE=4 MB,
MAXSIZE=50 MB,
FILEGROWTH=2 MB )

2. Tekan tombol (execute query atau ( F5))


Kalau pembuatan database PMB sukses, maka akan ampak gambar 4.6. seperti
berikut ini.

Execute Query (F5)

Gambar 5.6. Membuat (Create) database PMB


Catatan :
Pada FileName C:\SQL, anda harus memastikan bahwa kita telah mempunyai
folder pada C:\SQL (kalau tidak anda tidak akan success membuat database
tersebut). Anda dapat menyimpannya pada folder sesuai dengan keinginan anda
(pada folder anda misalkan).

5.3. Merubah Nama Suatu Database


Nama suatu database dapat dirubah, dengan syarat database yang ingin dirubah
namanya tidak sedang digunakan, dan harus diset ke mode single-user.

Sintaks :
Sp_renamedb old_name , new_name

Old_name merupakan nama database yang akan dirubah.


New_name merupakan nama database yang baru.

Gambar berikut ini adalah, tampilan database apa saja yang telah dibuat baik
yang menggunakan enterprise manager atau query analyser, untuk menampilkan klik
simbol (database), kemudian klik <Details...>, maka akan tampak gambar berikut
ini. Terlihat bahwa banyak database yang telah terbentuk, diantaranya adalah
Rumah_Sakit yang telah anda buat sebelumnya. Dalam hal ini kita belum melakukan
perubahan nama terhadap database Rumah_Sakit tersebut., seelah dilakukan
perubahan maka nama database Rumah_Sakit akan berubah menjadi RS.

38
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 5.7. Menampilkan database


Lakukan perubahan terhadap database Rumah_Sakit menjadi RS, langkahnya adalah
sebagai berikut :
Klik New Query atau Ctrl+N)
Lalu ketik :

SP_renamedb Rumah_Sakit ,RS

Kemudian jalankan tombol (execute query atau ( F5))

Gambar 5.8. Error rename database


Anda belum sukses melakukan perubahan nama database Rumah_Sakit
menjadi RS, karena anda belum melakukan setting ke mode single-user dari database
yang telah anda bentuk.

Lakukan setting mode single user terhadap database Rumah_Sakit, caranya


anda jalankan enterprise manager, kemudian klik database Rumah_Sakit, lalu
klik kanan, klik properties, kemudian ganti mode menjadi Single User pada
commandbutton Options.

39
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambaar 5.9. Database properties

Anda menuju ke Query Analyzer, Kemudian jalankan tombol (execute


query atau ( F5)) untuk menjalankan perubahan nama database tersebut.

5.4. Menghapus Database


Anda dapat menghapus suatu database ketika database tersebut tidak
diperlukan lagi. Ketika suatu database dihapus, secara otomatis file-file dan datanya
dihapus dari hardisk. Pada saat menghapus database maka database yang mau anda
hapus dalam kondisi tidak aktif, baik pada enterprise manager maupun query analyzer.
Sintaks :
DROP DATABASE database_name

Database_name merupakan nama database yang akan dihapus.

Langkah pertama, anda buat dahulu database baru dengan nama Bengkel,
dengan menggunakan enterprise manager, kemudian lakukan penghapusan dengan
menggunakan query analyzer.
Ketik perintah berikut ini :

Gambar 5.10. Drop database Trouble

Anda tidak dapat menghapus database Bengkel (seperti terlihat pada gambar
5.10. tersebut diatas), dikarenakan database tersebut masih dalam kondisi aktif.
Untuk bisa menghapus anda harus melakukan non aktif terhadap database
Bengkel tersebut atau lakukan non aktif terhadap enterprise manager
Bila sukses melakukan penghapusan akan tampak seperti gambar 4.11. berikut
ini.

40
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 5.11. Drop database success

5.5. Membuat Tabel


Pada perintah Create Table, minimal Anda harus mendefinisikan nama tabel,
kolom-kolom dan tipe data, penentuan Null / Not null dan primary keynya.
Perintah Create Tabel diberikan lewat Query Analyzer dengan cara :

Sintaks :
Create Tabel nama_tabel
(
nama_kolom_Tipe_data [ Null | Not Null ]
[Identity (Seed, Increment)]
[ Default ekspresi_konstan]
)

Petunjuk umum untuk membuat tabel adalah sebagai berikut :


1. Tentukan Nama tabel (dalam contoh ini nama tabel adalah
CalonMahasiswa)
2. Tentukan atribute-atribute tabel
3. Tentukan atribute yang null dan not null
4. Tentukan tipe data untuk masing-masing atribute
5. Tentukan Panjang tiap atribute
6. Tulis statement membuat tabel

Misalnya kita akan membuat tabel CalonMahasiswa pada database PMB, maka
langkah langkahnya adalah sebagai beriku.
Langkah Penyelesaian :
1. Pada jendela query analyzer, Pilih database PMB, pada combobox
(database), Ketik Pernyataan sql berikut ini :

Create Table CalonMahasiswa


Perlu diperhatikan bahwa
( untuk primary key harus
id_calon char(10) not null, dibuat not null, karena
nama_c varchar(50) not null, primary key harus ada
tmp_lahir varchar(30), data (tidak boleh kosong).
tgl_lahir datetime,
jkel_c varchar(10),
alamat varchar(90),
kota varchar(25),
telpon varchar(15),
tgl_daftar datetime,
id_jurusan char(3) not null

41
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2. Tekan tombol ( execute query/ ( F5))


Bila sukses, maka akan nampak seperti gambar 5.12 berikut ini.

Gambar 5.12. Create table CalonMahasiswa

3. Menyimpan pernyataan sql tersebut dengan nama : Create Tabel CalonMHS


Klik file  Klik Save

Rubah nama directory (ata simpan pada folder anda msing amasing), pada
kotak save in Ketik nama query. Misal Create Tabel CalonMHS
klik tombol OK

Gambar 5.13. Menyimpan hasil Query

Setelah anda berhasil membuat tabel CalonMahasiswa, anda buat tabel berikut ini :
a. Buat tabel Jurusan, dengan struktur table berikut ini :

Gambar 5.14. Struktur table Jurusan


42
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Ketik Pernyataan sql berikut ini, dengan query analyzer, dengan setting
database tetap PMB.

Gambar 5.15. Create table Jurusan

b. Buat tabel Ruang1, dengan struktur table berikut ini :

Gambar 5.16. Struktur tabel Ruang1


Perintah Query bisa anda lihat gambar 5.15 untuk membuat tabel Ruang1
tersebut.

5.6. Menghapus Tabel


Jika tabel dalam suatu database tidak diperlukan lagi, maka tabel tersebut dapat
dihapus. Perintah menghapus tabel adalah dengan DROP TABLE .
Sintaks :
DROP TABLE Nama_Tabel

Nama_Tabel adalah nama dari tabel yang akan dihapus, pada waktu mau melakukan
penghapusan terhadap tabel, maka database dimana tabel tersebut berada harus anda
aktifkan.

5.6.1 Menghapus tabel Ruang1


Ketik pernyataan sql berikut ini dan lakukan eksekusi
Drop Table Ruang1

Gambar 5.17. Drop tabel Ruang1


43
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Anda telah sukses melakukan penghapusan Ruang1 pada database PMB yang
telah anda buat.

5.6.2 Membuat tabel Ruang


Pada gambar 5.17. kita telah melakukan penghapusan tabel Ruang1. Fungsi
tabel tersebut adalah untuk menyimpan data ruang apa saja yang ada di Perguruan
Tinggi tersebut. Untuk membuat tabel perintahnya sama yaitu dengan Create Table.
Untuk langkah berikut ini anda coba untuk membuat abel runag kembali dan disimpan
dengan nama Ruang.
Struktur dari table Ruang tersebut adalah berikut ini :

Gambar 5.18. Struktur table Ruang


Ketik perintah Query di bawah ini untuk membuat tabel Ruang yang baru.

Gambar 5.19. Create table Ruang


Untuk mengetahui apakah tabel Ruang tersebut telah terbentuk, ketik perintah
Sp_help Ruang, lalu tekan F5.

Gambar 5.20. Sp_help Ruang

5.6.3. Menambah field dan merubah tipe data pada table


Keberadaan tabel yang telah kita buat tidak selamanya seperti itu, dalam arti kita
bisa menambahkan field baru dalam suatu table ataupun merubah tipe data dalam suatu
field.
44
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

a. Menambahkan field.
Misalkan kita akan menambah field email, tipe data varchar, lebar 25 dan
null, pada tabel CalonMahasiswa.
Jalankan query analyzer, kemudian klik database PMB, lalu ketik perintah
berikut ini.

Gambar 5.21. Insert field email pada table CalonMahasiswa

Untuk memastikan apakah field email telah terbentuk, anda jalankan


enterprise manager, kemudian klik Databases, PMB, table CalonMahasiswa,
lalu klik kanan design table.

b. Merubah tipe data dan ukuran field


Misalkan kita akan merubah field email pada tabel CalonMahasiswa, tipe
data menjadi char dengan lebar 20 dan null.
Jalankan query analyzer, kemudian klik database PMB, lalu ketik perintah
berikut ini.

Gambar 5.22. Update tipe data dan lebar pada field email pada table CalonMahasiswa

Untuk memastikan apakah tipe data dan lebat field email telah berubah, anda
jalankan enterprise manager, kemudian klik Databases, PMB, table
CalonMahasiswa, lalu klik kanan design table.

b. Menghapus field
Misalkan kita akan menghapus field email pada tabel CalonMahasiswa.
Jalankan query analyzer, kemudian klik database PMB, lalu ketik perintah
berikut ini.

Gambar 5.23. Delete field email pada table CalonMahasiswa

45
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Untuk memastikan apakah field email telah terhapus, anda jalankan


enterprise manager, kemudian klik Databases, PMB, table CalonMahasiswa,
lalu klik kanan design table.

Peringatan !
Kita tidak dapat menambahkan dan merubah field pada suatu table jika field tersebut
berisi Not Null (karena kita telah memasukkan data pada table CalonMahasiswa
sebelumnya). Kecuali pada saat menambahkan field kita belum melakukan insert
data pada table tersebut.

46
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 6
INSERT DAN DUPLIKASI TABLE

6.1. Memasukkan Data ke dalam Tabel


Setelah Struktur tabel terbentuk, data dapat dimasukkan ke dalam tabel dengan
perintah Insert melalui Query analyzer.
Sintaks :
INSERT [ INTO] NAMA TABEL [Daftar_Kolom] Value DAFTAR_NILAI
INSERT : Klausa ini menspesifikasikan nama tabel dimana data bisa
ditambahkan
VALUE : Klausa ini menspesifikasikan nilai data yang akan disisipkan ke dalam
kolom pada tabel
Daftar_Kolom : Merupakan daftar kolom yang dipisahkan oleh tanda koma menyatakan
kolom-kolom yang akan diisi data. Jika tidak ada kolom yang
dinyatakan, berarti semua kolom di dalam akan diisi data. Jika hanya
sebagian daftar yang dinyatakan, nilai null atau nilai default akan
diisikan ke kolom yang tidak disebutkan dalam daftar kolom.
Daftar Nilai : Daftar nilai untuk kolom tabel yang akan disisipkan sebagai sebuah
baris data dalam tabel. Data yang diberikan pada daftar nilai harus
sesuai dengan daftar kolom. Banyak data harus sama dengan banyak
kolom, tipe data, presisi, dan skala dari setiap data harus sesuai
dengan kolomnya.

6.1.1 Menyisipkan data Ruang


Kita akan mencoba melakukan pemasukan data untuk data data ruang pada
table Ruang dengan data berikut ini :

Tabel 6.1. Data data Ruang

Menyisipkan data seluruh field


Langkah Penyelesaiannya untuk melakukan penyisipan pada pada
seluruh field untuk record pertama pada table Ruang adalah sebagai berikut.
Aktifkan query ananlyzer
Aktifkan database PMB
Ketik pernyataan SQL berikut ini.

47
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Untuk melakukan eksekusi, tekan tomboltombol ( execute


query/ ( F5))

Gambar 6.1. Insert into table Ruang all field

Peringatan !
Penggunaan tanda petik (), dalam hal ini anda harus memperhatikan tipe
data dari table yang telah terbentuk, jika tipe datanya bukan merupakan kalkulasi
(decimal, int, money, dll), maka tidak perlu diberikan tanda petik ().

6.1.2. Melihat data hasil penyisipan


1. Dengan enterprise manager
Dalam contoh diatas bila anda akan memastikan data telah masuk
dalam table Ruang, maka lakukan perintah berikut ini :
Aktifkan enterprise manager
Aktifkan database PMB, lalu klik table, klik Ruang, klik kanan, klik
open table, lalu klik return all rows, seperti gambar 3.20. berikut ini.

Sehingga hasilnya seperti terlihat berikut ini.

Gambar 6.2. Melihat data ruang dari enterprise manager

2. Dengan query analyzer


Dalam contoh diatas bila anda akan memastikan data telah masuk
dalam table Ruang, maka lakukan perintah berikut ini :
Aktifkan kembali query analyzer dan database PMB, lalu ketik
perintah sql berikut ini.
Ketik pernyataan SQL berikut ini.

48
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Untuk melakukan eksekusi, tekan tombol ( execute query/


( F5)),

Gambar 6.3. Melihat data ruang dari query analyzer (a)

Dalam contoh SQL tersebut diatas, adalah anda menampilkan data


ruang dimana yang ditampilkan adalah seluruh field (4 field) yang
ada pada tabel ruang.

c. Menyisipkan data field tertentu


Pada gambar 6.3. diatas anda telah melakkan penyisipan data untuk 1
(satu) record pada tabel ruang, dimana data yang dimasukkan adalah seluruh
field yang ada. Untuk melakukan penyisipan data pada tabel ruang untuk record
ke 2 (dua) , tetapi hanya field id_ruang dan letak saja yang dimasukkan, caranya
adalah sebagai berikut.

Gambar 6.4. Insert into table Ruang field tertentu


Kemudian lakukan perintah berikut ini :

Gambar 6.5. Melihat data ruang dari query analyzer (b)

Perhatikan apa yang terjadi bahwa pada record kedua untuk field lokasi dan
kapasitas, nilainya adalah null (kosong) karena datanya belum dimasukkan.
Untuk memasukkan data lokasi dan kapasitas pada record ke 2 (dua) pada
tabel ruang adalah anda ke enterprise manager, dan lakukan penambahan
datanya melalui enterprise manager.

49
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

6.2. Menduplikasi Table


6.2.1. Menduplikasi table dan isi data untuk field tertentu
Berikut ini akan ditunjukkan bagaimana cara memasukkan data dari suatu tabel
kedalam tabel lainnya. Misalkan table baru yang akan digunakan sebagai tujuan data
adalah CalonMHSBaru. Untuk itu perlu dibuatkan terlebih dahulu struktur table dari table
tujuan tersebut.
Ketik perintah Query di bawah ini untuk membuat tabel CalonMHSBaru
dengan query analyzer.

Gambar 6.6. Create table CalonMHSBaru


Selanjutnya data data yang ada pada field id_calon, nama_c dan alamat
pada tabel CalonMahasiswa akan diduplikat (copy) kedalam tabel
CalonMHSBaru.
Ketik perintah query berikut ini dengan query analyzer.

Gambar 6.7. Duplikat (copy) isi data table CalonMahasiswa ke CalonMHSBaru


Untuk melihat isi datanya yang telah dicopy dari tabel CalonMahasiswa ke
tabel CalonMHSBaru, ketik perintah berikut ini query analyzer.

Gambar 6.8. Menampilan data dari table CalonMHSBaru dengan query analyzer
50
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Terlihat bahwa jumlah kolom yang tampil hanya 3(tiga), karena kita hanya
melakukan pengkopian dari tabel CalonMahasiswa ke tabel
CalonMHSBaru hanya 3 (tiga) field.
Anda juga bisa melihat isi datanya dengan menggunakan enterprise
manager, dengan cara klik Databases, klik PMB, lalu klik Table, Klik kanan
table CalonMHSBaru lalu Open Table, klik Return all rows, sehingga
hasilnya akan nampak berikut ini.

Gambar 6.9. Menampilan data dari table CalonMHSBaru dengan enterprise manager

6.2.2. Menduplikasi table dan isi data untuk seluruh field (1 table)
Kita juga bisa melakukan copy pada suatu tabel ke dalam tabel yang baru, dimana
yang dicopy adalah struktur table beserta isi datanya.
Misalkan kita akan mengcopy tabel lama Jurusan pada database PMB
kedal tabel baru dengan nama JurusanBaru.
Ketik perintah query berikut ini dengan query analyzer.

Gambar 6.10. Menduplikasi table Jurusan ke table JurusanBaru dengan query analyzer

Untuk melihat hasil duplikasi jalankan query analyzer, kemudian ketika


perintah : Select * From JurusanBaru. Atau bisa dilihat melalui enterprise
manager.

6.2.3. Menduplikasi table dan isi data untuk seluruh field (2 table)
Kita juga bisa melakukan copy pada suatu tabel ke dalam tabel yang baru, dimana
yang dicopy adalah struktur table beserta isi datanya untuk 2 (dua) atau lebih table
dalam suatu database.
Misalkan kita akan mengcopy tabel lama Mahasiswa dan Jurusan pada
database PMB kedal tabel baru dengan nama MahasiswaJurusan.
Ketik perintah query berikut ini dengan query analyzer.

51
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 6.11. Menduplikasi table ( 2 table) kedalam 1 table


Dalam perintah diatas adalah anda telah berhasil membuat duplikasi
1(satu) table dengan nama table CalonMHSJurusan, dimana kolom
id_calon,nama_c,telpon bersal dari table CalonMahasiswa dan kolom
nama_j dan status berasal dari table Jurusan (join 2 table) , untuk melihat
isi datanya ketik perintah query berikut ini.

Gambar 6.12. Menampilkan data hasil duplikasi

Latihan 6.1.
Setelah anda berhasil memasukkan data ruang untuk record 1 dan 2 untuk data
pada tabel 6.1. dengan query analyzer dan enterprise manager, lakukan pengisian
datanya pada tabel 6.1. tersebut untuk data yang lainnya dengan query analyzer,
sehingga hasil akhir setelah anda lakukan perintah SQL akan nampak pada gambar
6.12. berikut ini.

Gambar 6.13. Melihat data ruang dari query analyzer (c)

52
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 6.2.
Setelah anda berhasil memasukkan data ruang untuk 13 (tigabelas) record
seperti yang tampak pada gambar 6.12. tersebut diatas. Lakukan pengisian data
kembali untuk data jurusan (disimpan pada table Jurusan) pada database PMB, dengan
data - data berikut ini dengan menggunakan query analyzer.

Tabel 6.2. Data data Jurusan

Langkah Penyelesaian untuk melakukan penyisipan pada seluruh field untuk


record pertama pada table Jurusan adalah sebagai berikut.
Aktifkan query ananlyzer
Aktifkan database PMB
Ketik pernyataan SQL berikut ini.
Untuk melakukan eksekusi, tekan tombol ( execute query/ (
F5))

Gambar 6.14. Insert into table Jurusan all field

Lakukan pengisian untuk isi data yang lainnya dengan menggunakan


query analyzer.

Latihan 6.3.
Lakukan duplikasi table baru untuk database NilaiMHS berikut ini.
1. Buat duplikasi table baru dengan nama NilaiMahasiswa, dengan menggunakan 3
(tiga) tabel (nim,nama_m dari table Mahasiswa), (nilai_absen, nilai_tugas,
nilai_uts, nilai_uas dari table Nilai), (nama_mk dan sks dari table Nilai). Apabila
sukses setelah dilakukan query, maka hasilnya seperti berikut ini.

53
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 6.15. Menampilkan data dari table NilaiMahasiswa


Catatan:
Dalam latihan 6.3. tersebut diatas, terlebih dahulu anda harus menyelesaikan terlebih dahulu pada
Bab 8 pada Latihan 8.6 atau Gambar 8.8.

54
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 7
MEMBUAT CONSTRAINT

7.1. Latihan
Latihan 7.1.
Setelah anda berhasil memasukkan data ruang dan Jurusan pada Bab 6.
Lakukan pengisian data kembali untuk data calon mahasiswa (disimpan pada table
CalonMahasiswa) pada dabatase PMB dengan data - data berikut ini dengan
menggunakan enterprise manager.

Tabel 7.1. Data data Calon Mahasiswa

Langkah Penyelesaiannya untuk melakukan penyisipan pada seluruh field untuk


record pertama pada table CalonMahasiswa adalah sebagai berikut.
Klik kanan mouse pada tabel CalonMahasiswa, dan pilih Open table
dan Return Top

55
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 7.1. Properties Insert data table CalonMahasiswa


Lakukan pengisian datanya untuk data data mahasiswa yang tampak
pada tabel 7.1 diatas.

7.2. Membuat Primary Key Constraint


Dalam pembahasan ini anda akan mengetahui bagaimana membuat suatu primary
key pada suatu tabel dengan menggunakan perintah ALTER TABLE, dengan
menggunakan Query Analyzer.
Sintaks :
ALTER TABLE <nama_table>
Add CONSTRAINT nama_constraint Constraint Type (nama_kolom)

Latihan 7.2.
Misalkan kita akan membuat primary key pada tabel Ruang pada database PMB
yang telah kita buat pada bab 5 sebelummnya, dengan primary keynya adalah id_ruang
dengan nama constraint PkRuang.
Langkah Penyelesaian :
Definisikan nama constraint yang akan dibuat (dalam hal ini PkRuang)
Aktifkan Query Analyzer dan database PMB
Pada Query Analyzer ketik perintah berikut :

Gambar 7.2. Pembuatan primary key pada table Ruang (gagal)

Pada tampilan gambar 7.2. diatas anda gagal membuat primary key, karena
sebelumnya anda telah membuat primary key melalui enterprise manager. Untuk
itu anda harus menghilangkan dulu primary key nya dengan menggunakan
enterprise manager. Caranya klik table Ruang, lalu klik design table. Untuk
menghilangkan primary key pada tabel Ruang melalui enterprise manager
dengan melakukan klik icon key pada field id_ruang, kemudian simpan kembali
table tersebut.

Gambar 7.3. Menghilangkan primary key pada table Ruang

Kemudian anda kembali ke query analyzer, dari perintah sebelumnya tekan F5,
maka hasilnya akan nampak pada gambar 4.4. berikut ini.

56
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 7.4. Pembuatan primary key pada table Ruang (sukses)

Latihan 7.3.
Lakukan hal yang sama untuk membuat primary key pada tabel Jurusan dan tabel
CalonMahasiswa, dengan ketentuan sebagai berikut :
Definisikan nama constraint yang akan dibuat untuk tabel Jurusan adalah
PkJurusan dan tabel CalonMahasiswa adalah PkCalonMahasiswa
dengan menggunakan alter table.

Latihan 7.4.
Lakukan pembuatan tabel Test dengan struktur tabel sebagai berikut.

Gambar 7.5. Struktur table Test


Buat create table seperti gambar 7.6. berikut ini dengan query analyzer.

Gambar 7.6. Create table Test


Primary key dari table Test tersebut adalah id_calon dan tgl_test
Foreign key nya adalah id_calon dan id_ruang (nama field, tipe data dan
lebar dari kedua field ini harus sama spseri yang ada pada tabel
CalonMahasiswa dan tabel Ruang.
Berikut ini adalah cara untuk membuat primary key pada tabel Test
tersebut diatas (lihat pada gambar7.7.)

Gambar 7.7. Pembuatan primary key pada table Test

57
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Hasilnya bisa dilihat melalui enterprise manager, apakah betul primary


keynya adalah (id_calon dan tgl_test).
Jalankan enterprises manager, klik database PMB, klik table, klik Test,
lalu klik kanan Design Table, maka hasilnya akan tampak pada gambar
7.8. berikut ini.

Gambar 7.8. Design table Ruang melalui enterprise manager


Akan terlihat bahwa primary keynya dua, kalau anda sukses membuatnya
dengan query analyzer.

Latihan 7.5.
Berikut ini anda akan mempelajari bagaimana membuat foreign key constraint
pada tabel CalonMahasiswa.
Nama tabel : CalonMahasiswa
Nama primary key : id_calon
Nama foreign key : id_jurusan
Dalam table CalonMahasiswa yang menjadi primary key adalah id_calon (unik)
dan yang menjadi foreign key adalah (id_jurusan), dimana pada tabel calonMahasiswa
membutuhkan data yang ada pada abel Jurusan. Artinya, bila seorang melakukan
pendaftaran maka dia harus memilih jurusannya apa.
Pada dasarnya foreign key constraint adalah untuk merelasikan antara tabel
Jurusan dengan tabel CalonMahasiswa (hubungan relasi one to many).
Aktifkan Query Analyzer dan database PMB
Pada Query Analyzer ketik perintah berikut :

Gambar 7.9. Merelasikan table calon Mahasiswa dengan table Jurusan (foreign key constraint)

Isikan data-data berikut ini dengan perintah insert into dan disimpan pada
table Test.

Gambar 7.10. Insert data pada table Test


Lakukan pengisian data pada table Test untuk data data berikut ini, bisa
dengan query analyzer atau enterprise manager.

58
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Tabel 7.2. Data data Test

Latihan 7.6
Pada latihan ini anda akan membuat database dan tablel yang dilengkapi
dengan beberapa contraint :
Buat Database baru dengan nama Personal
Buat tabel dengan nama Karyawan, dengan menggunakan query analyzer
dengan struktur tabel seperti terlihat pada gambar 6.10.
Buat Constraint dengan ketentuan :
 Kolom NIP harus unik dan tidak boleh Null dan sebagai primary key.
 Membatasi kolom golongan dengan nilai A s/d I
 Membatasi kolom kode divisi dengan nilai A s/d F
 Membatasi kolom sex dengan nilai 1 s/d 4
 Default anak adalah 0.

Langkah Penyelesaian :
Definisikan semua nama constraint yang akan dibuat
Pada Query Analyzer di bawah ini ketik perintah berikut ini :

Gambar 7.11. Query membuat Table Karyawan dengan Constraint


Anda menuju enterprises manager, klik database Personal, klik table,
apabila table Karyawan belum muncul lakukan klik (Refresh).
Lalu klik Karyawan, klik kanan lalu Design Table, sehingga hasilnya akan
nampak pada gambar 7.12. berikut ini.
59
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 7.12. Design Table Karyawan

Cobalah masukkan data berikut ini pada tabel karyawan dengan Enterprise
Manager, datanya sebagai berikut :

Tabel 7.3. Data data Table Karyawan

Tambahlah data pada tabel karyawan dengan data-data sebagai berikut :

0025,Tri Wiyati,4,H,11/11/68,F,3,Semarang,Jl. Pangeran Kuda No.2,Bogor, 876123,2

Perhatikan apa yang terjadi ?


SQL Server menolak data yang telah diinput karena kolom kodedivisi hanya dapat diisi
dengan nilai A s/d F, kolom sex hanya dapat diisi dengan niali 1/sd 2.

Gambar 7.13. Sintaks error dengan Constraint

60
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 7.7
Aktifkan database Personal dan buat tabel baru dengan nama Gaji dengan
struktur tabel Gaji sebagai berikut :
Golongan Char(1)
Gaji Float
Pada tabel tersebut buat aturan-aturan (constraint) dengan ketentuan sebagai
berikut :
Kolom golongan harus unik tidak boleh ada yang sama (Primary Constraint)

Langkah Penyelesaian :
Pada Query Analyzer ketik perintah berikut :

Gambar 7.14. Membuat table Gaji dengan Primary Key Constraint

Lalu Tekan F5 mengeksekusi .


Ketik perintah Sp_help Gaji untuk mengetahui apakah tabel telah terbentuk ?

Gambar 7.15. Uraian table Gaji yang terbentuk

Isikan data pada tabel gaji yang telah terbentuk dengan perintah insert into,
datanya sebagai berikut :

61
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Golongan Gaji
A 260.000
B 325.000
C 400.000
D 500.000
E 800.000
F 1.200.000
G 1.750.000
H 2.500.000
I 5.000.000
Tabel 7.4. Data data table Gaji

Latihan 7.8.
Lakukan pembuatan tabel baru lagi pada database Personal dengan nama table
Divisi dengan perintah Create Table.
Langkah Penyelesaian :
Pada Query Analyzer ketik perintah berikut :
Lalu Tekan F5

Gambar 7.16. Membuat table Divisi non Constraint Primary Key

Setelah tabel terbentuk buat constraint primary key pada tabel tersebut dengan
ketentuan kolom kodedivisi harus unik dan tidak boleh null.

Langkah Penyelesaian :
Karena tabel telah terbentuk, maka perintah yang digunakan Alter Table, pada
Query Analyzer ketik perintah berikut :

Gambar 7.17. Membuat contraint primary key pada table Divisi

Isikan data pada tabel Divisi yang telah terbentuk dengan perintah Insert Into.
Datanya sebagai berikut :

62
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Kodedivisi Namadivisi
A Personalia
B Pemasaran
C Umum
D Produksi
E Keuangan
F Pengembangan

Tabel 7.5. Data data table Divisi

Latihan 7.9
Buatlah Constraint Foreign Key untuk ketiga tabel tersebut pada Database
Personal yang meliputi table Karyawan, table Gaji dan table Divisi.

Langkah Penyelesaian :
Karena ketiga tabel telah terbentuk maka perintah yang digunakan adalah :
ALTER TABLE.

Sintaks :
ALTER TABLE nama_tabel
Add Constraint nama_constraint Foreign Key (nama_kolom)
References nama_tabel(Nama_kolom)

Hubungkan kolom kodedivisi pada tabel Karyawan dengan kolom lodedivisi


yang ada pada tabel Divisi
Pada Query Analyzer ketik perintah berikut ini :

Gambar 7.18. Membuat Constraint Foreign Key table Karyawan dengan Divisi

Latihan 7.10
Hubungkan (relasikan) antara kolom golongan yang ada pada tabel Karyawan
dengan kolom Golongan yang ada pada tabel Gaji

Pada Query Analyzer ketik perintah berikut ini, lalu tekan F5

63
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 7.19. Membuat Constraint Foreign Key table Karyawan dengan Gaji (error)
Perhatikan apa yang terjadi, anda tidak dapat merelasikan antara table
Karyawan dengan Gaji, dikarenakan lebar tipe data golongan pada table
Karyawan tidak sama dengan tipe data golongan pada table Gaji.
Lakukan perubahan lebar field golongan pada table Karyawan dengan
enterprise manager dengan length menjadi 1, lalu lakukan Save.
Anda jalankan query analyzer pada query yang telah anda buat sebelumnya,
maka hasilnya adalah sebagai berikut :

Gambar 7.20. Membuat Constraint Foreign Key table Karyawan dengan Gaji (succes)
Anda telah sukses merelasikan antara table Karyawan dengan table Gaji.

7.3. Menghapus Constraint


Sebuah constraint dapat dihapus dengan menggunakan perintah ALTER
TABEL dengan sintaks :

ALTER TABLE nama_tabel


DROP CONSTRAINT nama_constraint

Keterangan :
Nama_tabel : Nama tabel dimana constraint berada
Nama_constraint : Nama constraint yang akan dihapus

Contoh :
Kita akan melakukan pengahapusan dihapus constraint yang telah dibuat pada
tabel karyawan dengan nama constraint Fkdivisi

Langkah penyelesaian :
Aktifkan Query analyzer
Ketik perintah berikut ini :

Gambar 7.21. Menghapus Constraint FkDivisi pada table Karyawan

Latihan 7.11.
Buatlah tabel Bayar dan JenisBayar pada database PMB yang telah dibentuk
sebelumnya dengan perintah Create Table, dengan struktur table masing masing
sebagai berikut.

64
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

1. Struktur table JenisBayar

Gambar 7.22. Design table JenisBayar


2. Struktur table Bayar

Gambar 7.23. Design table Bayar

Buatlah Constraint pada tabel Bayar untuk kolom-kolom berikut :


Kolom Id_jenisbayar mempunyai integritas dengan tabel JenisBayar. Buat
Constraint Foreign Key
Kolom Id_calon mempunyai integritas dengan tabel CalonMahasiswa. Buat
Constraint Foreign Key
Terlebih dahulu anda harus membuat table Jenisbayar dulu sebelum
membuat table Bayar.

Langkah penyelesaian :
Aktifkan Query Analyzer
Ketik perintah berikut ini :

Gambar 7.24. Query Membuat table Bayar

Ketik sp_help Bayar untuk mengetahui apakah tabel telah terbentuk ?

65
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 7.25. Uraian table Bayar yang terbentuk

Isi tabel (bisa dengan Query atau enterprise) table JenisBayar dan Bayar dengan
data data sebagai berikut :

Tabel 7.6. Data data table JenisBayar

Tabel 7.6. Data data table Bayar

66
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 8
MEMBUAT DIAGRAM DAN VIEW
8.1. Latihan
Latihan 8.1.
Setelah anda berhasil memasukkan data JenisBayar dan Bayar pada Bab 7.
Buat table Kelas dan Mahasiswa, dengan struktur table berikut ini dengan menggunakan
enterprise manager.

Tabel 8.1. Struktur table Kelas

Tabel 8.2. Struktur table Mahasiswa

Kemudian lakukan pengisian data pada table Kelas dan Mahasiswa, dengan
data data berikut ini, dengan menggunakan enterprise manager.

Tabel 8.3. Data data Kelas

Tabel 8.4. Data data Mahasiswa

67
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

8.2. Membuat Diagram Database


Pada Enterprise Manager, ada fasilitas untuk membuat diagram dengan
menggunakan wizard. Dari diagram tersebut akan terlihat relasi antara tabel dengan
jelas. Langkah-langkah untuk membuat diagram adalah sebagai berikut :
Jalankan Enterprise Manager, klik database lalu pilih database Anda
Klik kanan mouse pada Diagram I new database diagram
Pilih tabel yang Anda inginkan untuk ditampilkan ke diagram, bahkan Anda bisa
mencek pilihan Add Related Table Automatically.
Klik Next hingga akhir, lalu hasilnya akan ditampilkan sebagai berikut :

Gambar 8.1. Diagram Database PMB (a)

Dari gambar 8.1. terlihat bahwa table yang ada pada database PMB terdiri dari 8
(delapan) table yaitu CalonMahasiswa, Jurusan, Test, Ruang, Kelas, JenisBayar, Bayar
dan Mahasiswa. Terlihat bahwa table table yang baru berhubungan (berelasi) adalah :
Jurusan dengan Calon Mahasiswa (one to many),
CalonMahasiswa dengan Bayar (one to many),
JenisBayar dengan Bayar (one to many)
Sedangkan table Mahasiswa, Test, Ruang dan Kelas belum terjadi relasi, karena anda
belum pernah melakukan relasi (foreign key integritas) pada masing masing table
yang berhubungan. Anda bisa melakukan relasi dengan enterprise manager dengan
cara berikut ini.

Anda harus masih kondisi aktif seperti terlihat pada gambar 8.1, lakukan relasi
antara CalonMahasiswa dengan Test (one to many), Ruang dengan Test (one to
many), CalonMahasiswa dengan Mahasiswa (one to many), Kelas dengan
Mahasiswa (one to many).
Caranya, tekan klik field id_calon (terlihat key) pada table CalonMahasiswa
kemudian tarik ke table Test, tempatkan pada field id_calon pada table Test,
sehingga hasilnya terlihat berikut ini.

68
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 8.2. Merelasikan antara table CalonMahasiswa dengan Test


lalu klik OKE, maka hasilnya seperti tampak berikut ini.

Gambar 8.3. Diagram Database PMB (b)


Pada gambar 8.3. terliat bahwa, telah terjadi relasi antara table CalonMahasiswa
dengan Test (one to many)

Perhatian !
Anda tidak dapat merelasikan table Ruang dengan Test (one to many) jika :
Nama field, tipe data dan lebar pada table Ruang dimana sebagai primary key
(id_ruang) tidak sesuai pada table Test (id_ruang) sebagai foreign key.
Anda melakukan pengisian data pada field id_ruang pada table Test, tetapi data
yang ada pada field (id_ruang) pada table Ruang tidak ada.

Latihan 8.2.
Lakukan relasi antar table dengan menggunakan Query Analyzer seperti pada
Gambar 7.19 Bab 7, antara table Ruang dengan Test (one to many), CalonMahasiswa
dengan Mahasiswa (one to many), Kelas dengan Mahasiswa (one to many). Sehingga
hasilnya akan nampak pada gambar berikut ini.

69
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 8.4. Diagram Database PMB (c)


Lakukan penyimpanan terhadap diagram pada gambar 5.4, dengan menekan
tomblok Save, ketik Diagram PMB kemudian klik OKE.

Gambar 8.5. Save as Diagram

Apabila anda menemukan permasalahn berikut ini.

Gambar 8.6. Save as Diagram Incomplete

Anda gagal melakukan penyimpanan data, baca perintah kegagalan tersebut


(baca juga Perhatian !), lakukan perbaikan. Dalam contoh ini adalah terjadi
permasalahan antara relasi table Kelas dengan Mahasiswa, penyebabnya
kemungkinan data yang ada pada id_kelas pada table Mahasiswa tidak sesuai
pada id_kelas pada table Kelas. Anda lakukan perbaikan dengan melihatnya

70
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

dengan enterprise manager. Setelah itu lakukan penyimpanan diagram kembali,


dan hasilya bila sukses akan tampak berikut ini.

Gambar 8.7. Save as Diagram complete

Maka kita telah melakukan penyimpanan 1 (satu) diagram dengan nama


Diagram PMB.
Anda bisa membuat diagram dengan menampilkan table table tertentu pada
database PMB tersebut dan melakukan penyimpanan kembali.

Latihan 8.3.
Silahkan anda membuat diagram lagi pada database PMB yang telah anda buat
sebelumnya, kemudian simpan nama diagram tersebut dengan nama lain (bukan
Diagram PMB). Dalam membuat diagram anda tidak perlu menampilkan seluruh table
yang ada pada database PMB tersebut.

Perhatian !
Anda tidak dapat melakukan view (menampilkan data) dari enterprise manager atau
query (dari query analyzer) untuk melakukan manipulasi penelurusan data jika Diagram
yang anda buat belum berhasil !

Latihan 8.5.
Buatlah diagram pada database Personal yang terdiri dari tabel Karyawan,
Divisi, dan Golongan. Jika Anda berhasil membuatnya maka diagram tersebut akan
ditampilkan seperti gambar di bawah ini.

Gambar 8.8. Diagram Database Personal

Lakukan penyimpanan diagram database Personal tersebut dengan nama


diagram : Diagram Personal.

71
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 8.6.
1. Lakukan relasi antar table (Foreign Key Constraint) dengan menggunakan Query
Analyzer seperti pada Gambar 7.19 Bab 7, antara table:
Jurusan dengan Mahasiswa (one to many), dengan nama foreign key
constraint : FKJurusan.
Matakuliah dengan Nilai (one to many), dengan nama foreign key constraint :
FKMatakuliah.
Jurusan Mahasiswa dengan Nilai (one to many), dengan nama foreign key
constraint : FKMahasiswa
Dosen dengan Nilai (one to many), dengan nama foreign key constraint :
FKDosen.

2. Buatlah diagram pada database NilaiMHS yang terdiri dari tabel Mahasiswa,
Jurusan, Matakuliah, Nilai, dan Dosen. Jika Anda berhasil membuatnya maka
diagram tersebut akan ditampilkan seperti gambar di bawah ini.

Gambar 8.9. Diagram Database NilaiMHS

Lakukan penyimpanan diagram database NilaiMHS tersebut dengan nama


diagram : Diagram Nilai.
Lakukan perubahan nama database NilaiMHS dirubah menjadi database
dengan nama NilaiAkademik, dengan menggunakan query analyzer,
jangan lupa database Akademik harus dirubah kedalam mode Single User.
Bila tidak dirubah maka anda tidak dapat melakukan perubahan nama
database tersebut.

8.3. Membuat View


View merupakan fasiltas yang ada pada enterprise manager, dengan view maka
kita dapat dengan mudah melakukan penelusuran data didalam database sesuai
dengan kriteria yang kita inginkan. Kalau anda bekerja dengan MS-Access, view hampir
mirip dengan query. Berikut ini diberikan contoh pembuatan View.

72
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

a. View 1 (satu) table.


Aktifkan database Personal, kemudian klik View, kemudian klik kanan New View,
seperti gambar berikut ini.

Gambar 8.10. Menampilkan data dengan View

Selanjutnya akan tampak menu editor view berikut ini

Table List

Gambar 8.11. Menu editor dari View

Untuk menampilkan table klik kanan pada keterangan Table List, kemudian klik
kanan lalu Add Table, lalu pilih table yang akan ditampilkan datanya misalkan
kita pilih Karyawan lalu Add, lalu colse, maka akan tampak seperti gambar 8.12.

Gambar 8.12. Add table


Pilih field yang akan ditampilkan datanya, dalam contoh ini adalah nip, nama dan
tgl_lahir.

73
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Kemudian pada baris Sort type pada Column Nip dan Table Karyawan, pilih
Ascending.

Untuk menjalankan, maka klik tombol Run


Maka hasilnya akan nampak pada gambar 8.13. berikut ini.
Untuk menyimpan hasil View simpan dengan menkan tombol Save kemudian
beri nama View : Daftar Karyawan.
Hasil dari nama view Daftar Karyawan ini bisa anda koneksikan kedalam
Crystal Report untuk membuat laporan.

Gambar 8.13. Menu editor dari View (add table) 1 table

Pengertian dari gambar 8.13. diatas, adalah menampilkan data dari table
Karyawan, dimana data yang ditampilkan hanya kolom (field), nip, nama dan tgl_lahir,
dimana diurutkan berdasarkan kolom (field) nip dan diurutkan secara Ascending.

b. View 2 (dua) table / lebih.


Untuk menampilkan data lebih dari satu table caranya sama tinggal pada saat Add
Table kita pilih add (Karyawan, Divisi, Gaji).

Kemudian kita pilih field yang akan ditampilkan datanya (misal field nip,
nama dari table Karyawan), field namadivisi dari table Divisi dan field gaji
dari table Gaji.
Pada Criteria, ketik Pemasaran pada Column namadivisi dan Table Divisi.
Pada Column Sort Type klik Descending pada Column Nama.
Untuk menjalankan, maka klik tombol Run
Maka hasilnya akan nampak pada gambar 8.13. berikut ini.
Untuk menyimpan hasil View simpan dengan menkan tombol Save
kemudian beri nama View : Daftar Gaji Karyawan.

74
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 8.14. Menu editor dari View (add table) 3 table

Pengertian dari gambar 8.14. diatas, adalah menampilkan data dari 3 (tiga) table
yaitu table Karyawan (field nip dan nama), table Divisi (field namadivisi), table Gaji (field
gaji), dimana data diurutkan berdasarkan kolom (field) nama pada table Karyawan
secara Descending, dan pada column namadivisi pada table Divisi pada Criteria yang
ditampilkan hanya karyawan yang ada pada divisi Pemasaran saja. Hasil akhir data
yang tampil adalah 4 (kolom) dan 2 (dua) record, seperti terlihat pada gambar 8.13
diatas.

75
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 9
INSERTS, UPDATE, DELETE DATA

9.1. Menambah data dengan Insert


Pada bab-bab sebelumnya kita telah membahas menambah data pada tabel
dengan Insert Into. Pada bab ini kita akan mengingat lagi perintah tersebut. Perintah
insert dipakai untuk menambah data satu atau beberapa data ke dalam tabel.

Sintaks :
INSERT [INTO] nama_tabel [ Daftar_kolom ]
VALUES { DEFAULT VALUE | Daftar_kolom }

Contoh :
Tampilkan data - data tentang Ruang pada database PMB dengan View (seluruh
field yang ditampilkan), hasilnya akan tampak pada gambar 9.1. berikut ini.

Gambar 9.1. View table Ruang


Setelah itu tambahkan data-data berikut pada tabel Ruang dengan perintah
Insert Into.

id_ruang Letak Lokasi kapasitas


104A Lantai 1 Kampus A 35
205B Lantai 2 Kampus B 40

Tabel 9.1. Data data table Ruang

Langkah penyelesaian :
Ketik perintah berikut pada query analyzer.

76
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 9.2. Insert into 2 record table Ruang

9.2. Duplikasi dan Insert Data dengan Statement Select .Into.


Pernyataan select into (lihat kembali Bab 6 sub bab 6.2.2.) dipakai untuk
membuat tabel baru dan mengisinya dengan data dari hasil select. Misalnya kita akan
membuat tabel yang bernama RuangBaru dan diisi dengan data dari tabel Ruang dari
database PMB.
Perintahnya :

Gambar 9.3. Insert into table RuangBaru from Ruang

Baris - baris dan kolom pada tabel RuangBaru yang terbentuk sama dengan
tabel Ruang pada database PMB. Cobalah Anda tampilkan tabel RuangBaru dengan
perintah :

Select * From RuangBaru dan


Select * From Ruang

Kita juga dapat membuat tabel baru dengan mengambil beberapa kolom atau
mengambil beberapa baris dari tabel lain dengan kondisi tertentu. Misalnya kita mau
membuat tabel dengan nama Karyawanbaru dari database Personal dan diisi dengan
tabel Karyawan yang berisi hanya baris-baris(record) dimana sex nya = 1.

Aktifkan Query Analyzer, klik database Personal, lalu ketik perintah query berikut
ini, lalu jalankan (f5 / Run).

77
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 9.4. Insert into table KaryawanBaru from Karyawan

Anda telah berhasil membuat table baru dengan nama KaryawanBaru pada
database Personal dimana record data yang dicopy hanya dengan kriteria
sex=1.

Latihan 9.1
Buat tabel baru dengan nama PegawaiNew, dan isi tabel PegawaiNew dari
tabel Karyawan pada database Personal, dengan kriteria kodedivisi = D dan
golongan = A.
Buat tabel baru dengan nama KaryawanKeuangan dan isi tabel
KaryawanKeuangan dengan tabel Pegawai dengan baris baris yang
kodedivisinya =E, kodestatus = 2 dan sex=2
Tampilkan seluruh data pada table PegawaiNew dan KaryawanKeuangan.
Hapus table PegawaiNew dari database Personal

9.3. Update Data


Data yang tersimpan dalam tabel, kemungkinan terdapat kesalahan dalam
pengetikan data atau data tersebut berubah disebabkan oleh autan yang berubah
ataupun penyebab lainnya. Hal ini dapat diperbaiki dengan menggunakan perintah
Update.
Sintaks :
Use nama_tabel
Update (nama_tabel) Set (nama_kolom) = ( value )
Where (syarat)
Keterangan :
Nama_kolom, data yang akan diperbaiki
Value, data yang baru/data pengganti
Nama_tabel, tempat nama kolom tersimpan
Pada pernyataan Use nama_tabel dapat diabaikan asalkan nama_tabel
sudah aktif.

Latihan 9.2.
Kita akan mencoba melakukan perubahan data pada table Divisi dimana
kodedivisi=A yang memiliki namadivisi = Umum akan dirubah menjadi golongan
Umum Perubahan.
Jalankan query analyzer dan aktifkan database Personal, kemudian ketik
perintah query berikut ini, lalu tekan F5 (Execute Query).

78
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 9.5. Menampilkan data pada table Divisi (a)

Terlihat bahwa namadivisi Umum belum berubah, lakukan perubahan


dengan mengetik query berikut ini.

Gambar 9.6. Update field table Divisi


Lihat hasil perubahan dengan mengetik query berikut ini, lalu tekan F5
(Execute Query).

Gambar 9.7. Menampilkan data pada table Divisi (b)


Terlihat bahwa kodedivisi =A, namadivisi nya telah berubah menjadi Umum
Perubahan
Lakukan kembali perubahan kodedivisi=A , namadivisi nya menjadi =
Umum.

9.4. Delete Data


Suatu saat data yang tersimpan dalam tabel atau view tidak diperlukan kembali,
sehingga memenuhi ruang penyimpanan. Untuk menghapus data perintah yang
digunakan adalah dengan Delete.
Sintaks :
Delete from ( nama_tabel )
Where ( syarat )

Latihan 9.3.
Lakukan penambahan data pada table Divisi di database Personal dengan
data berikut ini dengan query analyzer.

79
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Kodedivisi namadivisi
G Marketing
H Teknologi Informasi
Tabel 9.2. Data data table Divisi

Apabila kita ketik query berikut ini, maka pada table Divisi akan bertambah 2
(dua) record.

Gambar 9.8. Menampilkan data pada table Divisi (c)

a. Hapus data untuk record tertentu pada table


Lakukan penghapusan data pada table Divisi tersebut untuk kodedivisi nya
H, maka ketik perintah query berikut ini.

Gambar 9.9. Hapus data record tertentu


Lakukan kembali penghapusan data untuk kodedivisi = G pada table Divisi
tersebut.
b. Hapus data untuk seluruh record pada table
Sebelum melakukan penghapusan seluruh record pada suatu table, lakukan
duplikasi dulu pada table Divisi menjadi DivisiBaru, dengan mengetik perintah
berikut ini.

Gambar 9.10. Create table baru dengan duplikasi (into)


80
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Lalu letik perintah berikut ini query berikut ini.

Gambar 9.11. Menampilkan data pada table DivisiBaru (a)


Lalu lakukan penghapusan seluruh data (record) pada table DivisiBaru
dengan perintah query berikut ini.

Gambar 9.12. Menghapus datapada table DivisiBaru


Lalu letik perintah berikut ini query berikut ini

Gambar 9.13 Menampilkan data pada table DivisiBaru (b)


Terlihat bahwa data data pada table DivisiBaru pada database Personal
telah terhapus.
Lakukan penghapusan table DivisiBaru dengan query analyzer.

Peringatan !
Anda harus mempertimbangkan betul, apakah benar-benar data tidak dipakai
kembali dan dilakukan penghapusan, seandainya akan dihapus lebih baik membuat
table backup dahulu.

81
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 10
MANIPULASI DATA DENGAN SELECT

10.1. Perintah Select


SQL Server menyediakan perintah select untuk mengakses dan mengeluarkan
data dari Server. Dengan sintaks sebagai berikut :

Select [All | Distinct ] Pilih_daftar_kolom


[ Into [ Nama_tabel baru] ]
From Nama_tabel / Nama View
[ Where Klausa ]
[ Group By Klausa ]
[ Having Klausa ]
[ Order By Klausa ]
[ Compute Klausa ]

Keterangan :
Pilih_daftar_kolom : Menyatakan pilihan terhadap kolom atau atribut dari data yang
dipilih
Nama_tabel : Tabel yang akan diambil datanya.

10.1.1 Perintah Select untuk Memilih Semua Kolom (field)

Latihan 10.1.
Menampilkan semua data pada tabel Jurusan dari database PMB dengan
menggunakan query analyzer.
Pada Query Analyzer ketik perintah berikut ini : Select * From Jurusan
Lalu tekan F5

Gambar 10.1. Perintah Query menampilkan semua data Jurusan dari table Jurusan

10.1.2. Perintah Select untuk memilih kolom tertentu

Sintaks :
Select nama_kolom,[nama_kolom,.]
From Nama_tabel

Latihan 10.2.
Menampilkan data dalam kolom Id_calon, nama_c, alamat, kota dan telpon dari
table CalonMahasiswa.

82
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Pada Query Analyzer ketik perintah berikut :


Select id_calon, nama_c, alamat, kota, telpon
From CalonMahasiswa

Gambar 10.2, Query untuk menampilkan data dengan kolom tertentu

10.2. Mengganti Nama Kolom


Ketika Query menampilkan hasil perintah select, nama kolom yang ditampilkan
sesuai dengan nama kolom yang dispesifikasikan dalam tabel. Untuk mengganti nama
kolom yang dihasilkan sesuai dengan keinginan kita, perintahnya adalah :

Sintaks:
Select nama_kolom kolom alias ,[nama_kolom kolom alias]
From nama_tabel
Keterangan :
Kolom alias merupakan judul kolom yang diinginkan user
Contoh :

Gambar 10.3. Mengubah Judul Kolom sesuai keinginan


Latihan 10.3.
Untuk memperlancar melakukan penelusuran data pada database PMB,
kerjakan latihan berikut ini.
1. Tampilkan semua data pada tabel JenisBayar
Hasilnya akan nampak seperti berikut ini :

83
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2. Tampilkan nama_c, tmp_lahir, tgl_lahir, telpon dan tgl_daftar pada tabel


CalonMahasiswa.
Hasilnya akan nampak seperti berikut ini :

Data list 26 record


3. Ganti judul Kolom id_jurusan menjadi Kode Jurusan, nama_j menjadi Nama
Jurusan dan kajur menjadi Kepala Jurusan.
4. Tampilkan semua data pada tabel Ruang.
5. Tampilkan id_ruang, letak dan kapasitas pada tabel Ruang.
6. Ganti judul kolom letak menjadi Letak Ruang dan lokasi menjadi Lokasi Ruang
dari table Ruang.
7. Tampilkan semua data pada tabel Test.
8. Tampilkan semua data pada tabel Bayar.
9. Tampilkan semua data pada tabel JenisBayar.
10. Tampilkan kolom id_calon, tgl_test, nilai dan hasil dari tabel Test.

10.3. Operator Aritmatika


SQL Server mendukung operator yang menampilkan operasi aritmatika seperti,
penjumlahan, pengurangan, pembagian, perkalian, dan modulus pada kolom dengan
jenis data numeric. Jenis data numeric adalah INT, Smallint, Decimal, Numeric, Float,
Real, Money, SmallMoney.
Operator yang didukung oleh SQL Server adalah :
 + untuk penjumlahan
 - untuk pengurangan
 / untuk pembagian
 * untuk perkalian
 % untuk modulus
Keterangan : semua operator aritmatika dapat digunakan dalam perintah Select .
Contoh :
Ketik perintah berikut pada Query Analyzer

84
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 10.4. Query dengan Menggunakan operator aritmatika penjumlahan

10.3.1. Menyeleksi Baris dengan Kondisi


Adakalanya hanya beberapa baris saja yang perlu diretrieved dari sebuah tabel.
Clausa Where disediakan oleh SQL Server untuk menspesifikasikan kondisi.
Sintaks :
Select Daftar_kolom
From nama_tabel
Where kondisi

Latihan 10.4.
Tampilkan daftar calon mahasiswa dimana id_jurusan nya adalah = MI dimana
kolom yang ditampilkan hanya id_calon, nama_calon dan id_jurusan
Ketik perintah berikut pada Query Analyzer :
Select id_calon,nama_c,id_jurusan
From CalonMahasiswa
Where id_jurusan=MI

Gambar 10.5. Query dengan menggunakan statement Where

Hasil perintah di atas menampilkan data pada tabel CalonMahasiswa, yang


ditampilkan kolom id_calon, nama_calon dan id_jurusan, dimana id_jurusan nya
=MI.

10.4. Pencarian Berdasarkan Kondisi


SQL Server menyediakan beberapa metoda untuk pencarian baris-baris pada
tabel. Metode ini dapat dibagi dalam beberapa kategori seperti berikut :
 Comparison operator : seperti =,>,<,>=,<=,!
 Range operator : seperti Between dan Not Beetween

85
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

 List operator : seperti In dan Not In


 String operator : seperti Like dan Not Like
 Logical Operator : seperti And, Or, Not.

10.4.1. Select Where dengan menggunakan Operator Comparison


Latihan 10.5.
Anda buka database Personal dengan menggunakan query analyzer, setelah itu
buat query berikut ini.
1. Tampilkan kolom nip,nama,golongan,anak pada tabel Karyawan yang jumlah
anaknya >2
Pada Query Analyzer ketik perintah berikut :

Gambar 10.6. Query dengan Statement Select..Where

2. Tampilkan data pada tabel Gaji dari database Personal dimana hasil kali kolom gaji*2
<= 1000000
Ketik perintah berikut pada Query Analyzer :
Select golongan,gaji,gaji*2 'Gaji Kali 2'
From Gaji
Where Gaji*2 <=1000000
Lalu tekan F5 untuk mengeksekusinya

Gambar 10.7. Query dengan Operator Comparisson

10.4.2. Select Where dengan Operator Range


Operator Range digunakan untuk meretrieved data yang dapat diperoleh dalam
range tersebut. Operator Range yaitu Between dan Not Between.
Sintaks :
Select Daftar_kolom
From nama_tabel
Where nama_kolom [not] Between expresi1 and expresi 2

86
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Latihan 10.6.
a. Buka database Akademik, kemudian tampilkan nim, kdmk, smt, nilai_uts dari table
Nilai, dimana nilai uts nya antara 76 dan 80
Ketik perintah ini pada Query Analyzer :
Tekan F5 untuk mengeksekusi. Hasilnya akan terlihat pada gambar berikut.

Gambar 10.8. Query dengan Operator Range Between

10.4.3. Select . Where dengan Operator List


Sintaks :
Select Daftar_kolom
From nama_tabel
Where nama_kolom operator List (Daftar_value)

Latihan 10.7
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom nim,nama_m
dan tpt_lhr_m pada table Mahasiwa dimana yang ditampilkan adalah kota lahirnya
Bekasi dan Jakarta.

Gambar 10.9. Query dengan menggunakan Operator List IN

10.4.4. Select . Where dengan Unknown Values


Unknown Values atau lebih dikenal dengan Null, akan diberikan apabila tidak
ada input data. Nilai Null dapat ditampilkan dari tabel dengan menggunakan kunci
Is Null dalam Klausa Where.
Sintaks :
Select Daftar_kolom
From nama_tabel
Where nama_kolom . operator_Unknown_Values

Latihan 10.8.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom
nim,nama_m,thn_lulus dari table Mahasiwa dimana pada kolom thn_lulus dan j_kelamin
nilai datanya null.
87
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 10.10. Query dengan menggunakan Operator is null

10.4.5. Select Where dengan Operator Logika


Operator Logika yang disediakan oleh SQL Server adalah :
OR Memberikan nilai True bila kondisi yang dispesifikasikan True
NOT Membalikan nilai expresi yang mengikutinya
AND Memberikan hasil True bila semua kondisi yang dispesifikasikan
True.
Sintaks :
Select daftar_kolom
From nama_tabel
Where conditional expresi {AND/OR} [Not] conditional expresi

Latihan 10.9.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom
nim,nama_m,thn_lulus dari table Mahasiwa dimana pada kolom thn_lulus dan j_kelamin
nilai datanya null.

Gambar 10.11. Query dengan Menggunakan Operator Logika

88
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

10.4.6. Select dengan Distinct


Key Word Distinct menghilangkan duplikasi pada baris baris sebagai Default,
Query menampilkan semua baris termasuk duplikasinya. Baris-baris yang memiliki
duplikasi dapat dieleminasi dengan menggunakan key word Distinct dalam pernyataan
Select .
Sintaks :
Select [ All | Distinct ] nama_kolom
From nama_tabel
Where Kondisi

Latihan10.10.
Buka database Akademik. Perintah berikut ini adalah menampilkan kolom nim dari table
Nilai dimana pada kolom nim yang terjadi duplikasi tidak dimunculkan.

Gambar 10.12. Query Menggunakan Keyword Distinct

10.4.7. Select Where dengan Operator String


Key Word Like digunakan untuk memilih baris-baris yang sesuai dengan
karakter yang digunakan. Like menggunakan karakter Wildcard yang bisa digunakan
sebagai expresi.

% Wildcard Deskripsi
% String Karakter
_ Garis Bawah Karakter Tunggal
[ ] Karakter tunggal dalam range tertentu
[ ^ ] Karakter tunggal yang tidak dalam range
tertentu

Latihan 10.11.
1. Buka database PMB, kemudian ketik perintah query berikut ini dengan
menggunakan Query Analyzer

Gambar 10.13. Query Menggunakan Operator String

89
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Perintah di atas menampilkan semua id_calon,nama_c dan tmp_lahir dari calon


mahasiswa dari table CalonMahasiswa yang namanya dimulai dengan kata Di.

2. Ketik perintah berikut pada Query Analyzer :

Gambar 10.14. Query dengan Operator String dan Wilcard

Perintah tersebut menampilkan baris dari tabel CalonMahasiswa dengan nama calojn
mahasiswa dimulai dengan dengan karakter pertama Huruf I dan huruf terakhir ni.

Latihan 10.12.
Buka database PMB, kemudian ketik perintah query berikut ini dengan menggunakan
Query Analyzer

Gambar 10.15. Query Menggunakan Operator %

Perintah di atas menampilkan semua data (all field/kolom) pada tabel CalonMahasiswa
yang namanya mengandung huruf t dan a.

Tugas 10.1
Anda aktifkan database PMB dengan Query Analyzer.
1. Tambahkan field agama_c, type Varchar, length = 10, null, pada tabel
CalonMahasiswa, setelah sukses, ketik perintah : Select * From CalonMahasiswa.
Perhatikan apa yang terjadi !.
2. Hapus field agama_c yang telah anda tambahkan sebelumnya pada table
CalonMahasiswa.
3. Tampilkan daftar semua calon mahasiswa yang jenis kelaminnya Pria dan tempat
lahirnya di Bekasi
4. Tampilkan daftar semua calon mahasiswa Wanita pada tabel CalonMahasiswa
dengan kolom yang ditampilkan id_c,nama_c,tgl_lahir,alamat,kota dan telpon.
5. Tampilkan daftar semua calon mahasiswa yang kota tinggalnya di Jakarta atau
Bekasi
6. Tampilkan daftar calon mahasiswa Wanita. yang kota tinggalnya di Bekasi Barat

90
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

7. Tampilkan daftar semua calon mahasiswa yang kota lahirnya di Bekasi Barat atau
Bekasi Timur, jenis kelaminnya Wanita dan tempat lahirnya di Bekasi
8. Tampilkan daftar semua calon mahasiswa yang tinggalnya di kota Bogor
9. Tampilkan daftar calon mahasiswa yang tidak mempunyai nomor telpon.
10. Tampilkan daftar calon mahasiswa tang tanggal lahirnya antara tanggal
15/01/1987 sampai 17/08/1988
11. Tampilkan daftar calon mahasiswa yang mengambil jurusan MI
12. Tampilkan daftar calon mahasiswa yang mengambil jurusan MI , TI dan SI
13. Tampilkan daftar calon mahasiswa yang melakukan pendaftaran pada tanggal
26/06/2005 dan jurusannya adalah MI atau TI.

Tugas 10.2.
Anda aktifkan database Personal dengan Query Analyzer.
1. Tampilkan karyawan bagian Keuangan (kodedivisi=E)
2. Tampilkan karyawan bagian Keuangan dan Personalia
3. Tampilkan karyawan wanita (sex=2) bagian Keuangan dan Personalia
4. Tampilkan karyawan laki-laki (sex=1) bagian Pemasaran (kodedivisi=B) yang belum
menikah (kodestatus=1)
5. Tampilkan karyawan wanita yang bergolongan B dan tinggal di Jakarta Selatan
6. Tampilkan karyawan wanita yang belum menikah (kodestatus=1) dari bagian
Pemasaran (kodedivisi=B) yang lahir dikota Semarang
7. Tampilkan karyawan laki-laki yang telah menikah (kodedivisi=D) dan bagian
Personalia (kodedivisi=A) yang tidak mempunyai anak.
8. Tampilkan karyawan yang statusnya Duda (kodestatus=3) dari bagian umum
(kodedivisi=C) yang kota lahirnya Jakarta dan anaknya >=3
9. Tampilkan semua karyawan dari bagian produksi (kodestatus=D) yang kota lahirnya
Semarang atau Jakarta yang tinggal di kota Jakarta Selatan

91
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 11
FUNGSI-FUNGSI SQL SERVER

11.1. Fungsi String


SQL Server menyediakan fungsi-fungsi String yang dapat digunakan sebagai
bagian dari ekspresi karakter manapun. Fungsi ini digunakan untuk bermacam-
macam operasi string. Antara lain :

CHAR : Mengembalikan karakter dari nilai kode ascii


CHAR (expresi Integer)
CHARINDEX : Fungsi ini digunakan untuk menentukan posisi awal dari suatu
karakter string (String 1) di dalam string lain (String 2).
Sintaks :
CHARINDEX (String1,string2)
LEFT : Fungsi ini digunakan menampilkan sejumlah tertentu karakter
dihitung dari sebelah kiri suatu karakter string.
Sintaks :
LEFT(String,Jumlah Karakter)
Contoh :
LEFT(Pendidikan Profesional,7)
Hasilnya= Pendidik

LEN : Menghitung panjang karakter string


Sintaks :
LEN ( String )
Contoh :
LEN (Profesional)
Hasilnya=11
LOWER : Fungsi ini digunakan untuk mengubah huruf besar menjadi kecil.
Sintaks :
LOWER (String)
Contoh :
Lower (GLOBAL INFORMATIKA)
Hasilnya=global informatika
LTRIM : Fungsi ini digunakan untuk menghilangkan karakter blank
disebelah kiri string.
Sintaks :
LTRIM (String)
Contoh :
LTRIM (Data base )
Hasilnya=Database
RIGHT : Fungsi ini digunakan untuk mengambil sejumlah karakter mulai
dari sebelah kanan.
Sintaks :
RIGHT( String, jumlah karakter)
Contoh :
RIGHT(LBPP GLOBAL,3)
Hasilnya=GLOBAL

RTRIM : Fungsi ini digunakan untuk menghilangkan setiap karakter


kosong dari ujung kanan suatu string.
Sintaks :
RTRIM (String)

92
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Contoh:
RTRIM ( Indo siar )
Hasilnya=Indosiar
Upper : Fungsi ini digunakan untuk mengubah huruf kecil menjadi besar
Sintaks :
Upper (String)
Contoh :
Upper ( revanda ghasaan)
Hasilnya=REVANDA GHASSAN

Contoh :
Buka Database PMB dengan query analyer, kemudian ketika perintah berikut ini pada
Query Analyzer :

Gambar 11.1 Query Menggunakan Fungsi String Upper


Perintah di atas menampilkan nama_c,telpon dan alamat dari able
CalonMahasiswa yang namanya mengandung huruf a dan n dan nama ditampilkan
dalam huruf besar.

Gambar 11.2. Query dengan Menggunakan Fungsi String Len

93
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 11.3. Query Menggunakan Fungsi String Lower

Perintah di atas menampilkan data pada tabel CalonMahasiswa yang ditampilkan kolom
nama_c, alamat dan telpon dimana pada kolom nama ditampilkan dengan huruf kecil
dan jumlah karakter pada kolom nama < 13.

11.2. Fungsi-Fungsi Agregate


SQL Server menyediakan fungsi untuk memproduksi hasil berupa rangkuman
tertentu sesuai dengan yang diinginkan. Fungsi Agregate yang tersedia sebagai berikut :

Fungsi Penjelasan
AVG Mencari Nilai Rata rata
SUM Menjumlahkan Nilai
MIN Mencari nilai minimum
MAX Mencari Nilai Maximum
COUNT Menghitung jumlah data

Fungsi AVG, SUM, MIN, MAX dan COUNT meng Ignore nilai Null sedangkan
fungsi COUNT() menghitung nilai Null.

Contoh :
Ketik perintah berikut pada Query Analyzer :

Gambar 11.4. Query dengan Menggunakan Fungsi Agregate Count

Gambar 11.5. Query Menggunakan Fungsi Agregate dengn Kondisi

94
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Perintah di atas menghitung jumlah calon mashasiswa yang melakukan pendaftaran


pada jurusan MI

Gambar 11.6. Query menggunakan fungsi agregate SUM


Perintah di atas menghitung total jumlah kapasitas ruang pada tabel Ruang.

Gambar 11.7. Query Menggunakan Fungsi Agregate dengan Kondisi

Perintah di atas menghitung kapasitas ruang dengan kriteria lokasi ruangnnya adalah
Kampus A

Gambar 11.8. Query menggunakan fungsi agregate SUM


Perintah di atas menghitung kapasitas ruang terkecill pada tabel Ruang.

Gambar 11.9. Query Menggunakan Fungsi Agregate MAX


Perintah di atas menghitung kapasitas ruang terbesar pada tabel Ruang.

95
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 11.10 Query Menggunakan Fungsi Agregate AVG

Perintah di atas menghitung Jumlah rata-rata kapasitas ruang pada tabel Ruang.

11.3. Group By Clausa


SQL Server menyediakan sebuah metode grouping (kelompok) hasil dengan
menggunakan Clausa Group By. Clausa Group By meringkas hasil kedalam group-
group (kelompok) yang didefinisikan dalam query dengan menggunakan Fungsi
Agregate. Clausa Having membatasi hasil lebih jauh, untuk menghasilkan data
berdasarkan pada sebuah kondisi.
Sintaks :
Select Daftar_list
From nama_tabel
Where Kondisi
[ Group By [ All ] expresi [,expresi]
[Having kondisi]
Keterangan :
Clausa Where dipakai untuk memfilter baris-baris dari operasi yang dinyatakan pada
Clausa From.
Clausa Group By dipakai untuk mengelompokkan hasil dari Clausa Where.
Clausa Having dipakai untuk memfilter baris-baris dari hasil pengelompokan.
Contoh :
Ketik perintah berikut ini dalam Query Analyzer :

Gambar 11.11. Query dengan Menggunakan Clausa Group By

11.4. Order By Clausa


Clausa Order By dipakai untuk mengurutkan hasil berdasarkan satu atau
beberapa kolom. Pengurutan dapat menaik (Asc) atau menurun (Desc), defaultnya
adalah Asc.

96
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Contoh :
Kita akan mengurutkan tabel CalonMahasiswa dari database PMB dengan pengurutan
Ascending, berdasarkan nama_c
Ketik perintah di bawah ini pada Query Analyzer :

Gambar 11.12. Query Menggunakan Clausa Order By Ascending

Gambar 11.13. Query Menggunakan Clausa Order By Descending

11.5. Clausa Compute dan Compute By


Dipakai untuk menghasilkan baris-baris baru yang berisi data detail & ringkasan.
Clausa Compute menghasilkan baris-baris detail dan sebuah baris yang berisi
ringkasannya (memakai Function Agregate).
Contoh:
Buka database Personal, kemudian akan ditampilkan kolom-kolom Nip,
nama, Sex, anak dan dihitung berapa jumlah anak dan karyawan pada akhir
baris.
Ketik perintah berikut ini pada Query Analyzer :

Gambar 11.14. Query Mengguanakan Clausa Compute dan Fungsi Agregate

97
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Clausa Compute By menghasilkan baris-baris baru dari data ringkasan, mirip dengan
Clausa Group By, tetapi menghasilkan baris-baris sebagai sub group dengan nilai
ringkasannya. Jika Anda menggunakan Clausa Compute By harus disertai dengan
Order By.

Contoh :
Akan ditampilkan data karyawan untuk kolom nip, nama, alamat, Kota Lahir, anak
secara berurutan berdasarkan kota lahir dan menghitung banyak karyawan dan anak
Yang dilahirkan di kota tersebut.

Ketik perintah berikut pada Query Analyzer :

Gambar 11.15. Query Menggunakan Clausa Compute BY dan Order By

Latihan 11.1
1. Buka database personal, tampilkan semua data pada tabel Karyawan dan hitung
jumlah anaknya.
Langkah Penyelesaian :
Ketik perintah berikut ini pada Query Analyzer, Lalu tekan F5

Gambar 11.16. Query dengan Clausa Compute

98
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2. Ingin diketahui jumlah karyawan setiap bagian (rekapitulasi jumlah karyawan


berdasarkan bagian) dengan format :

Bagian/Divisi Jumlah Karyawan

Langkah penyelesaian :
Gunakan Clausa Group By (pengelompokan) berdasarkan bagian, lalu ketik perintah
berikut pada Query Analyzer.

Gambar 11.17. Query dengan Group By dan Agregate Count

3. Ingin diketahui jumlah karyawan menikah (kodestatus=2) berdasarkan golongan


yang kota lahirnya Jakarta atau Semarang dengan format :

Golongan Jumlah Karyawan

Langkah Penyelesaian :
- Karena ingin diketahui jumlah karyawan
- Pergolongan (rekapitulasi berdasarkan Golongan) maka perintah yang
digunakan menggunakan clausa Group By dengan Where.
Aktifkan Query Analyzer dan ketik perintah berikut ini.

Gambar 11.18 Query Menggunakan Group By dengan Kondisi

99
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

4. Ingin diketahui jumlah anak berdasarkan kota lahir dari karyawan bagian Umum
(kodedivisi=C) yang golongannya D dengan format :
Kota Lahir Jumlah Anak

Langkah penyelesaian :
- Gunakan clausa Group By dengan Where
- Ketik perintah berikut ini pada Query Analyzer

Gambar 11.19. Query dengan Group By dengan Kondisi

5. Tampilkan semua karyawan Golongan B untuk setiap bagian dan jumlah anak dan
karyawan pada bagian tersebut.

Langkah penyelesaian :
Ketik perintah berikut ini pada Query Analyzer :

Gambar 11.20. Query Order by, compute dan count0

6. Tampilkan semua karyawan wanita perbagian yang sudah menikah berapa


jumlahnya dan berapa jumlah anak pada tiap-tiap bagian.

Gambar 11.21. Query dengan Menggunakan Compute By

100
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Tugas 11.1.
1. Ingin diketahui pada tabel karyawan jumlah seluruh karyawannya. (gunakan Fungsi
Agregate Count).
2. Ingin diketahui berapa jumlah karyawan bagian keuangan ?, dengan format :
Jumlah Karyawan Bagian Keuangan

3. Ingin ditampilkan jumlah anak pada karyawan pada bagian umum (kodedivisi=D)
Jumlah anak Bagian Umum

4. Ingin diketahui jumlah anak untuk setiap bagian yang kota tinggalnya di Jakarta
Selatan (gunakan statement where dengan clausa Group By dan Fungsi Agregate
Sum dengan format :

Bagian/Divisi Jumlah Anak

5. Ingin diketahui Jumlah anak karyawan dari setiap bagian yang bergolongan A atau
B yang kota lahir di Jakarta dan jumlah anak untuk tiap bagian >=5 (gunakan clausa
Group By dengan Having) format yang digunakan.

BAGIAN /DIVISI JUMLAH ANAK

6. Tampilkan semua karyawan wanita dan hitung jumlahnya, hitung juga jumlah
anaknya untuk setiap Bagian (gunakan Clausa Compute By dengan Order By
dengan Fungsi Agregate)
7. Tampilkan semua karyawan perbagian yang statusnya menikah dan tidak punya
anak dan tampilkan jumlah karyawannya.
8. Tampilkan semua karyawan wanita pergolongan yang sudah janda, tetapi tidak
punya anak yang tinggalnya di Jakarta ada berapa jumlahnya ?

11.6. Fungsi Tanggal


SQL Server menyediakan Fungsi Tanggal untuk memanipulasi data jenis
Datetime dengan menggunakan Operator Aritmatika.

Sintaks :
Select Fungsi_tanggal (parameter)

Beberapa fungsi tanggal antara lain :


Fungsi Sintaks Keterangan
DATEADD ( Datepart, number, Date ) Menambah datepart ke tanggal
sesuai dengan besar number
DATEDIFF ( Datepart, date, date2) Mengkalkulasi angka datepart
antara dua tanggal
DATEPART ( Datepart, date ) Mengembalikan datepart dari daftar
tanggal sebagai integer
DATENAME ( Datepart, date ) Mengembalikan datepart dari daftar
tanggal sebagai nilai Asci (contoh
101
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

October)
GetDate ( ) Tanggal dan Waktu sekarang

Komponen tanggal yang disebut Datepart digunakan untuk menentukan elemen


nilai tanggal untuk Aritmatika tanggal. Datepart dapat berupa :

Datepart Singkatan Nilai Keteangan


Year Tahun YY 1753-9999 8246 Thn
Quarter Kwartel QQ 1-4 4 Kwartal 1thn
Month Bulan MM 1-12 12 bln setahun
Day Of Year Hari ke DY 1-366 366 hari setahun
Day Tanggal DD 1-31 31 hari sebulan
Week Minggu WW 0-51 52 mingg se thn
1-7 (1=Sunday)
Weekday Hari DW 7 hari seminggu
Hour Jam HH 0-23 24 jam sehari
Minute Menit MI (0-59) 60 mnt sejam
Second Detik SS (0-59) 60 detik semenit
Milisecond Milidetik MS (0-999) 1000 mili sedetik

Contoh :
1. Pada Database PMB ditetapkan pelaksanaan perkuliahan ditetapkan 60 hari setelah
tanggal pendaftaran.
Langkah penyelesaian :
Karena pelaksanaan perkuliahan 30 hari setelah tanggal pendaftaran
=Tgl_daftar+60, maka fungsi yang digunakan adalah : DATEADD
(menambah data ke tanggal).
Sintaks :
DATEADD (Datepart,number,Date)
Datepart pada contoh ini adalah Day (tanggal)= dd
Lalu ketik perintah berikut ini pada Query Analyzer :
Lalu tekan F5 untuk mengeksekusi. Hasilnya terlihat seperti gambar di
bawah ini.

Gambar 11.22. Query dengan Fungsi Tanggal Dateadd

2. Pada tabel CalonMahasiswai ingin diketahui hari apa tanggal pendaftaran yang
dilakukan oleh calon mahasiswa.

102
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Langkah penyelesaian :
Karena ingin diketahui nama dari Tgl_daftar maka fungsi yang digunakan
adalah : DATENAME dengan Sintaks :
DATENAME ( Datepart,date )
Datepart pada contoh ini adalah Weekday (dw).
Ketik perintah dibawah ini pada Query Analyzer :
Lalu tekan F5. Hasilnya dapat dilihat pada gambar di bawah ini.

Gambar 11.23. Query dengan Menggunakan Fungsi Tanggal Datename

3. Ingin diketahui tanggal hari ini dan 15 hari setelah tanggal hari ini. Bentuk format
yang diinginkan adalah sebagai berikut :
Tanggal Hari Ini 15 Hari dari sekarang

Langkah penyelesaian :
Fungsi yang digunakan adalah Getdate() (fungsi untuk mengambil tgl
hari ini). Ketik perintah ini pada Query Analyzer :
Lalu tekan F5. Hasil seperti pada gambar di bawah ini.

Gambar 11.24. Query dengan Menggunakan Fungsi Tanggal GetDate( )

103
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 12
MANIPULASI DATA DENGAN BEBERAPA TABEL

12.1. Operator Join


SQL Server memiliki metode untuk mengambil data dari suatu tabel dengan
menggunakan Join. Join dipakai untuk mencari data dari beberapa tabel berdasarkan
hubungan yang logis dari tabel-tabel tersebut. Join menyatakan cara SQL Server
memakai data dari sebuah tabel untuk memilih data dari tabel lain. SQL Server dapat
menggabungkan tabel-tabel sampai 256 tabel.
Sintaks:
Select nama_kolom,nama_kolom,[nama_kolom]
From nama_tabel, [ Cross / Inner / [ Left / Right ] Outer ]
Join nama_tabel On nama_tabel.Ref_nama_kolom
OperatorJoin Nama_tabel.Ref_nama_kolom.

Keterangan :
Nama_kolom : menspesidikasikan nama kolom dari satu atau beberapa tabel
yang ditampilkan.
Nama_tabel : adalah nama tabel dari tabel yang diambil
Ref.nama_kolom : adalah nama_kolom yang digunakan menggabungkan dua tabel
dengan menggunakan kunci yang umum. Operator Join
menspesifikasikan operator yang digunakan untuk
menggabungkan tabel.

Join dapat dikelompokkan menjadi Inner Join danOuter Join.

12.1.1. Inner Join


Inner Join adalah sebuah Join yang menghasilkan baris-baris, minimal ada
sebuah baris di kedua tabel yang sesuai dengan kondisi Join. Baris-baris yang tidak
sesuai dengan sebuah baris dari tabel lain tidak ditampilkan. Default adalah Inner Join.
Contoh :
buka database PMB, lalu detik perintah berikut ini pada Query Analyzer :
Lalu tekan F5, maka nampak hasilnya pada gambar di bawah ini.

Gambar 12.1. Query dengan Join 2 table (a)

Perintah Select tersebut menghasilkan data yang mempunyai relasi antara tabel
CalonMahasiswa dan Jurusan, dimana yang ditampilkan kolomnya adalah
104
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

id_calon,nama_c dari table CalonMahasiswa dan kolom nama_j,jenjang dari table


Jurusan, dengan kriteria jurusannya adalah Manajemen Informatika. Contoh tersebut
dapat diubah dengan memakai kondisi Where.

Gambar 12.2. Query dengan menggunakan Join 2 table (b)

Contoh dengan tiga tabel :

Gambar 12.3. Query menggunakan join 3 tabel


12.1.2. Outer Join
Outer Join akan menghasilkan semua data dari sebuah tabel dan membatasi
data dari tabel lain . SQL Server mempunyai tiga buah tipe Outer Join yaitu Left, Right
dan Full. Semua baris dari tabel sebelah kiri diacu oleh sebuah left outer join, dan
sebuah baris dari tabel kanan diacu dengan Right outer join. Kegunaan dari outer join
adalah mencari record-record piatu, artinya record yang ada disebuah tabel tetapi tidak
ada pasangannya pada pada tabel lain.
Contoh :

105
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Ketik perintah berikut pada Query Analyzer :

Gambar 12.4. Query Menggunakan Left Outer Join

Terlihat bahwa pada kolom id_kelas dan tgl_registrasi bernilai null,



dikarenakan calon mahasiswa tersebut belum melakukan registrasi.
Contoh penggunaan Rigth Outer join :

Gambar 12.5. Query Menggunakan Right Outer Join

Hasil pernyataan select yang memakai pernyataan Right Outer Join adalah
semua baris dari tabel di sebelah kanan dan dari tabel di sebelah kiri hanya yang
memenuhi kondisi join artinya adalah data yang tampil 8 record adalah calon mahasiswa
yang telah melakukan registrasi.

Latihan 12.1.
1. Aktifkan database Personal
2. Tampilkan semua karyawan dan urutkan berdasarkan kota lahir dengan kolom yang
ditampikan NIP,NAMA,GAJI,DIVISI,KOTA_LAHIR,ANAK.
Langkah penyelesaian :
Kita lihat bahwa kolom yang akan ditampilkan ada pada 3 buah tabel yaitu tabel
Karyawan, Gaji, dan Divisi. Kolom gaji berada pada tabel gaji, kolom divisi berada
106
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

pada tabel Divisi. Kedua tabel tersebut berhubungan dengan tabel karyawan
berdasarkan kolom golongan dengan tabel Gaji dan kolom Kodedivisi dengan Tabel
Divisi.
Aktifkan Query analyzer dan ketik perintah berikut ini.

Gambar 12.6. Latihan Query Join 3 Table

3. Perhatikan hasil yang ditampilkan soal No.2. Jika yang ingin ditampilkan hanya
karyawan wanita yang belum menikah dan kota lahirnya Jakarta atau Semarang dan
diurutkan berdasarkan kota lahir.
Langkah penyelesaian :
Menggunakan clausa where dengan kondisi karyawan wanita
(sex=2) dan (kodestatus=1) and kota lahir Jakarta atau Semarang
Ketik perintah berikut ini pada Query Analyzer

Gambar 12.7. Latihan Query Menggunakan Join 3 table

4. Ingin diketahui jumlah,rata-rata, terbesar dan terkecil gaji karyawan untuk setiap
divisi. Format yang diinginkan adalah :

107
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

namadivisi Jumlah Gaji Rata Rata Gaji Gaji Terbesar Gaji Terkecil

Langkah penyelesaian :
Karena yang ingin ditampilkan rekapitulasi gaji berdasarkan divisi maka
perintah yang digunakan adalah select dengan clausa Group By dengan
fungsi agregate Sum, Avg, Max, Min
Aktifkan Query analyzer dan ketik perintah berikut ini :

Gambar 12.8. Latihan Query Menggunakan Join 3 table

5. Ingin ditampilkan jumlah gaji karyawan yang telah menikah berdasarkan divisi
Langkah Penyelesaian :
Karena yang ingin ditampilkan rekapitulasi gaji untuk karyawan menikah
berdasarkan divisi, maka digunakan Clausa Where dengan kondisi
kodestatus=2 (menikah)
Aktifkan Query analyzer dan ketik perintah berikut ini :

Gambar 12.9. Query Menggunakan Join, Group By dan Fungsi Agregate

108
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

6. Ingin ditampilkan jumlah gaji karyawan menikah perdivisi, yang jumlah gaji
perdivisinya >500000 (rekapitulasi berdasarkan divisi).
Langkah Penyelesaian :
Gunakan clausa having
Ketik perintah berikut ini :

Gambar 12.10. Query dengan Group dan Having

7. Tampilkan semua karyawan dan kelompokan berdasarkan kota lahir, tampilkan juga
jumlah karyawan , jumlah gaji, dan jumlah anak tiap-tiap kelompok.

Langkah penyelesaian :
Karena data akan dikelompokan, maka gunakan Clausa Group By
Ketik perintah berikut ini pada Query Analyzer :

Gambar 12.11. Query Menggunakan Compute By

109
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

8. Tampilkan semua karyawan menikah dan kelompokan berdasarkan divisi berapa


jumlah gaji dan rata-rata gaji.

Ketik perintah berikut ini pada Query Analyzer seperti gambar di bawah ini.

Gambar 12.12. Query Menggunakan Join, Order By dan Compute

9. Tampilkan semua karyawan wanita yang menikah dan kelompokkan


berdasarkan Divisi dan kota lahirnya Semarang dan Jakarta, tampilkan juga jumlah
anak dan rata-rata anak untuk setiap kelompok.

Langkah penyelesaian :
Gunakan Clausa Compute dengan kondisi Karyawan wanita menikah
kodestatus=1, sex=1 kota_lahirnya Jakarta dan Semarang
Ketik perintah berikut pada Query Analyzer

110
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 12.13. Query Menggunakan Join, Where dan Compute By

10. Tampilkan semua karyawan yang kota tinggalnya di Jakarta Barat atau Jakarta
Selatan dan kelompokkan berdasarkan Divisi, tampilkan gaji dan rata-rata gaji
perdivisi.

Gambar 12.13. Query dengan Clausa Where dan Compute By

Tugas 12.1.
1. Buat rekapitulasi gaji karyawan berdasarkan golongan dengan format sebagai
berikut :
Golongan Jumlah Gaji

111
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

2. Buat rekapitulasi gaji karyawan yang telah menikah berdasarkan golongan dengan
format sebagai berikut :
Golongan Jumlah Gaji

3. Tampilkan semua karyawan dan urutkan berdasarkan kota lahir dan tampilkan juga
jumlah seluruh gaji pada akhir baris
4. Tampilkan karyawan menikah dan urutkan berdasarkan kota lahir, tampilkan juga
jumlah seluruh gaji dan anak pada akhir baris
5. Tampilkan semua karyawan wanita yang telah menikah dan kelompokkan
berdasarkan divisi, tampilkan juga jumlah gaji perdivisi

12.2. Sub Query


Sub query adalah sebuah pernyataan select di dalam sebuah Select, Insert, Up
date atau Delete atau di dalam subquery lain. Itu semua dapat digunakan untuk
mengembalikan data dari beberapa tabel dan sebagai alternatif untuk join. Sub query
dapat bersarang atau berhubungan. Sub query yang bersarang dijalankan sekali pada
saat Outer Query dijalankan, dan sub query yang berhubungan dijalankan sekali untuk
setiap baris dihasilkan pada saat outer query dijalankan.
Contoh :
Aktifkan database NorthWind, lalu ketik perintah berikut ini :
Select ProductName From Products
Where UnitPrice=(Select UnitPrice From Products
Where ProductName=Outback Lager)

Gambar 12.14. Sub Query

Perintah di atas menampilkan nama produk dari tabel products yang harganya
sama dengan harga dari Outback Lager.
Cara kerja dari perintah tersebut adalah pertama dikerjakan sub query, yaitu :
Select UnitPrice From Products
Where ProductName=Outback Lager

Hasil query tersebut adalah harga dari barang Outback Lager.


Jika hasil tersebut dimasukkan ke dalam outer select maka perintahnya menjadi
Select ProductName From Products
Where UnitPrice=15

12.2.1. Petunjuk membuat Sub Query


Berikut ini adalah petunjuk didalam penulisan suatu sub query didalam
melakukan penelusuran data didalam database.
Sub query ditulis dalam tanda kurung
Anda hanya boleh memakai sebuah ekspresi atau nama kolom pada daftar
select dari sebuah sub query yang menghasilkan sebuah nilai
Anda dpat memakai sub query sebagai ganti sebuah ekspresi jika hasilnya
adalah sebuah nilai tunggal atau daftar nilai.
112
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Tidak boleh memakai sub query pada kolom-kolom yang berisi tipe data Teks
dan Image.
Sub query dapat dibagi dalam tiga kategori yang bergantung pada nilai pengembalian.
- Where <ekspresi> [ Not] In ( < Subquery>)

Hasil sub query yang memakai IN atau Not IN adalah daftar nilai yang berisi beberapa
nilai atau kosong, setelah sub query memberikan hasil, outer query akan memakainya.
Contoh berikut adalah sub query di dalam klausa where dan dipakai kata kunci IN, untuk
menampilkan Customer yang code posnya sama dengan salah satu suplier :
Select distinct CompanyName,Country
From Customers
Where Postalcode IN (Select Postalcode From Suppliers)

Gambar 12.15. Sub Query dengan menggunakan IN (a)

Aktifkan database Pubs, lalu ketik perintah berikut :


Select Publishers=Pub_name
From Publishers
Where Pub_Id IN ( Select Pub_Id From Titles
Where Type = business

Gambar 12.16. Sub Query dengan menggunakan IN (b)

12.2.2. Sub Query dengan Operator ALL dan ANY


Kata kunci ALL dan ANY membandingkan sebuah nilai skalar dengan sebuah
kolom yang berisi nilai-nilai. Kata kunci ALL dipakai pada setiap nilai dan kata kunci
ANY dipakai pada minimal sebuah nilai.
OPERATOR DESKRIPSI
Lebih besar dari nilai maksimum yang ada dalam daftar
> ALL Ekspresi. Nama_kolom > ALL (5,10,15)
Hasil ekspresi. Lebih besar dari angka 15

> ANY Lebih besar dari nilai minimum dalam daftar.


Ekspresi. Nama_kolom > ANY (5,10,15)
Hasil ekspresi lebih besar dari 5

113
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

= ANY Beberapa nilai dalam daftar sama seperti Klausa IN


Ekspresi. Nama_kolom =ANY(5,10,15)
Hasil. Sama dengan 5, atau 10 atau 15

<>ANY Ada beberapa nilai yang tidak sama dengan yang terdapat dalam daftar
Ekspresi : nama_kolom ANY (5,10,15)

<> ALL Semua nilai tidak sama dengan daftar


Ekpresi. Nama_kolom <> ALL (5,10,15)
Hasil. Tidak sama dengan 5,10,15
Tabel 12.1. Sub Query dengan operator ALL dan ANY

Contoh :
Select Title_Id,Title
From Titles
Where Price > ALL (Select Price From Titles
Where Pub_Id='0736')

Gambar 12.17. Sub Query dengan Menggunakan All

Select Title_Id,Title
From Titles
Where Price > ANY (Select Price From Titles
Where Pub_Id=0736)

Gambar 12.18. Sub Query dengan menggunakan Any

114
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

12.2.3. Sub Query yang berkolerasi


Pada sub query yang berkolerasi, sub query memakai informasi dari outer select
dan menjalankan untuk setiap baris pada outer select. Beberapa petunjuk untuk sub
query yang berkolerasi
Anda harus memakai alias untuk membedakan nama tabel.
Sub query yang berkolerasi biasanya dapat dinyatakan dengan Join.
Contoh :
Ingin ditampilkan Customers yang mengorder produk nomer 25 yang lebih besar dari 20
buah.
Langkah penyelesaian :
Aktifkan database NorthWind, lalu ketik perintah berikut ini :
Select OrderId, CustomerId
From Orders o
Where 20 < (Select Quantity From "Order Details" od
Where o.OrderId=od.OrderId And ProductId=25)

Gambar 12.19. Query Berkolerasi

115
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

BAB 13
INDEKS DAN PEMROGRAMAN SQL SERVER 2000

13.1. Indeks
Indeks ialah struktur tabel internal yang disediakan SQL Server untuk
mengakses baris-baris dari tabel berdasarkan nilai dari satu lebih kolom. Untuk
mempercepat pengaksesan data kita mengunakan indeks. Indeks juga akan membuat
baris-baris menjadi unique. Indeks dalam database sama dengan indeks dalam buku,
suatu indeks digunakan untuk menemukan informasi dengan cepat tanpa membaca
seluruh buku. Dalam suatu database, sebuah indeks digunakan untuk mencari data
pada suatu tabel tanpa melihat seluruh tabel.

a. Keuntungan menggunakan Indeks


 Meningkatkan kecepatan eksekusi query
 Membuat data menjadi unique
 Mempercepat penggabungan (Join) dari tabel tabel

b. Kekurangan menggunakan Indeks


 Membutuhkan ruang Disk untuk menyimpan
 Modifikasi data lebih lama ketika akan di Update
 Membutuhkan waktu untuk membuat suatu indeks

c. Petunjuk untuk memilih atribute dimana indeks akan dibuat


 Kolom-kolom yang sering digunakan select dan clausa Where
 Kolom-kolom yang akan digunakan dengan Group By atau Order By
 Kolom-kolom yang digunakan dalam penggabungan (join) seperti kolom foreign
key, jadi join tersebut dapat dieksekusi dengan cepat.
 Kolom yang digunakan sebagai Primary key

d. Jenis-Jenis Indeks
SQL Server menggunakan dua jenis indeks yaitu CLUSTER dan NON CLUSTER.

1. Clusterd
Indeks Clusterd mengorganisasikan baris-baris pada tabel ke dalam urutan
tertentu, seperti misalnya, secara alfabetis atau angka. Sebagai contoh, pada indeks
yang diurutkan secara alfabetis,record penulis bernama sondang akan berada dibawah
baris penulis manipul. Indeks jenis ini sempurna apabila anda tidak banyak melakukan
update data tabel, karena apabila isi dari field kunci diubah , tabel akan diorganisasikan
ulang. Hanya ada boleh satu indeks Clustered pertabel.

2. Non Clustered
Indeks non Clustered memiliki struktur yang terpisah dari tabel. Urutan fisik dari
baris tabel tidak mengikuti urutan file indeks. Indeks Non Clustered serupa dengan
indeks yang ditemukan pada akhir sebuah buku. Data diletakkan pada tempat lain.Data
file indeks disimpan dalam urutan yang berbeda yang tidak mengikuti urutan dari file
indeks Non Clustered. Setiap tabel bisa memiliki beberapa indeks ini.

Indeks juga bisa dikonfigurasikan sebagai unique, yaitu tidak boleh ada lebih dari
satu baris yang memiliki isi yang sama.

Untuk membuat suatu indeks, perintahnya adalah sebagai berikut:


Sintaks :
116
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

CREATE [ UNIQUE ] [ CLUSTERED|NONCLUSTERED] INDEX


index_name ON nama_tabel (nama_kolom [,nama_kolom] )

Keterangan :
Unique
Membuat sebuah indeks dimana tiap baris harus berisi nilai indeks yang berbeda.
Clustered
Menspesifikasikan sebuah Clustered indeks dimana data disortir pada atribute indeks.
NonClustered Indeks
Menentukan sebuah Non clustered indeks yang menspesifikasikan hanya logikal
ondering dari data, secara fisik data tidak disortir
Nama_indeks
Menspesifikasikan nama indeks
Nama_tabel
Menspesifikasikan tabel yang akan dibuat indeksnya
Nama_kolom
Menspesifikasikan nama kolom dimana indeks akan dibuat

Contoh :
Bentuk Index pada atribute Nip pada tabel Karaywan pada databse Personal. sekali
Nip ditambahkan data baru, maka akan secara otomatis terurut datanya secara
assending, setiap kali dilakukan update, delete atau insert data. Oleh karena itu Index
diperlukan .
Langkah penyelesaian :
Tentukan tabel yang indeksnya akan dibuat (contohKaryawan)
Tentukan atribute kolom yang akan dibuat indeksnya (Nip)
Tentukan nama indeksnya (KaryawanIdx)
Ketik perintah berikut pada query analyzer, lalu tekan F5 (Run)

Gambar 13.1. Membuat Indeks (1 kolom)

Gambar 13.2. Membuat Indeks (2 kolom)

117
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

13.2. Variabel
Semua bahasa pemrograman mengenal adanya variabel. Variabel ialah suatu
obyek untuk menyimpan data atau status. Anda menggunakan variabel untuk
menyimpan nilai sementara atau nilai yang dapat berubah pada saat program
dijalankan, sedangkan konstanta mempunyai nilai yang tetap.
Sintaks :
DECLARE @nama_variabel/tipe_data

Sebagai catatan bahwa simbol @ digunakan untuk mengidentifikasikan bahwa kata


yang mengikutinya ialah sebuah variabel.

View
View adalah tabel virtual yang disediakan oleh SQL Server yang berisi kolom
sebuah tabel atau lebih untuk mempermudah pengguna melihat atau mengakses data
yang sering dibutuhkan/penting.
Sintaks:
[CREATE VIEW nama_view
[(nama_kolom)]
AS pilih_pernyataan

Contoh:
Buka database PMB, lalu ketik query berikut ini.

Gambar 13.3. Create view

Pernyataan di atas akan membuat sebuah view bernama CalonMHS_View.


Anda dapat mengunakan view tersebut untuk melihat isi tabel yang terbentuk dari hasil
query seperti contoh berikut:

Gambar 13.4. Menampilkan CalonMHS_View

118
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Suatu saat mungkin Anda menginginkan view yang Anda buat bisa lebih banyak
menampilkan kolom pada suatu tabel. Anda dapat memodifikasi view tanpa harus
menghapusnya dengan menggunakan pernyataan ALTER VIEW.

13.3. Pemrograman pada Sistem


SQL Server menyediakan fungsi-fungsi khusus yang berhubungan dengan
sistem, di antaranya dapat Anda lihat pada Tabel di bawah ini :

Berapa contoh fungsi pada System


Nama Variabel Nilai yang dikembalikan
@ @ version Tanggal dari versi program
@ @ servername Nama Server
@ @ spid Server memprotes Nomor ID dari suatu proses
@ @ error Jika nilainya 0, transaksi terakhir sukses, jika tidak, akan
menampilkan nomor terakhir
@ @ connections Jumlah pengguna yang login
@ @ total_errors Jumlah total error yang terjadi selama SQL Server berjalan.
Tabel 13.1. Fungsi variable untuk sistem
Batch
Batch adalah sekumpulan pernyataan SQL yang dieksekusi oleh program SQL,
dalam waktu bersamaan.
Contoh : Aktifkan database Nortwind

Gambar 13.5. Contoh Batch

Batch akan dikompilasi dan dieksekusi. SQL Server mengkompilasi pernyataan


tersebut ke dalam satu unit eksekusi, disebut execution plan. Pernyataan-pernyataan
pada execution plan kemudian dieksekusi pada saat tersebut. Jika ada kesalahan
sintaks pada batch, batch tidak akan dieksekusi.

Menampilkan Pesan
Anda dapat menggunakan pernyataan PRINT untuk menampilkan pesan atau isi dari
variabel. Pesan tersebut bisanya digunakan untuk memberitahukan kepada pengguna
tentang suatu aktivitas yang telah terjadi.
Contoh:
DECLARE @ Nama_Saya char (40)
Select @ Nama_Saya = Setiyadi Mangunprodjo
PRINT @ Nama_Saya

119
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Pernyataan If Else
Anda dapat menggunakan IF..ELSE untuk mengeksekusi pernyataan SQL secara
bersyarat. Aksi tertentu akan dilakukan jika memenuhi syarat TRUE dan lainnya
dilakukan jika bernilai FALSE.
Sintaks:

IF pernyataan_ekspresi
{pernyataan_sql}
ELSE pernyataan_ekspresi
{pernyataan_sql}

dimana ekspresi_boolean ialah ekspresi bernilai TRUE atau FALSE.


Begin..End
Jika ada banyak pernyataan SQL, rangkaian tersebut harus dimulai dengan kata kunci
BEGIN dan ditutup dengan END.
Sintaks:
BEGIN
{pernyataan_sql}
END

13.4. Stored Procedure


Stored procedure adalah sekumpulan pernyataan SQL yang bernama, dan
tersimpan pada server. Stored procedure ialah metode yang efisien untuk pernyataan-
pernyataan enkapitulasi untuk eksekusi yang berulang. Stored procedure mendukung
penggunaan variabel dari pengguna, eksekusi kondisional, dan fasilitas pemrograman
yang powerful.
Stored procedure di SQL server mirip dengan procedure pada pemrograman
lainnya karena ia dapat :
Berisi sekumpulan pernyataan dan dipanggil oleh stored procedure yang lain
Menerima parameter input
Menghasilkan status nilai untuk sebuah pemanggilan stored procedure atau
batch untuk mengidentifikasikan sukses atau tidaknya transaksi.

SQL Server mendukung lima types stored procedure, yaitu system, user-defined,
temporary, remote dan extended.

13.4.1. Membuat Stored Procedure


Anda membuat stored procedure pada database yang sedang berjalan.
Membuat stored procedure mirip dengan view. Pertama, tulis dan test pernyataan sql
yang Anda inginkan untuk dimasukkan pada stored procedure. Lalu jika Anda menerima
hasil yang Anda harapkan, buat store procedure tersebut. Anda membuat stored
procedure menggunakan pernyatan CREATE PROCEDURE.
Sintaks:
CREATE PROC[EDURE] procedure_name
{;number]
[
{@ parameter data_type} = default] [OUTPUT]
]
[,n]
[WITH {RECOMPILE I ENCRYPTION I
RECOMPILE, ENCRYPTION}]
AS
Sql_statement [..n]

120
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Contoh:
Contoh berikut membuat stored procedure pada database PMB dengan nama
calonMHS yang menampilkan seluruh buku yang terlambat dikembalikan dari tabel loan.

Gambar 13.6. Buat prosedur (a)

Pernyataan berikut akan mengeksekusi stored procedure tersebut setelah terlebih


dahulu dieksekusi :

Gambar 13.7. Exec prosedur CalonMHS

Ketika pernyataan tersebut dieksekusi, maka akan menampilkan seluruh daftar


buku yang terlambat dikembalikan di perpustakaan. Terlihat sekali betapa efisiennya
fungsi stored procedure tersebut.

Latihan 13.1.
Membuat prosedur untuk menampilkan data jurusan dalam tabel Jurusan dari
database PMB.
Ketik perintah dibawah ini pada query analyzer

Gambar 13.8. Buat prosedur (b)

121
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Procedure tampilbuku telah anda ketik dalam query analyzer, dan selanjutnya
mengeksekusi dengan mengetik :

Gambar 13.9. Exec prosedur tampiljurusan

Menampilkan nama Karayawan yang jumlah naknya lebih besar dari =2 dari
table Karyawan pada database Personal, ketik prosedur tampilharga pada query
analyzer :

Gambar 13.10. Buat Prosedur (c)


Untuk mengeksekusi prosedur tampilharga dengan mengetik perintah diawah ini
pada query analyzer sebagai berikut :

Gambar 13.11. Exec prosedur tampilanak

13.4.2. Menggunakan parameter


Dalam prosedur dapat digunakan paramter input atau output. Nama pamareter
diawali dengan tanda @, yang dideklarasikan bersamaan penamaan prosedur.
Membuat prosedur tampilterbit untuk menampilkan nama karyawan dan
kodedivisi yang didasarkan pada input Divisi.
Ketik procedur tampildivisi pada query analyzer

122
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Gambar 13.12. Buat Prosedur (d)

Untuk mengeksekusi prosedur dengan mengetik nama prosedur dan diikuti


dengan nilai parameter. Misalkan data karyawan yang ditampilkan berdasarkan
kodedivisi=A.

Gambar 13.13. Exec prosedur tampildivisi A


13.5. Trigger
Trigger adalah tipe spesial dari store procedure yang berjalan secara event-
driven. Penggunaan umum dari trigger ialah :
Untuk menangani integritas data
Menangani audit record
Untuk memanggil aksi eksternal
Anda dapat menetapkan trigger untuk mengaktifkan suatu aksi ketika ada
modifikasi data pada suatu tabel, yaitu pernyataan.INSERT, UPDATE atau
DELETE.
Langkah pertama, buat table berikut dan aktifkan database Personal

Gambar 13.14. Create table Test_trigger

123
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Langkah kedua, masukkan data berikut :

Gambar 13.15. Insert data pada table Test_trigger

Gambar 13.16. Membuat Trigger Delete_test

Setelah pernyataan tersebut dieksekusi, coba Anda hapus sebuah baris dari
data yang telah Anda masukkan. Otomatis program akan menampilkan pesan He Mas
Di2x, Anda baru saja menghapus sebuah baris.

Gambar 13.17. Menghapus record


13.6. Transaksi
Sebuah transaksi dapat didefinisikan sebagai urutan operasi yang dihasilkan
bersama sebagai satu unit logis dari kerja. Sebuah unit kerja harus melewati empat sifat
yang disebut ACID (Atomicity, Consistency, Isolation dan Durability). Ada dua tipe
transaksi, yaitu: Commit Transaction dan Rollback Transaction.

13.6.1. Commit Transaction


Commit Transaction digunakan untuk mensukseskan eksekusi atau trasaksi jika
memenuhi syarat yang telah ditentukan sebelumnya.

13.6.2. Rollback Transaction


Pernyataan Rollback Transaction akan membatalkan transaksi jika transaksi
tersebut tidak memenuhi syarat, misalnya transaksi tidak diijinkan jika bertentangan
dengan constraint yang ada pada database tersebut.

124
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

Sebagai contoh, Anda buka database PUBS, lalu buat sebuah transaksi bernama
Transaksi_Baru.

Gambar 13.17. Membuat Commit dan rollback transaction

Pernyataan di atas akan membuat pengguna tidak dapat mengupdate data pada
tabel titles lebih dari 25.

125
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

DAFTAR PUSTAKA

1. Adi Nugroho, Konsep Pengembangan Sistem Basis Data, Penerbit Informatika,


Bandung.
2. Arbie, Manajemen Database dengan MySQL,Penerbit Andi Yogyakarta,2004
3. Bambang Hariyanto, Sistem Manajemen Basisdata, Pemodelan, Perancangan
dan Terapannya, Penerbit Informatika Bandung, 2004
4. Bambang Robiin, Manajemen dan Administrasi Database menggunakan SQL
Server 2000, Penerbit Andi Yogyakarta,2002
5. Didik Setiyadi,Tukino, Perancangan Database, SQL Server 2000, Modul
Praktikum, STMIK Bani Saleh, Bekasi, 2005
6. Feri Djuandi, SQL Server 2000 untuk Profesional, PT. Elex Media Komputindo,
Jakarta, 2002
7. Thomas M. Connolly,C.Begg, Anne D.S, Database System, Addison Wesley
Publishing Company, USA, 1996
8. Yuswanto, Panduan Belajar SQL Microsoft Access 2002, Penerbit Prestasi
Pustaka Surabaya, 2002

126
@ STMIK Eresha 2010 / www.didiksetiyadi.com
Materi Praktikum - SQL Server 2000

127
@ STMIK Eresha 2010 / www.didiksetiyadi.com

Anda mungkin juga menyukai