Laporan Praktikum Basis Data SQL Basic (Dml)

23
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

description

Laporan Praktikum Basis Data SQL Basic (Dml)

Transcript of Laporan Praktikum Basis Data SQL Basic (Dml)

Page 1: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 2: Laporan Praktikum Basis Data SQL Basic (Dml)

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.

Page 3: Laporan Praktikum Basis Data SQL Basic (Dml)

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 :

Page 4: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 5: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 6: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 7: Laporan Praktikum Basis Data SQL Basic (Dml)

Table LIBRARIAN

Table TRANSAKSI

Page 8: Laporan Praktikum Basis Data SQL Basic (Dml)

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’.

Page 9: Laporan Praktikum Basis Data SQL Basic (Dml)

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.

Page 10: Laporan Praktikum Basis Data SQL Basic (Dml)

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 :

Page 11: Laporan Praktikum Basis Data SQL Basic (Dml)

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:

Page 12: Laporan Praktikum Basis Data SQL Basic (Dml)

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.

Page 13: Laporan Praktikum Basis Data SQL Basic (Dml)

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 :

Page 14: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 15: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 16: Laporan Praktikum Basis Data SQL Basic (Dml)

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.

Page 17: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 18: Laporan Praktikum Basis Data SQL Basic (Dml)

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

Page 19: Laporan Praktikum Basis Data SQL Basic (Dml)

http://ilmukomputer.org/wp-content/uploads/2013/02/10.doc,

diakses pada tanggal 4 Desember 2014