際際滷

際際滷Share a Scribd company logo
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
23
MODUL V
RELASI DAN JOIN
A. TUJUAN
Memahami keterhubungan entitas di dalam basis data.
Memahami jenis-jenis operasi pengambilan data di beberapa entitas.
Mampu menyelesaikan kasus-kasus retrieval yang melibatkan lebih dari
satu entitas.
B. PETUNJUK
C. DASAR TEORI
1. Relationship
Relationship adalah suatu hubungan antara beberapa entitas. Konsep ini
sangat penting sekali di dalam basis data, di mana memungkinkan entitas-
entitas untuk saling berhubungan satu sama lain.
Di dalam sebuah relationship, primary key memiliki peran penting untuk
mengaitkan entitas. Selain itu, primary key juga digunakan untuk
mendefinisikan batasan keterhubungan.
2. JOIN
Join merupakan salah satu konstruksi dasar dari SQL dan basis data. Join
dapat didefinisikan sebagai kombinasi record dari dua atau lebih tabel di
dalam basis data relasional dan menghasilkan sebuah tabel (temporary)
baruyang disebut sebagai joined table.
Join dapat diklasifikasikan ke dalam dua jenis: inner dan outer.
a. Inner Join
Inner join pada dasarnya adalah menemukan persimpangan
(intersection) antara dua buah tabel.
Awali setiap aktivitas dengan doa, semoga berkah dan mendapat kemudahan.
Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar.
Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur.
Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas.
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
24
Sintaks inner join diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1
INNER JOIN r2
ON r1.join_key = r2.join_key
Inner join juga dapat direpresentasikan dalam bentuk implisit.
SELECT A1, A2, ..., An
FROM r1, r2
WHERE r1.key = r2.key
Misalkan terdapat tabel A dan B, maka hasil inner join dapat
diperlihatkansebagai bidang terarsirdalam diagram Venn seperti
Gambar 1.
Gambar 1. Inner Join
b. Outer Join
Outer join dibagi ke dalam tiga jenis: Left , Right, dan Full outer join.
Left Outer Join
Left outer join (atau left join) mengembalikan semua nilai dari tabel
kiri ditambah dengan nilai dari tabel kanan yang sesuai (atau NULL
jika tidak ada nilai yang sesuai).
Sintaks left outer join diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1
LEFT OUTER JOIN r2
ON r1.join_key = r2.join_key
Left outer join antara tabel A dan B dapat diilustrasikan dalam
diagram Venn seperti Gambar 2.
Gambar 2. Left Outer Join
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
25
Right Outer Join
Right outer join (atau right join) pada dasarnya sama seperti left join,
namun dalam bentuk terbalikkanan dan kiri.
Sintaks right outer join diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1
RIGHT OUTER JOIN r2
ON r1.join_key = r2.join_key
Right outer join antara tabel A dan B dapat diilustrasikan dalam
diagram Venn seperti Gambar 3.
Gambar 3. Right Outer Join
Full Outer Join
Full outer join (atau full join) pada hakekatnya merupakan kombinasi
dari left dan right join.
Sintaks full outer join diperlihatkan sebagai berikut:
SELECT A1, A2, ..., An
FROM r1
FULL OUTER JOIN r2
ON r1.join_key = r2.join_key
Bentuk visual dari full outer join dapat diperlihatkan menggunakan
diagram Venn seperti Gambar 4.
Gambar 4. Full Outer Join
Selain empat jenis join yang utama di atas, masih ada beberapa
variasi join lainnya, seperti CROSS JOIN (cartesian product),
NATURAL JOIN, dan sebagainya.
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
26
Perlu juga diperhatikan, join bisa diimplementasikan dalam bentuk
bersarang (nested join). Jadi, di dalam sebuah operasi join bisa
terdapat operasi join lainnya.
D. LATIHAN
1. Relationship
Dalam latihan ini digunakan dua buah tabel bernama Karyawan dan
Departemen dengan relationship bekerja pada. Struktur tabelnya
diperlihatkan sebagai berikut:
CREATE TABLE karyawan (
nama varchar(30) NOT NULL,
id_dep int(5) NOT NULL
) ENGINE=MyISAM;
CREATE TABLE departemen (
id_dep int(5) NOT NULL,
nama_dep varchar(30) NOT NULL,
PRIMARY KEY (id_dep)
) ENGINE=MyISAM;
Data yang digunakan adalah sebagai berikut:
Tabel Karyawan
nama id_dep
Agus 10
Budi 16
Citra 12
Dani 17
Tabel Departemen
id_dep nama_dep
10 Penelitian
11 Pemasaran
12 SDM
13 Keuangan
2. Inner Join
Sebagaimana dijelaskan, inner join akan mengembalikan data di tabel A
dan B yang sesuai. Sebagai contoh, kita bisa mendapatkan data karyawan
yang memiliki departemen.
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
27
Bentuk implisit dari inner join diperlihatkan sebagai berikut:
Dalam pengambilan data ini, kita juga bisa menspesifikasikan field
terkait. Sebagai contoh, hanya mengambil nama karyawan dan nama
departemen saja.
Agar penulisan SQL lebih efisien, kita dapat memanfaatkan fitur derived
table (atau alias).
Pada pernyataan SQL di atas, tabel karyawan dinotasikan dengan huruf k
dan tabel departemen menggunakan huruf d.
Penggunaan derived table akan semakin efisien manakala kita berurusan
dengan banyak field dan banyak tabel. Selain itu, juga menjadikan
pernyataan SQL mudah dipahami.
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
28
3. Outer Join
Left Outer Join
Apabila diperlukan, kita juga dapat menggunakan klusa WHERE di dalam
join. Sebagai contoh, untuk mendapatkan data karyawan yang tidak
memiliki departemen.
Right Outer Join
Full Outer Join
Beberapa DBMS tidak mendukung fungsionalitas full outer join. Meski
demikian, join ini dapat disimulasikan dengan memanfaatkan UNION.
Tekniknya, kita menggabung left join dan right join.
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
29
4. Cross Join
Cross join pada hakekatnya merupakan inner join di mana kondisi join
selalu dievaluasi true. Secara matematis, jika A dan B merupakan dua
himpunan, maka cross join-nya = A X B.
Cross join juga dapat direpresentasikan dalam bentuk implisit.
Hasil operasi cross join:
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
30
E. TUGAS PRAKTIKUM
Perhatikan, dalam mengerjakan tugas praktikum ini, sebaiknya pernyataan
SQL disimpan di file untuk kemudian dieksekusi.
Tugas praktikum ini menggunakan tabel-tabel yang sudah dibuat sebelumnya.
Berikut adalah data-data tabel yang akan digunakan (sesuaikan nilainya agar
sama persis).
Tabel mahasiswa
nim nama jenis_kelamin alamat
101 Arif L Jl. Kenangan
102 Budi L Jl. Jombang
103 Wati P Jl. Surabaya
104 Ika P Jl. Jombang
105 Tono L Jl. Jakarta
106 Iwan L Jl. Bandung
107 Sari P Jl. Malang
Tabel ambil_mk
nim kode_mk
101 PTI447
103 TIK333
104 PTI333
104 PTI777
111 PTI123
123 PTI999
Tabel matakuliah
kode_mk nama_mk sks semester
PTI447 Praktikum Basis Data 1 3
TIK342 Praktikum Basis Data 1 3
PTI333 Basis Data Terdistribusi 3 5
TIK123 Jaringan Komputer 2 5
TIK333 Sistem Operasi 3 5
PTI123 Grafika Multimedia 3 5
PTI777 Sistem Informasi 2 3
Modul Praktikum Basis Data
Jurusan Teknik Elektro
Fakultas Teknik Universitas Negeri Malang (UM)
31
1. Dapatkan data mahasiswa yang mengambil matakuliah. Selesaikan
dengan pendekatan join eksplisit dan implisit. Hindari duplikasi data.
2. Kelompokkan data mahasiswa yang tidak mengambil matakuliah
berdasarkan jenis kelaminnya, kemudian hitung banyaknya.
3. Dapatkan nim dan nama mahasiswa yang mengambil matakuliah beserta
kode_mk dan nama_mk yang diambilnya. Selesaikan dengan pendekatan
join eksplisit dan implisit.
4. Dapatkan nim, nama, dan total sks yang diambil oleh mahasiswa, di mana
total sksnya lebih dari 4 dan kurang dari 10.
5. Dapatkan matakuliah yang tidak diambil oleh mahasiswa terdaftar
(mahasiswa di tabel mahasiswa).

