modul prakt basis data 1 - ilkom

39
Praktikum Basis Data 1 Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 1 PENGENALAN MS-SQL Server 1. Tujuan Materi: 1. Mahasiswa mampu melakukan instalasi MS-SQL Server 2. Mahasiswa mampu mengenali lingkungan kerja DBMS MS-SQL Server 2. Dasar Teori Mungkin ada yang masih bingung beberapa istilah SQL, SQL Server, MySQL, PostgreSQL, Oracle. Nah mulai sekarang “ojo bingung-bingung”. SQL adalah bahasa perintah (query) dalam SQL Server atau PostgreSQL, yang dapat merelasikan beberapa tabel dalam database maupun merelasikan antar database. Sedangkan PostgreSQL, MS SQL, SQL Server, MYSQL, Oracle merupakan DBMS (Data Base Management System). Bahasa mudahnya DBMS adalah programnya, sedangkan SQL adalah bahasa yang digunakannya. SQL dipilah menjadi beberapa macam, antara lain DDL (Data Definition Language), DML (Data  Manipulation Language) , DCL (Data Control Language) . Microsoft SQL Server merupakan produk RDBMS (Relational Database  Management System) yang dibuat oleh Microsoft. Pada tahun 1988, Microsoft mengeluarkan versi pertama dari SQL Server. Pada saat itu masih didesain untuk platform OS/2 dan didevelop bersama antara Microsoft dengan Sybase. Selama awal tahun 1990an, Microsoft mulai untuk membuat versi baru dari SQL Server untuk platform NT-nya. Selama proses development tersebut Microsoft memutuskan bahwa Microsoft SQL Server ini harus bisa terintegrasi dengan kuat dengan sistem operasi NT-nya. Pada tahun 1993, Windows NT 3.1 dan SQL Server 4.2 untuk NT dirilis oleh Microsoft. Target Microsoft untuk mengkombinasikan antara performa database server yang tinggi serta kemudahan cara penggunaan dan administrasinya rupanya tercapai melalui SQL BAB 1

Upload: eva-firdayanti

Post on 17-Jul-2015

93 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 1/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

1

PENGENALAN MS-SQL Server

1. Tujuan Materi:

1.  Mahasiswa mampu melakukan instalasi MS-SQL Server 

2.  Mahasiswa mampu mengenali lingkungan kerja DBMS MS-SQL Server 

2. Dasar TeoriMungkin ada yang masih bingung beberapa istilah SQL, SQL Server,

MySQL, PostgreSQL, Oracle. Nah mulai sekarang “ojo bingung-bingung”. SQL

adalah bahasa perintah (query) dalam SQL Server atau PostgreSQL, yang dapat

merelasikan beberapa tabel dalam database maupun merelasikan antar database.

Sedangkan PostgreSQL, MS SQL, SQL Server, MYSQL, Oracle merupakan DBMS

(Data Base Management System). Bahasa mudahnya DBMS adalah programnya,

sedangkan SQL adalah bahasa yang digunakannya. SQL dipilah menjadi

beberapa macam, antara lain DDL (Data Definition Language), DML (Data

 Manipulation Language), DCL (Data Control Language).

Microsoft SQL Server merupakan produk RDBMS (Relational Database

  Management System) yang dibuat oleh Microsoft. Pada tahun 1988, Microsoft

mengeluarkan versi pertama dari SQL Server. Pada saat itu masih didesain untuk

platform OS/2 dan didevelop bersama antara Microsoft dengan Sybase. Selama

awal tahun 1990an, Microsoft mulai untuk membuat versi baru dari SQL Server

untuk platform NT-nya. Selama proses development tersebut Microsoft

memutuskan bahwa Microsoft SQL Server ini harus bisa terintegrasi dengan kuat

dengan sistem operasi NT-nya. Pada tahun 1993, Windows NT 3.1 dan SQL

Server 4.2 untuk NT dirilis oleh Microsoft. Target Microsoft untuk

mengkombinasikan antara performa database server yang tinggi serta

kemudahan cara penggunaan dan administrasinya rupanya tercapai melalui SQL

BAB

1

Page 2: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 2/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

2

Server ini. Microsoft terus berhasil memasarkan SQL Server dan menjadi database

server yang terkenal. Pada tahun 1994, Microsoft dan Sybase secara resmi

mengakhiri kerjasamanya. Di tahun 1995 Microsoft merilis versi 6.0 dari SQL

Server. Versi ini merupakan versi yang penting karena sebagian besar merupakan

hasil tulis ulang dan juga redesain dari core technology sebelumnya. Versi 6.0 ini

menawarkan peningkatan pada performa, built-in replication dan juga

administrasi yang tersentralisasi. Pada tahun 1996, Microsoft merilis SQL Server

versi 6.5 yang berisi berbagai macam kemampuan tambahan dan juga fitur-fitur

baru. Pada tahun 1997, Microsoft merilis SQL Server 6.5 Enterprise Edition. SQL

Server 7.0 dirilis Microsoft pada tahun 1998 dan database engine-nya ditulis ulang

agar lebih optimal. Akhirnya tahun 2000 Microsoft mengeluarkan SQL Server

2000 yang merupakan versi yang banyak digunakan sampai tulisan ini

dipublikasikan. Versi SQL Server 2000 ini berbasis pada framework yang ada

pada versi 7.0 sebelumnya.

Berikut ini adalah beberapa fitur yang menarik untuk diangkat dari sekian

banyak fitur yang ada pada SQL Server 2000. Diantaranya adalah:

•  XML Support

• Multi-Instance Support

• Data Warehousing/Business Intelligence Improvements

• Performance and Scalability Improvements

• Query Analyzer Improvements

• DTS Improvements

• Transact SQL Enhancements

Sedangkan SQL (Structured Query Language) (baca : sequel) adalah salah

satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di

San Jose Research Laboratory . Berbeda dengan bahasa pemrograman level ke-3 (3rd 

GL), SQL adalah bahasa yang bersifat request oriented dan bersifat non-prosedural

sehingga lebih mudah untuk dipelajari karena sintaks yang digunakan hampir

menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi.

Page 3: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 3/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

3

Sehingga SQL lebih fleksibel dalam penggunaannya. Selain itu SQL juga bersifat

non case sensitif.

Instalasi Microsoft SQL Server 2000 

Masukkan CD instalasi Microsoft SQL Server 2000 ke CD/DVD ROM drive. Andaakan melihat layar selamat datang berikut. Atau jalankan X:\autorun.exe, jika X:adalah CD/DVD ROM anda.

