Anda di halaman 1dari 38

MODUL I

PENGANTAR DATABASE MANAGEMENT SYSTEM

Database Management System (DBMS) adalah software yang dapat


digunakan oleh user untuk berkomunikasi dengan data yang ada dalam media
penyimpanan (disk). Cara berkomunikasi user dengan data diatur dalam bahasa
SQL (Structured Query Language). SQL digunakan untuk memodifikasi dan
mengakses data atau informasi dari media penyimpanan yang disebut basis data.
SQL terdiri dari dari tiga kelompok yaitu: 1) Data Definistion Languange
(DDL), 2) Data Manipulation Languange (DML), dan 3) Data Control Languange
(DCL).

1.1 DATA DEFINITION LANGUANGE

Data Definistion Languange (DDL) adalah perintah-perintah yang digunakan


untuk mendefinisikan database, tabel, dan view atau index. Selain
mendefinisikan database, tabel, dan view atau index bahasa DDL juga digunakan
untuk penghapusan database, tabel, dan view atau index. Perintah yang dapat
digunakan pada DDL adalah:

a. Create
Perintah Create digunakan untuk mendefinisikan Database, Tabel, dan View
atau Index.
Contoh mendefinisikan database
CREATE DATABASE Nama_Database
CREATE DATABASE inventori
b. Drop
Perintah Drop digunakan untuk menghapus Database, Tabel, dan View atau
Index.

Modul Praktikum Basis Data 1


Fakultas Teknik Universitas Ibn Khaldun Bogor
Contoh menghapus database
DROP DATABASE Nama_Database
DROP DATABASE inventori

c. Alter
Perintah Alter digunakan untuk mengubah struktur dari tabel yang ada,
seperti untuk menambahkan atau menghapus kolom/filed, membuat atau
menghapus primary key, mengubah jenis kolom/field yang ada, juga dapat
mengubah nama kolom atau nama tabel.
Contoh:
1. Menambah Primary Key
ALTER TABLE nama_tabel ADD Primary key (nama_field)
ALTER table pasien ADD PRIMARY KEY (KdPasien)

2. Menambah Kolom/Field
ALTER TABLE nama_tabel ADD Nama_Field Tipe_Data(ukuran)
ALTER TABLE pasien ADD AlamatPasien varchar (50)

3. Mengubah struktur tabel untuk field AlamatPasien dari length (50)


menjadi length (40)
ALTER table pasien alter column AlamatPasien varchar(40)

2.2 DATA MANILATION LANGUANGE

Perbedaan mendasar antara Data Definition Language (DDL) dengan


Data Manipulation Language (DML) adalah DDL lebih menekankan pada
pemanipulasian struktur tabel sedangkan DML lebih menekankan pada
pemanipulasian isi tabelnya. Perintah dari DML adalah Insert, Delete,
Select, dan Update.

a. Insert
Digunakan untuk memasukkan data ke dalam kolom-kolom yang terdapat
pada tabel/view. Dalam mengisi data dapat dilakukan dengan secara penuh

Modul Praktikum Basis Data 2


Fakultas Teknik Universitas Ibn Khaldun Bogor
artinya setiap kolom pada tabel/view dalam satu record diisi semua atau
hanya kolom-kolom tertentu saja yang akan digunakan sebagai penampung
data.

Sintak 1
INSERT INTO nama_tabel VALUES (value1,value2,..,valueN)

Sintak 2
INSERT INTO nama_tabel (nama_field1, nama_field2,..,nama_fieldN)
VALUES (value1, value2,valueN)

insert into Mahasiswa values('005','Lina','20')

insert into mahasiswa (nim, nama)values ('006','lusi')

b. Update
Perintah update digunakan untuk melakukan editing pada isi dari kolom
(field) yang dipilih. Hal ini dilakukan untuk memperbaiki data lama, atau
untuk memperbaiki data yang disebabkan oleh kesalahan dalam
penginputan data

Sintak:
UPDATE table_name SET column_name=new_value

WHERE column_name=some_value

update Mahasiswa set nama='Maya' where nim='005'

c. Delete
Perintah DELETE digunakan untuk menghapus data dalam tabel yang
menjadi target

Sintak

DELETE FROM table_name

WHERE column_name = some_value


Modul Praktikum Basis Data 3
Fakultas Teknik Universitas Ibn Khaldun Bogor
delete from Mahasiswa where nim='006'

d. Select

Perintah SELECT digunakan untuk meyeleksi data berdasarkan syarat yang


diberikan. Dengan menggunakan perintah SELECT ini record dalam tabel
tertentu yang berjumlah ribuan bahkan jutaan dapat ditampilkan
berdasarkan syarat yang diinginkan oleh si pengguna

Sintak 1

SELECT * FROM table_name

Sintak 2

SELECT coloumn_name FROM table_name

select * from mahasiswa

select nim,nama from mahasiswa

Sintak 3
SELECT DISTINCT coloumn_name FROM table_name

