Anda di halaman 1dari 19

LAPORAN PRAKTIKUM BASIS DATA

SQL BASIC (DATA MANIPULATION LANGUAGE)

DISUSUN OLEH :
ADITYA LUKY WIBOWO
M0513002
ASISTEN : 1. ALFI MUHAMMAD ANWAR (M0512003)
2. AMELIA RAHMAN (M0512004)
3. RIO PAHLEVY R. Y. B. (M0512048)
4. YANIAR RAHMAH (M0512059)

JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
SURAKARTA
SELASA, 2 DESEMBER 2014

BAB 1 PENDAHULUAN

1.1

TUJUAN PRAKTIKUM
1) Memahami dan mampu menggunakan SQL basic dalam hal DML (Data
Manipulation Language).

1.2

DASAR TEORI
SQL menyediakan perintah dan fungsi dalam jumlah yang cukup banyak
untuk menunjang aktifitas yang berhubungan dengan penelitian dan manipulasi
data pada DBMS. Berikut ini akan diuraikan mengenai dasar-dasar SQL.
Deklarasi atau perintah dalam SQL dikategorikan menjadi dua yaitu DDL ( data
definition language ) dan DML ( data manipulation language ), kategori ini
didasarkan pada karakteristik dan fungsi dari masing-masing.
DDL adalah bagian dari SQL yang digunakan untuk mendefinisikan data
dan obyek pada basis data. Sedangkan DML adalah bagian dari SQL yang
digunakan untuk memulihkan dan memanipulasi data, perintah ini digunakan
untuk memberikan query dan perubahan yang dilakukan di dalam tabel.
DML (Data Manipulation Language) adalah bahasa yang memungkinkan
pengguna mengakses atau memanipulasi data seperti yang diatur oleh model
data. Manipulasi data adalah :

Pengambilan informasi yang disimpan dalam basisdata

Penempatan informasi baru dalam basisdata

Penghapusan informasi dari basisdata

Modifikasi informasi yang disimpan dalam basisdata


DML (Data Manipulation Language) merupakan bahasa yang bertujuan

memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan


oleh model data. Ada 2 jenis DML, yaitu :

Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang


diinginkan serta bagaimana cara mendapatkannya.

Nonprosedural, yang membuat pemakai dapat menentukan data apa yang


diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

Query adalah pernyataan yang meminta pengguna mengambil informasi.


Bagian DML yang terlibat dalam pengambilan informasi disebut bahasa query.
Istilah bahasa query sering disamakan dengan istilah bahasa manipulasi data.
Sedangkan SQL adalah sebuah sintaks untuk mengeksekusi query.

BAB 2 ANALISA

2.1

PERMASALAHAN
Studi kasus dalam praktikum ini adalah mempelajari penggunaan SQL
basic dalam hal DML berdasarkan schema yang sudah ditentukan, dalam hal ini
schema LIBRARY. Maka permasalahan dalam praktikum ini adalah:
1) Membuat tabel database dari schema Library dengan aplikasi Oracle
Database dan mengisi tabel tersebut dengan data agar bisa menampilkan
data tertentu berdasarkan query yang terdapat dalam modul praktikum
LABWORK 6.
2) Menjelaskan setiap query yang akan dijalankan yang terdapat dalam modul
praktikum LABWORK 6.

2.2

PEMBAHASAN
Schema LIBRARY sudah ditentukan dalam modul praktikum yang dapat
dilihat sebagai berikut :

Dari schema tersebut dapat dibuat sebuah table database dengan


menggunakan aplikasi Oracle Database. Setelah itu isikan data-data pada setiap
table agar bisa menampilkan data tertentu berdasarkan query yang terdapat
dalam modul praktikum LABWORK 6. Berikut ini query yang akan dilakukan
pada menu SQL Commands di aplikasi Oracle Database :
1) Menampilkan id_user dan nama anggota yang berjenis kelamin perempuan
dan jenis pekerjaannya adalah mahasiswa.
SELECT id_user, name
FROM anggota
WHERE sex='F' and occupation='mahasiswa';

2) Menampilkan jumlah rata-rata yang dimiliki perpustakaan untuk setiap koleksi


buku.
SELECT AVG(number_of_coll) FROM koleksi
WHERE type_coll = 'buku';

3) Menampilkan id_user dan nama anggota yang saat ini masih melakukan
peminjaman, namun pernah memiliki riwayat telat mengembalikan koleksi
dan didenda.
SELECT a.id_user, a.name
FROM anggota a, transaksi t
WHERE a.id_user = t.id_user
AND t.back_date IS NULL
AND t.id_user IN
(SELECT DISTINCT id_user FROM transaksi WHERE fine IS NOT NULL)