More Related Content

What's hot (20)

Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)
Rifky A Ayub
Merge sort
Merge sortMerge sort
Merge sort
Chusnul Khotimah
Perencanaan Database Administrasi Sekolah
Perencanaan Database Administrasi SekolahPerencanaan Database Administrasi Sekolah
Perencanaan Database Administrasi Sekolah
Ambar Ayu Susilowati
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis dataTabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
joshua gidion
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
Ari Septiawan
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
Deprilana Ego Prakasa
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
Bab 01 logika mtk diskrit
Bab 01 logika mtk diskritBab 01 logika mtk diskrit
Bab 01 logika mtk diskrit
KarlFykr
Himpunan, Relasi & Fungsi, dan Logika Matematika
Himpunan, Relasi & Fungsi, dan Logika MatematikaHimpunan, Relasi & Fungsi, dan Logika Matematika
Himpunan, Relasi & Fungsi, dan Logika Matematika
siska sri asali
Basis Data : Pemodelan Erd
Basis Data : Pemodelan ErdBasis Data : Pemodelan Erd
Basis Data : Pemodelan Erd
amalianuryamin
aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputer
dewi2093
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
said zulhelmi
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
KuliahKita
T3 Query Lanjutan [1]
T3  Query Lanjutan [1]T3  Query Lanjutan [1]
T3 Query Lanjutan [1]
Siska Amelia
Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08
KuliahKita
Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
Acomic Comic
Matematika Diskrit - 03 himpunan - 04
Matematika Diskrit - 03 himpunan -  04Matematika Diskrit - 03 himpunan -  04
Matematika Diskrit - 03 himpunan - 04
KuliahKita
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Nabil Muhammad Firdaus
Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)Pertemuan 09 (procedure dan function database)
Pertemuan 09 (procedure dan function database)
Rifky A Ayub
Perencanaan Database Administrasi Sekolah
Perencanaan Database Administrasi SekolahPerencanaan Database Administrasi Sekolah
Perencanaan Database Administrasi Sekolah
Ambar Ayu Susilowati
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
Kelinci Coklat
Tugas mandiri struktur data
Tugas mandiri struktur dataTugas mandiri struktur data
Tugas mandiri struktur data
Asep Jaenudin
Tabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis dataTabel, Tipe data, Record & Field Basis data
Tabel, Tipe data, Record & Field Basis data
joshua gidion
Percabangan - Logika dan Algoritma
Percabangan - Logika dan AlgoritmaPercabangan - Logika dan Algoritma
Percabangan - Logika dan Algoritma
Ari Septiawan
Pertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IFPertemuan 4 - Struktur Kondisi IF
Pertemuan 4 - Struktur Kondisi IF
Achmad Solichin
Bab 01 logika mtk diskrit
Bab 01 logika mtk diskritBab 01 logika mtk diskrit
Bab 01 logika mtk diskrit
KarlFykr
Himpunan, Relasi & Fungsi, dan Logika Matematika
Himpunan, Relasi & Fungsi, dan Logika MatematikaHimpunan, Relasi & Fungsi, dan Logika Matematika
Himpunan, Relasi & Fungsi, dan Logika Matematika
siska sri asali
Basis Data : Pemodelan Erd
Basis Data : Pemodelan ErdBasis Data : Pemodelan Erd
Basis Data : Pemodelan Erd
amalianuryamin
aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputer
dewi2093
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik InformatikaMakalah Kegunaan Matematika Diskrit pada Teknik Informatika
Makalah Kegunaan Matematika Diskrit pada Teknik Informatika
said zulhelmi
Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06Matematika Diskrit - 09 graf - 06
Matematika Diskrit - 09 graf - 06
KuliahKita
T3 Query Lanjutan [1]
T3  Query Lanjutan [1]T3  Query Lanjutan [1]
T3 Query Lanjutan [1]
Siska Amelia
Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08
KuliahKita
Notasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression treeNotasi prefix infix-postifx- expression tree
Notasi prefix infix-postifx- expression tree
Acomic Comic
Matematika Diskrit - 03 himpunan - 04
Matematika Diskrit - 03 himpunan -  04Matematika Diskrit - 03 himpunan -  04
Matematika Diskrit - 03 himpunan - 04
KuliahKita
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Algoritma dan Pemrograman C++ (Pseudocode & Flowchart)
Nabil Muhammad Firdaus