DISTINCT digunakan apabila ingin menghilangkan duplikasi dari hasil


query (hasil query yang sama ditampilkan sekali).

Modul Praktikum Basis Data 4


Fakultas Teknik Universitas Ibn Khaldun Bogor
2.3 DATA CONTROL LANGUANGE
Data Control Languange (DCL) merupakan perintah SQL yang digunakan
untuk pengaturan basis data. Pengaturan yang dilakukan berupa, pengaturan
hak akses, pengaturan objek yang dapat diakses oleh user. DCL terdiri dari 2
perintah yaitu: GRANT, REVOKE.
Perintah GRANT digunakan untuk memberikan hak akses pada user, dan
REVOKE digunakan untuk mencabut hak akses yang telah diberikan pada
user.
Contoh
GRANT INSERT, UPDATE, DELETE On mahasiswa To Public
REVOKE SELECT On mahasiswa To Public

Modul Praktikum Basis Data 5


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL II
PENGGUNAAN DATABASE DBMS SQL SERVER 2008

2.1 Mengaktifkan SQL SERVER 2008


Dalam Praktikum Basis Data ini akan digunakan software DBMS SQL
SERVER 2008. Sebelum mendefinisikan basis data terlebih dulu diaktifkan
database engine dengan cara mengikuti langkah berikut:
1. Aktifkan SQL Server 2008 R2
2. Pilih Tab Connect
Berfungsi untuk menghubungkan kita dengan database

Modul Praktikum Basis Data 6


Fakultas Teknik Universitas Ibn Khaldun Bogor
3. Pilih Menu New Query
Pilih menu New Query untuk membuka page SQLQuery, page SQLQuery digunakan
sebagai lembar kerja untuk mengetikan perintah-perintah SQL

2.2 Berbagai Tipe Data

Ada beberapa tipe data yang dapat digunakan pada kedua table tersebut,
yaitu :
Tipe Data
Integer Keterangan
Bit Integer dengan nilai 0 atau 1
Int Nilai integer dengan nilai antara -2^31 atau (-
2.147.483.648) sampai 2^31-1 atau (+2.147.384.647)
Decimal atau Angka antara -10^38-1 sampai 10^38-1
Numeric
Money Nilai yang berhubungan dengan mata uang dari -2^63( -
922.377.203.685.477,5808) sampai 2^63-
1(922.377.203.685.477,5807)
Float -214.748,3648 sampai 1.79E+308
Real -3.40E+308 sampai 3.40E+38
DateTime 1 Januari 1973 sampai 31 Desember 9999

Modul Praktikum Basis Data 7


Fakultas Teknik Universitas Ibn Khaldun Bogor
SmallDateTime 1 Januari 1900 sampai 6 juni 2079, dengan ketelitian
hingga 1 menit

String Keterangan
Char Jumlah karakter tetap dengan ukuran maksimal 8000
karakter
Varchar Jumlah karakter variabel dengan ukuran maksimal 8000
karakter
Text Jumlah karakter variabel dengan ukuran maksimal
2.147.483.647 karakter

Unicode String Keterangan


NChar Jumlah karakter tetap dengan ukuran maksimal 4000
karakter
NVarchar Jumlah karakter variabel dengan ukuran maksimal 4000
karakter
NText Jumlah karakter variabel dengan ukuran maksimal
1.073.741.823 karakter

Binary String Keterangan


Binary Jumlah biner tetap dengan ukuran maksimal 8000 bytes
Varbinary Jumlah biner variabel dengan ukuran maksimal 8000
bytes
Image Jumlah karakter variabel dengan ukuran maksimal
2.147.483.647 bytes

Modul Praktikum Basis Data 8


Fakultas Teknik Universitas Ibn Khaldun Bogor
2.3 Mendefinisikan Database
Untuk mendefinisikan database digunakan perintah DDL, yaitu CREATE DATABASE
Cara mendefinisikan database
1. Ketikan Perintah untuk mendefinisikan nama Database
2. Create database Latihan, lalu klik tool Execute

3. Pilih menu Database pada Object Explorer


4. Klik Kanan menu Database
5. Klik Refresh, maka akan muncul nama database yang telah di definisikan

Modul Praktikum Basis Data 9


Fakultas Teknik Universitas Ibn Khaldun Bogor
Latihan 1
1. Lakukan Drop Database untuk menghapus database Latihan
Drop Database Latihan, lalu klik tombol Execute
2. Definisakan Database, dengan nama database Coba

Lakukan Latihan 1 ini, sampai Anda


benar-benar paham dan Hafal
- Anda sudah harus paham
perintah:
a. Create database
2.4 Mendefinisikan Tabel
b. Drop Database
1. Mendefiniskan Tabel pada database Latihan
a. Klik kanan database Latihan
b. Klik New Query

Modul Praktikum Basis Data 10


Fakultas Teknik Universitas Ibn Khaldun Bogor
2. Defenisikan tabel, sekaligus mendefiniskan field, terlihat pada gambar
dibawah ini

