Dosen Pengampu :
Ngurah Agus Sanjaya ER, S.Kom. , M.Kom
Asisten
1008605002 I Wayan Adi Juliawan Pawana
1008605015 I Nyoman Tri Anindia Putra
: 1108605019
Kelompok
: Kelompok 3
PENDAHULUAN
Latar Belakang
Dalam pengunaan database ada beberapa query-query yang
digunakan untuk mengeksekusi suatu database, baik itu membuat,
mengubah, menghapus maupun menampilkan rekord tabel dari
suatu database. Utuk menggunakan query-query tersebut kita harus
mengetahui Structured Query Laguange (SQL)terlebih dahulu. Dalam
kehidupan nyata kita terkadang menggunakan beberapa operatoroperator atau fungsi tambahan dalam melakukan input atau update
data. Selain itu juga dalam menampilkan data secara spesifik seperti
yang kita inginkan, kita harus menggunakan bantuan operator dan
fungsi tersebut.
Salah satunya adalah Basis data, Basis data merupakan
kumpulan informasi yang disimpan di dalam komputer secara
sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut.
Dengan didukung perkembangan teknologi, kesulitan tersebut dapat
diatasi dengan melalui MySQL. Dengan MySQL ini kita dapat
mengubah sebuah tabel dengan menggunakan Structured Query
Language (SQL). Pada pembahasan modul ini membahas tentang
Studi Kasus yang diperuntukkan untuk mahasiswa.
Tujuan Praktikum
Teori
Deskripsi
Sama dengan
Lebih besar
Lebih kecil
Lebih besar atau
dengan
Lebih
kecil
atau
dengan
Tidak sama dengan
sama
sama
Format penulisan:
SELECT [nama kolom1], [nama kolom2], dst
FROM [nama tabel]
WHERE [nama kolom] [operator perbandingan]
[nilai]
Contoh:
table_buku
ISBN Judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
Jml_hal
765
867
685
harga
10000
10000
10000
penerbit
Mizan
Gramedia
Gramedia
4444
5555
The Secret
Piano di Tepi Pantai
687
859
11000
10000
Gramedia
Andi
a.
SELECT judul, harga FROM tabel_buku
WHERE harga <> 10000;
Output:
Judul
The Secret
Harga
11000
b.
SELECT * FROM tabel_buku WHERE harga = 10000;
Output:
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
5555 Piano di Tepi Pantai
Jml_hal
765
867
685
859
harga
10000
10000
10000
10000
penerbit
Mizan
Gramedia
Gramedia
Andi
b. BETWEEN
Melakukan select berdasarkan rentang nilai tertentu.
Format Penulisan:
Contoh:
table_buku
ISBN
1111
2222
3333
4444
5555
judul
Dunia Sophie
The Lost Symbol
A Morcking Bird
The Secret
Piano di Tepi Pantai
Jml_hal
765
867
685
687
859
harga
10000
10000
10000
11000
10000
penerbit
Mizan
Gramedia
Gramedia
Gramedia
Andi
Output:
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
4444 The Secret
Jml_hal
765
867
687
harga
10000
10000
11000
penerbit
Mizan
Gramedia
Gramedia
2. OPERATOR LOGIKA
Berikut adalah beberapa operator logika yang digunakan
pada sintax mysql:
AND, OR, XOR
Contoh:
table_buku
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
4444 The Secret
5555 Piano di Tepi Pantai
Jml_hal
765
867
685
687
859
harga
10000
10000
10000
11000
10000
penerbit
Mizan
Gramedia
Gramedia
Gramedia
Andi
1.
Jml_hal
867
685
harga
10000
10000
penerbit
Gramedia
Gramedia
2.
Output:
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
5555 Piano di Tepi Pantai
Jml_hal
765
867
685
859
harga
10000
10000
10000
10000
penerbit
Mizan
Gramedia
Gramedia
Andi
3.
Output:
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
5555 Piano di Tepi Pantai
Jml_hal
765
867
685
859
harga
10000
10000
10000
10000
penerbit
Mizan
Gramedia
Gramedia
Andi
3. Clausa Like
Berikut adalah beberapa klausa yang digunakan pada
sintax mysql: % dan _
Penjelasan:
Nama
%
_
Deskripsi
Mencocokkan dengan berapapun jumlah karakter
Mencocokkan hanya dengan satu karakter
Penggunaan LIKE:
Penggunaan
Deskripsi
Prak%
%Prak
%Prak%
Prak_
_Prak
_Prak_
Format Penulisan:
Contoh:
table_buku
ISBN judul
1111 Dunia Sophie
2222 The Lost Symbol
3333 A Morcking Bird
4444 The Secret
5555 Piano di Tepi Pantai
Jml_hal
765
867
685
687
859
harga
10000
10000
10000
11000
10000
penerbit
Mizan
Gramedia
Gramedia
Gramedia
Andi
Output:
ISBN judul
1111 Dunia Sophie
4444 The Secret
Jml_hal
765
687
harga
10000
11000
penerbit
Mizan
Gramedia
2. BETWEEN
Perintah ini digunakan untuk mengambil data pada
interval tertentu. Perintah ini akan mengikuti klausa WHERE.
3. FIELD KALKULASI
Kadangkala kita ingin menampilkan sebuah data yang
dihasilkan dari kombinasi beberapa field. Field kalkulasi
memungkinkan semua itu. Field Kalkulasi adalah sebuah field
yang dihasilkan dari kombinasi field-field yang ada dalam table.
Field hitungan tidak benar-benar ada dalam table database,
hanya bersifat on-the fly dalam statement SELECT. Field yang
dihasilkan tidak mempunyai nama, tetapi dapat diberikan
alternative nama dengan pemberian alias. Misalnya jika ingin
mengetahui berapakah uang yang akan diterima untuk masingmasing barang jika terjual semua, maka perintah SQL-nya adalah
sebagai berikut:
SELECT nama_barang, (harga*stock)
FROM Barang
10
11
Average
: AVG
Minimum
: MIN
Maximum
: MAX
Total : SUM
Count : COUNT
Fungsi Agregasi dapat diterapkan pada seluruh data (baris)
pada sebuah table menjadi satu himpunan ataupun dibagi menjadi
beberapa kelompok himpunan pada tabel tersebut. Agar dapat
dikelompokkan menjadi beberapa himpunan maka digunakan Klausa
GROUP BY. Adanya Klausa GROUP BY memungkinkan mkeluaran
eksekusi perintah SQL tersebut menghasilkan satu atau lebih data
(baris). Dengan banyaknya baris yang kemungkinan dihasilkan maka
data keluaran tersebut juga dapat diseleksi kembali menggunakan
Klausa HAVING.
1. Perintah Average (AVG)
Fungsi AVG digunakan untuk memperoleh nilai rata-rata dari
seluruh nilai pada suatu kolom.
Sintaks:
SELECT AVG(nama_kolom) FROM nama_tabel;
2. Perintah Minimum (MIN)
Digunakan untuk memperoleh nilai minimum (yang terkecil) dari
suatu kolom.
Sintaks:
SELECT MIN(nama_kolom) FROM nama_tabel;
3. Perintah Maximum (MAX)
Digunakan untuk memperoleh nilai maksimum (yang terbesar)
dari suatu kolom.
Sintaks:
SELECT MAX(nama_kolom) FROM nama_tabel;
12
13
nama
1
2
3
4
5
ADI
IKA
BUDI
WATI
DODI
mata_kulia
h
1
1
2
5
NULL
14
Table matakuliah
id
1
2
3
4
5
mata_kuliah
Basis Data
Logika Pemrograman
Sistem Informasi
Struktur Data
Otomata
mata_kuliah
Basis Data
Basis Data
Logika
15
I
WATI
Pemrograman
Otomata
2. LEFT JOIN
Bagaimana jika hasil dari query yang diinginkan adalah
untuk menampilkan semua nama mahasiswa beserta mata kuliah
yang diambil walaupun mahasiswa itu belum mengambil mata
kuliah apapun? Tipe LEFT JOIN dapat digunakan untuk
mendapatkan
hasil yang
diinginkan. LEFT JOIN akan
menghasilkan suatu set record yang menampilkan semua baris
dari table yang terletak di kiri (dalam hal ini tb_mahasiswa)
tanpa memperhatikan apakah baris-baris tersebut memiliki
padanan pada table sebelah kanan (tb_matakuliah).
SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah
FROM tb_mahasiswa LEFT JOIN tb_matakuliah
ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;
mata_kuliah
Basis Data
16
IKA
Basis Data
BUD Logika Pemrograman
I
WATI Otomata
DOD (NULL)
I
Hasil dari LEFT JOIN jika digambarkan menggunakan notasi
himpunan adalah sebagai berikut:
3. RIGHT JOIN
Perintah RIGHT JOIN akan menampilkan semua entry dari
table sebelah kanan dari perintah JOIN walaupun ada baris pada
table sebelah kanan yang tidak memiliki padanannya pada tabel
sebelah kiri. Sebagai contoh: missal hasil dari query yang
diinginkan adalah untuk menampilkan semua mata kuliah yang
ada walaupun tidak ada mahasiswa yang mengambil mata kuliah
tersebut. Perintah query untuk mendapatkan hasil tersebut
adalah:
SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah
FROM tb_mahasiswa RIGHT JOIN tb_matakuliah
ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;
mata_kuliah
Basis Data
Basis Data
Logika Pemrograman
Struktur Data
17
)
(NULL
)
WATI
Sistem Informasi
Otomata
4. OUTER JOIN
Perintah OUTER JOIN akan menampilkan seluruh isi dari
kedua table tanpa memperhatikan apakah masing baris pada
kedua table memiliki pasangan pada table lainnya atau tidak.
Ketika tidak ditemukan padanannya maka nilai dari field tersebut
akan diisi dengan NULL. Perintah OUTER JOIN ini tidak terlalu
bermanfaat dibandingkan dengan INNER, LEFT ataupun RIGHT.
OUTER JOIN ini tidak diimplementasikan di MySQL, namun hasil
yang sama dapat diperoleh menggunakan perintah UNION serta
LEFT dan RIGHT JOIN.
SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah
FROM tb_mahasiswa LEFT JOIN tb_matakuliah
ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id
UNION
SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah
FROM tb_mahasiswa RIGHT JOIN tb_matakuliah
ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;
18
nama
ADI
IKA
BUDI
(NULL
)
(NULL
)
WATI
DODI
mata_kuliah
Basis Data
Basis Data
Logika Pemrograman
Struktur Data
Sistem Informasi
Otomata
(NULL)
Catatan:
Jika nama field yang digunakan pada klausa ON adalah sama
pada kedua tabel, maka untuk menghindari penggunaan nama
table dan nama field untuk referensi dapat digunakan perintah
USING.
Tabel tb_mahasiswa
id
nama
id_kuliah
1
ADI
1
2
IKA
1
3
BUDI
2
4
WATI
5
5
DODI
NULL
Tabel tb_matakuliah
Id_kulia mata_kuliah
19
h
1
2
3
4
5
Basis Data
Logika Pemrograman
Sistem Informasi
Struktur Data
Otomata
Dari kedua table di atas dapat dilihat bahwa field yang digunakan
untuk menghubungkan table-tabel tersebut adalah id_kuliah.
Karena nama field referensi pada kedua table adalah sama
(id_kuliah) maka query INNER JOIN pada halaman 2 dapat
diubah menjadi:
SELECT tb_mahasiswa.nama, tb_matakuliah.nama_matakuliah
FROM tb_mahasiswa RIGHT JOIN tb_matakuliah
ON tb_mahasiswa.mata_kuliah=tb_matakuliah.id;
20
21
22
23
mengetahui
tipe
dari
customer
yang
melakukan
pemesananan, tabel ini berelasi dengan tabel customer.
10. CustomerDemographics merupakan tabel untuk mengetahui
demographic dari customer berdasar tipe customernya
tabel ini berelasi dengan tabel CustomerCustomerDemo
11. EmployeeTerritories merupakan tabel untuk mengetahui
lingkungan atau daerah tempat bekerja dari pegawai yang
tercatat melakukan order, tabel EmployeeTerritories berelasi
dengan tabel Employees
12. Territories merupakan tabel untuk deskripsi dari lingkungan
atau daerah tempat bekerja, tabel Territories berelasi
dengan tabel EmployeeTerritories
24
STUDI KASUS
1. Tampilkan semua data pada tabel Categories
ContactName,
25
26
4. Tampilkan
Breweries
supplier
yang
CompanyName=Bigfoot
27
28
29
12.Tampilkan
OrderID,
OrderDate,
CustomerID
dan
CustomerName yang memesan produk dengan ProductID
= 51
30
13.Tampilkan
OrderID,
OrderDate,
CustomerName
yang
memesan
ProductIName = Tofu
CustomerID
dan
produk
dengan
31
32
33
34
35
36
KESIMPULAN
Dari pembahasan mengenai Studi kasus di atas kesimpulan
yang diperoleh adalah untuk mendefinisikan, pengontrol data, dan
memanipulasi data pada sebuah database digunakan DDL, DCL, dan
DML. Structured Query Languaged (SQL) berguna mempermudah
kita dalam membuat dan memanipulasi database, SQL berguna juga
dalam menyelesaikan suatu masalah atau kasus yang berhubungan
dengan basis data. Dan Dengan Structured Query Language (SQL)
kita dapat mencari atau memanipulasi data yang terdapat pada
suatu database dengan mudah dan cepat.
37
DAFTAR PUSTAKA
2013. Modul 3 Praktikum Basis Data .Jurusan Ilmu Komputer.
Universitas Udayana
2013. Modul 4 Praktikum Basis Data .Jurusan Ilmu Komputer.
Universitas Udayana
2013. Modul 5 Praktikum Basis Data .Jurusan Ilmu Komputer.
Universitas Udayana
2013. Modul 6 Praktikum Basis Data .Jurusan Ilmu Komputer.
Universitas Udayana
MySQL Server Documentation, http://dev.mysql.com
MySQL Tutorials, http://www.devshed.com
38