Anda di halaman 1dari 41

SQL DASAR Rajif Agung Yunmar, S.Kom., M.Cs.

BASIS DATA
PRETEST
• Sebutkan apa yang disebut dengan SQL? Jelaskan!
• Apakah yang disebut sebagai batasan integritas
(integrity constraint)?
• Sebutkan jenis-jenis integritas? Jelaskan!
• Apakah yang disebut dengan index? Jelaskan aturan
penentuan dari sebuah index?

2 RAY/IF2242/SQL DASAR
TUJUAN PERKULIAHAN
• Mahasiswa memahami prinsip pengolahan data pada
perangkat lunak basis data yang ditentukan.
• Mahasiswa dapat menggunakan operasi SQL untuk untuk
pengolahan data.

3 RAY/IF2242/SQL DASAR
POKOK BAHASAN
1. SQL Dasar
– INSERT
– SELECT
– UPDATE
– DELETE
2. SELECT dengan Kriteria
– Operator Perbandingan
– Operator Logika
– Operator LIKE
– IN dan NOT IN
– BEETWEEN
– IS NULL
3. Studi Kasus
4 RAY/IF2242/SQL DASAR
SQL
SQL (Structure Query Language) adalah sebuah bahasa
pemrograman aras tinggi yang menjadi standar untuk
pengolahan data pada sebagian besar DBMS. Secara
umum, terdapat dua kelompok penggunaan perintah SQL :
• Data Definition Language (DDL)
• Data Manipulation Language (DML)

5 RAY/IF2242/SQL DASAR
DML
• Data Manipulation Language adalah perintah SQL yang
digunakan untuk melakukan manipulasi terhadap objek-
objek basis data.
• Contoh : SELECT, INSERT, UPDATE dan DELETE.

6 RAY/IF2242/SQL DASAR
CONTOH KASUS – SKEMA ERD
kd_barang nama_barang stok tgl_kadaluarsa harga_jual

Barang

Memiliki Menyediakan

buatlah format data, dan


implementasikan dalam SQL!
Kategori Pemasok

kd_kategori nama_kategori kd_pemasok nama_pemasok alamat

7 RAY/IF2242/SQL DASAR
CONTOH KASUS – FORMAT DATA
Tabel Barang Tabel Pemasok
Kolom Tipe Data Kunci Kolom Tipe Data Kunci
kd_barang CHAR(3) Kunci Primer kd_pemasok CHAR(3) Kunci Primer
nama_barang VARCHAR(25) nama_pemasok VARCHAR(25)
stok INT kota VARCHAR(25)
harga_jual FLOAT
tgl_kadaluarsa DATE Tabel Kategori
kd_pemasok CHAR(3) Kunci Tamu Kolom Tipe Data Kunci
kd_kategori CHAR(3) Kunci Tamu kd_kategori CHAR(3) Kunci Primer
nama_kategori VARCHAR(25)

8 RAY/IF2242/SQL DASAR
CONTOH KASUS – SQL DDL
CREATE TABLE pemasok (
kd_pemasok CHAR(3) NOT NULL,
nama_pemasok VARCHAR(25) NOT NULL,
kota VARCHAR(25) NULL,
PRIMARY KEY(kd_pemasok)
) Engine=InnoDB;

CREATE TABLE kategori (


kd_kategori CHAR(3) NOT NULL,
nama_kategori VARCHAR(25) NOT NULL,
PRIMARY KEY(kd_kategori)
) Engine=InnoDB;

