Professional Documents
Culture Documents
Dosen Pengampu :
Ngurah Agus Sanjaya ER, S.Kom. , M.Kom
Asisten
1008605002 I Wayan Adi Juliawan Pawana
1008605015 I Nyoman Tri Anindia Putra
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 operator-operator 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.
Tujuan Praktikum
2
Teori
1. OPERATOR PERBANDINGAN
Berikut adalah beberapa operator perbandingan yang digunakan pada
sintax mysql:
a. =, >, <, >=, <=, <>
Penjelasan:
Nama Deskripsi
= Sama dengan
> Lebih besar
< Lebih kecil
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
<> Tidak sama dengan
Format penulisan:
Contoh:
table_buku
ISBN Judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
3
4444 The Secret 687 11000 Gramedia
Piano di Tepi 859 10000 Andi
5555
Pantai
a.
SELECT judul, harga FROM tabel_buku
WHERE harga <> 10000;
Output:
Judul Harga
The Secret 11000
b.
SELECT * FROM tabel_buku WHERE harga = 10000;
Output:
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
Piano di Tepi 859 10000 Andi
5555
Pantai
b. BETWEEN
Melakukan select berdasarkan rentang nilai tertentu.
Format Penulisan:
4
Contoh:
table_buku
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
4444 The Secret 687 11000 Gramedia
Piano di Tepi 859 10000 Andi
5555
Pantai
Output:
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
4444 The Secret 687 11000 Gramedia
2. OPERATOR LOGIKA
Berikut adalah beberapa operator logika yang digunakan pada
sintax mysql:
AND, OR, XOR
Contoh:
table_buku
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
4444 The Secret 687 11000 Gramedia
5555 Piano di Tepi Pantai 859 10000 Andi
1.
SELECT * FROM tabel_buku WHERE harga = 10000
AND penerbit = gramedia;
5
Output:
ISBN judul Jml_hal harga penerbit
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
2.
SELECT * FROM tabel_buku WHERE harga = 10000
OR penerbit = gramedia;
Output:
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
5555 Piano di Tepi Pantai 859 10000 Andi
3.
SELECT * FROM tabel_buku WHERE harga = 10000
XOR penerbit = gramedia;
Output:
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
5555 Piano di Tepi Pantai 859 10000 Andi
3. Clausa Like
Berikut adalah beberapa klausa yang digunakan pada sintax mysql:
% dan _
Penjelasan:
Nama Deskripsi
6
% Mencocokkan dengan berapapun jumlah karakter
_ Mencocokkan hanya dengan satu karakter
Penggunaan LIKE:
Penggunaan Deskripsi
Prak% Mencari string yang diawali dengan karakter Prak
%Prak Mencari string yang diakhiri dengan karakter Prak
%Prak% Mencari string yang mengandung karakter Prak
Mencari string yang diawali dengan karakter Prak dan
Prak_
diakhiri 1 karakter
Mencari string yang diakhiri dengan karakter Prak dan
_Prak
diawali 1 karakter
Mencari string yang mengandung karakter Prak yang
_Prak_
diawali dan diakhiri dengan 1 karakter
Format Penulisan:
Contoh:
table_buku
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
2222 The Lost Symbol 867 10000 Gramedia
3333 A Morcking Bird 685 10000 Gramedia
4444 The Secret 687 11000 Gramedia
5555 Piano di Tepi Pantai 859 10000 Andi
7
SELECT * FROM tabel_buku WHERE judul LIKE
Worl%;
Output:
ISBN judul Jml_hal harga penerbit
1111 Dunia Sophie 765 10000 Mizan
4444 The Secret 687 11000 Gramedia
8
yang memungkinkan untuk mengurutkan data menggunakan ORDER BY.
Selain pengurutan data, terkadang dibutuhkan suatu field baru yang
merupakan hasil perhitungan dari field-field lainnya. Field hasil perhitungan
tersebut disebut dengan field kalkulasi. Pengambilan data kadang-kadang juga
dilakukan pada field tertentu, misalnya dari tahun 2000 sampai tahun 2002
dan lain-lain. Pengambilan data seperti itu bias dengan mudah dilakukan
dengan menggunakan perintah BETWEEN.
1. ORDER BY
Merupakan perintah yang digunakan untuk mengurutkan data
berdasarkan field tertentu.
Sintaks untuk menambahkan record:
9
SELECT *
FROM Barang
ORDER BY Harga DESC, nama_barang ASC;
2. BETWEEN
Perintah ini digunakan untuk mengambil data pada interval
tertentu. Perintah ini akan mengikuti klausa WHERE.
Contoh perintah untuk mengambil data barang dengan harga antara 2000
sampai 10000 adalah sebagai berikut:
SELECT *
FROM Barang
WHERE Harga BETWEEN 2000 AND 10000
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 masing-masing barang jika terjual semua,
maka perintah SQL-nya adalah sebagai berikut:
10
SELECT nama_barang, (harga*stock)
FROM Barang
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:
Sintaks:
Sintaks:
12
4. Perintah Total (SUM)
Digunakan untuk memperoleh nilai penjumlahan seluruh baris pada suatu
kolom.
Sintaks:
Sintaks:
Sintaks:
13
Sintaks:
Table tb_mahasiswa
id nama mata_kuliah
1 ADI 1
2 IKA 1
3 BUDI 2
4 WATI 5
5 DODI NULL
14
Dari table tb_mahasiswa di atas dapat dilihat bahwa field mata_kuliah
mengacu ke table lain (dalam hal ini table matakuliah)
Table matakuliah
id mata_kuliah
1 Basis Data
2 Logika Pemrograman
3 Sistem Informasi
4 Struktur Data
5 Otomata
1. INNER JOIN
Tipe ini merupakan tipe JOIN yang paling sering digunakan. Hasil
dari query SELECT dengan tipe INNER JOIN adalah set dari record yang
memenuhi syarat yang disebutkan pada klausa ON. Sebagai contoh:
nama mata_kuliah
ADI Basis Data
IKA Basis Data
15
BUDI Logika Pemrograman
WATI Otomata
Hasil dari query di atas tidak menampilkan nama DODI karena nilai
field mata_kuliah pada table tb_mahasiswa untuk mahasiswa DODI
adalah NULL, dimana nilai NULL ini tidak dapat ditemukan padanannya
pada field id di table tb_matakuliah. Hasil query SELECT menggunakan
INNER JOIN, jika digambarkan menggunakan notasi himpunan adalah
sebagai berikut:
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).
nama mata_kuliah
ADI Basis Data
16
IKA Basis Data
BUDI Logika Pemrograman
WATI Otomata
DODI (NULL)
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:
nama mata_kuliah
ADI Basis Data
IKA Basis Data
BUDI Logika Pemrograman
(NULL) Struktur Data
(NULL) Sistem Informasi
WATI Otomata
17
Jika diperlihatkan menggunakan himpunan, hasil query tersebut
adalah:
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.
nama mata_kuliah
ADI Basis Data
IKA Basis Data
BUDI Logika Pemrograman
18
(NULL) Struktur Data
(NULL) Sistem Informasi
WATI Otomata
DODI (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_kuliah mata_kuliah
1 Basis Data
2 Logika Pemrograman
3 Sistem Informasi
4 Struktur Data
5 Otomata
19
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:
20
HASIL DAN PEMBAHASAN
A. Hasil Percobaan
21
22
B. Analisis Hasil Percobaan
Terdapat 8 tabel pada Basis Data Penjualan (Gambar 1), yang saling berelasi,
tabel-tabel tersebut adalah:
23
4. Employers merupakan tabel yang berisi tentang identitas dari employers
(pegawai) dan juga digunakan untuk mendata atau mencatat pegawai-
pegawai yang aktif dalam penjualan dan pemesanan produk (order),
setiap transaksi akan dicatat EmployeeID yang melakukan transaksi
penjualan tersebut. Tabel Employers berelasi dengan tabel Orders dan
EmployeeTerritories, relasi dari tabel Employers dengan tabel Orders
adalah 1 ke n (1 Karyawan dapat melakukan banyak transaksi penjualan
(order)
5. Orders merupakan tabel utama untuk mencatat pemesanan, tabel Orders
berelasi dengan tabel Customer, Employees,dan Shippers.
6. Order Details merupakan tabel relasi dari tabel Order. Tabel ini merupakan
detail pemesanan yang mencatat produk apa yang dibeli dalam 1 transaksi
penjualan / pemesanan, seperti banyaknya produk yang dibeli, harga dari
produk tersebut dan diskon yang didapatkan dari produk tersebut. 1 order
memiliki 1 atau lebih produk yang dibeli.
7. Customers merupakan tabel yang berisi identitas dari Customer, seperti
CustomerID, ContactName, City, Address, dll. Tabel Customers berelasi
dengan tabel Orders yang merupakan tabel referensi untuk menunjukan
konsumen yang melakukan pemesanan. Satu konsumen dapat melakukan
n pemesanan.
8. Shippers merupakan tabel yang berfungsi untuk mengetahui order yang
ada dikirim oleh perusahaan pengiriman apa. Memilki posisi yang hampir
sama dengan tabel Customers. Tabel Shippers berelasi dengan tabel
Orders, memiliki relasi 1 ke n (dimana Shipper bisa melayani lebih dari
satu order).
9. CustomerCustomerDemo merupakan tabel untuk 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
13. Region merupakan tabel yang mendeskripsikan wilayah atau provinsi
atau kota tempat pegawai bekerja. Tabel Region berelasi dengan
tabel Territories.
24
STUDI KASUS
25
3. Tampilkan semua supplier yang hanya memiliki No.Fax
26
4. Tampilkan supplier yang CompanyName=Bigfoot Breweries
27
7. Tampilkan data/Products yang UnitInStock nya lebih besar dari 80
28
9. Tampilkan data Products yang UnitInStock nya lebih kecil dari 80 dan
CompanyName pada Suppliers = Leka Trading
10. Tampilkan semua Order yang tanggal pemesanannya dari tanggal 1996-
07-10 sampai 1997-09-10
29
11. Tampilkan CustomerID dan CustomerName yang memesan barang pada
tanggal 1996-08-15
30
13. Tampilkan OrderID, OrderDate, CustomerID dan CustomerName yang
memesan produk dengan ProductIName = Tofu
31
15. Tampilkan UnitPrice termahal dari transaksi Order yang terjadi
16. Tampilkan berapa jumlah transaksi order yang terjadi per hari dengan
alias JumlahTransaksiPerHari
32
17. Tampilkan CustomerID dan CustomerName dan jumlah pemesanan yang
pernah dilakukan oleh konsumen tersebut
33
18. Tampilkan ShipperID, CompanyName, Phone yang pernah mengirimkan
pesanan ke Negara Germany
34
19. Tampilkan semua order yang diurut berdasarkan tanggal pemesanan
35
36
KESIMPULAN
37
DAFTAR PUSTAKA
38