Create table Mahasiswa


(
nim varchar (3),
nama varchar (30),
noTelp varchar (15)
)

Modul Praktikum Basis Data 11


Fakultas Teknik Universitas Ibn Khaldun Bogor
Latihan 2
a. Buat tabel Dosen dan definisikan atribut sbb
(KdDos, NmDos, AlmDos, TelpDos)
b. Buat tabel Matakuliah dan definisakan atribut sbb (KdMk, NmMk,
Sks, Smt)

Lakukan Latihan 2 ini, sampai Anda benar-benar paham


dan Hafal

Anda sudah harus paham perintah:

a. Cara mendefinisikan tabel pada database


b. Cara mendefiniskan atribut

Modul Praktikum Basis Data 12


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL III
MANIPULASI DATA

Perintah yang digunakan untuk memanipulasi data adalah perintah


Manipulation Language (DML). Bahasa DML lebih menekankan pada pemanipulasian isi
tabelnya. Perintah dari DML adalah Insert, Delete, Select, dan Update.

Dalam memanipulasi data ini akan digunakan database Latihan, dengan


menggunakan tabel Mahasiswa

3.1 Menggunakan Perintah Insert


Digunakan untuk memasukkan data ke dalam kolom-kolom yang terdapat pada
tabel/view. Dalam mengisi data dapat dilakukan dengan secara penuh artinya
setiap kolom pada tabel/view dalam satu record diisi semua atau hanya kolom-
kolom tertentu saja yang akan digunakan sebagai penampung data.
Contoh

insert into Mahasiswa values('005','Lina','20')

insert into mahasiswa (nim, nama)values ('006','lusi')

3.2 Menggunakan Perintah Update


Perintah update digunakan untuk melakukan editing pada isi dari kolom (field) yang
dipilih. Hal ini dilakukan untuk memperbaiki data lama, atau untuk memperbaiki
data yang disebabkan oleh kesalahan dalam penginputan data.
Contoh
update Mahasiswa set nama='Maya' where nim='005'

3.3 Menggunakan Perintah Delete


Perintah DELETE digunakan untuk menghapus data dalam tabel yang menjadi target
Contoh

delete from Mahasiswa where nim='006'

Modul Praktikum Basis Data 13


Fakultas Teknik Universitas Ibn Khaldun Bogor
3.4 Menggunakan Perintah Select

Perintah SELECT digunakan untuk meyeleksi data berdasarkan syarat yang


diberikan. Dengan menggunakan perintah SELECT ini record dalam tabel tertentu
yang berjumlah ribuan bahkan jutaan dapat ditampilkan berdasarkan syarat yang
diinginkan oleh si pengguna

Contoh 1

select * from mahasiswa

select nim,nama from mahasiswa

Contoh 2

DISTINCT digunakan apabila ingin menghilangkan duplikasi dari hasil query (hasil
query yang sama ditampilkan sekali)

select distinct namabrg from Barang

3.5 Penggunaan Klausa Where

SQL dapat menggunakan penghubung logika

AND (Dan)

OR (Atau)

NOT (Bukan)

Pada klausa WHERE

Operand-operand untuk penghubung logika dapat diekspresikan menggunakan


operator

Modul Praktikum Basis Data 14


Fakultas Teknik Universitas Ibn Khaldun Bogor
Operator Keterangan

= Sama Dengan

< Lebih Kecil

<= Lebih Kecil Sama dengan

> Lebih Besar

>= Lebih Besar Sama dengan

<> atau != Tidak Sama dengan

BETWEEN Pembandingan

LIKE Pencocokan String atau karakter

a. Perintah SELECT menggunakan klausa WHERE dan Operator Logika

SELECT column_name FROM table WHERE column operator value

select kodebrg from barang


where namabrg='monitor' and stokbrg <30

select namabrg from barang


where stokbrg <30

b. Perintah SELECT menggunakan klausa WHERE , Operator Logika dan


Between
Contoh 1:

select kodebrg from barang


where namabrg='monitor'and stokbrg between 20 and 50

select namabrg from barang


where stokbrg between 20 and 50

Modul Praktikum Basis Data 15


Fakultas Teknik Universitas Ibn Khaldun Bogor
c. Perintah SELECT menggunakan klausa WHERE , Operator Logika dan LIKE
Operasi yang paling sering digunakan pada string adalah pola pencocokan
menggunakan operator LIKE. Kita mendeskripsikan pola dengan 2 karakter
khusus yaitu :

1. Persen (%)
Mencocokkan string apa saja

2. Garis Bawah ( _ )
Karakter _ mecocokkan karakter apa saja

Pola-pola bersifat sensitif case, yaitu membedakan huruf besar dan huruf
kecil. Untuk menggambarkan pencocokan ini, perhatikan sintak dan contoh
berikut

Sintak

SELECT column_name FROM table WHERE column LIKE

Contoh:

select * from barang where namabrg like '_oni___'

select * from barang where namabrg like '_oni%'

3.6 Penggunaan ALIAS

