TUGAS LAPORAN
JOB SHEET 04
PERANCANGAN SISTRM BASIS DATA
Dosen pengampu:
Rizkayeni Marta, M.Pd.T.
Oleh:
Dinda atika suri
22076034
Pendidikan Teknik Informatika
Jurusan Teknik Elektronika
Fakultas Teknik
Universitas Negri Padang
2023
1
A.TUJUAN
1. Mahasiswa mampu mengenal dan memahami Bahasa Pemrograman MySQL
2. Mahasiswa mampu mengimplementasikan DDL dan DML .
B. ALAT DAN BAHAN
1. Personal komputer.
2. Aplikasi MySQL.
C. TEORI SINGKAT
Proses update dan delete record harus ditandai dengan adanya Foreign Key yang
menghubungkan antar tabel. Proses delete dan update akan terjadi jika masing-masing tabel yang
berelasi didefinisikan dalam struktur On Delete Cascade dan On Update Cascade.
JOIN adalah parameter yang digunakan untuk men-generate records dari dua atau lebih
tabel, untuk melihat sinkronisasi record yang terdapat pada masing-masing tabel. Syarat utamanya
adalah antara tabel yang berelasi harus memiliki penghubung yaitu Primary Key dan Foreign Key.
Parameter JOIN tersebut terdiri dari Inner Join, Right Join dan Left Join.
D. LANGKAH KERJA
1. Melakukan update record tabel barang
Tabel barang berelasi dengan tabel gudang. Update data akan dilakukan pada tabel barang
(T.Master), data yang sama juga akan ter-update pada tabel gudang, jika foreign key yang
didefinisikan pada tabel gudang benar.!
Tabel Barang (sebelum update)
+ + + +
| kode_barang | nama_barang | harga |
+ + + +
| BJ01 | Bedak Johnson | 5400 |
| BR02 | Biscuit Roma | 5600 |
| SP01 | Shampo Pantene | 16700 |
| SR03 | Sari Roti | 1500 |
| SS02 | Shampo Sunsilk | 17000 |
+ + + +
5 rows in set (0.00 sec)
Tabel Gudang (sebelum update)
+ + + + +
| kode_rak | kode_barang | jumlah | satuan |
+ + + + +
| RB01 | BJ01 | 15 | dus |
| RM01 | BR02 | 10 | kotak |
| RS01 | SP01 | 15 | dus |
+ + + + +
3 rows in set (0.00 sec)
mysql> update barang set kode_barang='BJ5' where kode_barang='BJ01';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
2
Tabel Barang (Setelah update)
+ + + +
| kode_barang | nama_barang | harga |
+ + + +
| BJ5 | Bedak Johnson | 5400 |
| BR02 | Biscuit Roma | 5600 |
| SP01 | Shampo Pantene | 16700 |
| SR03 | Sari Roti | 1500 |
| SS02 | Shampo Sunsilk | 17000 |
+ + + +
5 rows in set (0.00 sec)
Tabel Gudang (setelah update)
+ + + + +
| kode_rak | kode_barang | jumlah | satuan |
+ + + + +
| RB01 | BJ5 | 15 | dus |
| RM01 | BR02 | 10 | kotak |
| RS01 | SP01 | 15 | dus |
+ + + + +
3 rows in set (0.00 sec)
2. INNER JOIN
digunakan untuk menampilkan data dari dua tabel yang berisi data sesuai dengan syarat di
belakang ON (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan
data dari tabel sebelah kanan.
Misalnya relasi atara tabel barang dengan gudang yang dihubungkan oleh field kode_barang,
karena merupakan Primary Key di tabel barang dan Foreign Key di tabel gudang.
Dalam teknik INNER JOIN hasil yang ditampilkan hanya record yang memiliki kode_barang yang
sama di kedua tabel tersebut. Apabila terdapat kode_barang (barang) yang tidak berpasangan
dengan kode_barang (gudang), maka tidak akan ditampilkan.
mysql> select nama_barang, harga, satuan, jumlah from barang INNER JOIN
gudang ON barang.kode_barang=gudang.kode_barang;
+ + + + +
| nama_barang | harga | satuan | jumlah |
+ + + + +
| Bedak Johnson | 5400 | dus | 15 |
| Biscuit Roma | 5600 | kotak | 10 |
| Shampo Pantene | 16700 | dus | 15 |
+ + + + +
3 rows in set (0.00 sec)
Query hanya menghasilkan 3 record. Sementara terdapat 5 record pada tabel barang.
3
3. RIGHT JOIN
mysql> select nama_dosen, hari,jam,ruang from dosen right join jadwal on
dosen.kode_dosen=jadwal.kode_dosen;
+ + + + +
| nama_dosen | hari | jam | ruang |
+ + + + +
| Fairuz | Selasa | 10:00-12:00 | ETI02 |
| Dagadul | Rabu | 08:00-10:00 | ETI02 |
| Dagadul | Selasa | 10:00-12:00 | ETI01 |
| Thamrin | Selasa | 08:00-10:00 | ETI01 |
+ + + + +
4 rows in set (0.00 sec)
mysql> select nama_matakuliah, sks from matakuliah right join jadwal on
matakuliah.kode_matakuliah=jadwal.kode_matakuliah;
+ + +
| nama_matakuliah | sks |
+ + +
| Dasar Algoritma | 2 |
| Dasar Algoritma | 2 |
| Sistem Basis Data | 3 |
| Struktur Data | 2 |
+ + +
4 rows in set (0.00 sec)
4. LEFT JOIN
mysql> select nama_dosen, hari,jam,ruang from dosen left join jadwal on
dosen.kode_dosen=jadwal.kode_dosen;
+ + + + +
| nama_dosen | hari | jam | ruang |
+ + + + +
| Dagadul | Rabu | 08:00-10:00 | ETI02 |
| Dagadul | Selasa | 10:00-12:00 | ETI01 |
| Thamrin | Selasa | 08:00-10:00 | ETI01 |
| Fairuz | Selasa | 10:00-12:00 | ETI02 |
| Budiman | NULL | NULL | NULL |
+ + + + +
5 rows in set (0.00 sec)
mysql> select nama_matakuliah, sks from matakuliah left join jadwal on
matakuliah.kode_matakuliah=jadwal.kode_matakuliah;
+ + +
| nama_matakuliah | sks |
+ + +
| Dasar Algoritma | 2 |
| Dasar Algoritma | 2 |
| Sistem Basis Data | 3 |
| Struktur Data | 2 |
| Bahasa Indonesia | 2 |
+ + +
5 rows in set (0.00 sec)
4
E. EVALUASI
1. Cermati perbedaan yang dihasilkan untuk query yang menggunakan Right Join dengan Left Join
2. Buatlah query untuk menampilkan informasi: Nama Matakuliah| Sks|Hari|Jam|Ruang.
3. Buatlah query untuk menampilkan informasi :Nama Mahasiswa|Nama Matakuliah|Nilai
5
4. Jika salah satu dari soal nomor 2 atau 3 Anda kerjakan dengan Right Join, maka anda juga harus
mengerjakannya dengan Left Join. Dan jelaskan perbedaan hasil query yang terjadi.
0ooo0