4) Menampilkan nama pegawai yang (kemungkinan) merupakan anggota


perpustakaan juga.
SELECT UPPER(name), UPPER(place_of_birth), bdate, sex FROM librarian
intersect
SELECT UPPER(name), UPPER(place_of_birth), bdate, sex FROM anggota

5) Menampilkan urutan koleksi (kode koleksi) yang paling banyak dipinjam untuk
setiap tipe koleksi.
SELECT MAX(jumlah), MIN(jumlah), type_coll
FROM
(SELECT k.code_coll, COUNT(t.code_coll) jumlah, k.type_coll
FROM koleksi k LEFT JOIN transaksi t
ON k.code_coll = t.code_coll
GROUP BY k.code_coll,k.type_coll)
GROUP BY type_coll

6) Menampilkan koleksi yang tidak pernah dipinjam.


SELECT code_coll FROM koleksi
MINUS
SELECT code_coll FROM transaksi

7) Menampilkan pegawai yang usianya diantara 25-35 tahun.


SELECT name, usia
FROM
(SELECT name,
EXTRACT(YEAR FROM sysdate)- EXTRACT (YEAR FROM bdate) usia
from librarian)
WHERE
usia BETWEEN 25 AND 35

8) Menampilkan pegawai yang memiliki nama berawalan A maupun anggota


yang memiliki nama berakhiran A.
select id_librarian id, name nama from librarian
where name like 'a%'
UNION
select id_user, name from anggota
where name like '%a'

Berikut ini screenshot data-data yang terdapat dalam table yang


diperlukan untuk menampilkan data tertentu berdasarkan query-query diatas.

Table ANGGOTA

Table KOLEKSI

Table LIBRARIAN

Table TRANSAKSI

Berikut ini screenshot tampilan hasil data setelah query-query tersebut


dijalankan :
1) Menampilkan id_user dan nama anggota yang berjenis kelamin perempuan
dan jenis pekerjaannya adalah mahasiswa.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu


sebagai berikut :
a. Statement

SELECT

id_user,

name

tersebut

digunakan

untuk

menetapkan daftar atribut id_user dan atribut name sebagai query.


b. Statement FROM anggota tersebut digunakan untuk menetapkan tabel
anggota yang akan ditelusuri selama query data dilakukan.
c. Statement WHERE sex=F and occupation=mahasiswa tersebut
digunakan untuk predikat (sebagai kriteria) yang harus dipenuhi dalam
memperoleh hasil query. Kriteria yang harus dipenuhi adalah sex=F dan
occupation=mahasiswa.

Berdasarkan ketiga statement tersebut sehingga data yang memenuhi


adalah:
ID_USER

NAME

U0513009

Aprilla Paskarika Kuswara

U0513004

AFIFAH NUR LAILA

2) Menampilkan jumlah rata-rata yang dimiliki perpustakaan untuk setiap koleksi


buku.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu sebagai


berikut :
a. Statement SELECT AVG(number_of_coll) tersebut digunakan untuk
menetapkan

daftar

atribut

number_of_coll

sebagai

query

dan

mendapatkan hasil rata-rata dari atribut number_of_coll.


b. Statement FROM koleksi tersebut digunakan untuk menetapkan tabel
koleksi yang akan ditelusuri selama query data dilakukan.

c. Statement WHERE type_coll = buku tersebut digunakan untuk predikat


(sebagai kriteria) yang harus dipenuhi dalam memperoleh hasil query.
Kriteria yang harus dipenuhi adalah type_coll=buku.
Berdasarkan ketiga statement tersebut sehingga data yang diperoleh adalah:
AVG(NUMBER_OF_COLL)
15.25
Karena berdasarkan hasil perhitungan (10+15+20+16)/4 yaitu hasilnya 15.25

3) Menampilkan id_user dan nama anggota yang saat ini masih melakukan
peminjaman, namun pernah memiliki riwayat telat mengembalikan koleksi
dan didenda.

Pada SQL Commands tersebut terdapat 4 statement penting yaitu sebagai


berikut :

a. Statement SELECT a.id_user, a.name tersebut digunakan untuk