Similar to Modul 05 basisdata (20)

modul basis data.docx
modul basis data.docxmodul basis data.docx
modul basis data.docx
ImeldaWikanKristian1
Pertemuan 6 - SQL Advanced
Pertemuan 6 - SQL AdvancedPertemuan 6 - SQL Advanced
Pertemuan 6 - SQL Advanced
Adi Triyatmoko
Tupen 4 1235010002
Tupen 4 1235010002Tupen 4 1235010002
Tupen 4 1235010002
Abrianto Nugraha
02. relational model dan query languages
02. relational model dan query languages02. relational model dan query languages
02. relational model dan query languages
Fakhrian Fadlia Adiwijaya
TUGAS TIP MS EXCEL
TUGAS TIP MS EXCELTUGAS TIP MS EXCEL
TUGAS TIP MS EXCEL
aniandrya
TUGAS TIP MS EXCEL
TUGAS TIP MS EXCELTUGAS TIP MS EXCEL
TUGAS TIP MS EXCEL
aniandrya
Laporan 2 annissaul hidayah 11120018_6
Laporan 2 annissaul hidayah 11120018_6Laporan 2 annissaul hidayah 11120018_6
Laporan 2 annissaul hidayah 11120018_6
Saul Anizsa
Pembelajaran kelas 6 pertemuan 1-5.pptx
Pembelajaran kelas 6 pertemuan 1-5.pptxPembelajaran kelas 6 pertemuan 1-5.pptx
Pembelajaran kelas 6 pertemuan 1-5.pptx
ZabAsadIbrahim
Tupen 6 1235010002
Tupen 6 1235010002Tupen 6 1235010002
Tupen 6 1235010002
Abrianto Nugraha
Relasi dan join hierarki
Relasi dan join hierarkiRelasi dan join hierarki
Relasi dan join hierarki
Miranti Dwi Kurnia
Konsep dasar dan implementasi normalisasi database
Konsep dasar dan implementasi normalisasi databaseKonsep dasar dan implementasi normalisasi database
Konsep dasar dan implementasi normalisasi database
rahmatheshasafei1
Modul operasi hitung ms.excel
Modul operasi hitung ms.excelModul operasi hitung ms.excel
Modul operasi hitung ms.excel
Amalia Prahesti
sql Modul
sql Modulsql Modul
sql Modul
SOYO UNIVERSITY
_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx
BelboisCluster
Catatan excel andi
Catatan excel andiCatatan excel andi
Catatan excel andi
AndaAndi
Modul microsoft-excelok
Modul microsoft-excelok Modul microsoft-excelok
Modul microsoft-excelok
Hardini_HD
Penerapan Graf untuk Struktur Data Himpunan Saling Lepas
Penerapan Graf untuk Struktur Data Himpunan Saling LepasPenerapan Graf untuk Struktur Data Himpunan Saling Lepas
Penerapan Graf untuk Struktur Data Himpunan Saling Lepas
Materi Kuliah Online
Lapers 6 1235010002
Lapers 6 1235010002Lapers 6 1235010002
Lapers 6 1235010002
Abrianto Nugraha
Lapres 4 1235010002
Lapres 4 1235010002Lapres 4 1235010002
Lapres 4 1235010002
Abrianto Nugraha
Lapres 4 1235010002
Lapres 4 1235010002Lapres 4 1235010002
Lapres 4 1235010002
Abrianto Nugraha
Pertemuan 6 - SQL Advanced
Pertemuan 6 - SQL AdvancedPertemuan 6 - SQL Advanced
Pertemuan 6 - SQL Advanced
Adi Triyatmoko
TUGAS TIP MS EXCEL
TUGAS TIP MS EXCELTUGAS TIP MS EXCEL
TUGAS TIP MS EXCEL
aniandrya
TUGAS TIP MS EXCEL
TUGAS TIP MS EXCELTUGAS TIP MS EXCEL
TUGAS TIP MS EXCEL
aniandrya
Laporan 2 annissaul hidayah 11120018_6
Laporan 2 annissaul hidayah 11120018_6Laporan 2 annissaul hidayah 11120018_6
Laporan 2 annissaul hidayah 11120018_6
Saul Anizsa
Pembelajaran kelas 6 pertemuan 1-5.pptx
Pembelajaran kelas 6 pertemuan 1-5.pptxPembelajaran kelas 6 pertemuan 1-5.pptx
Pembelajaran kelas 6 pertemuan 1-5.pptx
ZabAsadIbrahim
Konsep dasar dan implementasi normalisasi database
Konsep dasar dan implementasi normalisasi databaseKonsep dasar dan implementasi normalisasi database
Konsep dasar dan implementasi normalisasi database
rahmatheshasafei1
Modul operasi hitung ms.excel
Modul operasi hitung ms.excelModul operasi hitung ms.excel
Modul operasi hitung ms.excel
Amalia Prahesti
_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx_03.Relational Algebra and Calculus_ok.pptx
_03.Relational Algebra and Calculus_ok.pptx
BelboisCluster
Catatan excel andi
Catatan excel andiCatatan excel andi
Catatan excel andi
AndaAndi
Modul microsoft-excelok
Modul microsoft-excelok Modul microsoft-excelok
Modul microsoft-excelok
Hardini_HD
Penerapan Graf untuk Struktur Data Himpunan Saling Lepas
Penerapan Graf untuk Struktur Data Himpunan Saling LepasPenerapan Graf untuk Struktur Data Himpunan Saling Lepas
Penerapan Graf untuk Struktur Data Himpunan Saling Lepas
Materi Kuliah Online

Recently uploaded (20)

PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
Dita835610
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam KehidupankuKelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
suandi01
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docxBANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
AzuraAgusnasya
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
SofyanSkmspd
Farmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptxFarmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptx
michellepikachuuu
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Murad Maulana
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MUMUL CHAN
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehatKiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
ssuser7d8dcb
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptxBAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
LunduSitohang
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Murad Maulana
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptxOrgan Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
IrfanIdris7
Buku 1 tentang orang Hukum perdata Universitas Negeri Semarang
Buku 1 tentang orang Hukum perdata Universitas Negeri SemarangBuku 1 tentang orang Hukum perdata Universitas Negeri Semarang
Buku 1 tentang orang Hukum perdata Universitas Negeri Semarang
iztawanasya1
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKASOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
azizwidyamukti02
Rancangan Pembelajaran Semester Kartografi
Rancangan Pembelajaran Semester KartografiRancangan Pembelajaran Semester Kartografi
Rancangan Pembelajaran Semester Kartografi
khairizal2005
PPT Perkawinan (Poligami, Monogami).pptx
PPT Perkawinan (Poligami, Monogami).pptxPPT Perkawinan (Poligami, Monogami).pptx
PPT Perkawinan (Poligami, Monogami).pptx
rahmiati190700
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Tata Naipospos
Rencana PS Bahasa Indonesia Format Baru.pdf
Rencana PS Bahasa Indonesia Format Baru.pdfRencana PS Bahasa Indonesia Format Baru.pdf
Rencana PS Bahasa Indonesia Format Baru.pdf
edenmanoppo
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptxPPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
hendipurnama1
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information SystemsLembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Ainul Yaqin
Seleksi Penerimaan Murid Baru 2025.pptx
Seleksi Penerimaan Murid Baru  2025.pptxSeleksi Penerimaan Murid Baru  2025.pptx
Seleksi Penerimaan Murid Baru 2025.pptx
Fajar Baskoro
PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
PPT SISTEM PEREDARAN DARAH MANUSIA KELAS 8
Dita835610
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam KehidupankuKelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
Kelas 5 Mapel P.Pancasila Bab 2 Norma Dalam Kehidupanku
suandi01
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docxBANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
BANGSA DAN KARAKTERISTIK TERNAK KAMBING.docx
AzuraAgusnasya
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
1. -MICROTEACHING- Modul Penanganan Kekerasan.pptx
SofyanSkmspd
Farmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptxFarmakologi (antibiotik, antivirus, antijamur).pptx
Farmakologi (antibiotik, antivirus, antijamur).pptx
michellepikachuuu
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Repositori Elib Perpustakaan Badan Pengawas Tenaga Nuklir (BAPETEN)
Murad Maulana
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MODUL AJAR SENI MUSIK KELAS VIII " ALAT MUSIK TRADISIONAL"
MUMUL CHAN
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehatKiraan Kadar Nadi Karvonen nadi mak nadi rehat
Kiraan Kadar Nadi Karvonen nadi mak nadi rehat
ssuser7d8dcb
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptxBAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
BAHAN UNTUK PELATIHAN PS, DRIGEN, MAZMUR.pptx
LunduSitohang
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Manajemen Perpustakaan BAPETEN Berdasarkan油SNI 7496:2009
Murad Maulana
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptxOrgan Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
Organ Pencernaan dan Fungsinya Kelas 8 Fase D.pptx
IrfanIdris7
Buku 1 tentang orang Hukum perdata Universitas Negeri Semarang
Buku 1 tentang orang Hukum perdata Universitas Negeri SemarangBuku 1 tentang orang Hukum perdata Universitas Negeri Semarang
Buku 1 tentang orang Hukum perdata Universitas Negeri Semarang
iztawanasya1
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKASOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
SOAL LATIHAN PJOK KELAS 4 SD KURIKULUM MERDEKA
azizwidyamukti02
Rancangan Pembelajaran Semester Kartografi
Rancangan Pembelajaran Semester KartografiRancangan Pembelajaran Semester Kartografi
Rancangan Pembelajaran Semester Kartografi
khairizal2005
PPT Perkawinan (Poligami, Monogami).pptx
PPT Perkawinan (Poligami, Monogami).pptxPPT Perkawinan (Poligami, Monogami).pptx
PPT Perkawinan (Poligami, Monogami).pptx
rahmiati190700
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Apakah daging tanpa tulang dan tanpa limfoglandula aman diperdagangkan? Ditje...
Tata Naipospos
Rencana PS Bahasa Indonesia Format Baru.pdf
Rencana PS Bahasa Indonesia Format Baru.pdfRencana PS Bahasa Indonesia Format Baru.pdf
Rencana PS Bahasa Indonesia Format Baru.pdf
edenmanoppo
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptxPPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
PPT Qurdis Bab 4 kelas IX MTs/SMP SMT 2.pptx
hendipurnama1
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information SystemsLembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Lembar Kerja Mahasiswa Applied Artificial Intelligence in Information Systems
Ainul Yaqin
Seleksi Penerimaan Murid Baru 2025.pptx
Seleksi Penerimaan Murid Baru  2025.pptxSeleksi Penerimaan Murid Baru  2025.pptx
Seleksi Penerimaan Murid Baru 2025.pptx
Fajar Baskoro

