Anda di halaman 1dari 14

Makalah Basis Data

JOIN

Oleh :

Windu Febrianto 91805101045

UNIVERSITAS PGRI MADIUN


FAKULTAS TEKNIK
PRODI INFORMATIKA
DAFTAR ISI

Bab I Pendahuluan
1.1 Latar Belakang...............................................................................................
1.2 Rumusan Masalah.........................................................................................
1.3 Tujuan Penulisan...........................................................................................

Bab II Pembahasan
2.1 Pengertian Joins Table..................................................................................
2.2 Jenis-jenis Joins.............................................................................................

Bab III Penutup


3.1 Kesimpulan...................................................................................................
3.2 Saran............................................................................................................
BAB  I
PENDAHULUAN

1.1  Latar Belakang
Di dalam suatu RDBMS termasuk MySQL, tentunya sudah menjadi suatu kewajaran jika
dalam satu database dapat terdiri dari beberapa tabel. Masing-masing tabel tersebut dapat
berhubungan (berelasi) satu sama lain. Relasi antar-tabel dapat berupa relasi 1-1 (one-to-one),
1-M (one-to-many), atau M-N (many-to-many). Pada pembuatan suatu aplikasi, terkadang
kita juga memerlukan tampilan data yang tidak hanya berasal dari 1 (satu) tabel, namun bisa
dari beberapa tabel sekaligus. Contohnya, kita ingin menampilkan nama pelanggan berikut
transaksi yang pernah dilakukannya. Dari contoh tersebut, kita harus bisa menggabungkan
minimal dua tabel. Untuk menggabungkan 2 (dua) atau lebih tabel, kita dapat menggunakan
bentuk perintah join. 
Join memiliki beberapa jenis atau tipe yaitu inner join, cross join, outer join, equi, dan
self join. Dalam makalah ini kami akan membahas tentang jenis-jenis atau tipe-tipe joins
table secara garis besar diantaranya inner join, left join,right join dan full join (outer join)
dengan mengimplementasikan nya menggunakan cmd dan phpmyadmin.

1.2 Rumusan Masalah


1.  Apa itu Joins Table dan bagaimana relasinya?
2.  Jelaskan inner join, left join, right join dan full join beserta contohnya?
3.  Bagaimana perbedaan antara inner join, left join, right join dan full join?

1.3 Tujuan Penulisan


1. Mahasiswa dapat memahahi tabel joins dan relasinya.
2. Mahasiswa dapat menjelaskan inner join, left join, right join dan full join beserta 
    contohnya.
3. Mahasiswa dapat mengetahui perbedaan antara inner join, left join, right join dan full join.
 BAB II
  PEMBAHASAN

2.1   Pengertian Joins Table


Query atau juga sering disebut dengan SQL singkatan dari Structured Query
Language adalah suatu bahasa yang digunakan untuk mengakses database. (Achmad
Solichin, 2010).
 Secara singkat join merupakan sarana untuk menggabungkan kolom dari satu tabel atau
lebih banyak tabel. Join diperlukan karena perancangan table pada sistem transaksional
kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi. Joins topik
menjadi hal yang paling disalahpahami di antara pengguna SQL. Demi kesederhanaan dan
kemudahan pemahaman, kita akan menggunakan Database baru untuk mempraktikkan
sampel. Seperti yang ditunjukkan di bawah ini:

Members

Movies
Apa itu joins table? 

Yaitu penggabungan tabel-tabel menggunakan Query yang dilakukan melalui kolom/key


tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi
lengkap yang artinya kolom data didapatkan dari kolom kolom hasil join antar tabel tersebut.
Bisa kita lihat bahwa, diatas ini merupakan sebuah relasi dari tabel members dan movies,
field/kolom movie_id pada tabel members saling berhubungan dengan field/kolom movie_id
pada tabel movies.

2.2   Jenis-Jenis Joins
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.
2.2.1        Inner Join
       Definisi dan Kegunaan inner join adalah sebagai berikut:
1. Digunakan untuk mengembalikan baris dari kedua tael yang memenuhi kondisi yang
diberikan.
2. Digunakan untuk menampilkan data dari dua atau lebih tabel dengan menggunakan
operator perbandingan pada kolom yang terdapat di tabel-tabel tersebut.
3. Baris yang sesuai dengan kondisi join akan ditampilkan sedangkan yang tidak sesuai
akan dieliminasi

Misalkan, anda ingin mendapatkan daftar anggota yang telah menyewa film bersama dengan
judul film yang disewa oleh mereka. Anda bisa menggunakan inner join untuk itu, yang
mengembalikan baris dari kedua tabel yang sesuai dengan kondisi yang ada.

 SELECT members.first_name, members.last_name, movies.movie_id, movies.title

 FROM members, movies

 WHERE members.movie_id =  movies.movie_id 

Hasil dari script sql I di atas pada phpmyadmin menjadi:


Hasil dari script sql I di atas pada cmd menjadi:

Script dengan hasil yang sama:

Sript II
 SELECT a.movie_id, a.name, b.movie_id, b.title

 FROM members AS a

 INNER JOIN movies AS b

 ON a. movie_id = b.movie_id

Script III
SELECT a.movie_id, a.name, b.movie_id, b.title

FROM members a INNER JOIN movies b

ON a.movie_id = b.movie_id

Script IV
SELECT a.movie_id, a.name, b.movie_id, b.title

FROM members a

INNER JOIN movies b ON (a.movie_id = b.movie_id)

2.2.2        Left Join
     Definisi dan Kegunaan left join adalah sebagai berikut:
