You are on page 1of 7

LAPORAN PRAKTIKUM

SISTEM BASIS DATA


PERTEMUAN KE-6

NAMA : M. LUTHFI WIDIATMOKO

NO MHS : 095410172

STMIK AKAKOM YOGYAKARTA

JL. RAYA JANTI 143 Yogyakarta


Pertemuan Ke-6

I. Maksud Dan Tujuan


Dalam praktikum pertemuan ke-6 ini mahasiswa diharapkan dapat memahami relasi
dan pemrosesan tabel jamak menggunakan Cross Join dan Inner Join.

II. Hasil Praktikum


Terlampir.

III. Pembahasan

A. Pembahasan Dari Hasil Praktikum


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

Praktikum:
mysql> select mhs.nama,matakuliah.nama_mk from mhs,matakuliah;
 Perintah diatas merupakan perintah cross join antara tabel mahasiswa dan
matakuliah dimana dalam perintah cross ini pada outputnya akan
menghasilkan 25 baris yang di dalam tabelnya hanya terdapat atribut nama
dari tabel mahasiswa dan atribut nama_mk dari atribut matakuliah.

mysql> select a.nim,a.nama,b.nama_mk,c.nilai


-> from mhs a,matakuliah b,khs c;
 Perintah diatas merupakan perintah cross join antara tabel
mahasiswa,matakuliah dan khs dimana dalam perintah cross join ini pada
outputnya akan menghasilkan 125 baris yang di dalam tabelnya hanya
terdapat atribut nim,nama dari tabel mahasiswa, atribut nama_mk dari
tabel matakuliah dan atribut.

mysql> select * from khs,matakuliah


-> where khs.kode_mk=matakuliah.kode_mk;
 Perintah diatas merupakan perintah inner join antara tabel matakuliah dan
khs dimana dalam perintah inner join ini pada outputnya akan
menghasilkan 5 baris yang di dalam tabelnya hanya terdapat atribut
nama_mk,sks dari tabel matakuliah, atribut nim,semester,TA,nilai dari
tabel khs dan dimana atribut kode_mk dari tabel khs sama dengan atribut
kode_mk dari tabel matakuliah.
mysql> select k.nim, k.kode_mk, m.nama_mk, m.sks, k.semester, k.TA, k.nilai
-> from khs k,matakuliah m where k.kode_mk=m.kode_mk;
 Perintah diatas merupakan perintah inner join antara tabel matakuliah dan
khs dimana dalam perintah inner join ini pada outputnya akan
menghasilkan 5 baris yang didalam tabelnya hanya terdapat atribut
nim,semester,TA,nilai dari tabel khs dan atribut nama_mk,sks dari tabel
matakuliah dan dimana atribut kode_mk dari tabel khs sama dengan
atribut kode_mk dari tabel matakuliah.

mysql> select k.nim,m.nama_mk,m.sks,k.nilai as nilai,


-> case
-> when nilai='A' then 4
-> when nilai='B' then 3
-> when nilai='C' then 2
-> when nilai='D' then 1
-> else 0
-> end as nilai_angka
-> from khs k inner join matakuliah m on k.kode_mk=m.kode_mk;
 Perintah diatas merupakan perintah inner join yang bertujuan
mengkonversi nilai huruf dari tabel khs menjadi nilai angka. Dalam
perintah inner join ini pada outputnya akan menghasilkan 5 baris dimana
terdapat persamaan yaitu huruf A bernilai 4, huruf B bernilai 3, huruf C
bernilai 2 dan huruf D bernilai 1. Dalam tabel ini hanya terdapat atribut
nim,nilai dari tabel khs, atribut nama_mk,nilai dari tabel matakuliah dan
dimana atribut kode_mk dari tabel khs sama dengan atribut kode_mk dari
tabel matakuliah.

mysql> select k.nim,m.nama_mk,m.sks,k.nilai,


-> case
-> when nilai='A' then 4*m.sks
-> when nilai='B' then 3*m.sks
-> when nilai='C' then 2*m.sks
-> when nilai='D' then 1*m.sks
-> else 0
-> end as point
-> from khs k inner join matakuliah m on k.kode_mk=m.kode_mk;
 Perintah diatas merupakan perintah inner join yang bertujuan menghitung