Perintah alias digunakan untuk mengganti nama kolom tabel. Mengganti disini
maksudnya tidak dalam arti memodifikasi nama kolom tabel yang sebenarnya tapi
hanya pada level penampilannya.

Modul Praktikum Basis Data 16


Fakultas Teknik Universitas Ibn Khaldun Bogor
Contoh1

select kodebrg as [Kode Barang] from Barang

Contoh 2

3.7 Penggunaan Fungsi AGREGAT

Fungsi-fungsi Agregat adalah fungsi-fungsi yang mengambil koleksi (suatu


himpunan atau beberapa himpunan) dan mengembalikan satu nilai tunggal. SQL
menyediakan 5 fungsi Agregat baku yaitu :

NO Fungsi AGREGAT Keterangan

1 AVG Rata-rata

2 MIN Terkecil

3 MAX Terbesar

Modul Praktikum Basis Data 17


Fakultas Teknik Universitas Ibn Khaldun Bogor
4 SUM Nilai keseluruhan (Total)

5 COUNT Banyak data

a) Menggunakan Fungsi Angregat COUNT

Contoh 1

Contoh 2

b) Menggunkan fungsi agregat AVG

Modul Praktikum Basis Data 18


Fakultas Teknik Universitas Ibn Khaldun Bogor
c) Menggunakan fungsi agregat MAX

d) Mengunakan fungsi agregat MIN

e) Mengunakan fungsi agregat SUM

3.8 Penggunaan Sortir dan Filter

Klausa ORDER BY dapat dipergunakan untuk menghasilkan query yang terurut,


untuk mengurutkan data dapat digunakan dengan 2 metoda, yaitu: a) Urutan
menaik (ASC), b) Urutan menurun (DESC).

Modul Praktikum Basis Data 19


Fakultas Teknik Universitas Ibn Khaldun Bogor
a) Menggunakan DESC

b) Menggunakan ASC

Modul Praktikum Basis Data 20


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL IV
MEBUAT DIAGRAM

Sebelum diagram relasi antar table dibangun, kita akan coba mendefinisikan
database Inventori pada DBMS SQL Server 2008. Buatlah sebuah basis data dengan
nama Inventori, diasumsikan bahwa ada lima entitas yang terlibat, yaitu entitas Suplier,
Barang, Pelanggan, dan transaksi Barang Masuk, dan Tansaksi Barang Keluar. Dari
entitas yang berinteraksi tersebut ditransformasikan kedalam bentuk tabel seperti
dibawah ini

1. Nama Tabel : Suplier


Primary Key : KodeSup
Foregin Key :-
No Nama Field Type Size Keterangan

1 KodeSup Varchar 5 Kode Supiler

2 NamaSup Varchar 20 Nama Suplier

3 AlamatSup1 Varchar 30 Alamat Suplier 1

4 AlamatSup2 Varchar 30 Alamat Suplier 2

5 KotaSup Varchar 20 Kota tempat tinggal Suplier

6 TelpSup1 Varchar 15 Telphon Suplier 1

7 TelpSup2 Varchar 15 Telphone Suplier 2

8 KontakSup Varchar 20 Kontak person yang dihubungi

Modul Praktikum Basis Data 21


Fakultas Teknik Universitas Ibn Khaldun Bogor
2. Nama Tabel : Barang
Primary Key : KodeBrg
Foreign Key :-
No Nama Field Type Size Keterangan

1 KodeBrg Varchar 5 Kode Barang

2 NamaBrg Varchar 20 Nama Barang

3 SatuanBrg Varchar 10 Satuan Barang

4 StokBrg Int 4 Stok Barang

3. Nama Tabel : Pelanggan


Primary Key : KodePlg
Foreign Key :-
No Nama Field Type Size Keterangan

1 KodePlg Varchar 5 Kode Pelanggan

2 NamaPlg Varchar 20 Nama Pelanggan

3 AlamatPlg1 Varchar 30 Alamat Pelanggan 1

4 AlamatPlg2 Varchar 30 Alamat Pelanggan 2

5 KotaPlg Varchar 20 Kota tempat tinggal Pelanggan

6 TelpPgl1 Varchar 15 Telphon Pelanggan 1

7 TelpPgl2 Varchar 15 Telphon Pelanggan 2

8 KontakPlg Varchar 20 Kontak person yang dapat dihubungi

Modul Praktikum Basis Data 22


Fakultas Teknik Universitas Ibn Khaldun Bogor
4. Tabel Transaksi Barang Masuk
Nama Tabel : Tbl_Masuk
Primary Key : NoTbm
Foreigen Key : KodeBrg, KodeSup
No Nama Field Type Size Keterangan

1 NoTbm Varchar 5 Nomor Transaksi barang Masuk

2 KodeBrg Varchar 5 Kode Barang

3 KodeSup Varchar 5 Kode Suplier

4 JumlahTbm Int 4 Jumlah barang

5 Tgl_Transaksi Datetime 8 Tanggal transaksi

