laporan 2 annissaul hidayah 11120018_6

62
LAPORAN PRAKTIKUM BASIS DATA LANJUT II Oleh Annissaul Hidayah 11120018 Rizki Fadila 11120024 Desmala Paranti 11120031 Fakultas Teknik Program Studi Teknik Informatika Universitas Wijaya Kusuma Surabaya 2014

Upload: saul-anizsa

Post on 29-Jul-2015

272 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Laporan 2 annissaul hidayah 11120018_6

LAPORAN PRAKTIKUM BASIS DATA LANJUT II

Oleh

Annissaul Hidayah 11120018

Rizki Fadila 11120024

Desmala Paranti 11120031

Fakultas Teknik

Program Studi Teknik Informatika

Universitas Wijaya Kusuma Surabaya

2014

Page 2: Laporan 2 annissaul hidayah 11120018_6

Tujuan

1. Mengerti tentang jenis-jenis join.

2. Memahami penggunaan join.

3. Mampu menerapkan penggunaan Join pada studi kasus.

Page 3: Laporan 2 annissaul hidayah 11120018_6

Pendahuluan

Operasi join atau penggabungan "menyamping" antar table adalah operasi dasar database

relasional yang sangat penting. Untuk mendukung perancangan database resional yang baik,

berikut adalah penjelasan dan ilustrasi mengenai join ini.

Cara kerja join ialah dengan mencari kecocokan kolom tertentu pada sebuah tabel dengan kolom

tertentu pada tabel lain, kemudian menampilkan hasilnya sebagai satu set data gabungan. Secara

garis besar, terdapat 3 macam join, yaitu INNER JOIN, LEFT JOIN dan RIGHT JOIN. Namun,

selain dari 3 macam tersebut, terdapat tambahan beberapa varian tergantung dari RDBMS yang

digunakan.

1. INNER JOIN

Dengan INNER JOIN hanya akan ditampilkan baris-baris yang satu sama lain memiliki

kecocokan.

Contoh:

SELECT a.nama, b.gejala

FROM pasien a

INNER JOIN gejala b

ON b.id = a.id;

|------ |---------- |

| nama | gejala |

|------ |---------- |

| John | Demam |

| Jane | Pusing |

| Mike | Mual |

2. LEFT JOIN

Sebuah query dengan LEFT JOIN akan menampilkan semua baris dari tabel sebelah kiri

(pertama/utama atau pasien) dengan gabungan dari tabel sebelah kanan (kedua atau

symptom).

Contoh:

SELECT a.nama, b.gejala

FROM pasien a

LEFT JOIN gejala b

ON b.id = a.id;

|-------|----------|

| nama | gejala |

Page 4: Laporan 2 annissaul hidayah 11120018_6

|-------|----------|

| John | Demam |

| Jane | Pusing |

| Mike | Mual |

| Doel | NULL |

Perbedaannya dengan INNER JOIN ialah, pada LEFT JOIN - seluruh baris dari tabel

pertama akan ditampilkan meskipun tidak ada kecocokan baris pada tabel kedua. Lihat

contoh diatas, pasien Doel tidak memiliki data symptom sehingga tertampil NULL

(NULL disini menyatakan bahwa tidak ada data pada kolom tersebut). Selain itu, posisi