Pilih SQL Server 2000 Components. Anda akan melihat layar selanjutnya.

Pilih Install Database Server.

Maka akan muncul tampilan sebagai berikut:

Page 4: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 4/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

4

Klik Next.

Pilih Local Computer dan klik Next.

Pilih Create a new instance of SQL Server, or install Client Tools. Klik Next.

Isi nama Anda dan nama perusahaan Anda. Klik Next.

Page 5: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 5/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

5

Baca persetujuan lisensi, jika Anda setuju, klik Yes.

Pilih Server and Client Tools. Klik Next.

Pilih Client Tools Only, jika hanya untuk menangani Client saja.

Klik Next. Tunggu proses instalasi sampai selesai.

Klik Finish. Selamat, Anda telah berhasil melakukan instalasi Microsoft SQL Server

2000

3. Latihan

Melakukan instalasi MS-SQL Server 2000 dan memahami lingkungan kerja

yang dimiliki MS-SQL Server 2000.

Page 6: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 6/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

6

DDL (Data Definition Language)

Tujuan Materi:

1.  Mahasiswa mampu menggunakan tipe data yang tepat pada MS-

SQL Server 2000

2.  Mahasiswa mampu menciptakan dan memanipulasi tabel

2. Dasar Teori

Data definition language (DDL) merupakan bentuk bahasa paling dasar

dalam sebuah database karena memiliki kemampuan untuk membangun dan

memanipulasi database serta tabel atau bahasa yang mempunyai kemampuan

untuk mendefinisikan data yang berhubungan dengan pembuatan dan

penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya

CREATE, DROP, ALTER.

Tipe Data dalam MS-SQL Server 2000

Tipe Numerik

NamaUkuran

MemoriDeskripsi Range

smallint  2 bytes small-range integer -32768 to +32767

integer  4 bytes usual choice for integer -2147483648 to +2147483647

bigint  8 bytes large-range integer-9223372036854775808 to

9223372036854775807

tinyint 1 byte 0 to 255

bit 1 byte 0 or 1 0 to 1

decimal  variableuser-specified

precision, exactno limit

numeric  variableuser-specified

precision, exact

no limit

BAB

2

Page 7: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 7/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

7

NamaUkuran

MemoriDeskripsi Range

real  4 bytesvariable-precision,

inexact

6 decimal digits precision

doubleprecision  8 bytes

variable-precision,

inexact15 decimal digits precision

serial  4 bytesautoincrementing

integer1 to 2147483647

bigserial  8 byteslarge autoincrementing

integer1 to 9223372036854775807

Tipe Karakter

Nama Deskripsi

character varying(n), varchar(n) variable-length with limit

character(n), char(n)  fixed-length, blank padded

Text  variable unlimited length

Untuk lebih rincinya anda bisa melihat di dalam dokumen SQL Srver Books On-

line dengan klik icon ?. dan cari type data dengan klik data types-SQL Server.

Untuk memulai penggunaan SQL Server, klik Enterprise Manager.  Klik kanan

database dan klik New Database dan untuk membuat tabel  , klik kanan pada

Tables, kemudian New Table. Cara ini merupakan kelebihan MS-SQL Server

yang memudahkan user memanfaatkan DBMS ini.

Sedangkan cara membuat table langsung denga dicontohkan bahasa SQL dapat

menggunakan Query Analyzer dengan memberikan perintah yang dicontohkan

sebagai berikut:

CREATE TABLE

CREATE TABLE adalah salah satu perintah SQL yang digunakan untuk membuat

sebuah tabel dengan menentukan tipe masing-masing elemen datanya.

Sintaks umumnya :

Page 8: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 8/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

8

CREATE TABLE table_name(

fieldname1_name type_data([NULL|NOT NULL]),

fieldname2_name type_data([NULL|NOT NULL]),

fieldname3_name type_data([NULL|NOT NULL]),

fieldnameN_name type_data([NULL|NOT NULL]),

primary key ([fieldname]))

Contoh pembuatan Tabel Pegawai

CREATE TABLE pegawai

( idpeg int not null primary key,

nama varchar(200) not null,

jk char(1) not null,

agama varchar(10)

)

a.  Type Data

Setiap pembuatan field/kolom pada sebuah tabel, harus ditentukan tipe datanya.

Tipe data merupakan jenis data yang akan disimpan pada sebuah tabel. Pada

listing program di atas pada baris 2, 3 ,4 , 5, dan 6 terdapat tipe data yang

berlainan, hal tersebut didasari oleh data yang berjenis apa yang Akan

dimasukkan kedalam sebuah tabel. Contoh pada baris [2] terdapat tipe data “int”

atau integer (data yang dimasukkan berupa data bilangan bulat), pada baris [3]

adalah bertipe “Varchar(200)” (data yang dimasukkan berupa karakter string

yang panjang maksimal adalah 200 karakter)

b.  Nilai Null

Null menyatakan bahwa sebuah kolom boleh berisi Null, nilai Null tidak samadengan nol, kosong atau lainya, tetapi Null adalah tidak ada data yang

dimasukkan, nilainya tidak diketahui. Null tidak boleh dipakai pada kolom-

kolom yang mempunyai sifat Identity atau primary key.

c.   Auto Increament

Adalah nilai yang dihasilkan dinaikkan secara berurutan, didefinisikan dengan

menggunakan properti Identity, pada baris [2] nilai idpeg dimulai dari 1 dan

dinaikkan berurutan 1 kali.

Page 9: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 9/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

9

d.  Default Value

Default menyebutkan nilai sebuah kolom apabila tidak ada nilai yang diberikan

saat record dimasukkan. Pada baris [5] bertipe “bit”, nilai default status pegawai

adalah 1, dapat diartikan nilai “1” adalah status pegawai tetap dan nilai “0”

adalah status pegawai tidak tetap.

e.  Constraint

Constraint memberlakukan integritas data dan menjaga kualitas data dalam

database. Sehingga hanya nilai tertentu yang boleh diinputkan, selain nilai tersebut

tidak boleh diinputkan, jika diinputkan maka server database akan memberikan

pesan error.

 f.  Rule

Fungsinya sama dengan Constraint, tetapi jika pada Constraint dilakukan pada

saat pembuatan tabel atau perubahan tabel, Rule dilakukan jika tabel sudah ada

berikut kolom-kolomnya.

 ALTER TABLE

Adalah perintah SQL yang digunakan untuk merubah struktur kolom pada tabel

a.  RENAME TO

Digunakan untuk merubah nama tabel.

Contoh: ALTER TABLE pegawai RENAME TO karyawan 

b.   ADD

Digunakan untuk menambah kolom pada sebuah tabel.

Contoh : ALTER TABLE pegawai ADD alamat varchar(300)

c.   ALTER COLUMN 

Digunakan untuk merubah struktur kolom pada sebuah tabel

Contoh : ALTER TABLE pegawai ALTER COLUMN nama varchar(100)

Page 10: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 10/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

10

d.  DROP

Digunakan untuk menghapus kolom/ field 

Contoh : ALTER TABLE pegawai DROP COLUMN nama 

 DROP TABLE

Adalah perintah SQL yang digunakan untuk menghapus sebuah tabel dalam

database.

Contoh : DROP TABLE pegawai 3. Latihan

Buatlah database baru, dengan cara klik kanan folder databases (0), dan klik new

database seperti ditunjukkan pada gambar berikut:

sehingga muncul tampilan sebagai berikut:

Klik kanan

Page 11: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 11/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

11

Isikan Name dengan nama siakad. Kemudian klik icon SQL, sehingga tampil

gambar sebagai berikut:

Untuk membuat tabel dengan cara klik kanan siakad, pilih new table, sehingga

tampil form sebagai berikut:

Page 12: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 12/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

12

Selain dengan cara yang telah dijelaskan, dapat juga dengan klik Tools, SQL

Query Analyzer. Gunakan bahasa SQL dengan mengetikan di lembar kerja, DDL

yang dimaksud adalah sebagai berikut:

Page 13: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 13/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

13

  Jalankan (Run), dengan cara memblok perintah SQL yang telah anda ketik dan

klik icon ►, sehingga tampil hasil sebagai berikut: 

maka anda telah memiliki 3 tabel, yaitu mahasiswa, matakuliah dan krs yang

saling berelasi.

CREATE TABLE mahasiswa(

nim char(15) NOT NULL,

nama varchar(30),CONSTRAINT mahasiswa_pkey PRIMARY KEY (nim))

create table matakuliah(

kodemk char(7) not null primary key,namamk varchar(30),sks integer

)

create table krs(

tahun integer,smt integer,nim char(15) REFERENCES mahasiswa (nim),kodemk char(7) REFERENCES matakuliah (kodemk),nilai char(2)

)

Untuk menjalankan

Page 14: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 14/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

14

4. Tugas

1.  Buat design database untuk kasus praktek dokter pada sebuah rumah sakit.

Untuk kasus ini terbentuk 3 tabel, yaitu dokter(id_dokter, nama, hp,

kd_spesialis), spesialis(kd_spesialis, spesialis) dan tabel praktek(kd_dokter,

hari, jam_mulai, jam_selesai).

2.  Implementasikan design anda dengan DDL dalam MS-SQL Server 2000.

Lakukan latihan untuk create tabel, drop tabel, alter tabel, baik 

penambahan field/kolom, perubahan kolom dan drop kolom.

Page 15: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 15/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

15

DML (Data Manipulation

Language)

Tujuan Materi:

1.  Mahasiswa mampu memasukkan dan menampilkan data.

2.  Mahasiswa mampu memperbarui dan menghapus data.

2. Dasar TeoriKalau DDL digunakan untuk mendefinisikan, mengudate tabel dan

menghapus tabel, sehingga implementasi database siap untuk diisi, ditampilkan

atau operasi-oprasi yang lain. Untuk mengisi atau memanipulasi data yang lain

digunakan bahasa DML. Jadi DML digunakan untuk memanipulasi data atau

record. Perintah yang digunakan adalah INSERT, SELECT, UPDATE dan

DELETE.

Memasukkan Data (Insert)

Ada dua cara yang dapat digunakan untuk memasukkan data kedalam tabel,

yaitu:

1.  insert into nama_tabel values (isi_field_2,…,isi_field_n); 

Contoh : insert into produk pegawai values (1245, „Budi Santoso‟, „L‟, „Islam‟);

2. insert into nama_tabel (nama_field_1, nama_field_2,…,nama_ field_n) values 

(isi_field_1, isi_field_2,…,isi_field_n); 

Contoh : insert into produk pegawai (idpeg, nama, jk, agama) values (1245,

„Budi Santoso‟, „L‟, „Islam‟); 

Contoh kedua memungkinkan kita memilih kolom apa yang akan diisi.

BAB

3

Page 16: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 16/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

16

Melihat Isi Tabel (Select) 

Melihat isi tabel dapat menggunakan statement SELECT.Contoh:

SELECT * FROM pegawai;

 Jika hanya field NAMA saja yang ditampilkan:

SELECT nama FROM pegawai;

 Jika hanya field IdPegawai, NAMA dan JENIS KELAMIN saja yang ditampilkan:

SELECT idpeg, nama, jk FROM pegawai;

 Mengurutkan Tampilan

Klausa ORDER BY digunakan untuk mengurutkan hasil. Jika menginginkan data

ditampilkan urut berdasarkan pada urutan terkecil ke besar, dapat menggunakan

ASC (ascending). Sedangkan untuk mengurutkan data berdasarkan yang terbesar

ke kecil, dapat menggunakan DESC (descending).

Contoh:

SELECT * FROM pegawai ORDER BY id_peg desc;

Catatan:

 Jika suatu field tidak diisi, secara otomatis Postgres akan mengisinyadengan NULL

Suatu field yang didefinisikan sebagai NOT NULL, maka harusdiisi. Kalau tidak, Postgres akan menampilkan pesan kesalahan, danpengisian dibatalkan.

Gunakanlah kutip tunggal untuk string.

Penggunaan karakter * menunjukkan bahwa yang ditampilkan adalah

seluruh isi field yang yang ada pada tabel Pegawai.

Page 17: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 17/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

17

 Klausa WHERE

Klausa merupakan sebuah pernyataan yang dapat menampilkan data dari

sebuah tabel atau lebih dengan hasil data yang tersaring atau terseleksi. Terdapat

bebeapa klausa yang didukung dalam MS-SQL Server 2000, antara lain WHERE,

GROUP BY, HAVING, LIKE, WITH.

Dalam pemakaiannya, digunakan operator relasional atau perbandingan,

yaitu: =, <>, <=, >=, <, >.

Contoh:

SELECT * FROM pegawai WHERE gaji > 2500000;

SELECT nama, alamat FROM pegawai WHERE nama LIKE “%Danu%”; 

SELECT * FROM pegawai WHERE idpeg = 4325;