Modul 05 basisdata

  • 1. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 23 MODUL V RELASI DAN JOIN A. TUJUAN Memahami keterhubungan entitas di dalam basis data. Memahami jenis-jenis operasi pengambilan data di beberapa entitas. Mampu menyelesaikan kasus-kasus retrieval yang melibatkan lebih dari satu entitas. B. PETUNJUK C. DASAR TEORI 1. Relationship Relationship adalah suatu hubungan antara beberapa entitas. Konsep ini sangat penting sekali di dalam basis data, di mana memungkinkan entitas- entitas untuk saling berhubungan satu sama lain. Di dalam sebuah relationship, primary key memiliki peran penting untuk mengaitkan entitas. Selain itu, primary key juga digunakan untuk mendefinisikan batasan keterhubungan. 2. JOIN Join merupakan salah satu konstruksi dasar dari SQL dan basis data. Join dapat didefinisikan sebagai kombinasi record dari dua atau lebih tabel di dalam basis data relasional dan menghasilkan sebuah tabel (temporary) baruyang disebut sebagai joined table. Join dapat diklasifikasikan ke dalam dua jenis: inner dan outer. a. Inner Join Inner join pada dasarnya adalah menemukan persimpangan (intersection) antara dua buah tabel. Awali setiap aktivitas dengan doa, semoga berkah dan mendapat kemudahan. Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar. Kerjakan tugas-tugas praktikum dengan baik, sabar, dan jujur. Tanyakan kepada asisten/dosen apabila ada hal-hal yang kurang jelas.
  • 2. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 24 Sintaks inner join diperlihatkan sebagai berikut: SELECT A1, A2, ..., An FROM r1 INNER JOIN r2 ON r1.join_key = r2.join_key Inner join juga dapat direpresentasikan dalam bentuk implisit. SELECT A1, A2, ..., An FROM r1, r2 WHERE r1.key = r2.key Misalkan terdapat tabel A dan B, maka hasil inner join dapat diperlihatkansebagai bidang terarsirdalam diagram Venn seperti Gambar 1. Gambar 1. Inner Join b. Outer Join Outer join dibagi ke dalam tiga jenis: Left , Right, dan Full outer join. Left Outer Join Left outer join (atau left join) mengembalikan semua nilai dari tabel kiri ditambah dengan nilai dari tabel kanan yang sesuai (atau NULL jika tidak ada nilai yang sesuai). Sintaks left outer join diperlihatkan sebagai berikut: SELECT A1, A2, ..., An FROM r1 LEFT OUTER JOIN r2 ON r1.join_key = r2.join_key Left outer join antara tabel A dan B dapat diilustrasikan dalam diagram Venn seperti Gambar 2. Gambar 2. Left Outer Join
  • 3. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 25 Right Outer Join Right outer join (atau right join) pada dasarnya sama seperti left join, namun dalam bentuk terbalikkanan dan kiri. Sintaks right outer join diperlihatkan sebagai berikut: SELECT A1, A2, ..., An FROM r1 RIGHT OUTER JOIN r2 ON r1.join_key = r2.join_key Right outer join antara tabel A dan B dapat diilustrasikan dalam diagram Venn seperti Gambar 3. Gambar 3. Right Outer Join Full Outer Join Full outer join (atau full join) pada hakekatnya merupakan kombinasi dari left dan right join. Sintaks full outer join diperlihatkan sebagai berikut: SELECT A1, A2, ..., An FROM r1 FULL OUTER JOIN r2 ON r1.join_key = r2.join_key Bentuk visual dari full outer join dapat diperlihatkan menggunakan diagram Venn seperti Gambar 4. Gambar 4. Full Outer Join Selain empat jenis join yang utama di atas, masih ada beberapa variasi join lainnya, seperti CROSS JOIN (cartesian product), NATURAL JOIN, dan sebagainya.
  • 4. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 26 Perlu juga diperhatikan, join bisa diimplementasikan dalam bentuk bersarang (nested join). Jadi, di dalam sebuah operasi join bisa terdapat operasi join lainnya. D. LATIHAN 1. Relationship Dalam latihan ini digunakan dua buah tabel bernama Karyawan dan Departemen dengan relationship bekerja pada. Struktur tabelnya diperlihatkan sebagai berikut: CREATE TABLE karyawan ( nama varchar(30) NOT NULL, id_dep int(5) NOT NULL ) ENGINE=MyISAM; CREATE TABLE departemen ( id_dep int(5) NOT NULL, nama_dep varchar(30) NOT NULL, PRIMARY KEY (id_dep) ) ENGINE=MyISAM; Data yang digunakan adalah sebagai berikut: Tabel Karyawan nama id_dep Agus 10 Budi 16 Citra 12 Dani 17 Tabel Departemen id_dep nama_dep 10 Penelitian 11 Pemasaran 12 SDM 13 Keuangan 2. Inner Join Sebagaimana dijelaskan, inner join akan mengembalikan data di tabel A dan B yang sesuai. Sebagai contoh, kita bisa mendapatkan data karyawan yang memiliki departemen.
  • 5. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 27 Bentuk implisit dari inner join diperlihatkan sebagai berikut: Dalam pengambilan data ini, kita juga bisa menspesifikasikan field terkait. Sebagai contoh, hanya mengambil nama karyawan dan nama departemen saja. Agar penulisan SQL lebih efisien, kita dapat memanfaatkan fitur derived table (atau alias). Pada pernyataan SQL di atas, tabel karyawan dinotasikan dengan huruf k dan tabel departemen menggunakan huruf d. Penggunaan derived table akan semakin efisien manakala kita berurusan dengan banyak field dan banyak tabel. Selain itu, juga menjadikan pernyataan SQL mudah dipahami.
  • 6. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 28 3. Outer Join Left Outer Join Apabila diperlukan, kita juga dapat menggunakan klusa WHERE di dalam join. Sebagai contoh, untuk mendapatkan data karyawan yang tidak memiliki departemen. Right Outer Join Full Outer Join Beberapa DBMS tidak mendukung fungsionalitas full outer join. Meski demikian, join ini dapat disimulasikan dengan memanfaatkan UNION. Tekniknya, kita menggabung left join dan right join.
  • 7. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 29 4. Cross Join Cross join pada hakekatnya merupakan inner join di mana kondisi join selalu dievaluasi true. Secara matematis, jika A dan B merupakan dua himpunan, maka cross join-nya = A X B. Cross join juga dapat direpresentasikan dalam bentuk implisit. Hasil operasi cross join:
  • 8. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 30 E. TUGAS PRAKTIKUM Perhatikan, dalam mengerjakan tugas praktikum ini, sebaiknya pernyataan SQL disimpan di file untuk kemudian dieksekusi. Tugas praktikum ini menggunakan tabel-tabel yang sudah dibuat sebelumnya. Berikut adalah data-data tabel yang akan digunakan (sesuaikan nilainya agar sama persis). Tabel mahasiswa nim nama jenis_kelamin alamat 101 Arif L Jl. Kenangan 102 Budi L Jl. Jombang 103 Wati P Jl. Surabaya 104 Ika P Jl. Jombang 105 Tono L Jl. Jakarta 106 Iwan L Jl. Bandung 107 Sari P Jl. Malang Tabel ambil_mk nim kode_mk 101 PTI447 103 TIK333 104 PTI333 104 PTI777 111 PTI123 123 PTI999 Tabel matakuliah kode_mk nama_mk sks semester PTI447 Praktikum Basis Data 1 3 TIK342 Praktikum Basis Data 1 3 PTI333 Basis Data Terdistribusi 3 5 TIK123 Jaringan Komputer 2 5 TIK333 Sistem Operasi 3 5 PTI123 Grafika Multimedia 3 5 PTI777 Sistem Informasi 2 3
  • 9. Modul Praktikum Basis Data Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang (UM) 31 1. Dapatkan data mahasiswa yang mengambil matakuliah. Selesaikan dengan pendekatan join eksplisit dan implisit. Hindari duplikasi data. 2. Kelompokkan data mahasiswa yang tidak mengambil matakuliah berdasarkan jenis kelaminnya, kemudian hitung banyaknya. 3. Dapatkan nim dan nama mahasiswa yang mengambil matakuliah beserta kode_mk dan nama_mk yang diambilnya. Selesaikan dengan pendekatan join eksplisit dan implisit. 4. Dapatkan nim, nama, dan total sks yang diambil oleh mahasiswa, di mana total sksnya lebih dari 4 dan kurang dari 10. 5. Dapatkan matakuliah yang tidak diambil oleh mahasiswa terdaftar (mahasiswa di tabel mahasiswa).