tabel jadi mempunyai makna, yaitu tabel kiri atau pertama (ialah tabel sebelum 'LEFT

JOIN') akan menjadi tabel utama yang diquery terlebih dahulu, baru kemudian dicarikan

kecocokannya dengan tabel kanan atau kedua (ialah tabel setelah 'LEFT JOIN').

3. RIGHT JOIN

Query RIGHT JOIN hampir sama dengan LEFT JOIN, hanya saja posisinya terbalik,

yaitu akan menampilkan semua baris dari tabel kanan (kedua) meskipun tidak ada

kecocokan pada tabel kiri (pertama).

Contoh:

SELECT a.nama, b.gejala

FROM pasien a

RIGHT JOIN gejala b

ON b.id = a.id;

|-------|----------|

| nama | gejala |

|-------|----------|

| John | Demam |

| Jane | Pusing |

| Mike | Mual |

4. OUTER JOIN

Join yang hasilnya merupakan gabungan data yang bersesuaian atau data yang

memenuhi kondisi join dan data yang tidak punya pasangan di tabel lawannya.

Selanjutnya Outer Join dibagi lagi menjadi Left Outer Join, Right Outer Join, dan Full

Outer Join.

Pada dasarnya join hanya dilakukan antara dua tabel. Pada kondisi join satu tabel

diletakkan pada sisi kiri tanda pembanding dan satu tabel lagi di sisi kanannya. Apabila

Page 5: Laporan 2 annissaul hidayah 11120018_6

ingin menampilkan semua data di tabel kiri yang memiliki atau tidak memiliki pasangan

disebut Left Outer Join dan sebaliknya disebut Right Outer Join.

Penentuan Left Outer Join maka tanda (+) diletakkan disisi kanan tanda pembanding.

Penentuan Right Outer Join : tanda (+) diletakkan disisi kiri tanda pembanding.

5. CROSS JOIN

Menghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang

digabungkan, baik itu yang tidak berpasangan maupun yang

berpasangan. Bentuk paling sederhana dari penggabungan 2 buah tabel akan membentu

perkalian Cartesian.

6. UNION JOIN

Perintah UNION digunakan untuk menggabungkan isi dari 2 (dua) tabel atau

lebih. Perintah ini terdiri dari dua jenis, yaitu UNION dan UNION ALL. Seperti biasanya

untuk menghasilkan suatu dataset perintah UNION ini harus disisipkan diantara perintah

SELECT. Sedangkan perintah UNION ALL menggabungkan keseluruhan data walaupun

data tersebut mempunyai isi yang sama.

Page 6: Laporan 2 annissaul hidayah 11120018_6

Percobaan

a. Inner Join

Perintah inner join di gunakan untuk menampilkan data dari dua table yaitu table

mahasiswa dan table ambil_mk akan ditampilkan di sebelah kanan table mahasiswa.

b. Outer Join

Perintah Outer Join digunakan untuk mengggabungkan data yang bersesuaian atau data

yang memenuhi kondisi join dan data yang tidak punya pasangan di table lawannya.

Page 7: Laporan 2 annissaul hidayah 11120018_6

c. Left Join

Perintah ini digunakan untuk menampilkan semua data dari table mahasiswa perintah left

join beserta pasangannya yaitu table ambil_mk.

d. Right Join

Perintah ini digunakan untuk menampilkan semua data dari table ambil_mk perintah right

join beserta pasangannya yaitu table mahasiswa.

Page 8: Laporan 2 annissaul hidayah 11120018_6

e. Cross Join

Perintah ini digunakan untuk menggabungkan dua table tanpa kondisi.

f. Union All Join

Page 9: Laporan 2 annissaul hidayah 11120018_6

Perintah ini digunakan untuk menggabungkan keseluruhan data walaupun data tersebut

mempunyai isi yang sama Union Join

Perintah ini digunakan untuk memilih informasi yang berhubungan dari dua table, mirip

dengan join. Namun, ketika menggunakan perintah Union tipe data semua kolom yang

dipilih harus sama. Union hanya memunculkan nilai unik.

Page 10: Laporan 2 annissaul hidayah 11120018_6

SQL Server

INNER JOIN

Menggabungkan tabel mahasiswa dan ambil_mk hanya menampilkan field

nim,nama,alamat dari tabel mahasiswa dan kode_mk dari tabel ambil_mk, dengan syarat

nim yang ada pada tabel –tabel tersebut harus sama nilainya, sehingga dapat ditulis

query sebagai berikut :

Hasil :

Menggabungkan tabel ambil_mk dan matakuliah hanya menampilkan field nim,

kode_mk dari tabel ambil_mk dan nama_mk,semester dari tabel matakuliah, dengan

syarat kode_mk yang ada pada tabel –tabel tersebut harus sama nilainya, sehingga dapat

ditulis query sebagai berikut :

Hasil :

Page 11: Laporan 2 annissaul hidayah 11120018_6

Menggabungkan tabel matakuliah dan dosen hanya menampilkan field

kode_mk,nama_mk dari tabel matakuliah dan nama_dos dari tabel dosen, dengan syarat

kode_dos yang ada pada tabel –tabel tersebut harus sama nilainya, sehingga dapat ditulis

query sebagai berikut :

Hasil :

Menggabungkan tabel dosen dan jurusan hanya menampilkan field kode_jur,nama_jur

dari tabel jurusan dan nama_dos dari tabel dosen, dengan syarat kode_dos yang ada pada

tabel –tabel tersebut harus sama nilainya, sehingga dapat ditulis query sebagai berikut :

Hasil :

FULL OUTER JOIN

Untuk menampilkan seluruh field dari tabel dosen dan dosen dengan syarat kode_dos

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan

“NULL”

Page 12: Laporan 2 annissaul hidayah 11120018_6

Hasil :

Untuk menampilkan seluruh field dari tabel mahasiswa dan ambil_mk dengan syarat nim

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan

“NULL”

Hasil :

Page 13: Laporan 2 annissaul hidayah 11120018_6

Hasil :

LEFT JOIN

Untuk menampilkan beberapa tabel mahasiswa dan ambil_mk dengan syarat nim tabel –

tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan “NULL”

Hasil :

Page 14: Laporan 2 annissaul hidayah 11120018_6

Hasil :

Hasil :

Untuk menampilkan beberapa data tabel dosen dan tabel jurusan dengan syarat

kode_dosen tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan

seluruh data secara berpasangan dan bila tidak ada pasangannya maka akan tetap

ditampilkan “NULL”

Hasil :

Page 15: Laporan 2 annissaul hidayah 11120018_6

Left join memunculkan semua baris tabel pertama, bahkan jika tidak ada pasangannya di

tabel kedua. Jika ada beris pada tabel pertama yang tidak ada pasangannya pada tabel

kedua, maka akan dimunculkan juga “NULL”

RIGHT JOIN

Untuk menampilkan beberapa tabel mahasiswa dan tabel ambil_mk dengan syarat nim

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan “NULL”

Hasil :

Hasil :

Untuk menampilkan beberapa tabel dosen dan table matakuliah dengan syarat

kode_dosen tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan

Page 16: Laporan 2 annissaul hidayah 11120018_6

seluruh data secara berpasangan dan bila tidak ada pasangannya maka akan tetap

ditampilkan “NULL”

Hasil :

Untuk menampilkan semua table dosen dan table jurusan dengan syarat kode_dosen tabel

– tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan “NULL”

Hasil :

Page 17: Laporan 2 annissaul hidayah 11120018_6

CROSS JOIN

Untuk menampilkan beberapa tabel mahasiswa dan tabel ambil_mk tanpa ada kondisi.

Hasil :

Untuk menampilkan beberapa tabel dosen dan tabel matakuliah tanpa ada kondisi.

Page 18: Laporan 2 annissaul hidayah 11120018_6

Hasil :

Untuk menampilkan beberapa tabel dosen dan tabel jurusan tanpa ada kondisi.

Hasil :

Page 19: Laporan 2 annissaul hidayah 11120018_6

UNION

Untuk memilih informasi yang berhubungan dari table mahasiswa dan table ambil_mk

mirip dengan join namun, Union akan menampilkan semua data yang dipilih harus sama.

Hasil :

Hasil :

Page 20: Laporan 2 annissaul hidayah 11120018_6

Tugas

Oracle

Membuat table pemilik dengan kode_pemilik sebagai primary key

Membuat table karyawan dengan kode_karyawan sebagai primary key

Page 21: Laporan 2 annissaul hidayah 11120018_6

Membuat table Travel dengan no_Travel sebagai primary key

Page 22: Laporan 2 annissaul hidayah 11120018_6

Membuat table Bis dengan no_bis sebagai primary key

Membuat table Kereta Api dengan no_kereta sebagai primary key

Membuat table Kapal dengan no_kapal sebagai primary key

Page 23: Laporan 2 annissaul hidayah 11120018_6

Membuat table pesawat dengan no_pesawat sebagai primary key

Membuat table Terminal dengan kode_terminal sebagai primary key

Page 24: Laporan 2 annissaul hidayah 11120018_6

Membuat table pelabuhan dengan kode_pelabuhan sebagai primary key

Membuat table stasiun dengan kode_stasiun sebagai primary key

Page 25: Laporan 2 annissaul hidayah 11120018_6

Membuat table bandara dengan kode_bandara sebagai primary key

Membuat table promo dengan kode_promo sebagai primary key

Page 26: Laporan 2 annissaul hidayah 11120018_6

Membuat table customer dengan kode_customer sebagai primary key

Query data promo

Page 27: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table pemilik

Tampilan dan query data pada table Customer

Page 28: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table Karyawan

Tampilan dan query data pada table Kereta Api

Page 29: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table Kapal

Tampilan dan query data pada table Pesawat

Page 30: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table Bandara

Tampilan dan query data pada table Terminal

Page 31: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table Pelabuhan

Tampilan dan query data pada table stasiun

Page 32: Laporan 2 annissaul hidayah 11120018_6

Tampilan dan query data pada table promo

Tampilan dan query data pada table travel

Page 33: Laporan 2 annissaul hidayah 11120018_6

Menggabungkan tabel pemilik dan table travel hanya menampilkan field

kode_pemilik,alamat_pemilik dari tabel pemilik dan no_travel dari tabel travel, dengan syarat

no_travel yang ada pada tabel –tabel tersebut harus sama nilainya.

Menggabungkan tabel customer dan table travel hanya menampilkan field

kode_customer,nama_customer dari tabel customer dan no_travel dari tabel travel, dengan

syarat no_travel yang ada pada tabel –tabel tersebut harus sama nilainya.

Untuk menampilkan seluruh field dari tabel pemilik dan table travel dengan syarat no_travel

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 34: Laporan 2 annissaul hidayah 11120018_6

Untuk menampilkan seluruh field dari tabel Customer dan table travel dengan syarat no_travel

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan beberapa tabel Pemilik dan table travel dengan syarat no_travel tabel –

tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan

dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 35: Laporan 2 annissaul hidayah 11120018_6

Untuk menampilkan beberapa tabel Bis dan table travel dengan syarat no_travel tabel – tabel

tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan dan

bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan beberapa tabel pemilik dan tabel travel dengan syarat no_travel tabel – tabel

tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan dan

bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan beberapa tabel Kereta Api dan tabel Stasiun dengan syarat kode_stasiun

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 36: Laporan 2 annissaul hidayah 11120018_6

Untuk memilih informasi yang berhubungan dari table pemilik dan table travel mirip dengan join

namun, Union akan menampilkan semua data yang dipilih harus sama.

Untuk memilih informasi yang berhubungan dari table promo dan table travel mirip dengan join

namun, Union akan menampilkan semua data yang dipilih harus sama.

Page 37: Laporan 2 annissaul hidayah 11120018_6

Untuk menampilkan beberapa tabel pemilik dan tabel travel tanpa ada kondisi

Untuk menampilkan beberapa tabel promo dan tabel travel tanpa ada kondisi

Page 38: Laporan 2 annissaul hidayah 11120018_6

SQL Server

Membuat database baru

Membuat database dengan nama Travel_agent.

Page 39: Laporan 2 annissaul hidayah 11120018_6

Membuat table baru

Membuat table travel dengan no_travel sebagai primary key.

Query pada data travel

Tampilan data pada table travel

Page 40: Laporan 2 annissaul hidayah 11120018_6

Membuat table pemilik dengan kode_pemilik sebagai primary key

Query pada data pemilik

Tampilan data pada tabel data pemilik

Membuat table karyawan dengan kode_karyawan sebagai primary key

Page 41: Laporan 2 annissaul hidayah 11120018_6

Query pada data karyawan

Tampilan data pada data karyawan

Page 42: Laporan 2 annissaul hidayah 11120018_6

Query pada data promo

Page 43: Laporan 2 annissaul hidayah 11120018_6

Tampilan data pada table promo

Membuat table customer dengan kode_customer sebagai primary key

Page 44: Laporan 2 annissaul hidayah 11120018_6

Query pada data Customer

Tampilan data pada table customer

Page 45: Laporan 2 annissaul hidayah 11120018_6

Membuat tabel Kereta Api dengan no_KA sebagai primary key

Query pada data Kereta Api

Page 46: Laporan 2 annissaul hidayah 11120018_6

Tampilan data pada table Kereta Api

Membuat tabel Bis dengan no_bis sebagi primary key

Page 47: Laporan 2 annissaul hidayah 11120018_6

Query pada data bis

Tampilan data pada table bis

Page 48: Laporan 2 annissaul hidayah 11120018_6

Membuat tabel pesawat dengan no_pesawat sebagai primary key

Query pada tabel pesawat

Page 49: Laporan 2 annissaul hidayah 11120018_6

Tampilan data pada table pesawat

Membuat tabel Kapal dengan no_kapal sebagai primary key

Page 50: Laporan 2 annissaul hidayah 11120018_6

Query pada data kapal

Tampilan data pada table kapal

Page 51: Laporan 2 annissaul hidayah 11120018_6

Membuat tabel stasiun dengan kode_stasiun sebagai primary key

Query pada data stasiun

Tampilan data pada table stasiun

Page 52: Laporan 2 annissaul hidayah 11120018_6

Membuat tabel pelabuhan dengan kode_pelabuhan sebagai primary key

Query pada data pelabuhan

Tampilan data pada tabel pelabuhan

Page 53: Laporan 2 annissaul hidayah 11120018_6

Membuat table bandara dengan kode_bandara sebagai primary key

Query data bandara

Tampilan data pada tabel bandara

Page 54: Laporan 2 annissaul hidayah 11120018_6

Membuat table terminal dengan kode_terminal sebagai primary key

Query data terminal

Tampilan data pada table terminal

Page 55: Laporan 2 annissaul hidayah 11120018_6

INNER JOIN

Menggabungkan tabel pemilik dan table travel hanya menampilkan field

kode_pemilik,alamat_pemilik dari tabel pemilik dan no_travel dari tabel travel, dengan syarat

no_travel yang ada pada tabel –tabel tersebut harus sama nilainya.

Menggabungkan tabel customer dan table travel hanya menampilkan field

kode_customer,nama_customer dari tabel customer dan no_travel dari tabel travel, dengan syarat

no_travel yang ada pada tabel –tabel tersebut harus sama nilainya.

Page 56: Laporan 2 annissaul hidayah 11120018_6

OUTER JOIN

Untuk menampilkan seluruh field dari tabel pemilik dan table travel dengan syarat no_travel

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan seluruh field dari tabel Customer dan table travel dengan syarat no_travel

tabel – tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara

berpasangan dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 57: Laporan 2 annissaul hidayah 11120018_6

LEFT JOIN

Untuk menampilkan beberapa tabel Pemilik dan table travel dengan syarat no_travel tabel –

tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan

dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan beberapa tabel Customer dan table travel dengan syarat no_travel tabel –

tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan

dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 58: Laporan 2 annissaul hidayah 11120018_6

RIGHT JOIN

Untuk menampilkan beberapa tabel pemilik dan tabel travel dengan syarat no_travel tabel – tabel

tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan dan

bila tidak ada pasangannya maka akan tetap ditampilkan.

Untuk menampilkan beberapa tabel Customer dan tabel Travel dengan syarat no_stravel tabel –

tabel tersebut nilainya harus sama sehingga akan menampilkan seluruh data secara berpasangan

dan bila tidak ada pasangannya maka akan tetap ditampilkan.

Page 59: Laporan 2 annissaul hidayah 11120018_6

UNION JOIN

Untuk memilih informasi yang berhubungan dari table pemilik dan table travel mirip dengan join

namun, Union akan menampilkan semua data yang dipilih harus sama.

Untuk memilih informasi yang berhubungan dari table karyawan dan table travel mirip dengan

join namun, Union akan menampilkan semua data yang dipilih harus sama.

Page 60: Laporan 2 annissaul hidayah 11120018_6

CROSS JOIN

Untuk menampilkan beberapa tabel pemilik dan tabel travel tanpa ada kondisi

Page 61: Laporan 2 annissaul hidayah 11120018_6

Untuk menampilkan beberapa tabel promo dan tabel travel tanpa ada kondisi

Page 62: Laporan 2 annissaul hidayah 11120018_6

Kesimpulan

Join merupakan operasi yang digunakan untuk menggabungkan kolom-kolom yang berasal dari

dua table atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabel-

tabel tersebut.