menetapkan daftar atribut id_user dan name sebagai query dengan
pemisalan variabel a.
b. Statement FROM anggota a, transaksi t tersebut digunakan untuk
menetapkan tabel anggota dengan pemisalan variabel a dan tabel
transaksi dengan pemisalan variabel t yang akan ditelusuri selama query
data dilakukan.
c. Statement WHERE a.id_user = t.id_user tersebut digunakan untuk
predikat (sebagai kriteria) yang harus dipenuhi dalam memperoleh hasil
query. Kriteria yang harus dipenuhi adalah id_user dengan pemisalan
variabel a = id_user dengan pemisalan variabel t, dan statement AND
t.back_date IS NULL tersebut digunakan sebagai kelanjutan dari kriteria
yang harus dipenuhi yaitu nilai dari atribut back_date dengan pemisalan
variabel t adalah NULL, serta statement AND t.id_user tersebut
merupakan kelanjutan dari kriteria yang harus dipenuhi yaitu ketentuan
tertentu dari atribut id_user dengan pemisalan variabel t dalam statement
IN.
d. Statement IN(SELECT DISTINCT id_user FROM transaksi WHERE fine
IS NOT NULL)

tersebut digunakan untuk membantu menyelesaikan

query terlebih dahulu yang terdapat dalam tanda (). Dalam tanda ()
terdapat statement SELECT DISTINCT id_user yang digunakan untuk
mengembalikan nilai yang berbeda, dalam hal tersebut mengembalikan
nilai pada atribut id_user. Jika ada nilai yang sama sebanyak 2x maka
nilai tersebut hanya ditampilkan 1x saja. Statement FROM transaksi
tersebut digunakan untuk menetapkan tabel transaksi yang akan ditelusuri
selama query data dilakukan, dan statement WHERE fine IS NOT NULL
tersebut digunakan untuk predikat (sebagai kriteria) yang harus dipenuhi
dalam memperoleh hasil query. Kriteria yang harus dipenuhi adalah nilai
atribut fine tidak NULL.
Berdasarkan keempat statement tersebut sehingga data yang memenuhi
adalah:

ID_USER

NAME

U0513003

ADNAN WIDYA ISWARA

U0513004

AFIFAH NUR LAILA

U0513005

Alfan Wiguna Putra

4) Menampilkan nama pegawai yang (kemungkinan) merupakan anggota


perpustakaan juga.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu sebagai


berikut :
a. Statement SELECT UPPER(name), UPPER(place_of_birth), bdate, sex
FROM librarian tersebut digunakan untuk menetapkan daftar atribut
name, place_of_birth, bdate, sex sebagai query dan mengubah isi data
dari atribut name dan place_of_birth menjadi huruf kapital semua dari
tabel librarian.
b. Statement intersect tersebut digunakan untuk mengambil data yang
bernilai sama dari kedua statement SELECT tersebut.

c. Statement SELECT UPPER(name), UPPER(place_of_birth), bdate, sex


FROM anggota tersebut digunakan untuk menetapkan daftar atribut
name, place_of_birth, bdate, sex sebagai query dan mengubah isi data
dari atribut name dan place_of_birth menjadi huruf kapital semua dari
tabel anggota.
Berdasarkan ketiga statement tersebut sehingga data yang memenuhi
adalah:
UPPER(NAME)

UPPER(PLACE_OF_BIRTH)

BDATE

SEX

APRILLA

MOJOSONGO

04/16/1995

PASKARIKA
KUSWARA

5) Menampilkan urutan koleksi (kode koleksi) yang paling banyak dipinjam untuk
setiap tipe koleksi.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu sebagai


berikut :

a. Statement SELECT MAX(jumlah), MIN(jumlah), type_coll tersebut


digunakan untuk menetapkan daftar atribut jumlah dengan data yang
paling banyak, daftar atribut jumlah dengan data yang paling sedikit, dan
type_coll sebagai query.
b. Statement FROM (SELECT k.code_coll, COUNT(t.code_coll) jumlah,
k.type_coll FROM koleksi k LEFT JOIN transaksi t ON k.code_coll =
t.code_coll GROUP BY k.code_coll,k.type_coll) tersebut digunakan
untuk menetapkan tabel dengan ketentuan yang terdapat dalam tanda ()
yang akan ditelusuri selama query data dilakukan. Dalam tanda ()
terdapat statement COUNT yang digunakan untuk menghitung jumlah dari
suatu atribut, statement LEFT JOIN yang digunakan untuk menghasilkan
baris data dari tabel kiri (nama tabel pertama) yang tidak ada pasangan
datanya pada tabel kanan (nama tabel kedua), dan statement GROUP BY
yang digunakan untuk pengelompokan suatu atribut tertentu.
c. Statement

GROUP

BY

type_coll

tersebut

digunakan

untuk

pengelompokan atribut type_coll.


