LKPD Basis Data XII
LKPD Basis Data XII
(PERTEMUAN 1)
A. KOMPETENSI INTI
Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual,
konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik
Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi
diri sebagai bagian dari keluarga, sekolah, dunia kerja, warga masyarakat nasional, regional, dan
internasional.
B. KOMPETENSI DASAR
3.10 Menerapkan penggunaan SQL untuk mengakses multi table
4.10 Membuat perintah SQL untuk mengakses multi table
C. INDIKATOR
3.10.1 Mengidentifikasi sudut pandang basis data
3.10.2 Mengaplikasikan Fungsi Select Multiple Table
3.10.3 Mengaplikasikan inner join dalam penggabungan data dari beberapa tabel
3.10.4 Mengaplikasikan outer join dalam penggabungan data dari beberapa tabel
D. MATERI POKOK
1. Sudut Pandang Basis Data
Basis data bukan hanya sekedar penyimpanan data secara elektronis dengan bantuan
komputer. Artinya tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis
data. Kita dapat menyimpan dokumen berisi data dalam file teks dengan program pengolah
kata, file spread sheet dan lain-lain, tetapi tidak dapat disebut sebagai basis data. Karena di
dalamnya tidak ada pemilahan dan pengelompokkan data sesuai jenis dan fungsi data,
sehingga akan menyulitkan pencarian data kelak. Hal yang sangat ditonjolkan dalam basis
data adalah pengaturan, pemilahan, pengelompokkan, dan pengorganisasian data yang akan
disimpan sesuai fungsi dan jenisnya. Pemilahan, pengelompokan, pengorganisasian dapat
berbentuk sejumlah file atau tabel terpisah atau dalam bentuk pendefinisian kolom- kolom
field-field data dalam setiap file dan tabel.
2. Select Multitable
Pada pembuatan suatu aplikasi, terkadang memerlukan tampilan data yang tidak hanya
berasal dari 1 (satu) tabel, namun bisa dari beberapa tabel sekaligus. Misalnya ingin
menampilkan nama provinsi berikut dengan kota-kota di dalamnya. Dari contoh tersebut, kita
harus dapat menggabungkan minimal dua tabel, yaitu provinsi dan kota. Atau menampilkan
data karyawan lengkap dengan gajinya, sehingga harus menggabungkan tabel data karyawan
dan data gaji. Data yang tersimpan dalam database dapat bervariasi dalam hal jumlah dan
tingkat kompleksitasnya.
3. Inner Join
Format dasar dari penulisan query SELECT..INNER JOIN..ON adalah:
SELECT nama_kolom_tampil FROM nama_tabel_pertama INNER JOIN nama_tabel_kedua
ON nama_kolom_join_tabel_pertama = nama_kolom_join_tabel_kedua
nama_kolom_tampil adalah nama dari kolom yang akan kita tampilkan, bisa semua kolom
dalam tabel, atau hanya kolom tertentu saja.
nama_tabel_pertama adalah nama tabel pertama yang akan digabung.
nama_tabel_kedua adalah nama tabel kedua yang akan digabung.
nama_kolom_join_tabel_pertama adalah nama kolom yang akan digunakan sebagai join
dari tabel pertama.
nama_kolom_join_tabel_kedua adalah nama kolom yang akan digunakan sebagai join dari
tabel kedua.
Syarat untuk INNER JOIN adalah kedua tabel harus memiliki sebuah kolom dengan
nilai yang sama yang akan kita gunakan dalam proses JOIN. Dalam contoh kita, kolom
tersebut adalah kolom NIP dari tabel nama_dosen, dan kolom NIP_dosen dari tabel
mata_kuliah. Perhatikan walaupun keduanya berisi NIP, namun nama kolomnya berbeda.
4. Outer Join
Untuk Outer Join ada 2 macam yaitu Left Join dan Right Join
a. Left Join
Selanjutnya adalah Left Join, Left Join merupakan cara menghubungkan tabel dan
menampilkan semua data (kiri) pada tabel yang tidak berhubungan, sedangkan data yang
kosong akan bernilai NULL.
Berikut adalah perintah SQL Left Join.
SELECT * FROM rsh_motor
LEFT JOIN rsh_brand
ON rsh_motor.id_brand = rsh_brand.id
Maka hasil dari Left Join tabel akan seperti berikut ini.
b. Right Join
Yang terakhir dari pembahasan ini adalah fungsi Right Join, fungsi ini hampir sama dengan
fungsi Left Join ataupun kebalikannya, dimana Right Join akan menghubungkan tabel dan
menampilkan semua data (kanan) pada tabel yang tidak berhubungan, dan data yang kosong
akan bernilai NULL.
Berikut adalah perintah SQL Right join.
SELECT * FROM rsh_motor
RIGHT JOIN rsh_brand
ON rsh_motor.id_brand = rsh_brand.id
Maka hasil dari Right Join tabel akan seperti berikut ini.
E. RANGKUMAN
Pembahasan kali ini adalah tentang JOIN pada MySQL.
Terdapat tiga macam JOIN yaitu: INNER JOIN, LEFT JOIN, dan RIGHT JOIN.
INNER JOIN adalah tipe join yang akan kita bahas pertama. Tipe join ini akan mengambil semua
row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja, dan jika tidak maka
row tersebut tidak akan muncul.
LEFT JOIN merupakan perintah join untuk menampilkan semua data sebelah kiri dari table yang
di joinkan dan menampilkan data sebelah kanan yang cocok dengan kondisi join. Jika tidak
ditemukan kecocokan, maka akan di set NULL secara otomatis.
Kebalikan dari LEFT JOIN adalah RIGHT JOIN. RIGHT JOIN akan menampilkan semua data
yang ada di table sebelah kanan dan mencari kecocokan key pada table sebelah kiri, jika tidak
ditemukan kecocokan, maka akan di set NULL secara otomatis pada table sebelah kiri.
LKPD LEMBAR KEGIATAN PESERTA DIDIK
(Point 2)
3 .......................... .................................
(Point 2)
4 .......................... .................................
(Point 2)
---KETRAMPILAN---
1. Buatlah database bebas dengan minimal 5 tabel yang terdapat relasi minimal 2 tabel! (point 1)
2. Isilah tabel-tabel tersebut dengan data minimal 5 data! (Point 1)
3. Terapkan query tersebut ke dalam database yang kalian buat lalu isi tabel dibawah ini! (Point
Maksimal 8)
No Nama Perintah Query Screenshoot (Gambar Hasil)
1 INNER JOIN ......................... .........................
2 ......................... ......................... .........................
3 ......................... ......................... .........................
4 ......................... ......................... .........................
LEMBAR KERJA PERSERTA DIDIK ( L K P D )
(PERTEMUAN 2)
A. KOMPETENSI INTI
Memahami, menerapkan, menganalisis, dan mengevaluasi tentang pengetahuan faktual,
konseptual, operasional dasar, dan metakognitif sesuai dengan bidang dan lingkup kerja Teknik
Komputer dan Informatika pada tingkat teknis, spesifik, detil, dan kompleks, berkenaan dengan
ilmu pengetahuan, teknologi, seni, budaya, dan humaniora dalam konteks pengembangan potensi
diri sebagai bagian dari keluarga, sekolah, dunia kerja, warga masyarakat nasional, regional, dan
internasional.
B. KOMPETENSI DASAR
3.10 Menerapkan penggunaan SQL untuk mengakses multi table
4.10 Membuat perintah SQL untuk mengakses multi table
C. INDIKATOR
3.10.5 Mengaplikasikan full join dalam penggabungan data dari beberapa tabel dengan baik
3.10.6 Menerapkan full join dalam penggabungan data dari beberapa tabel dengan tepat dan benar
3.10.7 Mengaplikasikan implisit join dalam penggabungan data dari beberapa tabel dengan baik
3.10.8 Menerapkan implisit join dalam penggabungan data dari beberapa tabel dengan tepat
D. MATERI POKOK
Full [Outer] Join
Full Outer Join atau sering disingkat dengan Full Join akan mengembalikan seluruh baris dari
kedua tabel yang dikenai ON termasuk data-data yang bernilai NULL.
SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName;
Full [Outer] Join without Intersection
Variasi lain dari Full Outer Join yang akan mengembalikan seluruh data dari kedua tabel yang
dikenai ON tanpa data yang memiliki nilai NULL.
SELECT columns
FROM TableA
FULL JOIN TableB
ON A.columnName = B.columnName
WHERE A.columnName IS NULL
OR B.columnName IS NULL;
IMPLISIT JOIN
Implisit JOIN merupakan metode lama ketika pertama kali standar SQL dibuat, setelah muncul
standar yang lebih baru (SQL2) maka mulai digunakanlah klausa JOIN. klausa JOIN lebih mudah
dibaca dan dipahami, terutama hubungan antara tabel yang digabungkan. Disebut Implisit Join
karena tidak menggunakan klausa JOIN. Kriteria hubungan pada Implisit Join antartabel
didefinisikan pada klausa WHERE.
Sebagai contoh, mari kita gabungkan tabel pelanggan dan penjualan, jalankan query berikut:
SELECT pl.id_pelanggan, nama, id_transaksi, tgl_transaksi, total_transaksi
FROM pelanggan pl, penjualan pn
WHERE pl.id_pelanggan = pn.id_pelanggan
Hasil yang kita peroleh:
+--------------+---------+--------------+---------------+-----------------+
| id_pelanggan | nama | id_transaksi | tgl_transaksi | total_transaksi |
+--------------+---------+--------------+---------------+-----------------+
| 1 | Alfa | 1 | 2017-02-22 | 230000 |
| 3 | Charlie | 2 | 2017-02-22 | 195000 |
| 2 | Beta | 3 | 2017-01-01 | 1710000 |
| 1 | Alfa | 4 | 2017-02-04 | 310000 |
+--------------+---------+--------------+---------------+-----------------+
E. RANGKUMAN
Full outer join (sering disingkat full join) akan mengembalikan seluruh baris dari kedua tabel yang
dikenai ON termasuk data-data yang bernilai NULL
Implisit join mensyaratkan kedua tabel memiliki data yang sama, sehingga implisit join ini hanya
berlaku pada INNER JOIN, dan tidak bisa digunakan untuk OUTER JOIN.
LKPD LEMBAR KEGIATAN PESERTA DIDIK
---KETRAMPILAN---
1. Buatlah database dengan nama “Penjualan” dan buat juga beberapa tabel mengikuti struktur gambar
dibawah ini, setelah itu insert data pada tiap-tiap table minimal 5 baris data.
2. Dengan menggunakan console SQL, tampilkan semua data pelanggan beserta data transaksinya!
3. Dengan menggunakan console SQL, gabungkan tabel pelanggan dan penjualan!
LKPD PRAKTIKUM