5. Tabel Transaksi Barang Keluar


Nama Tabel : Tbl_Keluar
Primary Key : NoTbk
Foreign Key : KodeBrg, KodePlg
No Nama Field Type Size Keterangan

1 NoTbk Varchar 5 Nomor Transaksi barnag Keluar

2 KodeBrg Varchar 5 Kode Barang

3 KodePlg Varchar 5 Kode Suplier

4 JumlahTbk Int 4 Jumlah barang

5 Tgl_Transaksi Datetime 8 Tanggal transaksi

Modul Praktikum Basis Data 23


Fakultas Teknik Universitas Ibn Khaldun Bogor
Penyelesaian
1. Mendefinisikan Database
create database inventori

2. Mendefiniskan Tabel Master

create table Suplier


(
kodesup varchar(5)not null,
namasup varchar(20),
alamatsup1 varchar(30),
alamatsup2 varchar(30),
kotasup varchar(20),
telpsup1 varchar(15),
telpsup2 varchar(15)
constraint PKSuplier primary key (kodesup)
)

create table Pelanggan


(
kodeplg varchar(5)not null,
namaplg varchar(20),
alamatplg1 varchar(30),
alamatplg2 varchar(30),
kotaplg varchar(20),
telpplg1 varchar(15),
telpplg2 varchar(15)
constraint PKPelanggan primary key (kodeplg)
)

3. Mendefiniskan Tabel Transaksi

create table BarangMasuk


(
notbm varchar (5),
kodebrg varchar (5)FOREIGN KEY REFERENCES Barang (kodebrg),
kodesup varchar (5)FOREIGN KEY REFERENCES Suplier(kodesup),
jumlahtbm int,
tgltransakasi datetime,
constraint PKBarangMasuk PRIMARY KEY (notbm)
)

create table BarangKeluar


(
notbk varchar (5),
kodebrg varchar (5)FOREIGN KEY REFERENCES Barang (kodebrg),
kodeplg varchar (5)FOREIGN KEY REFERENCES Pelanggan(kodeplg),
jumlahtbk int,
tgltransakasi datetime,
constraint PKBarangKeluar PRIMARY KEY (notbk)
)

Modul Praktikum Basis Data 24


Fakultas Teknik Universitas Ibn Khaldun Bogor
4. Mengisi Tabel Barang
insert into barang values('00005','monitor','unit',20)
insert into barang values('00001','CPU','unit',30)
insert into barang values('00002','Harddisk','unti',11)
insert into barang values('00003','Mouse','unit',30)
insert into barang values('00004','Keyboard','unti',15)

5. Mengisi Tabel Pelanggan