9 RAY/IF2242/SQL DASAR
CONTOH KASUS – SQL DDL
CREATE TABLE barang (
kd_barang CHAR(4) NOT NULL,
nama_barang VARCHAR(25) NOT NULL,
stok INT NOT NULL,
harga_jual FLOAT NOT NULL,
tgl_kadaluarsa DATE NOT NULL,
kd_pemasok CHAR(3) NOT NULL,
kd_kategori CHAR(3) NOT NULL,
PRIMARY KEY (kd_barang),
FOREIGN KEY (kd_pemasok) REFERENCES pemasok(kd_pemasok)
ON UPDATE CASCADE ON DELETE RESTRICT,
FOREIGN KEY (kd_kategori) REFERENCES kategori(kd_kategori)
ON UPDATE CASCADE ON DELETE RESTRICT
) Engine=InnoDB;
10 RAY/IF2242/SQL DASAR
SQL DML DASAR
• INSERT (menginput data)
• SELECT (menampilkan data)
• UPDATE (mengubah data)
• DELETE (menghapus data)

11 RAY/IF2242/SQL DASAR
SQL DASAR – INSERT
• Menginputkan data tertentu pada sebuah tabel.
• Format perintah:
INSERT INTO <nama_tabel> (nama_kolom_1,...,nama_kolom_n)
VALUES (nilai_1,...,nilai_n);

Atau
INSERT INTO <nama_tabel> (nama_kolom_1,...,nama_kolom_n)
VALUES
(nilai_a,...,nilai_n),
(nilai_b,...,nilai_n),
(nilai_c,...,nilai_n);
12 RAY/IF2242/SQL DASAR
SQL DASAR – INSERT
Tabel Pemasok Tabel Kategori
kd_pemasok nama_pemasok kota kd_kategori nama_kategori
P22 PT Citra Jaya Bogor K01 Kue Basah
P33 PT Kartika Yogya K02 Kue Kering
P11 PT Amerta Bandung K03 Minuman
P44 PT Nidya Tangerang K04 Snack

Inputkan data tersebut diatas kedalam tabel!

13 RAY/IF2242/SQL DASAR
SQL DASAR – INSERT
Tabel Barang
kd_barang nama_barang stok harga_jual tgl_kadaluarsa kd_pemasok kd_kategori
B001 Kacang Garuda 250 mg 75 18.000 22 Nov 2017 P22 K04
B002 Aqua 1500 ml 50 5.000 14 Sep 2017 P33 K03
B003 Sari Roti Coklat 14 12.500 05 Apr 2017 P11 K01
B004 Biskuat 100 mg 32 2.000 23 Jan 2018 P33 K02
B005 Fanta 600 ml 27 6.000 28 Ags 2017 P44 K03
B006 Mizone 600 ml 16 6.500 12 Ags 2017 P33 K03
B007 Tao Kae Noi 5 15.000 02 Feb 2018 P11 K04

Inputkan data tersebut diatas kedalam tabel!

14 RAY/IF2242/SQL DASAR
SQL DASAR – SELECT
• Menampilkan data tertentu dari sebuah (atau
beberapa) tabel.
• Format perintah:
SELECT nama_kolom_1,...,nama_kolom_n FROM <nama_tabel>

15 RAY/IF2242/SQL DASAR
SQL DASAR – SELECT
• Contoh : menampilkan semua data pada tabel pemasok.
SELECT kd_pemasok,nama_pemasok,kota FROM pemasok

Atau dapat juga:


SELECT * FROM pemasok

16 RAY/IF2242/SQL DASAR
SQL DASAR – SELECT
• Contoh : menampilkan sebagian/beberapa kolom pada
tabel pemasok.
SELECT nama_pemasok,kota AS 'Kota Asal' FROM pemasok

nama_pemasok Kota Asal


PT Citra Jaya Bogor
hasil PT Kartika Yogya
PT Amerta Bandung
PT Nidya Tangerang

17 RAY/IF2242/SQL DASAR
SQL DASAR – UPDATE
• Digunakan untuk mengubah data.
• Format:
UPDATE <nama_tabel> SET
nama_kolom_1='...',nama_kolom_2='...',....,nama_kolom_n='...'
WHERE <klausa>;

• PERHATIAN: klausa WHERE harap selalu ditulis dengan