1. Left join termasuk outer join yang digunakan untuk mengembalikan semua record
yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join
dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
2. Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kiri
keyword LEFT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada
tabel yang disebutkan disebelah kanan keyword LEFT OUTER JOIN.
3. Jika baris disebelah kiri tidak memiliki pasangan pada tabel sebelah kanan, maka nilai
yang akan tampil adalah NULL (disebelah kanan NULL nya).

Dalam contoh kita, mari kita asumsikan bahwa Anda perlu mendapatkan nama anggota dan
film yang disewa oleh mereka. Sekarang kita memiliki anggota baru yang belum menyewa
film apapun. Kita dapat menggunakan left join untuk tujuan ini.

Left join mengembalikan semua baris dari tabel di sebelah kiri meskipun tidak ada baris yang
cocok ditemukan di tabel di sebelah kanan. Dimana tidak ditemukan kecocokan pada tabel di
sebelah kanan, NULL dikembalikan.

Script I Left Join:

SELECT a.member_id, a.name, b.movie_id, b.title

FROM members AS a

LEFT OUTER JOIN movies AS b 

ON a.movie_id = b.movie_id

Script II:

SELECT a.member_id, a.name, b.movie_id, b.title

FROM members a

LEFT OUTER JOIN movies b ON (a.movie_id = b.movie_id)

Melaksanakan skrip I dan II (sama) di atas pada phpmyadmin dan cmd. Dapat dilihat bahwa
dalam hasil yang dikembalikan yang tercantum di bawah ini untuk film yang tidak disewa,
movie_id dan title memiliki nilai NULL. Itu berarti tidak ada member_id atau member (nico)
yang berelasi.
Catatan: Null dikembalikan untuk baris yang tidak cocok di kanan

2.2.3 Right Join


      Definisi dan Kegunaan right join adalah sebagai berikut:

1. Right join termasuk outer join yang digunakan untuk mengembalikan semua record
yang cocok dari kedua tabel. Ini bisa mendeteksi record yang tidak cocok di tabel join
dan mengembalikan niai NULL untuk catatan tabel join jika tidak ada yang cocok.
2. Menghasilkan semua baris yang terdapat pada tabel yang disebutkan di sebelah kanan
keyword RIGHT OUTER JOIN yang akan digabungkan dengan aris yang sesuai pada
tabel yang disebutkan disebelah kiri keyword RIGHT OUTER JOIN.
3. Jika baris disebelah kanan tidak memiliki pasangan pada tabel sebelah kiri, maka nilai
yang akan tampil adalah NULL (disebelah kiri NULL nya).
Asumsikan sekarang anda ingin mendapatkan judul semua film bersama dengan nama
member yang telah menyewanya. Jelas bahwa beberapa film tidak disewa oleh siapa
pun. Kita bisa menggunakan right join untuk tujuan itu.
Sript Right Join:
 SELECT a.member_id, a.name, b.movie_id, b.title

 FROM membersAS a

 RIGHT JOIN movies AS b

 ON a.movie_id = b.movie_id 

Melaksanakan skrip sql di atas pada phpmyadmin dan cmd memberikan hasil:

Catatan: Null dikembalikan untuk baris yang tidak cocok di sebelah kiri

2.2.4 Full Join

              Penggunaan FULL JOIN adalah untuk menampilkan kedua table dengan record –
record yang bersesuaian saja. Field yang berelasi ditampilkan sekali di awal table atau paling
kiri.
Script I Full Join:
SELECT * FROM members FULL JOIN movies USING(movie_id);
Melaksanakan skrip di atas pada phpmyadmin memberikan hasil sebagai berikut:

Melaksanakan skrip di atas pada cmd memberikan hasil sebagai berikut:

Script II sql dibawah ini akan menampilkan semuanya atau secara keseluruhan:

SELECT * FROM members FULL JOIN movies


Jika dijalankan dengan phpmyadmin seperti ini:

                                          
BAB III
PENUTUP

3.1 KESIMPULAN
1. Table Joins adalah penggabungan tabel-tabel menggunakan query yang dilakukan melalui
kolom/key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan
informasi lengkap yang artinya kolom data didapatkan dari kolom kolom hasil join antar
tabel tersebut.
2. Joins memungkinkan kita menggabungkan data dari lebih dari satu tabel ke dalam kumpulan
hasil tunggal.
3.  Jenis join utama termasuk inner, left outer join, right outer join, full outer join.
4.  Left Join menghasilkan baris disebelah kiri tidak memiliki pasangan pada tabel sebelah
kanan, maka nilai yang akan tampil adalah NULL.
5.  Right Join menghasilkan baris disebelah kanan tidak memiliki pasangan pada tabel sebelah
kiri, maka nilai yang akan tampil adalah NULL.
6. Full joins menghasilkan kedua table dengan record – record yang bersesuaian saja. Field yang
berelasi ditampilkan sekali di awal table atau paling kiri.
7. Selain klausa on juga ada where, using tetapi yang lebih sering digunakan dalam operasi joins
adalah on. Klausa join mengharuskan kolom yang cocok diberi nama yang sama.

3.2 SARAN
1. Sebelum membuat tabel join di cmd atau phpmyadmins alangkah baiknya membuat
rancangan tabel supaya gampang dan terstruktur.
2. Sebaiknya harus lebih teliti lagi dalam mengetik script di command prompt atau cmd karena
jika salah akan terjadi eror walaupun bisa diulang lagi jika terus seperti itu akan menghambat
waktu. 

Anda mungkin juga menyukai