point.Dalam perintah inner join ini pada outputnya akan menghasilkkan 5
baris dimana terdapat persamaan yaitu apabila huruf A maka banyaknya
sks dikali 4, apabila huruf B maka banyaknya sks akan dikali 3, apabila
huruf C maka banyaknya sks akan dikali 2, dan yang terakhir apabila
huruf D maka banyaknya sks akan dikali 1. Dalam tabel ini hanya terdapat
atribut nim,nilai dari tabel khs, atribut nama_mk,nilai dari tabel
matakuliah dan dimana atribut kode_mk dari tabel khs sama dengan
atribut kode_mk dari tabel matakuliah.
mysql> select mhs.nim,mhs.nama
-> from mhs inner join khs on mhs.nim=khs.nim;
 Perintah ini merupakan perintah inner join antara tabel mahasiswa dan khs
dimana dalam perintah inner join ini pada outputnya akan menghasilkan 5
baris yang didalam tabelnya hanya terdapat atribut nama dari tabel
mahasiswa dan dimana atribut nim dari tabel mahasiswa sama dengan
atribut nim dari tabel khs.
mysql> select a.nim,a.nama,b.nama_mk,b.sks,c.semester,c.nilai,c.TA
-> from mhs a inner join khs c on a.nim=c.nim
-> inner join matakuliah b on c.kode_mk=b.kode_mk;
 Perintah ini merupakan perintah inner join antara tabel
mahasiswa,matakuliah dan khs dimana dalam perintah inner join ini pada
outputnya akan menghasilkan 5 baris yang didalam tabelnya hanya
terdapat atribut nama dari tabel mahasiswa, atribut nama,sks dari tabel
matakuliah, atribut semester,nilai,TA dari tabel khs, dimana atribut nim
dari tabel mahasiswa sama dengan atribut nim dari tabel khs dan dimana
atribut kode_mk dari tabel khs sama dengan atribut kode_mk dari tabel
matakuliah.

mysql> select khs.nim,mhs.nama,(sum(


-> case
-> when khs.nilai='A' then 4*matakuliah.sks
-> when khs.nilai='B' then 3*matakuliah.sks
-> when khs.nilai='C' then 2*matakuliah.sks
-> when khs.nilai='D' then 1*matakuliah.sks
-> else 0
-> end)/sum(matakuliah.sks)) as ipk
-> from khs inner join matakuliah on khs.kode_mk=matakuliah.kode_mk
-> inner join mhs on khs.nim=mhs.nim
-> group by khs.nim,mhs.nama;
 Perintah ini merupakan perintah inner join yang bertujuan untuk
menghitung IPK Dalam perintah inner join ini pada outputnya akan
menghasilkan 5 baris dimana terdapat persamaan yaitu apabila nilai A
Latihan:

mysql> select * from dosen;


+-----------+-----------+------+------------+------------+------------+
| nip | namadosen | jk | alamat | tgl_lahir | pendidikan |
+-----------+-----------+------+------------+------------+------------+
| 132312490 | aulia | P | yogyakarta | 1970-11-02 | S2 |
| 132312478 | putri | P | janti | 1950-12-30 | S3 |
| 132312455 | ratna | P | sleman | 1966-04-24 | S2 |
| 132312445 | mirza | L | bantul | 1972-02-22 | S3 |
| 132312433 | budi | L | bantul | 1962-07-10 | S2 |
+-----------+-----------+------+------------+------------+------------+
5 rows in set (0.00 sec)

mysql> select * from jurusan;


+--------+----------------------------+-----------+
| kd_jur | nama_jur | ketua |
+--------+----------------------------+-----------+
| S1TI | Teknik Informatika S1 | 132312490 |
| S1SI | Sistem Informasi S1 | 132312478 |
| D3MI | Manajemen Informatika D3 | 132312455 |
| D3KA | Komputerisasi Akuntansi D3 | 132312445 |
| D3TK | Teknik Komputer D3 | 132312433 |
+--------+----------------------------+-----------+
5 rows in set (0.01 sec)

mysql> select * from kelas;