insert into Pelanggan values ('P0001','Susi Rahma','jln. Mawar
No 10','jln. Suci No.11','Bogor','0251-332269','081311333444')

insert into Pelanggan values ('P0002','Rina Marzuki','jln.


Angsa No 4','jln. Mahkota No.12','Bogor','0251-
222269','081311333444')

insert into Pelanggan values ('P0003','Wyn Dhe Chierry','jln.


Mahkota No 4','jln. Perak No.20','Bogor','0251-
222277','081311333444')

insert into Pelanggan values ('P0004','Marzuki','jln. Bengawan


No 10','jln. Mahkota No.12','Bogor','0251-
222269','081311333444')

insert into Pelanggan values ('P0005','Chierry','jln. Musi No


14','jln. Perak No.20','Bogor','0251-222277','081311333444')

6. Mengisi Tabel Suplier


insert into Suplier values ('S0001','Deni Rahman','jln. Mawar
No 10','jln. Suci No.11','Bogor','0251-332269','081311333444')

insert into Suplier values ('S0002','Eka Prasetyo','jln. Angsa


No 4','jln. Mahkota No.12','Bogor','0251-
222269','081311333444')

insert into Suplier values ('S0003','Abdul Wahab','jln. Mahkota


No 4','jln. Perak No.20','Bogor','0251-222277','081311333444')

insert into Suplier values ('S0004','Naya Kirana','jln.


Bengawan No 10','jln. Mahkota No.12','Bogor','0251-
222269','081311333444')

insert into Suplier values ('S0005','Chierry','jln. Musi No


14','jln. Perak No.20','Bogor','0251-222277','081311333444')

Modul Praktikum Basis Data 25


Fakultas Teknik Universitas Ibn Khaldun Bogor
7. Mengisi Tabel BarangMasuk
insert into BarangMasuk
values('K0001','00002','S0002',5,'10/01/2014')

insert into BarangMasuk


values('K0002','00001','S0001',5,'02/01/2014')

insert into BarangMasuk


values('K0003','00003','S0001',5,'02/01/2014')

8. Mengisi Tabel BarangKeluar


insert into BarangKeluar
values('M0001','00002','P0002',5,'10/01/2014')

insert into BarangKeluar


values('M0002','00001','P0001',5,'02/01/2014')

insert into BarangKeluar


values('M0003','00003','P0001',5,'02/01/2014')

Setelah menyelesaikan studi kasus diatas (database Inventori) kita dapat


membuat diagram relasi antar tabel. Langkah-langkah pembuatan diagram relasi
tersebut adalah:
1. Klik database inventori pada Object Explorer
2. Klik kanan mouse pada Database Diagram
3. Klik New Database Diagram

Modul Praktikum Basis Data 26


Fakultas Teknik Universitas Ibn Khaldun Bogor
4. Maka akan tampil daftar tabel yang akan direlasikan seperti berikut, klik
tombol Add, untuk membuat relasi tabel

5. Hasil relasi antar tabel dari database inventori adalah sebagai berikut

Modul Praktikum Basis Data 27


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL V
BEKERJA DENGAN MULTI TABLE

Hal yang perlu diperhatikan ketika bekerja dengan banyak tabel adalah
nama kolom dan nama tabel sumber data, serta syarat yang akan digunakan
sebagai penghubung tabel.
Basic Join adalah mengambil data dari banyak tabel, dimana nama-nama tabel
yang terlibat ditulis semua dengan menggunakan koma sebagai pemisah antar
tabel.
Contoh 1
Menampilkan semua transaksi barang masuk

select BarangMasuk.notbm,BarangMasuk.kodebrg,Barang.namabrg
from BarangMasuk,Barang
where BarangMasuk.kodebrg=Barang.kodebrg

select * from BarangMasuk

select * from Barang

untuk mengetahui nomor transaksi barang masuk (notbm) dan kode barang
masuk (kodebrg), kita perlu melibatkan tabel BarangMasuk, untuk mengetahui
nama barang (namabrg) masuk, kita perlu melibatkan tabel Barang. Output dari
sintak tersebut diatas adalah sebagai berikut:
Output

Modul Praktikum Basis Data 28


Fakultas Teknik Universitas Ibn Khaldun Bogor
Contoh 2
Untuk menampilkan semua barang yang disuplai oleh suplier S0001, adalah
sebgai berikut:
Select * from BarangMasuk
where kodesup='S0001'

output

Pada contoh 2 ini, kita tidak dapat mengetahui nama barang yang disuplai, dan
siapa nama supliernya. Untuk mengatahui nama barang apa yang di suplai oleh
suplier S0001 kita dapat merefrensi tabel Barang, Tabel Suplier. Hal ini
ditunjukkan pada contoh 3 berikut:

Contoh 3
Menampilkan semua barang yang disuplai oleh suplair S0001

Select
BarangMasuk.kodebrg,BarangMasuk.tgltransakasi,Barang.namabrg,Supli
er.namasup
from BarangMasuk,Barang,Suplier
Where BarangMasuk.kodebrg=Barang.kodebrg and
Suplier.kodesup=BarangMasuk.kodesup and Suplier.kodesup='S0001'

Output

Contoh 4
Pada contoh ini akan digunakan operasi aritmetik (perkalian) antara satu
bilangan dengan kolom atau antar kolom yang satu dengan kolom yang lain baik
dalam satu tabel maupun berlaianan tabel.

Modul Praktikum Basis Data 29


Fakultas Teknik Universitas Ibn Khaldun Bogor
Diasumsikan harga barnag dengan kodebrg=00001 adalah Rp. 50.000,-, maka
akan mendapatkan nilai total hasil perkalian antara harga barang dengan jumlah
barang yang masuk, untuk operasi perkalian dapat digunakan tanda * (bintang).
Select
BarangMasuk.kodebrg as [Kode Barang],
BarangMasuk.tgltransakasi as [Tanggal Transaksi],
Barang.namabrg as [Nama Barang],
BarangMasuk.jumlahtbm * 50000 as [Total],
Suplier.namasup[Nama Suplier]
from BarangMasuk,Barang,Suplier
Where BarangMasuk.kodebrg=Barang.kodebrg and Barang.kodebrg=
'00001'
and Suplier.kodesup=BarangMasuk.kodesup and
Suplier.kodesup='S0001'

output

Contoh 4
Menampilkan semua barang yang dibeli oleh Pelanggan P0001
Select
BarangKeluar.notbk as [No Transaksi],
Barang.namabrg as [Nama Barang],
BarangKeluar.jumlahtbk as [Jumlah Barang],
BarangKeluar.tgltransakasi as [Tanggal Transaksi],
Pelanggan.namaplg as [Nama Pelanggan]
from BarangKeluar, Barang, Pelanggan
Where BarangKeluar.kodebrg=Barang.kodebrg and
BarangKeluar.kodeplg=Pelanggan.kodeplg
and Pelanggan.kodeplg='P0001'

Output

Modul Praktikum Basis Data 30


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL VI
STORED PROCEDURE

Stored procedure merupakan suatu perintah yang terdapat dalam basis data, dan
digunakan sebagai penyingkat perintah. Sql Server menyediakan berbagai macam
fasilitas termasuk didalamnya adalah Stored Procedure. Stored procedure dapat
dieksekusi oleh user lain, dengan syarat memiliki izin yang cukup. Berikut ini beberapa
hal yang dapat dikerjakan dengan object stored procedure

1. Memebuat stored procedure


2. Merubah script Transact SQL
3. Memungkinkan untuk mengaktifkan SQL Server Startup
4. Untuk mengendalikan hak akses
5. Menghapus stored procedure
Untuk dapat menciptakan stored procedure dapat digunakan statement Transact-
sql. Berikut ini beberapa hal yang harus diperhatikan sebelum membuat stored
procedure.

1. Izin pembuatan stored procedure diberikan kepada pemilik database, tetapi


penggunaan stored procedure dapat diberikan kepada user lain
2. Stored procedure merupakan bagian dari object database, dan untuk pemberian
nama dalam pembuatan stored procedur eharus mengikuti aturan yang berlaku
dalam pembuatan object database
3. Stored procedure hanya dapat diciptakan pada database yang saat ini ada
4. Dalam pembuatan stored procedure yang perlu ditetapkan adalah parameter
masukan dan parameter keluaran, sedangkan statement program yang akan
melaksanakan operasi didalam basis data termasuk dalam pemanggilan
procedur lain
5. Status nilai akan dikembalikan pada batch atau procedure untuk dilakukan
penandaan adalah kegagalan atau kesuksesan eksekusi
Untuk membuat stored procedure alangkah baiknya jika nama stored procedure
diawali dengan tiga karakter yaitu SP_ , yang diikuti dengan nama stored procedure.
Nama stored procedure dapat dieksekusi dari database manapun, hal ini dapat terjadi

Modul Praktikum Basis Data 31


Fakultas Teknik Universitas Ibn Khaldun Bogor
sebab dalam pembuatan stored procedure telah diwajibkan menyebutkan nama
database tempat stored procedure diletakkan secara utuh.

6.1 Membuat Stored procedure

Pembuatan Stored procedure melalui SQL Query tetap harus memperhatikan


sintak pembuatan stored procedure

Contoh 1
Stored Procedure untuk menampilkan data barang

use inventori
if exists (select name from sysobjects
where name = 'SP_TampilBarang')
drop procedure SP_TampilBarang
go
create procedure SP_TampilBarang
as
select * from barang

Statement use inventori digunakan untuk mengaktifkan penggunaan database


inventori, sedangkan pada statement berikutnya adalah proses pemeriksaan nama
stored procedure didalam sysobjects, jika nama stored procedure yang dimaksud
ditemukan maka akan dilakukan penghapusan stored procedure, setelah proses
penghapusan nama stored procedure yang sama dengan stored procedure yang akan
dibuat sukses maka akan dikerjakan proses pembuatan stored procedure baru.

Untuk melihat hasil dari pembuatan stored procedure SP_TampilBarang


gunakan perintah berikut

exec SP_TampilBarang atau execute SP_TampilBarang atau


SP_TampilBarang

Modul Praktikum Basis Data 32


Fakultas Teknik Universitas Ibn Khaldun Bogor
Contoh 2

Stored Procedure untuk menampilkan barang yang dibeli oleh pelanggan P0001

use inventori
if exists (select name from sysobjects
where name = 'SP_TampilPelanggan')
drop procedure SP_TampilPelanggan
go
create procedure SP_TampilPelanggan
as

Select
BarangKeluar.notbk as [No Transaksi],
Barang.namabrg as [Nama Barang],
BarangKeluar.jumlahtbk as [Jumlah Barang],
BarangKeluar.tgltransakasi as [Tanggal Transaksi],
Pelanggan.namaplg as [Nama Pelanggan]
from BarangKeluar, Barang, Pelanggan
Where BarangKeluar.kodebrg=Barang.kodebrg and
BarangKeluar.kodeplg=Pelanggan.kodeplg
and Pelanggan.kodeplg='P0001'

Exec SP_TampilPelanggan

Output

6.2 Stored Procedure dengan Parameter

Nilai parameter digunakan sebagai parameter masukan bagi strored procedure


yang bersangkutan. Pada beberapa contoh diatas telah disajikan bagaimana membuat
stored procedure tanpa parameter (seperti Contoh 2).

Apabila tidak digunakan nilai sebagai parameter masukkan dalam pembuatan


stored procedure maka akan ditemui kendala apabila user ingin menggunakan stored
procedure tersebut, sedangkan kode pelanggan yang akan diambil bukan P0001 tetapi
P0002, maka akan terlalu merepotkan jika harus melakukan statement stored
procedure yang bersangkutan, dapat dibayangkan jika dalam lima menit sekali kode
pelanggan yang ingin ditampilkan berbeda-beda tentunya hal ini akan semakin
memperlamabat pekerjaan kita.

Modul Praktikum Basis Data 33


Fakultas Teknik Universitas Ibn Khaldun Bogor
Untuk membuat parameter nilai dalam stored procedure maka harus dilakukan
adalah mendeklarasikan parameter tersebut kedalam sebuah variabel dengan type data
yang sesuai. Gunakan tanda @ untuk mendeklarasikan variabel tersebut.

Contoh 1

Stored procedure untuk menampilkan data barang dari tabel barang dengan
menyertakan paramaeter nilai kode barang sebagai parameter masukan.

use inventori
if exists (select name from sysobjects
where name = 'SP_TampilBarang')
drop procedure SP_TampilBarang
go
create procedure SP_TampilBarang
@kodebrg varchar (5)
as
select * from barang where kodebrg=@kodebrg

Pada statement program diatas terdapat @kodebrg dengan type data varchar
dideklarasikan sebagai parameter nilai, sedangkan parameter select * from barang, nilai
yang akan ditampilkan adalah kode barang yang sesuai dengan parameter nilai yang
dimasukkan.

Exec SP_TampilBarang '00002'

Mengeksekusi Storage Procedure SP_TampilBarang dengan parameter input @kodebrg


adalah 00002

Output

Contoh 2
Stored Procedure menapilkan nama barang yang di beli oleh pelanggan sesuai
dengan parameter input @kodeplg

Modul Praktikum Basis Data 34


Fakultas Teknik Universitas Ibn Khaldun Bogor
use inventori
if exists (select name from sysobjects
where name = 'SP_TampilPelanggan')
drop procedure SP_TampilPelanggan
go
create procedure SP_TampilPelanggan
@kodeplg varchar (5)
as

Select
BarangKeluar.notbk as [No Transaksi],
Barang.namabrg as [Nama Barang],
BarangKeluar.jumlahtbk as [Jumlah Barang],
BarangKeluar.tgltransakasi as [Tanggal Transaksi],
Pelanggan.namaplg as [Nama Pelanggan]
from BarangKeluar, Barang, Pelanggan
Where BarangKeluar.kodebrg=Barang.kodebrg and
BarangKeluar.kodeplg=Pelanggan.kodeplg
and Pelanggan.kodeplg=@kodeplg

Exec SP_TampilPelanggan 'P0002'

output

Modul Praktikum Basis Data 35


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL VII
TRIGGER

Trigger merupakan prosedure tersimpan yang akan bekerja apabila suatu tabel
diberikan respon tertentu, misalnya respon penambahan, penghapusan dan
pengubahan. Prosedur-prosedur dalam pembuatan trigger diletakkan dalam tabel, hal
ini berarti trigger sebenarnya merupakan bagian dari tabel. Penggunaan trigger pada
kasus yang cukup sederhana adalah proses pembagian waktu (hari, bulan dan tahun)
yang tidak diketahui oleh user pada suatu transaksi tertentu, sehingga diharapkan dari
penggunaan trigger tersebut user tidak dapat melakukan perubahan setting waktu
tersebut.
7.1 Memebuat Trigger Melalui SQL Query

use inventori

create table TBtes_Trigger


(
noinvois varchar(10),
kodebrg varchar(5),
namabrg varchar(20),
tanggal datetime
)

/*Memebuat Trigger*/
create trigger [trg_waktu] on [dbo].[TBtes_Trigger]
for insert
as
declare @noinvois varchar(10)
select @noinvois=noinvois from inserted
update TBtes_Trigger set tanggal=getdate()
where noinvois=@noinvois

/*Mengisi Trigger*/
use inventori
insert into TBtes_Trigger(noinvois,kodebrg,namabrg)
values('100000000','B0002','monitor')
select * from TBtes_Trigger

Modul Praktikum Basis Data 36


Fakultas Teknik Universitas Ibn Khaldun Bogor
MODUL VIII
VIEW

View digunakan sebagai tabel bayangan, sehingga pada operasi-operasi


permintaan data pengguna tidak langsung mengakses tabel. Dengan menggunakan view
pengguna seolah-olah bekerja dengan tabel yang sebenarnya

Pada perintah dibawah ini akan dibuat sebuah view dengan nama
Tampil_Barang. Pada perintah baris pertama berfungsi untuk mengaktifkan database
Inventori, sedangkan pada baris kedua digunakan untuk memeriksa didalam schema
views apakah view dengan nama Tampil_Barang telah ada, dan jika ditemukan maka
akan dilakukan penghapusan dengan menjalankan perintah drop view . selanjutnya
adalah perintah untuk membuat view dengan tujuan untuk menampilkan data barang
pada tabel barang

use inventori
if exists (select table_name from information_schema.views
where table_name='Tampil_Barang')
drop view Tampil_Barang
go
create view Tampil_Barang
as
select * from barang

Untuk menjalankan view Tampil_Barang yang telah dibuat, gunakanan perintah


select seperti dibawah ini

select * from Tampil_Barang

Output

Modul Praktikum Basis Data 37


Fakultas Teknik Universitas Ibn Khaldun Bogor
Modul Praktikum Basis Data 38
Fakultas Teknik Universitas Ibn Khaldun Bogor

Anda mungkin juga menyukai