KUMPULAN LATIHAN
SQL
Sanksi Pelanggaran Pasal 113 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta
1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf i untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 1 (satu) tahun dan/atau pidana denda paling banyak Rp100.000.000 (seratus juta rupiah).
2. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf c, huruf d, huruf f, dan/atau huruf h untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 3 (tiga) tahun dan/atau pidana denda paling banyak Rp500.000.000,00 (lima ratus juta rupiah).
3. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf a, huruf b, huruf e, dan/atau huruf g untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 4 (empat) tahun dan/atau pidana denda paling banyak Rp1.000.000.000,00 (satu miliar rupiah).
4. Setiap Orang yang memenuhi unsur sebagaimana dimaksud pada ayat (3) yang dilakukan dalam bentuk pembajakan, dipidana dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau pidana denda paling banyak Rp4.000.000.000,00 (empat miliar rupiah).
Kumpulan Latihan SQL
Eri Mardiani Nur Rahmansyah Hendra Kurniawan Dana Indra Sensuse
Jayanta
PENERBIT PT ELEX MEDIA KOMPUTINDO
Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta Hak cipta dilindungi undang-undang Diterbitkan pertama kali oleh Penerbit PT Elex Media Komputindo Kelompok Gramedia, Anggota IKAPI, Jakarta 2016 [email protected]
716051957 ISBN: 978-602-02- 9674-6
Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian atau seluruh isi buku ini tanpa izin tertulis dari penerbit. Dicetak oleh Percetakan PT Gramedia, Jakarta Isi di luar tanggung jawab percetakan
vii
Daftar Isi
Kata Pengantar ............................................................................. v
Daftar Isi .................................................................................... vii
BAB 1 PENDAHULUAN .................................................. 1
1.1 Bagaimana Menggunakan Buku Ini ........................................ 1 1.2 Perlengkapan yang Diperlukan .............................................. 2
BAB 2 INSTALASI .......................................................... 3
BAB 3 BASIS DATA ........................................................ 9
3.1 Basis Data ........................................................................... 9 3.2 Konsep Basis Data Relational .............................................. 10 3.3 Istilah dalam Basis Data Relasional ...................................... 10 3.4 Relasional Key ................................................................... 11 3.5 Relational Integrity Rules ..................................................... 12
BAB 4 PENGENALAN SQL ........................................... 13
4.1 SQL .................................................................................. 13 4.2 Sejarah SQL ...................................................................... 16 4.3 Perintah Dasar SQL ............................................................ 17
4.3.1 Data Definition Language (DDL) ...................................... 17 4.3.2 Data Manipulation Language (DML) ................................ 18
4.4 Filter Data dengan WHERE ................................................. 22
viii
4.5 Sortir Data dengan ORDER BY ............................................. 23 4.6 Statement LIKE (Mencari yang Mirip) .................................... 24 4.7 Mengenal Fungsi Agregat (Perhitungan) ............................... 24 4.8 Membuat Alias dengan AS ................................................. 27 4.9 Fungsi Group By ................................................................ 27
4.9.1 Membatasi GROUP BY dengan HAVING ........................ 28
4.10 Menggabungkan Tabel ....................................................... 28 4.10.1 JOIN atau INNER JOIN ................................................. 28 4.10.2 LEFT JOIN dan RIGHT JOIN ........................................... 29 4.10.3 LEFT JOIN atau LEFT OUTER JOIN .................................. 29 4.10.4 RIGHT JOIN atau RIGHT OUTER JOIN ............................ 29
BAB 5 PENGENALAN JOIN DAN DCL .......................... 31
5.1 Join Table .......................................................................... 31 5.2 Procedure .......................................................................... 39 5.3 Data Control Language (DCL) .............................................. 41
BAB 6 NORMALISASI ................................................... 43
6.1 Definisi Normalisasi ........................................................... 43 6.2 Langkah-langkah Pembentukan Normalisasi .......................... 45
BAB 7 MEMULAI DATABASE ........................................ 49
7.1 Memulai Xampp ................................................................. 54 7.2 Membuka Command Prompt ............................................... 56 7.3 Mengganti Warna Command Prompt ................................... 58 7.4 Membuat Database Penjualan ............................................. 62
BAB 8 DATA DEFINITION LANGUAGE ......................... 65
8.1 Membuat Database Penjualan ............................................. 66 8.2 Membuat Tabel (Create Table) ............................................. 66
ix
8.3 Membuat Index .................................................................. 73 8.4 Membuat View .................................................................. 74 8.5 Mengubah Tabel (Alter) ...................................................... 75 8.6 Menghapus (Drop) ............................................................. 79
BAB 9 DATA MANIPULATION LANGUAGE ................... 81
9.1 Menambahkan Data ........................................................... 81 9.2 Memperbarui/Update Data ................................................. 88 9.3 Menghapus Data (Delete) .................................................... 94
BAB 10 PENGGUNAAN SELECT .................................. 101
10.1 Seleksi/Menampilkan Data 1 Tabel ................................... 101 10.1.1 Menampilkan Seluruh Data .......................................... 101 10.1.2 Fungsi Agregat ........................................................... 103 10.1.3 Comparison ............................................................... 107 10.1.4 Operator Boolean ....................................................... 108 10.1.5 Fungsi Limit ................................................................ 111 10.1.6 Operator Between dan Not Between ............................. 113 10.1.7 Distinct ...................................................................... 114 10.1.8 Operator LIKE dan Not Like .......................................... 115 10.1.9 Penggunaan ORDER BY ............................................... 118 10.1.10 Group By ................................................................... 119 10.1.11 Fungsi SQRT ............................................................... 121 10.1.12 Rand ......................................................................... 122
10.2 Menggabungkan Dua Tabel dan Lebih ............................... 123 10.2.1 SUBQUERY ................................................................ 125 10.2.2 Having ...................................................................... 127 10.2.3 Operator In ................................................................ 129 10.2.4 Operator Exist dan Not Exist ........................................ 132 10.2.5 Operator Any ............................................................. 133 10.2.6 Operator ALL .............................................................. 134
x
BAB 11 DATA CONTROL LANGUAGE (DCL) DAN MENGEKSPOR DATA .............................. 137
11.1 Grant .............................................................................. 137 11.2 Revoke ............................................................................ 139 11.3 Rename Table .................................................................. 140 11.4 Mengekspor Data ............................................................ 142
BAB 12 STUDI KASUS PENGGAJIAN........................... 145
12.1 Membuat Database Penggajian ......................................... 145 12.2 Latihan ............................................................................ 153
BAB 13 STUDI KASUS INVENTORY ............................. 157
13.1 Membuat Database Inventory ............................................ 157 13.2 Latihan ............................................................................ 170 Daftar Pustaka ........................................................................... 171
Tentang Penulis ......................................................................... 173
1
Pendahuluan
Buku ini memperkenalkan kepada Anda tentang basis data (database)
yang bersifat relasional (atau biasa disebut basis data relasional). Dengan
belajar dan mencoba memahami konsepnya, kita dapat lebih mudah
dalam mempelajari SQL (Structured Query Language) yang akan dibahas
di dalam buku ini.
Buku ini ditujukan bagi Anda yang ingin belajar secara otodidak dan
mencoba memahami serta menguasai database khususnya SQL, untuk
dapat diterapkan ke software sebagai penyimpanan data.
1.1 Bagaimana Menggunakan Buku Ini
Dalam mempelajari buku ini, Anda harus membaca dari Bab 1 ke bab
berikutnya secara berurutan. Jangan melompat ke bab lain. Hal ini
dilakukan karena pada setiap bab yang ada dalam buku ini, membahas
pokok bahasan yang saling berkaitan dan berurutan.
Buku ini berisi tentang penjabaran membuat suatu database berdasarkan
project aplikasi yang dibutuhkan.
2
1.2 Perlengkapan yang Diperlukan
Untuk mempelajari buku ini, Anda harus menyiapkan perangkat lunak
(software) berikut:
• xampp-win32-5.6.8-0-VC11-installer
Bagi Anda pengguna Windows, Anda harus mencari perangkat lunak
(software) tersebut di atas lalu menginstalnya ke dalam komputer Anda.
yyy
3
Instalasi
Sebelum kita belajar lebih jauh, pertama-tama yang harus dilakukan
adalah instalasi (copy) program xampp-win32-5.6.8. Jika Anda belum
memiliki program tersebut, Anda dapat men-download-nya di
http://bitnami.com/xampp. Untuk instalasi server Xampp, ikutilah
langkah-langkah berikut:
1. Klik 2x xampp-win32-5.6.8 (atau versi lain sesuai dengan sistem
operasi komputer Anda).
Gambar 2.1 Logo XAMPP
2. Setelah muncul gambar di bawah ini, klik OK.
Gambar 2.2 Memulai instal
4
3. Setelah muncul gambar di bawah ini, klik Next.
Gambar 2.3 Memulai instalasi
4. Pilih Component yang akan diinstal, lalu klik Next.
Gambar 2.4 Memulai instalasi
5. Pilih folder/directory untuk menaruh Xampp, misal di directory C,
lalu klik Next.
5
Gambar 2.5 Directory yang dipilih
6. Setelah muncul gambar di bawah ini, klik Next.
Gambar 2.6 Proses instal
7. Lalu klik Next.
6
Gambar 2.7 Proses instal
8. Lalu klik Next.
Gambar 2.8 Proses instal
9. Setelah muncul gambar di bawah ini, klik Finish.
7
Gambar 2.9 Proses instal
yyy
173
Tentang Penulis
Eri Mardiani lulusan S1 Ilmu Komputer di UPN
Veteran Jakarta, S2 Ilmu Komputer di STMIK Nusa
Mandiri, dan berprofesi sebagai Dosen di bebe-
rapa Perguruan Tinggi di Jakarta. Cukup aktif
menulis, dan beberapa karya tulisnya telah termuat
di salah satu media massa di Jakarta, serta penulis
jurnal di beberapa perguruan tinggi, dan pengelola
www.jayacomputer.com.
Nur Rahmansyah lulusan S1 Sistem Informasi di
STMIK Nusa Mandiri, S2 Ilmu Komputer di Uni-
versitas Budi Luhur, dan sebagai Dosen di beberapa
Perguruan Tinggi di Jakarta. Selain itu, juga menjadi
teknisi komputer dan pengelola jual beli hardware
komputer.
Hendra Kurniawan lulusan S1 Sistem Informasi
di STMIK Nusa Mandiri Jakarta. Berprofesi sebagai
programmer di salah satu perusahaan terkemuka di
Jakarta.
174
Dana Indra Sensuse lulusan S1 Institut Pertanian
Bogor (IPB), S2 dari Universitas Dalhousie - Halifax -
Kanada, S3 dari Universitas Toronto. Berprofesi
sebagai Dosen di Universitas Indonesia, dan cukup
aktif sebagai pembicara, penulis, serta editor jurnal
di beberapa perguruan tinggi di Jakarta.
Jayanta lulusan S1 Ilmu Komputer di UPN
Veteran Jakarta, S2 Ilmu Komputer di Institut
Pertanian Bogor (IPB). Berprofesi sebagai Kepala
Puskom dan Dosen di UPN Veteran Jakarta, serta
penulis dan editor jurnal di UPN Veteran Jakarta.
Untuk konsultasi dapat menghubungi penulis melalui email: