Anda di halaman 1dari 4

LAPORAN PRAKTIKUM

SISTEM BASIS DATA


PERTEMUAN KE-7

NAMA : M. LUTHFI WIDIATMOKO

NO MHS : 095410172

STMIK AKAKOM YOGYAKARTA

JL. RAYA JANTI 143 Yogyakarta


Pertemuan Ke-7

I. Maksud Dan Tujuan


Dalam praktikum pertemuan ke-7 ini mahasiswa diharapkan dapat memahami
penggunaan subquery. Sub query sendiri berarti sebuah query yang terletak di dalam
query. Fungsi dari penggunaan subquery adalah hasil dari query akan menjadi bagian
dari query diatasnya. Subquery terletak di dalam clause WHERE atau HAVING.
Pada clausa WHERE, subquery digunakan untuk memilih baris-baris tertentu, yang
kemudian digunakan oleh query. Sedangkan pada clausa HAVING,subquery
digunakan oleh query.

II. Hasil Praktikum


Terlampir.

III. Pembahasan

A. Pembahasan Dari Hasil Praktikum


Di dalam praktikum pertemuan ke-7 ini menggunakan database yang telah
dibuat pada pertemuan sebelumnya,yaitu database mahasiswa.

Praktikum:
mysql> use mahasiswa
Database changed
 Perintah diatas merupakan perintah untuk menggunakan database yang
akan digunakan pada praktikum pertemuan ke-7 ini yaitu database
mahasiswa.

mysql> select nim,nama


-> from mhs
-> where exists (select * from khs where nim=mhs.nim);
 Perintah diatas merupakan perintah untuk menampilkan sebuah data
dimana atribut nim yang berasal dari tabel mhs terdapat pada hasil
subquery perintah berikut: select * from khs where nim=mhs.nim. Pada
outputnya akan menampilkan daftar mahasiswa yang terdapat dalam tabel
mhs dan tabel khs.

mysql> select nim,nama


-> from mhs
-> where nim = any ( select distinct nim from khs);
 Perintah diatas merupakan perintah untuk menampilkan sebuah data
dengan atribut nim dan atribut nama yang berasal dari tabel mhs dimana
atribut nim yang berasal dari tabel mhs sama dengan atribut nim yang
berasal dari tabel khs.

mysql> select nim,nama


-> from mhs
-> where nim in ( select distinct nim from khs);
 Perintah diatas merupakan perintah untuk menampilkan sebuah data
dimana atribut nim yang berasal dari tabel mhs terdapat pada hasil
subquery perintah berikut: select distinct nim from khs.Pada outputnya
hampir sama dengan output perintah sebelumnya.

mysql> select nim,nama


-> from mhs
-> where not exists ( select * from khs where nim=mhs.nim);
 Perintah diatas merupakan perintah untuk menampilkan sebuah data
dimana atribut nim yang berasal dari tabel mhs tidak terdapat pada hasil
subquery perintah berikut: select * from khs where nim=mhs.nim .Pada
outputnya tidak akan menampilkan data apapun dengan kata lain datanya
kosong.

Latihan:
1. mysql> select a.nip,a.namadosen,b.nama_jur,c.dosen_wali
-> from dosen a inner join jurusan b on a.nip=b.ketua
-> inner join kelas c on b.ketua=c.dosen_wali;
 Perintah diatas merupakan perintah menampilkan data dosen (nip,nama)
yang menjabat sebagai ketua jurusan sekaligus menjadi dosen wali.
Perintah tersebut bekerja seperti berikut, menampilkan sebuah data yang
terdiri dari atribut nip dan atribut nama dosen yang berasal dari tabel
dosen,atribut nama jurusan yang berasal dari tabel jurusan dan atribut
dosen wali yang berasal dari tabel jurusan dimana atribut nip yang berasal
dari tabel dosen sama dengan atribut ketua yang berasal dari tabel jurusan
yang dimana atribut ketua yang berasal dari tabel jurusan sama dengan
atribut dosen wali yang berasal dari tabel kelas sehingga dapat
menampilkan data dosen yang menjabat ketua yang juga menjadi dosen
wali.

2. mysql> select nip,namadosen


-> from dosen
-> where not exists ( select * from jurusan where ketua=dosen.nip);
 Perintah diatas merupakan perintah menampilkan sebuah data dimana
atribut nip yang berasal dari tabel dosen tidak terdapat pada hasil subquery
perintah berikut: select * from khs where nim=mhs.nim . Pada perintah ini
output tidak keluar karena tidak ada data yang memenuhi perintah ini.

3. mysql> select nip,namadosen


-> from dosen
-> where not exists ( select * from kelas where dosen_wali=dosen.nip);
 Perintah diatas merupakan perintah menampilkan sebuah data dimana
atribut nip yang berasal dari tabel dosen tidak terdapat pada hasil subquery
perintah berikut: select * from kelas where dosen_wali=dosen.nip . Pada
perintah ini hanya menampilkan data dosen yang tidak menjadi dosen
wali.

A. Kendala
Di dalam praktikum pertemuan ke-7, kendala yang di dapatkan adalah
kesalahan dalam penulisan di dalam MySQL.

B. Penyelesain
Untuk dapat mengatasi kesalahan dalam penulisan di dalam MySQL adalah
ketelitian dan kesabaran dalam penulisan. Apabila teliti dan sabar maka akan
mudah untuk melakukan penulisan di dalam program MySQL.

I. Tugas
Pada praktikum pertemuan ke-7 ini tugas tidak dapat dikerjakan karena data di dalam
atribut kelas pada tabel mhs berbeda dengan data yang ada di dalam atribut kelas pada
tabel kelas. Tugas dapat dikerjakan apabila data di dalam atribut kelas pada tabel mhs
sama dengan data yang ada di dalam atribut kelas pada tabel kelas.

II. Kesimpulan
Di dalam praktikum pertemuan ke-7 ini dapat disimpulkan bahwa subquery adalah
perintah untuk mengerjakan perintah (query) di dalam perintah (query). Subquery dapat
diletakkan sebagai bagian dari query utama : SELECT, INSERT, UPDATE, DELETE,
SET, DO.

Anda mungkin juga menyukai