+--------+--------+-----------+------------+
| kelas | kd_jur | nip | dosen_wali |
+--------+--------+-----------+------------+
| S1TI3A | S1TI | 132312490 | 132312490 |
| S1TI3C | S1TI | 132312490 | 132312490 |
| D3MI1B | D3MI | 132312455 | 132312455 |
| S1SI5A | S1SI | 132312478 | 132312478 |
+--------+--------+-----------+------------+
4 rows in set (0.00 sec)

1.
mysql> select dosen.namadosen,dosen.tgl_lahir
-> from dosen inner join jurusan on dosen.nip=jurusan.ketua;
+-----------+------------+
| namadosen | tgl_lahir |
+-----------+------------+
| aulia | 1970-11-02 |
| putri | 1950-12-30 |
| ratna | 1966-04-24 |
| mirza | 1972-02-22 |
| budi | 1962-07-10 |
+-----------+------------+
5 rows in set (0.12 sec)

2.
mysql> select m.nim,m.nama,k.kode_mk,k.nilai
-> from mhs m left join khs k on m.nim=k.nim;
+------------+--------+---------+-------+
| nim | nama | kode_mk | nilai |
+------------+--------+---------+-------+
| 0802100011 | emy | NULL | NULL |
| 0802100012 | waldan | NULL | NULL |
| 0802100013 | tasya | NULL | NULL |
| 0802100014 | rika | NULL | NULL |
| 0802100015 | thomas | NULL | NULL |
+------------+--------+---------+-------+
5 rows in set (0.02 sec)

3.
mysql> select m.nim,k.kelas as kelas,kd_jur as jurusan
-> from mhs m right join kelas k on m.kelas=k.kelas;
+------+--------+---------+
| nim | kelas | jurusan |
+------+--------+---------+
| NULL | D3MI1B | D3MI |
| NULL | S1SI5A | S1SI |
| NULL | S1TI3A | S1TI |
| NULL | S1TI3C | S1TI |
+------+--------+---------+
4 rows in set (0.01 sec)

4.
mysql> select kelas,kd_jur from kelas where kelas='S1TI3A' union
-> select kelas,kd_jur from kelas where kelas='D3MI1B';
+--------+--------+
| kelas | kd_jur |
+--------+--------+
| S1TI3A | S1TI |
| D3MI1B | D3MI |
+--------+--------+
2 rows in set (0.01 sec)

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

C. 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.
IV. Tugas
1. Cross join:
mysql> select gaji.Lama_Kerja,karyawan.Nama from gaji,karyawan;
+------------+------+
| Lama_Kerja | Nama |
+------------+------+
| 3 bulan | Tama |
| 1 tahun | Tama |
| 3 bulan | Amru |
| 1 tahun | Amru |
+------------+------+
4 rows in set (0.00 sec)

Inner join:
mysql> select
k.Lama_Kerja,m.Nama,m.Kelamin,m.tgl_lahir,m.Jabatan,m.Alamat
-> from gaji k,karyawan m where k.ID=m.ID;
+------------+------+---------+------------+----------+---------+
| Lama_Kerja | Nama | Kelamin | tgl_lahir | Jabatan | Alamat |
+------------+------+---------+------------+----------+---------+
| 3 bulan | Tama | P | 1979-08-09 | pembantu | lampung |
| 1 tahun | Amru | L | 1979-01-09 | bos | madiun |
+------------+------+---------+------------+----------+---------+
2 rows in set (0.02 sec)

V. Kesimpulan
Di dalam praktikum pertemuan ke-6 ini dapat disimpulkan bahwa di dalam MySQL
terdapat operator cross join,inner join,outer join dan union. Cross join berfungsi
menghasilkan kombinasi semua baris yang terdapat dalam tabel-tabel yang
digabungkan baik yang tidak berpasangan maupun yang berpasangan. Inner join
berfungsi untuk menggabungkan dua buah table yang berkaitan contohnya table
orders dan Customers.Bila ingin menggunakan perintah inner join syarat utamanya
table yang ingin dihubungkan harus mempunyai index utama atau primary key. Outer
join adalah join yang menghasilkan semua data dari sebuah table dan membatasi data
dari table lain. Union berfungsi menggabungkan hasil query,dengan ketentuan
jumlah,nama dan tipe kolom dari masing-masing tabel yang akan ditampilkan
datanya harus sama.

You might also like