Modul - 6
3. Teori Penunjang
4. Prosedur Pelaksanaan
5. Implementasi dan Hasil Praktikum
6. Kesimpulan
Basis Data
Daftar Isi
1. Deskripsi Praktikum .......................................................................................................... 3
2. Perangkat Lunak ............................................................................................................... 3
3. Teori Penunjang ................................................................................................................. 3
4. Prosedur Pelaksanaan ..................................................................................................... 11
5. Implementasi dan Hasil Praktikum ............................................................................... 14
6. Kesimpulan ....................................................................................................................... 19
Basis Data
1. Deskripsi Praktikum
Mengenal dan memahami konsep sub query serta dapat membedakannya dengan
konsep join.
Dapat mengimplementasikan sub query serta berbagai macam bentuk join.
2. Perangkat Lunak
Komputer Set
Oracel 10g
Power Designer
3. Teori Penunjang
1. SUB QUERY
Sub query adalah salah satu metode untuk mendapatkan informasi dari beberapa tabel
dalam database. Arti sub query sendiri adalah seleksi data berdasarkan dari hasil
seleksi data yang telah ada. Jadi untuk mendapatkan informasi pada tabel ataupun
relasional tabel yang sangat kompleks kita dapat menggunakan kondisi dengan sub
permintaan tertentu.
Syntax :
SELECT select_list FROM table WHERE expr operator (SELECT
select_list FROM table)
Basis Data
2. KLAUSA JOIN
Join merupakan istilah yang digunakan untuk menggambarkan relasi yang terjadi
antara satu tabel dengan tabel lainnya. Untuk menghubungkan satu tabel dengan tabel
lainnya (merelasikan tabel) harus terdapat suatu field pada tabel yang berfungsi
sebagai foreign key.
Dengan Foreign Key inilah kemudian suatu tabel berelasi dengan tabel yang lain.
Tabel yang memiliki foreign key kemudian dikenal dengan child table, sedangkan
tabel tempat referensi Foreign Key (Primary Key) dikenal dengan parent table.
Table Employees
Table Departments
Syntax :
SELECT table1.column, table2.column FROM table1 [NATURAL JOIN
table2] |
[JOIN table2 USING (column_name)] |
[JOIN table2 ON (table1.column_name = table2.column_name)]
[LEFT|RIGHT|FULL OUTER JOIN table2 ON (table1.column_name =
table2.column_name)] |
[CROSS JOIN table2]
Dokumen Laboratorium Teknik Informatika UMM @ 2014 Laporan Modul Praktikum
Basis Data
2.1.Equi Join
Equi join atau biasa disebut sebagai Inner Join atau Simple Join adalah bentuk kondisi
join dimana nilai relasi yang terjadi antar dua atau lebih table (binary relation) adalah
sama (terdapat hubungan antara Primary Key dan Foreign Key).
Contoh : [Database HR]
SELECT employees.employee_id, employees.last_name,
employees.department_id, departments.department_id, departments.location_id
FROM employees, departments
WHERE employees.department_id = departments.department_id
Tabel Asli :
Table Departments
Table Employees
Foreign Key Primary Key
Hasil Join :
2.2.Inner Join
Merupakan operasi paling umum yang digunakan dan dapat dianggap sebagai tipe
join yang standart. Inner join menghasilkan table baru dengan menggabungkan nilainilai kolom dari dua tabel (A dan B) didasarkan pada predikat join.
Contoh : [Database HR]
SELECT * FROM job_history INNER JOIN jobs ON
job_history.job_id = jobs.job_id
Basis Data
Tabel Asli :
Table Job_History
Foreign Key Primary Key
Table Jobs
Hasil Join :
2.3.Natural Join
Digunakan jika pada tabel yang di join terdapat kolom (atribut) yang memiliki
nama yang sama dan type data yang sama. Pada waktu join kolom tersebut secara
otomatis akan digunakan untuk dibandingkan, dan kita tidak bisa menentukan
kolom mana yang akan digunakan untuk dibandingkan.
Contoh : [Database HR]
SELECT department_id, department_name, location_id, city
FROM departments NATURAL JOIN locations
Basis Data
2.4.Join Using
Digunakan jika pada tabel yang di join terdapat kolom dengan nama yang sama
dan untuk tipe data boleh sama atau berbeda. Pada waktu join, kita bisa memilih
kolom tertentu yang akan digunakan untuk dibandingkan, hal ini akan sangat berguna
jika terdapat lebih dari satu kolom dengan nama yang sama pada tabel yang akan di
join.
Contoh : [Database HR]
SELECT first_name, job_title FROM employees JOIN jobs
USING(job_id)
Tabel Asli :
Table Employees
Table Jobs
JOIN
Hasil Join :
2.5.Join On
Digunakan walapun pada tabel yang di join tidak terdapat kolom dengan nama
yang sama, atau bisa juga menggunakan kolom dengan nama yang berbeda untuk
dibandingkan ketika join.
Contoh : [Database HR]
SELECT e.first_name, e.job_id, j.job_id, j.job_title FROM
employees e JOIN jobs j ON e.job_id=j.job_id
Dokumen Laboratorium Teknik Informatika UMM @ 2014 Laporan Modul Praktikum
Basis Data
Table Employees
Foreign Key
Primary Key
Table Jobs
JOIN
Hasil Join :
Basis Data
Tabel Asli :
Table Employees
Foreign Key
Primary Key
Table Departments
JOIN
Hasil Join :
..
Foreign Key
Primary Key
Table Departments
JOIN
Basis Data
Hasil Join :
..
Foreign Key
Primary Key
Table Departments
JOIN
Hasil Join :
..
..
Basis Data
2.9.Cross Join
Merupakan perkalian kartesian dalam pemakaian klausa from.
Contoh : [Database HR]
SELECT * FROM jobs CROSS JOIN job_history
4. Prosedur Pelaksanaan
LATIHAN PRAKTIKUM
I. Buat query dengan menggunakan konsep SUBQUERY untuk menyelesaikan soal dan
menghasilkan output berikut : [Database Perusahaan]
a) Tampilkan no_ktp, nama, alamat pegawai yang mempunyai tanggungan terhadap
DINI.
b) Tampilkan no_ktp, nama, gaji untuk pegawai yang memiliki lama kerja antara 30
sampai 50 jam dan gaji dibawah Rp. 2.500.000.
Basis Data
II.
Buat query dengan menggunakan konsep JOIN untuk menyelesaikan soal dan
menghasilkan output berikut : [Database Perusahaan]
a) Tampilkan semua informasi mengenai proyek dan di departemen mana proyek
tersebut dikerjakan.
b) Tampilkan nama departemen dan seluruh pegawai yang bekerja pada masingmasing departemen.
c) Tampilkan nama departemen dan jumlah pegawai yang bekerja pada masing
masing departemen tersebut.
d) Tampilkan no_ktp, nama pegawai dan gaji untuk pegawai yang mempunyai
ataupun tidak mempunyai tanggungan. Jika mempunyai tanggungan sertakan
nama keluarga yang menjadi tanggungan dan apa hubungan kekeluargaannya.
Basis Data
e) Tampilkan semua departemen dan proyek yang sedang dikerjakan beserta lokasi
proyeknya.
f) Tampilkan no_ktp, nama, gaji pegawai yang memiliki lama kerja antara 30
sampai 50 jam dan gaji dibawah Rp. 2.500.000. Non Equi Join
III. Buat query dengan menggabungkan konsep SUBQUERY dan JOIN sehingga
menghasilkan output seperti berikut : [Database Perusahaan]
a) Tampilkan no_ktp, nama pegawai, nama_proyek, lama_jam untuk pegawai yang
bekerja di proyek DESAIN GAMBAR atau JARINGAN KOMPUTER dan memiliki
lama jam kerja diatas lama jam kerja minimal.
Tugas Praktikum
Terapkan operasi operasi dibawah ini sesuai dengan kasus yang kalian pilih pada modul 1
masing masing 2 operasi.
Single Row Sub Query
multiple row sub query
equi join
inner join
natural join
join using
join on
left outter join
right outter join
full outter join
cross join
non equi join
Basis Data
Latihan praktikum
1.b. SELECT NO_KTP,NAMA,GAJI FROM PEGAWAI WHERE GAJI < 2500000 AND NO_KTP
IN (SELECT NO_KTP FROM KERJA WHERE LAMA_JAM > 30 AND LAMA_JAM < 50 )
2.a. SELECT
PROYEK.NO_PRO,PROYEK.NAMA,PROYEK.LOKASI,PROYEK.NO_DEP,DEPARTEMEN.NO_DEP,
DEPARTEMEN.NAMA,DEPARTEMEN.LOKASI FROM PROYEK,DEPARTEMEN WHERE
PROYEK.NO_DEP=DEPARTEMEN.NO_DEP
Tugas praktikum
3. equi join
SELECT MAHASISWA.NIM, MAHASISWA.NAMA, MAHASISWA.KELAS,
KRS.NILAI_UTS, KRS.NILAI_UAS
FROM MAHASISWA, KRS
WHERE MAHASISWA.NIM = KRS.NIM
Basis Data
4. inner join
SELECT * FROM MAHASISWA INNER JOIN KRS ON MAHASISWA.NIM = KRS.NIM
5. natural join
SELECT NIM,NAMA,KELAS,SEMESTER
FROM MAHASISWA NATURAL JOIN JURUSAN_KULIAH
6. join using
Dokumen Laboratorium Teknik Informatika UMM @ 2014 Laporan Modul Praktikum
Basis Data
7. join on
SELECT M.NIM, M.NAMA, K.NIM, K.NILAI_UAS FROM
MAHASISWA M JOIN KRS K ON M.NIM=K.NIM
Basis Data
Basis Data
Basis Data
6. Kesimpulan
Subquery merupakan query didalam query atau perintah select yang berada di
dalam perintah select lainnya.
Join merupakan istilah yang digunakan untuk menggambarkan relasi yang terjadi
antara satu tabel dengan tabel lainnya. Untuk menghubungkan satu tabel dengan tabel
lainnya (merelasikan tabel) harus terdapat suatu field pada tabel yang berfungsi
sebagai foreign key.
Terdapat beberapa perintah dalam sub query dan join, diantaranya :
Single Row Sub Query
multiple row sub query
equi join
inner join
natural join
join using
join on
left outter join
right outter join
full outter join
cross join
non equi join
Basis Data