laporan praktikum basis data sql basic (dml)
DESCRIPTION
Laporan Praktikum Basis Data SQL Basic (Dml)TRANSCRIPT
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 PRAKTIKUM1) Memahami dan mampu menggunakan SQL basic dalam hal DML (Data
Manipulation Language).
1.2 DASAR TEORISQL 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 PERMASALAHANStudi 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 PEMBAHASANSchema 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 NAMEU0513009 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 NAMEU0513003 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 SEXAPRILLA
PASKARIKA
KUSWARA
MOJOSONGO 04/16/1995 F
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_COLL2 1 buku
1 0 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_COLLPS2091
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 USIAJennifer 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 NAMAU0513005 Alfan Wiguna Putra
U0513009 Aprilla Paskarika Kuswara
BAB 3 PENUTUP
3.1 KESIMPULANDari 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 PUSTAKAhttp://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