NIM : 1605551093
Kelompok :6
MODUL IV
DML - DATA MANIPULATION LANGUAGE LANJUTAN
Tujuan Praktikum
Tujuan Praktikum Basis Data yang terdapat dalam modul DML Lanjutan
adalah sebagai berikut:
1. Mengetahui dan memahami penggunaan query nested, group by, order by
dan alias.
2. Mengetahui penggunaan perintah DML HAVING dan WHERE.
3. Mengetahui dan memahami penggunaan query INNER JOIN, LEFT JOIN,
RIGHT JOIN, UNION.
4. Mampu mengimplementasikan DML dalam pembuatan laporan.
Tugas Pendahuluan
1. Jelaskan mengenai query nested, group by, order by dan alias di dalam
MYSQL beserta contoh penggunaannya.
2. Sebutkan dan jelaskan macam-macam query union di dalam MYSQL
beserta contoh penggunaanya.
3. Jelaskan secara rinci perbedaan HAVING dan WHERE dalam MYSQL
4. Sebutkan dan jelaskan sintaks dari masing-masing query join beserta
contoh penggunaannya dengan lengkap
5. Buatlah dan jelaskan sintaks dari masing-masing fungsi yang ada dalam
query aggregation (COUNT, SUM, AVERAGE, MAX, MIN,
GROUP_CONCAT ) beserta contoh penggunaannya dengan lengkap.
6. Sebutkan dan jelaskan fungsi built-in yang terdapat dalam MYSQL beserta
contoh penggunaanya.
Jawaban
1. Pengertian dan Contoh Dari Query Nested, Group By, Order By dan Alias
didalam MYSQL.
Penjelasan dari query nested, group by, order by, dan alias yang ada
didalam MYSQL adalah sebagai berikut.
1) Query Nested
Query nested atau sub query adalah sebuah query yang berada di dalam
query. Sub query yang merupakan pernyataan select dan bagian dari pernyataan
insert, select. Sub query digunakan untuk menangani masalah dalam query yang
kompleks bahkan kita tidak tahu nilai berapa yang akan di select atau di insert.
Contoh dari penggunaan sub query adalah sebagai berikut.
a. Subquery digunakan untuk menyelesaikan persoalan dimana
terdapat suatu nilai yang tidak diketahui (unknown values).
b. Meng-copy data dari satu tabel ke tabel lain.
c. Menerima data dari inline view.
d. Mengambil data dari tabel lain untuk kemudian di update ke tabel
yang dituju.
e. Menghapus baris dari satu tabel berdasarkan baris dari tabel lain.
Berikut ini merupakan contoh penggunaan query nested dapat dilihat pada
kode program 4.1 sebagai berikut.
2) Group By
Group by adalah salah satu klausa yang digunakan pada pernyataan select
untuk agregasi data berdasarkan group (pengelompokan) suatu kolom. Berikut ini
merupakan contoh penggunaan query group by dapat dilihat pada kode program
4.2 sebagai berikut.
3) Order By
Order by adalah salah satu klausa yang berfungsi untuk mengurutkan data
baik secara ascending (dari kecil ke besar) atau descending (dari besar ke kecil).
Berikut ini merupakan contoh penggunaan query order by dapat dilihat pada kode
program 4.3 sebagai berikut.
4) Alias
Alias adalah klausa yang berfungsi untuk mempermudah dalam menulis
query atau mempermudah dalam membaca query. Dengan menggunakan alias,
kita dapat mempersingkat penulisan nama tabel dan kolom. Berikut ini merupakan
contoh penggunaan alias dapat dilihat pada kode program 4.5 sebagai berikut.
2. Perintah union digunakan untuk menggabungkan isi dari 2 tabel atau lebih
Penjelasan dari union yang ada didalam MYSQL adalah sebagai berikut.
1) Union
Penggunaan union perlu diketahui bahwa data yang sama akan
ditampilkan satu kali saja. Berikut ini merupakan contoh penggunaan union dapat
dilihat pada kode program 4.6 sebagai berikut.
2) Union All
Penggunaan union all perlu diketahui bahwa jika ada data yang sama akan
tetap ditampilkan semua. Berikut ini merupakan contoh penggunaan union dapat
dilihat pada kode program 4.6 sebagai berikut.
Kode program 4.7 merupakan query umum dari penggunaan having yang
memiliki kemiripan dengan where.
2) Where
Fungsi where digunakan untuk memfilter data pada perintah select.
Berikut ini merupakan contoh penggunaan where dapat dilihat pada kode program
4.8 sebagai berikut.
Kode program 4.8 merupakan query umum dari penggunaan where yang
digunakan untuk memfilter data pada perintah select.
2) Inner Join
Penggunaan relasi inner join adalah untuk menampilkan kedua tabel yang
direlasikan dengan menampilkan record yang bersesuaian saja. Sedangkan query
on berfungsi menampilkan kedua tabel lengkap dengan semua fieldnya tanpa
menyingkat tampilan field yang direlasikan dengan menampilkan satu kali (field
yang berelasi ditampilkan dua kali yaitu saat di deret tabel pertama lalu di deret
tabel kedua. Berikut ini merupakan contoh penggunaan inner join dapat dilihat
pada kode program 4.10 sebagai berikut.
3) Straight Join
Penggunaan relasi left outer join adalah untuk menampilkan kedua tabel
yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian
dengan tabel yang lain dengan jumlah record tergantung jumlah record tabel
sebelah kiri. Berikut ini merupakan contoh penggunaan left outer join dapat
dilihat pada kode program 4.12 sebagai berikut.
Penggunaan relasi right outer join adalah untuk menampilkan kedua tabel
yang direlasikan dengan menampilkan semua record meskipun tidak bersesuaian
dengan tabel yang lain dengan jumlah record tergantung jumlah record tabel
sebelah kanan. Berikut ini merupakan contoh penggunaan right outer join dapat
dilihat pada kode program 4.13 sebagai berikut.
SELECT * FROM peminjam RIGHT OUTER JOIN pinjam ON pinjam.id =
peminjam.id;
Kode Program 4.13 Penggunaan query right atau outer join
2) Sum
3) Average
4) Max
5) Min
Min merupakan kebalikan dari max dimana min adalah suatu fungsi pada
MYSQL yang digunakan untuk mendapatkan nilai terendah atau terkecil dari
sekumpulan record dalam suatu tabel. Berikut ini merupakan contoh penggunaan
query min dapat dilihat pada kode program 4.18 sebagai berikut.
6) Group Concat
Fungsi ini dapat digunakan untuk menghasilkan suatu string dari beberapa
isi record berdasarkan pengelompokkan tertentu. Berikut ini merupakan contoh
penggunaan query group_concat dapat dilihat pada kode program 4.19 sebagai
berikut.
1) Numeric Function
a) Pow
Kode program 4.20 akan menampilkan nilai pangkat dari suatu bilangan.
Hasil yang ditampilkan hasil pangkat 3 dari bilangan 2 yaitu sama dengan 9.
b) Sqrt
Query sqrt berfungsi untuk menampilkan nilai akar dari suatu bilangan.
Penggunaan query sqrt yaitu sqrt(x). Hasil dari query tersebut adalah nilai akar
dari bilangan x. Implementasi query sqrt dapat dilihat pada kode program 4.21.
SELECT SQRT(5);
Kode Program 4.21 Penggunaan query sqrt
Kode program 4.21 akan menampilkan nilai akar dari suatu bilangan.
Hasil yang ditampilkan adalah akar dari 25 yaitu sama dengan 5.
c) Greatest
Query greatest berfungsi untuk menampilkan nilai terbesar dari parameter
input. Penggunaan query greates yaitu greatest(x1,x2,x3,...);. Implementasi
query least dapat dilihat pada kode program 4.22.
Kode program 4.22 akan menampilkan nilai terbesar dari parameter input.
Hasil yang ditampilkan adalah nilai terbesar diantara 6, 9, 12, 13 yaitu sama
dengan 13.
d) Least
Query least berfungsi untuk menampilkan nilai terbesar dari parameter
input. Penggunaan query least yaitu least(x1,x2,x3,...). Implementasi query
least dapat dilihat pada kode program 4.23.
SELECT GREATEST(6, 9, 12, 13);
Kode Program 4.23 Penggunaan query least
Kode program 4.23 akan menampilkan nilai terkecil dari parameter input.
Hasil yang ditampilkan adalah nilai terkecil diantara 6, 9, 12, 13 yaitu sama
dengan 6.
2) String Function
String Function merupakan fungsi yang digunakan untuk memanipulasi
karakter atau string didalam MySQL. String Function memiliki berbagai macam
built-in antara lain sebagai berikut.
a) Length
Kode program 4.24 akan menampilkan panjang dari sebuah string. Hasil
yang ditampilkan pada kode program 4.24 adalah panjang string dari “Martin
William” yaitu sama dengan 14.
b) Concat
Query concat berfungsi untuk menggabungkan atau menyambungkan dua
buah string atau lebih. Penggunaan query concat yaitu concat(string1,
string2). Implementasi query concat dapat dilihat pada kode program 4.25.
SELECT CONCATE(“Martin”,”William”);
Kode Program 4.25 Penggunaan query concat
Kode program 4.25 akan menampilkan gabungan dari dua buah string.
Hasil yang ditampilkan adalah gabungan string antara “Martin” dan “William”
yaitu “Martin William”.
c) Lcase
Query lcase berfungsi untuk mengubah string menjadi huruf kecil.
Penggunaan query lcase yaitu LCASE(string). Implementasi query lcase dapat
dilihat pada kode program 4.26.
d) Ucase
Query ucase berfungsi untuk mengubah string menjadi huruf kapital.
Penggunaan query ucase yaitu ucase(string). Implementasi query ucase dapat
dilihat pada kode program 4.27.
a) Adddate
b) Datediff
Query datediff berfungsi untuk mencari selisih dari dua buah tanggal.
Penggunaan query datediff yaitu datediff(tanggal1,tanggal1). Implementasi
query datediff dapat dilihat pada kode program 4.29.
SELECT DATEDIFF(‘2016-05-10’,’2016-05-28’)
Kode Program 4.29 Penggunaan query datediff
Kode program 4.29 akan menampilkan selisih dari dua buah tanggal. Hasil
yang ditampilkan adalah selisih antara tanggal 2016-05-10 dan 2016-05-28 yaitu
sama dengan 18.