Database and SQL Fundamental 3
Pertemuan 3: SQL CRUD dan JOIN (Database Perpustakaan)
π― Tujuan Pembelajaran
- Memahami cara melakukan operasi dasar (Create, Read, Update, Delete) pada SQL Server.
- Memahami dan mempraktikkan penggunaan JOIN untuk menggabungkan tabel.
- Menghubungkan tabel menggunakan relasi kunci primer dan kunci asing.
π§ Konsep Dasar CRUD
CRUD adalah singkatan dari:
- C (Create) β menambahkan data baru ke tabel.
- R (Read) β membaca atau menampilkan data dari tabel.
- U (Update) β mengubah data yang sudah ada.
- D (Delete) β menghapus data dari tabel.
Kita akan bekerja dengan database sederhana bernama Perpustakaan.
Struktur Tabel
Tabel anggota
| Kolom | Tipe Data | Keterangan |
|---|---|---|
| id_anggota | INT | Primary Key |
| nama | VARCHAR(100) | Nama anggota |
| alamat | VARCHAR(200) | Alamat anggota |
Tabel buku
| Kolom | Tipe Data | Keterangan |
|---|---|---|
| id_buku | INT | Primary Key |
| judul | VARCHAR(100) | Judul buku |
| penulis | VARCHAR(100) | Nama penulis |
Tabel peminjaman
| Kolom | Tipe Data | Keterangan |
|---|---|---|
| id_peminjaman | INT | Primary Key |
| id_anggota | INT | Foreign Key β anggota |
| id_buku | INT | Foreign Key β buku |
| tanggal_pinjam | DATE | Tanggal peminjaman |
βοΈ Operasi CRUD Dasar
1οΈβ£ CREATE (Menambahkan Data)
1 | INSERT INTO anggota (id_anggota, nama, alamat) |
2οΈβ£ READ (Menampilkan Data)
1 | SELECT * FROM anggota; |
3οΈβ£ UPDATE (Mengubah Data)
1 | UPDATE anggota |
4οΈβ£ DELETE (Menghapus Data)
1 | DELETE FROM anggota |
π JOIN dalam SQL
JOIN digunakan untuk menggabungkan data dari dua atau lebih tabel yang saling berhubungan.
Jenis-jenis JOIN:
| Jenis JOIN | Fungsi Utama |
|---|---|
| INNER JOIN | Menampilkan hanya data yang cocok di kedua tabel |
| LEFT JOIN | Menampilkan semua data dari tabel kiri + data cocok dari kanan |
| RIGHT JOIN | Menampilkan semua data dari tabel kanan + data cocok dari kiri |
| FULL JOIN | Menampilkan semua data dari kedua tabel, cocok atau tidak |
| CROSS JOIN | Menggabungkan semua baris dari kedua tabel (kombinasi semua pasangan) |
π§© Contoh INNER JOIN
Menampilkan nama anggota dan judul buku yang dipinjam.1
2
3
4SELECT a.nama, b.judul
FROM peminjaman p
INNER JOIN anggota a ON p.id_anggota = a.id_anggota
INNER JOIN buku b ON p.id_buku = b.id_buku;
π» Latihan Siswa (Wajib Dikerjakan)
π§ Bagian 1 β Dasar CRUD
- Buat database
Perpustakaan. - Buat tabel
anggota,buku, danpeminjamandengan struktur di atas. - Masukkan minimal 5 data anggota, 5 data buku, dan 5 data peminjaman.
- Tampilkan seluruh data anggota yang alamatnya mengandung kata βJakartaβ.
- Ubah alamat salah satu anggota.
- Hapus satu data anggota.
- Tambahkan satu data buku baru ke tabel
buku.
π Bagian 2 β Latihan JOIN
- Tampilkan nama anggota dan judul buku yang dipinjam menggunakan
INNER JOIN. - Tampilkan semua anggota, meskipun belum pernah meminjam (
LEFT JOIN). - Tampilkan semua buku termasuk yang belum dipinjam (
RIGHT JOIN). - Gabungkan semua anggota dan buku (pakai
CROSS JOIN). - Buat query untuk menampilkan tanggal pinjam, nama anggota, dan penulis buku.
π Bagian 3 β Tantangan Tambahan
- Buat query untuk menampilkan jumlah buku yang dipinjam setiap anggota.
- Tampilkan daftar buku yang belum pernah dipinjam.
- Buat laporan yang menampilkan total peminjaman per bulan.
- Buat view bernama
v_PeminjamanLengkapyang menggabungkan semua dataanggota,buku, danpeminjaman. - Buat query gabungan antara
JOINdanWHEREuntuk menampilkan data anggota dari Bandung yang meminjam buku karya Andi. - Tambahan: buat query untuk menampilkan 5 anggota yang paling sering meminjam buku.
- Buat query yang menampilkan judul buku dan jumlah total dipinjam (gunakan
GROUP BY).
π€ Kumpulkan hasil query dalam file .sql bernama:Pertemuan3_NamaKamu.sql
π Estimasi waktu pengerjaan: Β±2,5 jam
π§© Durasi penjelasan teori: Β±30 menit
π§ Refleksi
Setelah pertemuan ini, kamu sudah bisa:
- Mengelola data dalam tabel menggunakan perintah CRUD.
- Menggabungkan data dari berbagai tabel dengan JOIN.
- Membuat query laporan sederhana untuk kasus nyata.
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Comments




