Anda di halaman 1dari 5

PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL

PRAKTIKUM BASIS DATA MODUL 3 CONDITIONAL SQL LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK

LABORATORIUM REKAYASA PERANGKAT LUNAK TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG

2015

TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 201 5 Laboratorium Teknik Informatika UMM Page 1
TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 201 5 Laboratorium Teknik Informatika UMM Page 1

I. Tujuan

Modul 3

Conditional SQL

1. Mengenal dan memahami konsep conditional SQL

2. Memahami dan mengimplementasikan operator conditional SQL seperti AND, OR, LIKE, BETWEEN, =, <, >, <=, >=, <>

3. Mengenal dan memahami konsep penggunaan operasi nested query

4. Memahami dan mengimplementasikan operator IN, NOT IN, EXIST, NOT EXIST dalam SQL

II. Perlengkapan yang dibutuhkan:

1. Komputer Set (memory >= 1GB, CPU >= PIV)

2. Oracle XE

3. SQL manager console/ TOAD/ SQL Developer

III. Dasar Teori

A.

SQL SQL ( Structured Query Language ) merupakan bahasa query yang digunakan untuk mengakses database relasional. SQL sekarang sudah menjadi bahasa database standard dan hampir semua sistem database memahaminya. SQL terdiri dari berbagai jenis statemen. Semuanya didesain agar memungkinkan untuk dapat secara interaktif berhubungan dengan database.

syntax dari SQL-SELECT

SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC] ]

B. WHERE <KONDISI> untuk filter

Where digunakan untuk filter atau pencarian data sesuai dengan kondisi tertentu yang ada di

dalam suatu database, ada berbagai bentuk ekpresi di dalam kondisi yang ada di where clause,

yaitu:

- operasi pembandingan

- operasi pendekatan pola string (string matching)

- Operasi pembandingan dengan sekumpulan nilai

pola string (string matching) - Operasi pembandingan dengan sekumpulan nilai Laboratorium Teknik Informatika UMM Page 2
pola string (string matching) - Operasi pembandingan dengan sekumpulan nilai Laboratorium Teknik Informatika UMM Page 2

Operasi : = < <= >= > <> IS Khusus untuk pembanding IS, nilai yang diisikan adalah null, yakni sebuah nilai yang belum berisi nilai. Perlu diketahui, bahwa nilai null tidak sama dengan nilai 0 pada tipe numerik ataupun string kosong pada tipe string. Misal:

- menampilkan anggota yang berjenis kelamin laki-laki:

SELECT * FROM Anggota WHERE JK=’L

- menampilkan Anggota yang tahun kelahirannya lebih dari 1985:

SELECT * FROM Anggota WHERE extract (YEAR FROM tgllahir) > 1985

- menampilkan Anggota wanita yang lahir di bulan Juli:

SELECT * FROM anggota WHERE JK=’P’ AND extract (MONTH FROM tgllahir) = 6

- menampilkan idKoleksi yang belum dikembalikan (TglKembali belum terisi)

SELECT * FROM Peminjaman WHERE TglKembali IS NULL

Operasi LIKE (pendekatan pola) khusus string

Operasi ini, hanya untuk pembandingan nilai bertipe string. Digunakan untuk mengenali string -string yang memiliki pola tertentu. Di dalam operasi ini, digunakan simbol-simbol berikut:

- simbol % artinya mewakili 0 s/d tak terhingga dari sembarang karakter.

- simbol _ artinya mewakili 1 sembarang karakter. misal:

- menampilkan anggota yang nama depannya: ‘Budi’

SELECT * FROM anggota WHERE Nama LIKE ‘Budi%’

- menampilkan Anggota yang huruf ketiga namanya adalah ‘d’, dua garis bawah ( huruf d.

) sebelum

SELECT * FROM anggota WHERE Nama LIKE ‘

d%

- menampilkan koleksi yang judulnya terdapat kata ‘pemrograman’

SELECT * FROM koleksi WHERE Judul LIKE ‘%pemrograman%

SELECT * FROM koleksi WHERE Jud ul LIKE ‘ %pemrograman% ’ Laboratorium Teknik Informatika UMM Page
SELECT * FROM koleksi WHERE Jud ul LIKE ‘ %pemrograman% ’ Laboratorium Teknik Informatika UMM Page

operasi IN atau NOT IN

Ekspresi ini digunakan untuk membandingkan dengan sebuah kumpulan nilai, yang mana kumpulan nilai bisa berupa:

- nilai-nilai yang diisikan

- query tunggal (query yg hasilnya hanya terdapat sebuah kolom saja)

Nilai-nilai yang diisikan, maksudnya kita sendiri yang mengisikan nilai-nilai tersebut di dalam

query kita. Misalnya:

- menampilkan koleksi yang jenisnya buku dan majalah (idTipeKoleksi=1 atau 2):

SELECT * FROM koleksi WHERE idTipeKoleksi IN (1, 2)

- menampilkan anggota yang selain mahasiswa atau dosen (idJenisAnggota selain 1 dan 3)

SELECT * FROM anggota WHERE IDJenisAnggota NOT IN (1, 3)

Query tunggal,

yakni nilai-nilai yang digunakan sebagai pembanding diambil dari sebuah query tunggal yang hasilnya hanya satu kolom saja. Misalnya:

- menampilkan anggota yang belum pernah meminjam buku sama sekali:

SELECT * FROM anggota WHERE id NOT IN (SELECT DISTINCT idAnggota FROM Peminjaman)

perhatikan tambahan klausa DISTINCT di atas untuk mempercepat proses, walau toh tanpa DISTINCT hasilnya juga sama.

- menampilkan koleksi yang sedang dipinjam:

SELECT * FROM koleksi WHERE idKoleksi IN (SELECT idKoleksi FROM Peminjaman WHERE TglKembali is NULL)

idKoleksi IN (SELECT idKoleksi FROM Peminjaman WHERE TglKembali is NULL) Laboratorium Teknik Informatika UMM Page 4
idKoleksi IN (SELECT idKoleksi FROM Peminjaman WHERE TglKembali is NULL) Laboratorium Teknik Informatika UMM Page 4

IV LAngkah-langkah praktikum (soal latihan)

Dalam materi praktikum modul ini digunakan contoh data dari user HR. Pertama kali aktifkan user HR dengan terlebih dahulu login sebagai system, dan setting user HR di database user administration agar tidak ter-unlock. Setelah user HR diaktifkan, loginlah sebagai user HR.

Dengan menggunakan data-data yang terdapat di dalam user HR tersebut, selesaikan

beberapa soal-soal latihan berikut, kemudian buat screen shot-nya sekaligus SQLnya :

1. Dapatkan Employee dengan nama depan berinisial D

2. Dapatkan Employee yang hiring date-nya diantara bulan juni 1994 dan agustus 1998

3. Dapatkan Employee yang memiliki gaji diatas 1000

4. Dapatkan Employee yang memiliki JOB ID selain IT_PROG dan FI_ACCOUNT

5. Dapatkan nama dank ode COUNTRIES yang memiliki region ID 1, 3, 5, dan 7

6. Dapatkan JOB TITLE yang minimal salary-nya diantara 1000-5000 dan maximal salary-nya diantara 12000 dan 15000

diantara 1000-5000 dan maximal salary-nya diantara 12000 dan 15000 Laboratorium Teknik Informatika UMM Page 5
diantara 1000-5000 dan maximal salary-nya diantara 12000 dan 15000 Laboratorium Teknik Informatika UMM Page 5