Berdasarkan ketiga statement tersebut sehingga data yang memenuhi
adalah:
MAX(JUMLAH)

MIN(JUMLAH)

TYPE_COLL

buku

majalah

6) Menampilkan koleksi yang tidak pernah dipinjam.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu sebagai


berikut :
a. Statement SELECT code_coll FROM koleksi tersebut digunakan untuk
menetapkan daftar atribut code_coll sebagai query dari tabel koleksi.
b. Statement MINUS tersebut digunakan untuk mengurangi data code_coll
yang terdapat dalam tabel koleksi dengan data code_coll yang terdapat
dalam tabel transaksi.
c. Statement SELECT code_coll FROM transaksi tersebut digunakan
untuk menetapkan daftar atribut code_coll sebagai query dari tabel
transaksi.
Berdasarkan ketiga statement tersebut sehingga data yang memenuhi
adalah:
CODE_COLL
PS2091

7) Menampilkan pegawai yang usianya diantara 25-35 tahun.

Pada SQL Commands tersebut terdapat 3 statement penting yaitu sebagai


berikut :
a. Statement SELECT name, usia tersebut digunakan untuk menetapkan
daftar atribut name dan usia sebagai query.
b. Statement FROM(SELECT name, EXTRACT(Year FROM sysdate)EXTRACT (Year FROM bdate) usia FROM librarian) tersebut digunakan
untuk menetapkan tabel dengan ketentuan yang terdapat dalam tanda ()
yang akan ditelusuri selama query data dilakukan. Dalam tanda ()
terdapat statement EXTRACT yang digunakan untuk mendapatkan
informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan,
hari, jam, menit, dan detik tertentu.
c. Statement WHERE usia BETWEEN 25 AND 35 tersebut digunakan untuk
predikat (sebagai kriteria) yang harus dipenuhi dalam memperoleh hasil
query. Kriteria yang harus dipenuhi adalah data usia diantara 25 sampai
35.

Berdasarkan ketiga statement tersebut sehingga data yang memenuhi


adalah:
NAME

USIA

Jennifer Wallace

25

8) Menampilkan pegawai yang memiliki nama berawalan A maupun anggota


yang memiliki nama berakhiran A.

Pada SQL Commands tersebut terdapat 5 statement penting yaitu sebagai


berikut :
a. Statement select id_librarian id, name nama from librarian tersebut
digunakan untuk menetapkan daftar atribut id_librarian dengan pemisalan
id dan atribut name dengan pemisalan nama sebagai query.
b. Statement where name like a% tersebut digunakan untuk predikat
(sebagai kriteria) yang harus dipenuhi dalam memperoleh hasil query.
Statement like tersebut artinya mencari suatu data yang mirip dengan apa

yang user inginkan, dan tanda a% artinya data yang ditampilkan atau
dihasilkan adalah semua nama yang mempunyai nama awal a.
c. Statement UNION tersebut digunakan untuk menggabungkan data yang
berasal dari tabel librarian dan tabel anggota.
d. Statement select id_user, name from anggota tersebut digunakan untuk
menetapkan daftar atribut id_user dan atribut name dari tabel anggota
sebagai query.
e. Statement where name like %a tersebut digunakan untuk predikat
(sebagai kriteria) yang harus dipenuhi dalam memperoleh hasil query.
Statement like tersebut artinya mencari suatu data yang mirip dengan apa
yang user inginkan, dan tanda %a artinya data yang ditampilkan atau
dihasilkan adalah semua nama yang mempunyai nama akhiran a.
Berdasarkan kelima statement tersebut sehingga data yang memenuhi
adalah:
ID

NAMA

U0513005

Alfan Wiguna Putra

U0513009

Aprilla Paskarika Kuswara

BAB 3 PENUTUP

3.1

KESIMPULAN
Dari pembahasan diatas dapat simpulkan bahwa SQL (Structured Query
Language) adalah bahasa query yang standard yang digunakan sebagai suatu
bahasa sederhana dan dasar, yang memungkinkan user untuk berkomunikasi
dengan database, membaca, menulis, dan memperoleh informasi yang berguna
dari database. Setiap penulisan sintaks query yang berbeda maka hasil output
data juga berbeda, tergantung data mana yang ingin ditampilkan oleh user.

3.2

DAFTAR PUSTAKA
http://web.unair.ac.id/admin/file/f_33720_SDP_4_SQL1.pdf,
diakses pada tanggal 4 Desember 2014

http://ilmukomputer.org/wp-content/uploads/2013/02/10.doc,
diakses pada tanggal 4 Desember 2014