kumpulan latihan sql - s3.amazonaws.com · kumpulan latihan sql eri mardiani, nur rahmansyah,...

18

Upload: nguyenmien

Post on 03-Mar-2019

224 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta
Page 2: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

KUMPULAN LATIHAN

SQL

Page 3: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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).

Page 4: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

Kumpulan Latihan SQL

Eri Mardiani Nur Rahmansyah Hendra Kurniawan Dana Indra Sensuse

Jayanta

PENERBIT PT ELEX MEDIA KOMPUTINDO

Page 5: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 6: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 7: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 8: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 9: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 10: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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.

Page 11: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 12: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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

Page 13: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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.

Page 14: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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.

Page 15: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

6

Gambar 2.7 Proses instal

8. Lalu klik Next.

Gambar 2.8 Proses instal

9. Setelah muncul gambar di bawah ini, klik Finish.

Page 16: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

7

Gambar 2.9 Proses instal

yyy

Page 17: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, Jakarta

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.

Page 18: Kumpulan Latihan SQL - s3.amazonaws.com · Kumpulan Latihan SQL Eri Mardiani, Nur Rahmansyah, Hendra Kurniawan, Dana Indra Sensuse, Jayanta 2016, PT Elex Media Komputindo, 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:

[email protected]