Klausa WHERE juga dapat dipadukan pemakaiannya dengan klausa GROUP BY

yang bertujuan untuk mengelompokkan data pada subjek tertentu. Sedangkan

untuk mengeliminasi group baris menggunakan klausa HAVING.

Berikut contoh penggunakannya:

SELECT * FROM Stok;

nama_brg | jumlah

---------------+------------sabun | 3sampo | 2

pasta | 5asabun | 1

(4 baris)

SELECT nama_brg FROM Stok GROUP BY nama_brg;nama_brg-------------sabunsampopasta

(3 baris)

Page 18: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 18/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

18

Untuk data yang banyak dan melibatkan beberapa tabel, hasil query sering

terjadi duplikasi data atau perulahan list data, hal ini disebabkan setiap record

yang ditemukan akan langsung ditampilkan. Untuk menangani masalah ini selain

klausa GROUP BY dapat juga dengan mengunakan klausa DISTINCT. Bentuk

umum:

SELECT DISTINCT Judul_Kolom FROM Tabel;

Merubah Record (Update) 

Record yang ada dalam suatu tabel dapat kita ubah dengan perintah

UPDATE.

Sebagai contoh:

Untuk merubah seluruh nilai field NAMA pada tabel Pegawai dengan huruf

besar.

UPDATE pegawai SET nama = UPPER(nama);

Merubah kata Dramatic menjadi Drama dalam kolom jenis pada tabel film

UPDATE film SET jenis = 'Drama' WHERE jenis = 'Dramatik';

Menghapus Record (Delete) 

Kita dapat menggunakan perintah DELETE untuk menghapus record,

seperti contoh (berbahaya) di bawah ini:

DELETE FROM pegawai;

Hati-hatilah ! Contoh di atas dapat menghapus seluruh record pada tabel

Pegawai. Dapat juga ditambahkan kondisi, misal:

DELETE FROM pegawai WHERE nama_peg = „agung‟ ;

3. Latihan

Dengan menggunakan tabel-tabel yang terbentuk pada bab 2, masukkan

data pada masing-masing tabel matakuliah, mahasiswa dan krs sebanyak

mungkin ( “Ingat yaa… pengisian tabel krs adalah terakhir, karena tabel krs tergantung

 pada matakuliah dan mahasiswa”).

Page 19: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 19/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

19

Contoh pengisian data pada tabel mata kuliah:

Contoh pengisian data pada tabel mahasiswa:

Contoh pengisian data pada tabel krs:

Dapatkan daftar mata kuliah yang memiliki SKS 3.

Dapatkan daftar mahasiswa angkatan 2006

Dapatkan nim, nama mahasiswa yang mengandung nama darmawan

Dapatkan nim, nama, kode mk, nama mk bagi mahasiswa yang mendapatkan

nilai “A” 

insert into mahasiswa values('0710960012','Sindu Perdana’);

insert into mahasiswa values('0610960014','Nico Bagaskara’);

insert into mahasiswa values('0610960038','Raja Darmawan’);

insert into krs values(2008,4,'0710960012','MAI101','B+');

insert into krs values(2008,4,'0710960012','MAI102','A');

insert into krs values(2008,2,'0610960038','MAI101','C');

insert into krs values(2008,2,'0610960038','MAI102','A');

insert into krs values(2008,2,'0610960014','MAI101','B+');

insert into krs values(2008,2,'0610960014','MAI102','C+');

insert into matakuliah values('MAI101','Basis Data', 3);insert into matakuliah values('MAI102','Algoritma I', 3);insert into matakuliah values('MAI103','Algoritma II', 3);insert into matakuliah values('MAI104','Struktur Data', 3);insert into matakuliah values('MAI201','Matematika 1', 3);insert into matakuliah values('MAI202','Matematika 2', 3);insert into matakuliah values('MAI203','Logika Matematika', 3);insert into matakuliah values('MAI001','Statistika', 2);

Page 20: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 20/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

20

Dapatkan daftar mata kuliah yang telah ditempuh Sindu Perdana dengan nilai

“C+” 

4. Tugas

Berdasarkan tabel yang telah dibuat pada bab 2, isi masing-masing tabel:

Tabel Spesialis

Kd_spesialis spesialis

UMMDLMANK

KDGBDH JTGTHTGIGSRFKLTMAT

UmumDalamAnak

KandunganBedah JantungTelinga, hidungGigiSyarafKulitMata

Tabel Praktek

kd_dokter Hari Jam_mulai Jam_selasai

D01D09D11D03D08D04D05D15

D13D12D16D14D06D07D10D02

SeninSeninSeninSelasaSelasaSelasaSelasaSelasa

RabuRabuRabuRabuKamis

 Jum’at SabtuMinggu

08:15:0012:15:0017:30:0008:15:0016:00:0008:15:0008:15:0014:00:00

08:15:0008:15:0014:00:0008:15:0008:15:0008:15:0008:15:0009:00:00

12:15:0016:30:0020:00:0016:00:0021:00:0020:00:0014:00:0020:00:00

12:00:0014:00:0021:00:0014:00:0014:00:0011:00:0014:00:0014:00:00

Page 21: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 21/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

21

Tabel dokter

Kd_dokter Nama_dokter hp Kd_spesialis

D01

D02

D03

D04

D05

D06

D07

D08

D09

D10

D11

D12

D13

D14

D15

D16

D17

D18

Dr. Arief Nur S

Dr. Agung Sutopo

Dr. Bambang Suherman

Dr. Adi Nugroho

Dr. Sulis Setyowati

Dr. Iwan Subagio

Dr. Sugeng R

Dr. Iis Widuri

Dr. Hana Angraeni

Dr. Muhammad Ja’far 

Dr. I Wayan Agung

Dr. Fransiskus Sapto

Dr. Indah Wahyuni

Dr. Elok Permata

Dr. Intan Plasenta

Dr. Sapti Suhesti

Dr. Nasharudin

Dr. Candra Wardana

081234736343

08574673437

08176283264

08885735734

08396874967

081357834773

0857293874

08514324513

08552367523

081675243523

0817287272332

081762746232

081872398732

08579283742

0852163871263

08873892713

088928392173

085128733721

UMM

DLM

BDH

 JTG

KDG

SRF

MAT

ANK

UMM

BDH

UMM

BDH

ANK

UMM

KDG

BDH

BDH

KDG

Dapatkan kd_dokter, nama, spesialis yang memiliki spesialisasi penyakit

dalamDapatkan daftar nama dokter, hp yang ahli di bidang bedah

Dapatkan daftar dokter yang praktek hari rabu

Dapatkan daftar dokter yang praktek mulai pukul 08:00

Dapatkan daftar dokter yang praktek selesai pukul 20:00

Dapatkan nama dokter, hari, dan spesialis yang praktek pada hari selasa

Dapatkan daftar praktek dokter spesialis kandungan

Page 22: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 22/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

22

Seleksi Data Dengan Fungsi

Matematika

Tujuan Materi:

1.  Mahasiswa mampu melakukan seleksi dalam perhitungan

matematika

2.  Mahasiswa mampu memanfaatkan fungsi agregasi

2. Dasar Teori

Terdapat banyak masalah yang sering dihadapi, baik oleh pengguna awal

maupun programmer. Masalah tersebut biasanya menyangkut seleksi yang

berkenaan dengan data berupa angka. Dalam bab ini akan dibahas masalah

seleksi data yang terkait dengan fungsi matematika pada data berupa angka. Juga

akan dibahas pemanfaatan fungsi agregasi.

2.1. Seleksi dalam perhitungan matematika

MS-SQL Server 2000 merupakan database server yang memiliki kelebihan

untuk melakukan operasi matematika seperti penambahan, pengurangan,

perkalian, dan lain-lainnya. Atau singkatnya MS-SQL Server 2000 bisa berfungsi

sebagai kalkulator.

 Penjumlahan

Penjumlahan adalah proses perhitungan dengan menambah beberapa data

angka. Bentuk umum:

SELECT angka_1 + angka_2 + angka_3 + … + angka_n 

Contoh:

SELECT 24 + 4 + 7

BAB

4

Page 23: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 23/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

23

 Pengurangan

Pengurangan adalah salah satu teknik mengambil data angka sebanyak

data yang menjadi pengurangnya. Bentuk umum:

SELECT angka_awal – angka_pengurangnya

Contoh:

SELECT 78 – 9;

 Perkalian

Perkalian merupakan proses menggandakan data angka sebanyak angkapengali. Bentuk umum:

SELECT angka_1 * angka_2 * … * angka_n 

Contoh:

SELECT 5 * 4 * 2;

 Pembagian 

Pembagian merupakan operasi maematika untuk membagi data menjadi

beberapa bagian sebanyak data pembagi. Bentuk umum:

SELECT angka_awal / angka pembagi

Contoh :

SELECT 20 / 5;

 Mencari Sisa Pembagian

Perhitungan untuk mencari sisa pembagian sama dengan berbagai bahasa

pemrogaman, yaitu dengan fungsi mod. Bentuk umum:

SELECT MOD ( angka, pembagi)

Contoh:

SELECT MOD ( 17, 3)

Page 24: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 24/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

24

 Perpaduan Beberapa Operasi Perhitungan

Kita juga dapat memadukan beberapa operasi tersebut di atas menjadi

satu. Namun ingat tingkatan operatornya. Ok…. 

Contoh :

SELECT 24 / (3 * 2) – 1;

 Perpangkatan

Merupakan operasi matematika untuk mengandakan angka sebanyak

angka pemankatnya. Bentuk umum:SELECT POW(angka_awal, angka_pemangkat);

Contoh:

SELECT POW (2, 6);

 Pembulatan

Merupakan cara untuk mendapatkan bentuk bulat dari suatu bilangan.

Bentuk umm:

SELECT ROUND(angka_pecahan);

Contoh:

SELECT ROUND (46.67);

 Faktorial

Untuk mencari hasil factorial suatu bilangan. Bentuk umum:

SELECT angka !

Contoh:

SELECT 5!;

  Dan masih banyak fungsi yang lain dan disediakan oleh MS-SQ Server 

 2000-

Page 25: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 25/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

25

2.2. Fungsi Agregasi

Fungsi agregasi merupakan fungsi untuk menghitung kumpulan nilai

masukan dan menghasilkan nilai tunggal. Terdapat beberapa fungsi agregasi

yang disediakan oleh MS-SQL Server 2000, antara lain: COUNT, SUM, MIN,

MAX, AVG, STDDEV, dan lain-lainnya.

 Menghitung Jumlah Baris (COUNT)

Fungsi ini berguna untuk mengetahui jumlah data dalam sebuah tabel

sehingga tidak perlu menghitung secara manual. Bisa dibayangkan jika data

ratusan atau ribuan…wah bisa berhari-hari menghitungnya deh … Bentuk

umum:

SELECT COUNT(*) FROM Nama_Tabel;

Contoh :

SELECT COUNT(*) FROM krs;

SELECT COUNT(*) FROM Pegawai;

SELECT COUNT(*) FROM Parkir;

Tanda bintang (*) berarti banyaknya baris pada sebuah tabel ditampilkan

seluruhnya dengan mengabaikan jika ada bagian record kolom yang tidak terisi

atau null. Untuk menghitung jumlah record yang ada dapat ditambahkan nama

kolom, contoh:

SELECT COUNT(nilai) FROM krs;

Dalam pemakaiannya fungsi ini juga sering ditambahkan klausa WHERE untuk

seleksi jumlah data, misalkan untuk mendapatkan jumlah krs yang telah

ditempuh oleh seorang mahasiswa:

SELECT COUNT(*) FROM krs WHERE nim = „060910001‟; 

Atau ditambah dengan klausa yang lain, misalkan untuk mendapatkan jumlah

mahasiswa angkatan 2006:

SELECT COUNT(*) FROM krs WHERE nim LIKE „06%‟; 

Page 26: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 26/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

26

 Menjumlahkan Data Pada Baris Record (SUM)

 Jika count berfungsi untuk menghitung banyaknya data pada suatu record,

lain halnya dengan sum yang berfungsi untuk menjumlah isi data dalam suatu

record. Isi data yang bisa dijumlah adalah data berupa numerik, meskipun

karakter dijumlah dengan mengambil nilai numeriknya. Bentuk umum fungsi ini

adalah:

SELECT SUM(Nama_Kolom) FROM Nama_Tabel;

Contoh pemakaian adalah untuk menghitung jumlah sks yang ada dalam tabel

krs atau menghitung jumlah krs yang yang ditempuh mahasiswa, misal:

SELECT SUM(sks) FROM krs;SELECT SUM(sks) FROM krs WHERE nim = „070920011‟ ;

Dalam pemakaiannya, fungsi ini biasanya juga digabung dengan operator

matematika yang lain, misalkan untuk kasus mencari nilai rata-rata nilai uas

mahaiswa basis data angkatan 2008:

SELECT SUM(nilai) / COUNT(*) FROM UAS WHERE nim LIKE „08%‟ ;

Nah…untuk menghitung nilai rata-rata mata kuliah yang ditempuh mahasiswa

 jadi mudah deh:

SELECT SUM((0.3*tugas) + (0.30*uts) + (0.40*uas))/ 100 AS Nilai FROM

Daftar_Nilai WHERE nim = „080910011‟ ;

 Mencari Nilai Rata-rata (AVG)

Selain dengan cara menggunakan sum dan count untuk mencari nilai rata-

rata, namun ribet ya…terdapat cara yang lebih simpel yaitu dengan fungsi  AVG

(Average). Bentuk umum:

SELECT AVG(Nama_Kolom) FROM Nama_Tabel;

Contoh:

Untuk menghitung nilai rata-rata mata kuliah SO dari seluruh kelas yang

ada adalah:

SELECT AVG(SO) FROM UAS;

Page 27: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 27/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

27

 Jika hanya rata-rata kelas B, berarti querynya:

SELECT AVG(SO) FROM UAS WHERE kelas = „B‟ ;

 Mencari Nilai Tertinggi (Max)

Untuk mendapatkan nilai tertinggi pada sebuah kolom data, MS-SQL

Server 2000 menyediakan fungsi MAX. Fungsi ini memungkinkan anda

melakukan perbandingan sejumlah baris data dalam satu kolom secara otomatis.

Bentuk umum:

SELECT MAX(Nama_Kolom) FROM Nama_Tabel;

Contoh untuk mendapatkan nilai tertinggi mata kuliah SO:SELECT MAX(SO) FROM UAS;

Sedangkan untuk mendapatkan mahasiswa nim tertentu yang mendapatkan nilai

tertinggi:

SELECT nim, MAX(SO) as Nilai FROM UAS;

 Mencari Nilai Terendah (Min)

Untuk mendapatkan nilai terendah pada sebuah kolom data, MS-SQL

Server 2000 menyediakan fungsi MIN. Fungsi ini memungkinkan anda

melakukan perbandingan sejumlah baris data dalam satu kolom secara otomatis.

Bentuk umum:

SELECT MIN(Nama_Kolom) FROM Nama_Tabel;

Contoh untuk mendapatkan nilai terendah mata kuliah SO:

SELECT MIN(SO) FROM UAS;

Sedangkan untuk mendapatkan mahasiswa nim tertentu yang mendapatkan nilai

terendah:

SELECT nim, MIN(SO) as Nilai FROM UAS;

Kita juga bisa mengkombinasikan fungsi max dan min seperti contoh berikut:

SELECT MAX(SO), MIN(SO) FROM UAS;

Page 28: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 28/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

28

 Mencari Nilai Standard Deviasi (STDDEV)

Untuk mendapatkan nilai standar deviasi kumpulan data dalam sebuah

kolom adalah dengan menggunakan fungsi STDDEV. Istilah standar deviasi

biasa juga disebut simpangan baku, umum dipakai dalam bidang statistika untuk

mengetahui variasi data dari barisan nilai. Bentuk umum:

SELECT STDDEV(Nama_Kolom) FROM Nama_Tabel;

Contoh:

SELECT STDDEV(RPL) FROM UAS;

3. LatihanBerdasarkan tabel siakad yang telah dibangun dan diinputkan datanya,

Dapatkan jumlah sks yang ditempuh mahasiswa pada semester 2

Dapatkan nim mahasiswa yang memiliki jumlah sks tertinggi

Dapatkan mahasiswa yang paling banyak mendapat nilai A

Dapatkan jumlah nilai C+ yang dimiliki mahasiswa dengan nim 060910011

Dapatkan jumlah nilai A dan nilai C dari mahasiswa matakuliah basis data

4. Tugas

Berdasarkan tugas dari bab sebelumnya,

Dapatkan informasi banyaknya dokter yang dimiliki rumah sakit.

Dapatkan informasi banyaknya dokter yang yang ahli di bidang kandungan.

Dapatkan dokter yang memiliki jam kerja paling lama

Dapatkan dokter yang memiliki jam kerja paling singkatDapatkan rata-rata jam praktek dokter

Page 29: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 29/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

29

Seleksi Relasional & Operator JOIN

Tujuan Materi:

1.  Mahasiswa mampu mengetahui seleksi relasional menggunakan

SQL .

2.  Mahasiswa mampu mengimplementasikan seleksi lanjutan

menggunakan SQL dalam lingkungan kerja DBMS MS-SQL Server 

2000

2. Dasar Teori

Dalam sebuah database yang berelasional kita juga dapat menampilkan

data dari dua atau lebih tabel yang berbeda. Namun demikian apabila tabel

tersebut merupakan tabel yang saling beralasi, maka perlu teknk seleksi secara

spesial bin khusus. Secara standar, jika ingin menampilkan dua tabel atau lebih

cukup dengan langsung meyebutkan nama tabel yang akan ditampilkan. Namun

sayang, hasil yang ditampilkan akan berbentuk pendobelan data yang tidak

sesuai dengan yang direlasikan. Bentuk umum:

SELECT * FROM Nama_Tabel_1, Nama_Tabel_2, …, Nama_Tabel_N 

Contoh:

SELECT * FROM matakuliah, mahasiswa, krs;

SELECT * FROM PEGAWAI, CABANG;

  Jika ingin hanya menampilkan beberapa kolom dengan beberapa tabel yang

berbeda, yaitu:

SELECT Nama_Tabel_1.Nama_Kolom_1, Nama_Tabel_1.Nama_Kolom_2,

Nama_Tabel_2.Nama_Kolom, Nama_Tabel_N.Nama_Kolom_n FROM

Nama_Tabel_1, Nama_Tabel_2, …, Nama_Tabel_N ;

BAB

5

Page 30: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 30/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

30

Contoh kasus:

Tabel Cuaca

kota | suhu_min| suhu_max| Curah_Hujan | Tangal--------------------+--------------+--------------+--------------------+------------San Francisco | 46 | 50 | 0.25 | 1994-11-27San Francisco | 43 | 57 | 0 | 1994-11-29Hayward | 37 | 54 | | 1994-11-29

(3 baris)

Tabel Kotanama | lokasi

--------------------+--------------San Francisco |(-194,53) |

(1 baris)

SELECT * FROM Cuaca, Kota WHERE kota = nama;

kota | suhu_min| suhu_max| Curah_Hujan | Tangal + nama + lokasi--------------------+--------------+--------------+--------------------+----------------+-------------------+-------San Francisco | 46 | 50 | 0.25 | 1994-11-27 |San Francisco | (-194,53) San Francisco | 43 | 57 | 0 | 1994-11-29 | San Francisco (-194,53) 

(2 baris)

Berdasarkan hasil di atas terlihat bahwa terdapat kota yang tidak ikut

ditampilkan, oleh karena itu salah satu cara adalah dengan operator  JOIN yang

akan dibahas lebih lanjut.

Operator AND

Operator ini diperlukan jika kita ingin menampilkan data dengan lebih

dari satu kondisi. Pada query sebelumnya telah digunakan operator dengan satu

kondisi, sehingga apabila data yang diinginkan lebih dari satu kondisi, maka

operator ini jawabannya. Operator ini bernilai benar jika kedua pembanding

bernilai benar.

Contoh:

SELECT dokter.nama_dokter, spesialis.spesialis

FROM dokter, spesialis

Page 31: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 31/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

31

 WHERE dokter.kd_spesialis=spesialis.kd_spesialis AND

spesialis.spesialis=‟Dokter Umum‟; 

SELECT dokter.nama_dokter, spesialis.spesialis

FROM dokter, spesialis

 WHERE dokter.kd_spesialis=spesialis.kd_spesialis AND

spesialis.spesialis=‟Dokter Anak‟; 

query di atas untuk menampilkan nama dokter dan spesialis dari dua tabel

dengan 2 kondisi.

Operator OR (||)Operator ini diperlukan jika kita ingin menampilkan data dengan lebih

dari satu kondisi. Berbeda dengan operator AND, operator OR digunakan pada

saat kita ingin menampilkan data dengan kondisi pembanding salah satunya

bernilai benar.

Bentuk umum:

SELECT * FROM Nama_Tabel WHERE (pembanding OR pembanding);

Atau

SELECT * FROM Nama_Tabel WHERE (pembanding || pembanding);

Contoh:

SELECT no, nama, g_darah, sex, tinggi, berat

FROM Pegawai

 WHERE (g_darah = „O‟ OR Sex =‟P‟); 

Operator XOR

Operator ini untuk menampilkan data dengan kondisi pembanding yang

pertama bernilai benar, namun selanjutnya tidak ditampilkan karena bernilai

salah. Bentuk umum:

SELECT * FROM Nama_Tabel WHERE (pembanding XOR pembanding);

 Jika :

SELECT * FROM Nama_Tabel WHERE (a XOR b); artinya sama dengan: 

Page 32: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 32/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

32

SELECT * FROM Nama_Tabel WHERE (a AND(NOT(b)) OR ((NOT(a) AND b); 

Operator Pengandaian

Dengan operator ini memungkinkan untuk mendapatkan sebuah query

dengan beberapa ketentuan menggunakan pengandaian. Biasanya menggunakan

ungkapan atau operator logika IF dan CASE.

Ungkapan IF

Digunakan untuk membuat sebuah ungkapan yang memiliki dua

ketentuan jawaban, biasa dikenal IF-ELSE.

Bentuk umum:SELECT IF(ungkapan1, ungkapan2, ungkapan3);

Contoh:

SELECT IF(2<3, 2,4)

IF(2<3, 2,4)

2

SELECT IF (4>5, „Benar‟, „Salah‟); 

IF(4>5 , „Benar‟, „Salah‟); 

Salah

SELECT Nama, IF (sex=‟P‟, „Pria‟, „Wanita‟) AS Jenis_Kelamin FROM

Pegawai; 

Ungkapan CASE

Ungkapan CASE memiliki kegunaan serupa dengan IF, namun jika

ungkapannya banyak maka sebaiknya menggunakan CASE untuk

mempermudah memahaminya. Bentuk umum:

CASE Ungkapan_1

 WHEN nilai_ungkapan_2

THEN nilai_ungkapan_3

Page 33: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 33/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

33

Atau

CASE Ungkapan_1

 WHEN nilai_ungkapan_2

THEN nilai_ungkapan_3

ELSE nilai_ungkapan

END

Contoh:

SELECT Nama, g_darah,

CASE

 WHEN g_darah = „A‟ THEN „Dapat memberi kepada A dan AB‟ 

 WHEN g_darah = „B‟ 

THEN „Dapat memberi kepada B dan AB‟ 

 WHEN g_darah = „AB‟ 

THEN „Dapat memberi kepada A, B dan AB‟ 

 WHEN g_darah = „O‟ 

THEN „Dapat memberi kepada A, B, AB dan O‟ END sumbangan_darah FROM Pasien;

Operator JOIN 

Perhatikan bentuk query standar yang biasa digunakan untuk merelasikan

hasil tabel:

SELECT tabelA.kolom1, tabelB.kolom2, tabelB.komlom1

FROM tabelA, tabelB

 WHERE tabelA.kd_tabelA=tabelB.kd_tabelB

GROUP BY tabelB.kd_tabelB;

Query di atas berfungsi menampilkan data dalam dua tabel saja, yaitu tabelA dan

tabelB. Permasalahan akan muncul jika tabel yang akan ditampilkan terdiri dari

dua atau lebih, maka tentu akan semakin panjang querynya jika menggunakan

operator AND dan GROUP BY. Terdapat beberapa operator JOIN antara lain:

Page 34: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 34/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

34

CROSS JOIN, STRAIGHT JOIN, INNER JOIN, RIGHT[OUTER] JOIN,

LEFT[OUTER] JOIN DAN NATURAL JOIN.

Pemanfaat JOIN ini secara detail dapat dilihat di Help MS-SQL Server 2000.

3. Latihan

nilai nilai angka masing-masing matakuliah yang telah ditempuh mahasiswa:

select krs.tahun, krs.smt, krs.nim, krs.kodemk, matakuliah.namamk,matakuliah.sks, krs.nilai,

CASE WHEN krs.nilai='A' THEN 4.0::real WHEN krs.nilai='B+' THEN 3.5::real

 WHEN krs.nilai='B' THEN 3.0::real WHEN krs.nilai='C+' THEN 2.5::real WHEN krs.nilai='C' THEN 2.0::real WHEN krs.nilai='D+' THEN 1.5::real WHEN krs.nilai='D' THEN 1.0::real WHEN krs.nilai='E' THEN 0.0::realELSE 0.0::realEND as angka

from krs, matakuliahwhere KRS.kodemk=MATAKULIAH.kodemk;

Dapatkan IP masing-masing mahasiswa pada semester 2

Dapatkan mahasiswa yang memiliki IP tertinggi di kelas A

Dapatkan mahasiswa yang memiliki IP terendah di kelas B

Dapatkan rata-rata IP dari mahasiswa RPL

Dapatkan IPK mahasiswa

4. Tugas

Buat tabel (minimal 6 tabel) yang dilibatkan dan buat soal (min 10 untuk 

kasus yang berbeda) dan jawaban untuk query data yang

memanfaatkan terori di atas.

Page 35: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 35/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

35

Seleksi Relasional Tabel Dengan

Sub Query

1. Tujuan Materi

1.  Mahasiswa mampu mengetahui seleksi relasional menggunakan

Sub-Query.

2.  Mahasiswa mampu mengimplementasikan seleksi sub-query

menggunakan SQL dalam lingkungan kerja DBMS MS-SQL Server 

2000

2. Dasar Teori

Subquery merupakan salah satu metode untuk mendapatkan informasi

dari beberapa tabel dalam database. Arti subquery sediri adalah query dalam

query. Jadi subquery adalah teknik query untuk menampilkan data dengan syarat

terdapat query lain di dalamnya.

Untuk pemahaman awal dengan data yang terbatas, ada baiknya jika kita

memastikan ketersediaan data dan tabel yang akan dijadikan latihan. Bentuk

umum:

SELECT * FROM tabel_a

 WHERE kolom_a = (SELECT kolom_b FROM tabel_b);

Contoh untuk mengetahui jadwal praktek yang paling pagi:

SELECT MIN(jam_mulai) FROM praktek;Namun untuk mengetahui daftar jadwal praktek yang paling pagi:

SELECT * FROM praktek

 WHERE jam_mulai = (SELECT MIN(jam_mulai) FROM praktek);

Pada kasus cuaca dan kota yang telah disajikan dalam pokok bahasan

sebelumnya dapat kita pahami sebagai berikut:

BAB

6

Page 36: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 36/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

36

Dapatkan suhu tertinggi pada kolom suhu_min.

SELECT max(suhu_min) FROM suhu;max-----46

(1 row)

Jika kita ingin mengetahui kota-kota yang terjadi suhu tertinggi pada saat cuaca dingin

atau pada kolom suhu_min:

SELECT kota FROM suhu WHERE suhu_min = max(suhu_min);

SQL di atas salah…dan tidak menampilkan hasil yang diharapkan, maka

penulisan yang benar adalah dengan mengunakan subquery sebagai berikut:

SELECT kota FROM suhu

WHERE suhu_min = (SELECT max(suhu_min) FROM suhu); 

Hasilnya:kota

---------------San Francisco

(1 row)

Perhatikan juga penggunaan klausa GROUP BY.

Kita bisa mendapatkan nilai maksimum dari suhu_min yang terjadi pada setiapkota dengan query sebagai berikut:

SELECT kota, max(suhu_min)FROM suhuGROUP BY kota;

Hasilnya:kota | max

-------------------+-----Hayward | 37San Francisco| 46(2 rows)

Perhatikan pula penggunaan HAVING pada kasus ini:

SELECT kota, max(suhu_min)

FROM suhu

Page 37: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 37/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

37

GROUP BY kotaHAVING max(suhu_min) < 40;

kota | max--------------+-----Hayward | 37(1 row)

Dalam pemakainnya subquery juga sering menggunakan berbagai operator,

antara lain IN, ANY, SOME, EXIST, dan ALL. Operator ini bertujuan untuk

memermudah pemahaman oleh pembaca. Tidak dibahas lebih lanjut

permasalahan pemanfaatan operator ini (karena bisa dibaca lebih lanjut di Help

MS-SQL Server 2000), namun berikut disajikan beberapa contoh pemakaiannya

dalam bentuk query untuk kasus dokter, praktek:

SELECT * FROM dokter

 WHERE kd_dokter IN(SELECT kd_dokter FROM praktek);

Perhatikan hasilnya dengan query sebagai berikut:

SELECT * FROM dokter

 WHERE kd_dokter NOT IN(SELECT kd_dokter FROM praktek);Contoh penggunaan EXIST:

SELECT * FROM dokter

 WHERE EXIST (SELECT * FROM spesialis

 WHERE kd_spesialis=dokter.kd_dokter);

VIEW 

Untuk kasus query yang panjang sering terjadi kebingungan dalam

pemahaman dan pemanfaatan kembali hasil query, terutama query yang

melibatkan banyak tabel dengan syarat (klausa where) tertentu. Hal ini dapat

diatasi dengan menggunakan VIEW. View bermanfaat untuk memudahkan

pembaca untuk memahami sintaksis query. MS-SQL server menyediakan

menyediakan fasilitas untuk pembuatan view secara GUI, hal ini memungkinkan

membangkitkan SQL dari table-tabel dan atribut-atribut yang dipilih.

Page 38: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 38/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

38

Cara penggunaan View adalah dengan klik kanan View   New View,

seperti ditunjukkan gambar berikut:

Selanjutnya tambahkan tabel-tabel yang akan dilibatkan.

Simpan view yang telah di-generated dengan nama tertentu. Hasil view ini

bias dianggap sebagai suatu table baru.

Page 39: Modul Prakt Basis Data 1 - Ilkom

5/14/2018 Modul Prakt Basis Data 1 - Ilkom - slidepdf.com

http://slidepdf.com/reader/full/modul-prakt-basis-data-1-ilkom 39/39

 

Praktikum Basis Data 1

Prodi Ilmu Komputer, Jurusan Matematika, FMIPA 

39

Contoh:

CREATE VIEW dbo.Daftar_Nilai

AS

SELECT dbo.krs.nim AS krs, dbo.mhs.nama AS nama_mhs, dbo.krs.kode

AS kode_mk, dbo.krs.smt AS smt_krs, dbo.mk.nama AS nama_mk,

dbo.krs.nilai

FROM dbo.krs INNER JOIN

dbo.mhs ON dbo.krs.nim = dbo.mhs.nim INNER JOIN

dbo.mk ON dbo.krs.kode = dbo.mk.kode

Untuk mengquery / mendapatkan nim, nama, kode mata kuliah,

nama_mk dan nilainya adalah sebagai berikut:

Select nim, nama_mhs, kode_mk, nama_mk, nilai from Daftar_Nilai;

3. Latihan

Manfaatkan view untuk menyelesaikan soal latihan pada

sebelumnya.

4. Tugas

Diserahkan pada Asisten