modul prakt basis data 1 - ilkom
TRANSCRIPT
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
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.
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:
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.
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.
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
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 :
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.
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)
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
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:
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:
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
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.
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
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.
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)
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”).
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);
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
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
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
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)
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-
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%‟;
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;
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;
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
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
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
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:
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
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:
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.
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
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
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.
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.
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