Вы находитесь на странице: 1из 33

BAB III

SQL SERVER

3.1. Tujuan
1. Praktikan dapat menggunakan dan membuat database sederhana dengan SQL
Server.
2. Praktikan mampu membuat basis data berdasarkan ERD (Entity Relationship
Diagram).
3. Dapat mengetahui penggunaan dan perbedaan antara primary key dengan
foreign key pada suatu database.
4. Dapat membuat sebuah relasi antar database dengan menggunakan perintah
left join, right join, dan inner join.
5. Dapat mengkoneksikan SQL Server dan mengkonfigurasi database

42
43

3.2. Dasar Teori


1. Pengertian MS. SQL Server
Microsoft SQL Server adalah sebuah sistem manajemen
basis data relasional (RDBMS) produk Microsoft. Bahasa query
utamanya adalah Transact-SQL yang merupakan implementasi
dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan
Sybase. Umumnya SQL Server digunakan di dunia bisnis yang
memiliki basis data berskala kecil sampai dengan menengah, tetapi
kemudian berkembang dengan digunakannya SQL Server pada
basis data besar.
Microsoft SQL Server dan Sybase/ASE dapat
berkomunikasi lewat jaringan dengan menggunakan protokol TDS
(Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga
mendukung ODBC (Open Database Connectivity), dan
mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur
yang lain dari SQL Server ini adalah kemampuannya untuk
membuat basis data mirroring dan clustering. Pada versi
sebelumnya, MS SQL Server 2000 terserang oleh worm komputer
SQL Slammer yang mengakibatkan kelambatan akses Internet
pada tanggal 25 Januari 2003.
(Sumber : Modul 2 BAB III SQL Server Praktikum SBD 2017)

2. Kunci (Key)
Kunci merupakan Key adalah satu gabungan dari beberapa atribut
yang dapat membedakan semua basis data (row) dalam tabel secara unik. Key
di dalam database berfungsi sebagai suatu cara untuk mengidentifikasi dan
44

menghubungkan satu tabel data dengan tabel yang lain. Kunci yang sering
digunakan yaitu primary key dan foreign key.
Primary Key adalah suatu nilai dalam basis data yang digunakan untuk
mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik.
key dengan 3 kriteria sbb :
■ Key tersebut lebih natural untuk dijadikan acuan
■ Key tersebut lebih sederhana
■ Key tersebut uniqe (unik / tidak mungkin sama)
Foreign Key adalah satu set atribut sebagai key penghubung
kedua tabel dan melengkapi satu relationship (hubungan) terhadap
primary key yang menunjukan keinduknya.
Jika sebuah primary key terhubungan ke table/entity lain,
maka keberadaan primary key pada entity tersebut di sebut sebagai
foreign key.
(Sumber : Modul 2 BAB III SQL Server Praktikum SBD 2017)

3. Entity Relationship Diagram (ERD)


ERD merupakan model data berupa notasi grafis dalam pemodelan
data konseptual yang menggambarkan hubungan antara penyimpan. Model
data sendiri merupakan sekumpulan cara, peralatan untuk mendeskripsikan
data-data yang hubungannya satu sama lain, semantiknya, serta batasan
konsistensi. Model data terdiri dari model hubungan entitas dan model
relasional. Diagram hubungan entitas ditemukan oleh Peter Chen dalam buku
Entity Relational Model-Toward a Unified of Data. Chen mencoba
merumuskan dasar-dasar model dan setelah itu dikembangkan dan
dimodifikai oleh Chen dan banyak pakar lainnya.
45

Gambar 3.1 Tabel ERD beserta Keterangan

Dalam penggunaannya, atribut dibagi menjadi beberapa jenis:


a. Atribut tunggal : Atribut yang disusun hanya dari satu komponen
tunggal dengan keberadaan bebas. Contoh: nama, jenis kelamin
b. Atribut komposit : Atribut yang disusun dari banyak komponen yang
masing-masing keberadaannya bebas. Contoh: alamat
c. Atribut key : Digunakan untuk mengidentifikasikan suatu entitas secara
unik. Contoh: NIM
d. Atribut multivalue : Atribut yang mengandung banyak nilai. Contoh: hobi
e. Atribut turunan : Atribut yang mengandung nilai di mana nilai tersebut
bisa diperoleh dari hasil kalkulasi atribut lain. Contoh: umur
Dalam basis data dikenal dengan istilah kardinalitas, yaitu menjelaskan
jumlah maksimum hubungan antara satu entitas dengan entitas lainnya. Jenis
rasio kardinalitas:
a. One to one (1 : 1)
b. One to many (1 : M)
c. Many to many (M : M)
(Sumber: https://id.wikipedia.org/wiki/Diagram_hubungan_entitas)
46

d) Join
Join digunakan untuk menggabungkan beberapa tabel pada database
yang berhubungan untuk ditampilkan kepada user. Dalam MySQL terdapat
beberapa cara untk melakukan join tabel, diantaranya:
a. Inner Join
Digunakan untuk menggabungkan beberapa tabel yang memiliki nilai yang
sama.
b. Outer Join
Pada outer join, data pada salah satu tabel akan ditampilkan semua, sedangkan
data pada tabel yang lain hanya akan ditampilkan jika data tersebut ada pada
tabel pertama. Pada Outer Join dibagi menjadi dua, yaitu:
i. Left Join
Pada Left Join, semua data pada tabel sebelah kiri akan ditampilkan,
sedangkan data pada tabel disebelah kanan hanya akan ditampilkan jika data
terkait pada tabel tersebut muncul di tabel sebelah kiri.
ii. Right Join
Data pada tabel sebelah kanan akan ditampilkan semua, sedangkan data pada
sebelah kiri hanya ditampilkan jika data terkait pada tabel tersebut muncul
pada tabel sebelah kanan.
(Sumber : Modul 2 BAB III SQL Server Praktikum SBD 2017)
47

3.3.Langkah Kerja

1. Install terlebih dahulu SQL Server 2014 Management Studio. Menggunakan


versi ExpressAndTools 64BIT\ SLEXPRWT_x64_ ENU.exe. Lalu buka SQL
Server 2014 Management Studionya.
2. Tampilan pertama akan keluar pop up “connect to server”
Isikan sesuai Server Name = PRAKTIKUMSBD kemudian klik connect.

Gambar 3.2 Tampilan pertama SQL Server 2014

Syarat pertama untuk membuat database, tentu kita harus membuat


server sql terlebih dahulu.

3. Lalu membuat database baru dengan meng-klik new query.


48

Gambar 3.3 Membuat database baru


Kita bisa membuat database melalui query, dan nantinya kita
mengisikan perintah query.

4. Kemudian ketikkan perintah


CREATE DATABASE nama_database;

Gambar 3.4 Membuat database baru melalui query


Query tersebut adalah perintah untuk membuat database baru yang kita
inginkan.

Note : Untuk run/execute perintah klik execute (F5)


5. Atau bisa juga dengan menggunakan cara klik kanan pada Database-New
database.
49

Gambar 3.5 Membuat database baru melalui new database


Kita bisa menggunakan klik kanan tersebut untuk membuat database
tanpa melalui perintah query.

6. Kemudian masukan nama database-klik ok

Gambar 3.6 Membuat nama database


Pertama kita mengisikan nama database yang akan kita buat, disini
kita mengisikan nama database dengan ‘kelompok_57’.

7. Aktifkan/memilih database dengan perintah


USE nama_database;

Gambar 3.7 Memilih database yang telah dibuat


Kita menggunakan query tersebut untuk memilih database yang telah
dibuat.
50

8. Membuat tabel dengan mengetik perintah


CREATE TABLE nama_tabel
(nama_kolom_ntipe_data([ukuran]) );
Membuat tabel mahasiswa:

Gambar 3.8 Membuat tabel Mahasiswa pada database


Query tersebut digunakan untuk membuat tabel ‘mahasiswa’ dan
membuat kolom didalam tabel tersebut, seperti ‘NIM’, ‘Nama’, ‘Angkatan’,
dan ‘Kode_Doswal’.

9. Berikutnya membuat tabel dosen dengan mengetik perintah

Gambar 3.9 Membuat tabel Dosen Siskom pada database


Disini kita membuat table yang kita inginkan, yaitu table
‘Dosen_Siskom’ dengan kolom ‘Kode_Doswal’ dan ‘Nama_Doswal’.

10. Isikan data pada tabel dengan perintah :


51

INSERT INTO nama_tabel


VALUES (‘isian_kolom_1’, ’isian_kolom_2’, ’isian_kolom_n’);
Mengisi tabel mahasiswa:

Gambar 3.10 Mengisi tabel mahasiswa


Query tersebut berfungsi untuk memasukkan data yang kita inginkan
kedalam table ‘mahasasiswa’.

11. Untuk melihat isi tabel yang telah dimasukkan, menggunakan perintah:
SELECT * FROM nama_tabel;
52

Gambar 3.11 Melihat isi tabel mahasiswa


Disini kita menampilkan data dari mahasiswa yang didapat dari table
‘mahasiswa’ yang sudah kita isikan sebelumnya.

12. Isikan data pada table DOSEN:

Gambar 3.12 Mengisi tabel dosen


Query ini digunakan untuk mengisikan data pada table
‘Dosen_Siskom’ sesuai dengan nilai yang dituliskan.

13. Untuk melihat isi tabel yang telah dimasukkan, ketik perintah:
53

s
Gambar 3.13 Melihat tabel dosen
Perintah ini digunakan untuk menampilkan table dosen yang
didapatkan dari table ‘Dosen_Siskom’

14. Join Tabel:


a. Inner Join
54

Gambar 3.14 Inner Join tabel dosen dan mahasiswa

Inner Join berguna untuk menggabungkan tabel dan harus


membutuhkan satu kolom unik yang ada pada primary key maupun foreign
key. Apabila ada foreign key maupun primary key yang kosong, penggunaan
fungsi ini hanya akan memunculkan data yang foreign key-nya memiliki
record yang isi saja.

b. Left Join
55

Gambar 3.15 Left Join tabel dosen dan mahasiswa


Left Join merupakan penggabungan tabel dimana data akan
ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada
tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.
c. Right Join
56

Gambar 3.16 Right Join tabel dosen dan mahasiswa


Right Join memiliki fungsi yang bertolak belakang dengan left join,
dimana right join akan menampilkan data secara keseluruhan pada tabel kedua
(kanan), namun NULL pada tabel pertama (kiri).
57

3.4.Hasil Percobaan dan Analisa Percobaan

Gambar 3.17 Tampilan Awal SQL Server


Tampilan awal saat membuka Microsoft SQL server 2014.

Gambar 3.18 Membuka new query


Membuka query pada SQL Server.

CREATE DATABASE kelompok_57;


58

Gambar 3.19 Perintah Membuat Database


Membuat database dengan query CREATE DATABASE kelompok_57;.

Gambar 3.20 Membuat Database Menggunakan Klik Kanan pada Database


Membuat databse dengan cara lain, dengan mengeklik database-new database.
59

Gambar 3.21 Tampilan pada New Database


Menuliskan nama databse yang akan di buat pada kolom databse name.

USE kelompok_57

Gambar 3.22 Mengaktifkan/memilih database

Untuk memilih databse yang akan digunakan kita menggunakan USE


kelompok_57.

CREATE TABLE MAHASISWA(


NIM VARCHAR (15) PRIMARY KEY NOT NULL,
NAMA VARCHAR (25) NOT NULL,
MATKUL INT NOT NULL,
KODE_DOSWAL VARCHAR (4)
);
60

Gambar 3.23 Membuat Tabel Mahasiswa


Selanjutanya membuat table mahasiswa yang berisikan nim,
nama, matkul, dan juga kode doswal.

CREATE TABLE DOSEN_SISKOM(


KODE_DOSWAL VARCHAR (4) PRIMARY KEY NOT NULL,
NAMA_DOSWAL VARCHAR (50) NOT NULL,
);

Gambar 3.24 Membuat Tabel Dosen Siskom


Lalu buat tabel dosen wali yang berisikan kode doswal sama nama doswal.

INSERT INTO MAHASISWA VALUES (21120116120008, ’AGST’,


2016, 1001)
(21120116130035, ’ALFIAN’, 2016, 1002)
(21120116120001, ‘HAFIDZ’, 2016, 1003);
61

Gambar 3.25 Mengisi Tabel Mahasiswa

Mengisikan tabel mahasiswa yang tadi udah di buat dengan query


INSERT INTO MAHASISWA VALUES (isi kolom yang sudah di
buat);.

SELECT * MAHASISWA;
62

Gambar 3.26 Melihat Tabel Mahasiswa

Untuk melihat isi tabel kita gunakan perintah SELECT * FROM


nama_tabel;.

INSERT INTO DOSEN_SISKOM VALUES


(1001, 'RINTA'),
(1002, 'TEGUH'),
(1003, ‘RIZAL’),
(1004, ‘KODRAT’);
63

Gambar 3.27 Mengisi Tabel Dosen Siskom

Mengisi tabel dosen_siskom seperti query diatas.

SELECT * FROM DOSEN_SISKOM;

Gambar 3.28 Melihat Isi Tabel Dosen Siskom

Untuk melihat isi tabel Dosen_Siskom kita gunakan SELECT * FROM


DOSEN_SISKOM;.

1. Join Tabel :
a. Inner Join
64

SELECT A.NIM, A.NAMA, B.NAMA_DOSWAL AS DOSEN_SISKOM FROM


MAHASISWA AS A INNER JOIN DOSEN_SISKOM AS B
ON A.KODE_DOSWAL = B.KODE_DOSWAL;

Gambar 3.29 Inner Join


Inner Join berguna untuk menggabungkan tabel dan harus
membutuhkan satu kolom unik yang ada pada primary key maupun foreign
key. Apabila ada foreign key maupun primary key yang kosong, penggunaan
fungsi ini hanya akan memunculkan data yang foreign key-nya memiliki
record yang diisi saja. Pada inner join diatas foreign key KODE_DOSWAL;.

b. Left Join
SELECT A.NIM, A.NAMA, B.NAMA_DOSWAL AS DOSEN_SISKOM
FROM MAHASISWA AS A LEFT JOIN DOSEN_SISKOM B
ON A.KODE_DOSWAL = B.KODE_DOSWAL;
65

Gambar 3.30 Left Join


Left Join merupakan penggabungan tabel dimana data akan
ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada
tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.

c. Right Join
SELECT A.NIM, A.NAMA, B.NAMA_DOSWAL AS DOSEN_SISKOM
FROM MAHASISWA AS A RIGHT JOIN DOSEN_SISKOM B
ON A.KODE_DOSWAL = B.KODE_DOSWAL;
66

Gambar 3.31 Right join


Right Join memiliki fungsi yang bertolak belakang dengan left join,
dimana right join akan menampilkan data secara keseluruhan pada tabel kedua
(kanan), namun NULL pada tabel pertama (kiri).
67

3.5.Tugas Praktikum

Gambar 3.32 ERD Database Rumah Sakit

ERD tersebut merupakan rancangan database rumah sakit yang akan


dibuat. Pada database ini, nantinya akan terdapat 3 entitas atau tabel, yaitu
tabel pasien, dokter, dan bangsal. Database ini akan dibuat di SQL Server
2014 Management Studio. Adapaun langkah-langkahnya adlaha sebagai
berikut,

1. Membuat database
Untuk membuat database menggunakan query berikut,

CREATE DATABASE rs_kelompok57;

Gambar 3.33 Create Database rs_kelompok57

2. Menggunakan database yang telah dibuat


68

Untuk menngunakan database rs_kelompok57 yang telah dibuat dapat


dilakukan dengan menggunakan perintah USE rs_kelompok 57 seperti query
berikut
USE rs_kelompok57;

Gambar 3.34 USE rs_kelompok57

3. Membuat Tabel dan Atribut


Pada kali ini akan ada tiga table yang akan dibuat, yaitu tabel pasien,
dokter, dan bangsal. Yang maana ditiap tabel tersebut terdapat kolom atau
atribut sesuai dengan yang ada di gambar ERD di atas.
 Create Table Pasien
CREATE TABLE pasien (
nama_pasien varchar(20) NOT NULL,
id_pasien int(3) NOT NULL,
no_rekam_medis int(5) PRIMARY KEY NOT NULL,
alamat varchar(15) NOT NULL,
id_dokter int(3));

Gambar 3.35 Query Create Table Pasien

Terdapat 5 atribut yaitu nama_pasien, id_pasien, no_rekam_medis,


alamat, dan id_dokter. Primary key disini adalah no_rekam_medis.
69

 Create Tabel Dokter


CREATE TABLE dokter (
id_dokter int(3) PRIMARY KEY NOT NULL,
no_rekam_medis int(5),
nama_dokter varchar(20) NOT NULL,
spesialisasi varchar(15) NOT NULL);

Gambar 3.36 Query Create Table Dokter

Terdapat 4 atribut yaitu id_dokter, no_rekam_medis, nama_dokter,


dan spesialisasi. Primary key disini adalah id_dokter.

 Create Tabel bangsal

create table bangsal (


no_rekam_medis int(5),
kode_bangsal int(3) PRIMARY KEY NOT NULL,
nama_bangsal varchar(15) NOT NULL,
lokasi_bangsal varchar(15) NOT NULL);

Gambar 3.37 Query Create Table Bangsal

Terdapat 4 atribut yaitu no_rekam_medis, kode_bangsal,


nama_bangsal, dan lokasi_bangsal.. Primary key disini adalah kode_bangsal.

4. Mengisi Data Pada Atribut


 Insert Into Pasien
insert into pasien VALUES
70

('Toni', 101, 10001, 'Sigarbencah', 203),


('Alex', 102, 10002, 'Sumurboto', 202),
('Bobo', 103, 10003, 'Bunderan', 205);

Gambar 3.38 Insert Into Pasien


Dimasukkan 3 data seperti pada query di atas dengan tanpa menyebut
nama kolom agar lebih singkat.

 Insert Into Dokter

insert into dokter VALUES


(201, NULL, 'Banu', 'Bedah'),
(202, 10002, 'Chloe', 'THT'),
(203, 10006, 'Steven', 'Mata'),
(204, NULL, 'Andy', 'Jantung'),
(205, 10003, 'Ana', 'Kulit');

Gambar 3.39 Insert Into Dokter

Dimasukkan 5 data seperti pada query di atas dengan tanpa menyebut


nama kolom agar lebih singkat. Terdapat data yang NULL karena tidak semua
dokter merawat pasien.

 Insert Into Bangsal


insert into bangsal VALUES
(10001,501,'Kamboja','Depan'),
(10002,503,'Anggrek','Belakang'),
(10003,502,'Melati','Tengah'),
71

(10009, 504, 'Sinta','Samping');

Gambar 3.40 Insert Into Bangsal

Dimasukkan 4 data seperti pada query di atas dengan tanpa menyebut


nama kolom agar lebih singkat. Semua ruang masuk ke dalam basis data,
namun tak semua ruang ditempati oleh pasien.

5. Menampilkan Data Tabel dengan INNER JOIN, RIGHT JOIN, dan LEFT
JOIN
 INNER JOIN

SELECT p.no_rekam_medis, p.nama_pasien, d.nama_dokter,


d.spesialisasi, b.nama_bangsal, b.lokasi_bangsal
FROM pasien as p
INNER JOIN dokter as d
ON p.no_rekam_medis = d.no_rekam_medis
INNER JOIN bangsal as b
ON p.no_rekam_medis = b.no_rekam_medis

Gambar 3.41 Hasil Inner Join Table Bangsal, Dokter, dan Pasien
72

Source code diatas merupakan source code untuk menampilkan data


tabel dengan inner join. Syarat pen join-an 3 tabel adalah dalam ketiga tabel
tersebut terdapat atribut yang sama. Pada inner join tidak ada data yang NULL
karena data yang ditampilkan adalah data yang mana ditabel kanan dan kiri
semuanya ada.
 RIGHT JOIN

SELECT p.no_rekam_medis, p.nama_pasien, d.nama_dokter,


d.spesialisasi, b.nama_bangsal, b.lokasi_bangsal
FROM pasien as p
RIGHT JOIN dokter as d
ON p.no_rekam_medis = d.no_rekam_medis
RIGHT JOIN bangsal as b
ON p.no_rekam_medis = b.no_rekam_medis

Gambar 3.42 Hasil Right Join Table Bangsal, Dokter, dan Pasien

Source code diatas merupakan source code untuk menampilkan data


tabel dengan right join. Syarat pen join-an 3 tabel adalah dalam ketiga tabel
tersebut terdapat atribut yang sama. Pada right join terdapat data yang NULL.

 LEFT JOIN

SELECT p.no_rekam_medis, p.nama_pasien, b.nama_bangsal,


b.lokasi_bangsal, d.nama_dokter, d.spesialisasi
FROM pasien as p
LEFT JOIN dokter as d
ON p.no_rekam_medis = d.no_rekam_medis
LEFT JOIN bangsal as b
73

ON p.no_rekam_medis = b.no_rekam_medis

Gambar 3.43 Hasil Left Join Table Bangsal, Dokter, dan Pasien

Source code diatas merupakan source code untuk menampilkan data


tabel dengan left join. Syarat pen join-an 3 tabel adalah dalam ketiga tabel
tersebut terdapat atribut yang sama. Pada left join terdapat data yang NULL.
74

3.6.Kesimpulan

1. SQL Server 2014 Management Studio merupakan server yang dapat


digunakan untuk membuat suatu database sederhana, dan juga mirip seperti
phpMyadmin.
2. Dalam penggunaan query pada SQL Server 2014 Management Studio hampir
sama dengan phpmyadmin.
3. Untuk menampilkan suatu struktur tabel yang telah dibuat pada SQL Server
2014 Management Studio, dapat menggunakan perintah DESC
4. Perintah SELECT dapat digunakan untuk menampilkan seluruh data table,
atau menampilkan sebagian data table.
5. Dalam membuat suatu database, akan lebih tertata rapih jika membuat ER
diagramnya terlebih dahulu, karena ERD merupakan suatu rancangan program
dalam membuat database.

Вам также может понравиться