jelas! Tanpa klausa WHERE, maka semua data akan
terkena dampak pengubahan.
18 RAY/IF2242/SQL DASAR
SQL DASAR – UPDATE

Ubahlah salah satu baris pada tabel Pemasok dan Kategori!

19 RAY/IF2242/SQL DASAR
SQL DASAR – DELETE
• Digunakan untuk menghapus data.
• Format:
DELETE FROM <nama_tabel>
WHERE <klausa>;

• PERHATIAN: klausa WHERE harap selalu ditulis dengan


jelas! Tanpa klausa WHERE, maka semua data akan
terkena dampak penghapusan.

20 RAY/IF2242/SQL DASAR
SQL DASAR – DELETE

Hapuslah salah satu baris pada tabel Pemasok dan Kategori!

21 RAY/IF2242/SQL DASAR
SQL DASAR – SELECT DENGAN KRITERIA
• Menampilkan data tertentu berdasarkan kriteria yang
diinginkan.
• Format perintah:
SELECT nama_kolom_1,...,nama_kolom_n FROM <nama_tabel>
WHERE <kriteria>

• Kriteria (disebut juga kondisi), pada klausa WHERE


diatas dapat menggunakan operator logika maupun
operator yang lain.
22 RAY/IF2242/SQL DASAR
SELECT DENGAN KRITERIA
• Operator Perbandingan
• Operator Logika
• Operator LIKE
• IN dan NOT IN
• BEETWEEN
• IS NULL

23 RAY/IF2242/SQL DASAR
OPERATOR PERBANDINGAN
• Seringkali disebut dengan operator relasional, banyak
digunakan dalam klausa WHERE sebagai parameter
dalam menampilkan data tertentu.
• Dapat juga digunakan untuk keperluan lain, misalnya
percabangan, triger, prosedur, maupun fungsi.

24 RAY/IF2242/SQL DASAR
OPERATOR PERBANDINGAN
Jenis Operator Perbandingan
Operator Keterangan
= Sama dengan
> Lebih dari
< Kurang dari
>= Lebih besar atau sama dengan Dari contoh data yang ada,
berikan contoh kasus penggunaan
<= Lebih kecil atau sama dengan
operator perbandingan.
<> Tidak sama dengan

25 RAY/IF2242/SQL DASAR
OPERATOR PERBANDINGAN
• Contoh: tampilkan data barang yang kd_pemasoknya
adalah P33.
SELECT * FROM barang
WHERE kd_pemasok='P33';

• Contoh: tampilkan data barang yang harga jualnya


diatas 5.000.
SELECT * FROM barang
WHERE harga_jual > 5000;

26 RAY/IF2242/SQL DASAR
OPERATOR BOOLEAN
• Digunakan untuk menghubungkan antara dua buah
kriteria. Sedangkan operator NOT digunakan untuk
pembalik keadaan kebenaran dari suatu kondisi.
Jenis Operator Boolean
Operator Keterangan
AND Menampilkan data-data yang memenuhi kedua kriteria yang diberikan.
OR Menampilkan data-data yang memenuhi salah satu, atau kedua kriteria
yang diberikan.
NOT Menampilkan data yang merupakan kebalikan dari kondisi yang
diberikan.

27 RAY/IF2242/SQL DASAR
OPERATOR BOOLEAN

Dari contoh data yang ada, berikan contoh kasus penggunaan operator boolean.

28 RAY/IF2242/SQL DASAR
OPERATOR LIKE
• Apabila diperlukan, sebuah informasi dapat ditampikan
berdasarkan kemiripan kolom tertentu dengan sebuah
string.
• Menggunakan operator LIKE.

29 RAY/IF2242/SQL DASAR
OPERATOR LIKE
• Format umum:
SELECT * FROM <nama_tabel>
WHERE <nama_kolom> LIKE ‘%sesuatu%';

• Contoh:
SELECT * FROM barang
WHERE nama_barang LIKE ‘%600ml%';

30 RAY/IF2242/SQL DASAR
OPERATOR IN DAN NOT IN
• Menampilkan data tertentu dengan kolom yang
mempunya nilai seperti yang tercantum pada operator
IN dan NOT IN.
• Format umum:
SELECT * FROM <nama_tabel>
WHERE <nama_kolom> <IN|NOT IN> (nilai_1,nilai_2);

31 RAY/IF2242/SQL DASAR
OPERATOR IN DAN NOT IN
• Contoh: menampilkan mahasiswa dari provinsi tertentu
SELECT * FROM mahasiswa
WHERE asal_provinsi IN ('Bengkulu','Aceh','Riau','Jambi');

32 RAY/IF2242/SQL DASAR
OPERATOR BEETWEEN
• Menampilkan data tertentu dengan kolom yang bernilai
pada rentang tertentu.
• Format umum:
SELECT * FROM <nama_tabel>
WHERE <nama_kolom> BETWEEN <nilai_1> AND <nilai_2>;

• Contoh:
SELECT * FROM barang
WHERE harga_jual BETWEEN 5000 AND 10000;

33 RAY/IF2242/SQL DASAR
OPERATOR IS NULL
• Menampilkan data tertentu dengan kolom bernilai NULL
(atau tidak NULL).
• Format umum:
SELECT * FROM <nama_tabel>
WHERE <nama_kolom> <IS NULL|IS NOT NULL>;

34 RAY/IF2242/SQL DASAR
OPERATOR IS NULL

Dalam memeriksa nilai sebuah kolom, kenapa tidak


menggunakan Operator Perbandingan = ???

SELECT * FROM mahasiswa


WHERE no_telp IS NULL;

35 RAY/IF2242/SQL DASAR
MENGURUTKAN DATA
• Pengurutkan data dengan kriteria yang dikehendaki.
• Pengurutan dapat dilakukan secara urut naik
(ascending), maupun menurun (descending).
• Pengurutan dapat dilakukan berdasarkan satu, atau
beberapa kolom.
• Menggunakan klausa ORDER BY.

36 RAY/IF2242/SQL DASAR
MENGURUTKAN DATA
• Format umum:
SELECT * FROM <nama_tabel>
ORDER BY <nama_kolom> <ASC|DESC>;

Atau
SELECT * FROM <nama_tabel>
ORDER BY nama_kolom_1,...,nama_kolom_n <ASC|DESC>;

Pengurutan dilakukan pada nama_kolom_1, pengurutan pada


nama_kolom_2 berdasarkan pada nama_kolom_1

37 RAY/IF2242/SQL DASAR
STUDI KASUS
kd_pemasok nama_barang tgl_kadaluarsa harga_jual

Barang

Memiliki Menyediakan

buatlah format data, dan


implementasikan dalam SQL!
Kategori Pemasok

kd_kategori nama_kategori kd_pemasok nama_pemasok alamat

38 RAY/IF2242/SQL DASAR
STUDI KASUS
• Carilah beberapa persoalan atau pertanyaan yang
mungkin muncul dari ERD yang diberikan.
• Presentasikan solusi dalam bentuk SQL secara
bergantian!
• Mahasiswa dari kelompok lain dapat memberikan
pertanyaan, kelompok presentasi menjawabnya dengan
SQL.

39 RAY/IF2242/SQL DASAR
TERIMA KASIH

RAY/IF2242/SQL DASAR 40
PR
• Masukkan semua data riil pada tugas anda ke dalam basis
data.
• Fikirkan beberapa persoalan atau pertanyaan yang mungkin
muncul dalam kasus tugas anda.
• Buatlah solusinya menggunakan SQL.
• Susun dalam sebuah laporan beserta screenshotnya, dan
presentasikan!

41 RAY/IF2242/SQL DASAR

Anda mungkin juga menyukai